<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 6/21/2012 1:21 PM, Douglas Gregor
wrote:<br>
</div>
<blockquote
cite="mid:62154A0F-A762-4E59-A888-262B2B10D460@apple.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<br>
<div>
<div>On Jun 20, 2012, at 5:13 PM, Nick Lewycky <<a
moz-do-not-send="true" href="mailto:nlewycky@google.com">nlewycky@google.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<blockquote type="cite">
<div style="font-family:arial,helvetica,sans-serif"><font>
<div>Is there anybody who is certain that our autoconf
dependency needs to stay around? Are there developers
stuck on systems that don't have a recent enough cmake
in their most recent release, or maybe are using some
features from configure+make that the cmake build system
doesn't implement?</div>
<div><br>
</div>
<div>If nobody pipes up, I might actually try actually
removing it!</div>
</font></div>
</blockquote>
<br>
</div>
<div>I think this is premature, although I consider it a worthy
goal. Right now, the only motivation we have for removing
"configure+make" is that we don't like having two build systems,
but that's not good enough.</div>
<div><br>
</div>
<div>Some things that CMake needs to do well for it to become the
only way to build LLVM/Clang:</div>
<div> - Optionally build and install compiler-rt </div>
<div> - Optionally build and install libc++</div>
<div> - Ease-to-use cross-compilation support</div>
<div> - Documentation to make it easy to understand how to do the
above</div>
<div> - LLDB?</div>
<div> - LLVM testsuite support</div>
<div><br>
</div>
<div>And some value-add that might make CMake motivating for
others:</div>
<div> - Easy bootstrap</div>
<div> - Build packages/installers</div>
</blockquote>
<br>
I decided to try recently to do one of my builds with cmake instead
of configure. The problem I hit is before I even try compiling in
the first place: cmake /src/llvm --help produces an extremely
useless list of options, so it's impossible to figure out how to
configure it with cmake without looking up online. Compare this to
/src/llvm/configure --help, where I can see what the default build
will look like and also how I can tweak it for what I want. Even the
online documentation is kind of crappy in this regard: e.g.,
LLVM_TARGETS_TO_BUILD doesn't tell you *which* targets you can build
in the first place. I'm sure most people who do a lot of cmake know
these settings by the back of their hand, but if you're like me and
totally clueless when it comes to cmake, it's downright confusing.<br>
<pre class="moz-signature" cols="72">--
Joshua Cranmer
News submodule owner
DXR coauthor</pre>
</body>
</html>