<div dir="ltr">Going forward, I believe CMake is the preferred build system. Eric Christopher floated the idea of jettisoning autoconf altogether, but maybe that's just because he has the dubious honor of maintaining the autoconf system. ;)<div>
<a href="http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-May/062351.html">http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-May/062351.html</a><br></div><div><br><div>As you pointed out, the CMake build doesn't quite have feature parity with the autoconf build system. We have a tracking bug for it:</div>
<div><a href="http://llvm.org/bugs/show_bug.cgi?id=15732">http://llvm.org/bugs/show_bug.cgi?id=15732</a><br><br></div><div>The big ticket items are:</div><div>OCaml bindings: <a href="http://llvm.org/bugs/show_bug.cgi?id=15325">http://llvm.org/bugs/show_bug.cgi?id=15325</a></div>
<div>Building a big libLLVM.so DSO: <a href="http://llvm.org/bugs/show_bug.cgi?id=15493">http://llvm.org/bugs/show_bug.cgi?id=15493</a></div><div>Building compiler-rt with the just-built compiler: <a href="http://llvm.org/bugs/show_bug.cgi?id=14109">http://llvm.org/bugs/show_bug.cgi?id=14109</a></div>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Dec 26, 2013 at 5:19 AM, Michał Górny <span dir="ltr"><<a href="mailto:mgorny@gentoo.org" target="_blank">mgorny@gentoo.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello, all.<br>
<br>
I'm a fairly new maintainer of Gentoo packages for LLVM and clang. I'm<br>
trying to improve the way LLVM is built on Gentoo, and that's why I'm<br>
wondering which of the build systems of LLVM is supported better.<br>
<br>
As far as I'm aware, LLVM can be currently built using one of the two<br>
build systems:<br>
<br>
- one built on top of autoconf with custom Makefiles,<br>
<br>
- the other one built on top of cmake with custom cmake modules.<br>
<br>
My attempts at both build systems has shown that they both offer a bit<br>
different build and install layouts, sets of features, bugs<br>
and limitations.<br>
<br>
Therefore I'd like to ask: which of the two build systems should I<br>
focus on? Which one should I submit patches to? Which one should I<br>
expect to be supported by external software?<br>
<br>
So far, we've been using autoconf to build LLVM. However, this means<br>
that we're unable to build some projects that rely on LLVM CMake<br>
modules being installed. It also has semi-random shared library<br>
naming which means that most of the external software doesn't support<br>
linking to it, and instead links to the static libraries.<br>
<br>
CMake on the other hand lacks support for udis86 code and OCaml<br>
bindings, with the latter explicitly requested by our users. I recall<br>
it also having unexpected test failures but that may have changed<br>
since I last tried it. While it supports building llvm & clang<br>
separately, it still pokes llvm build dirs (even if they don't exist<br>
anymore) and tries to write files in there.<br>
<br>
Both build systems lack proper SONAME versioning, though it's easier to<br>
hack in into CMake.<br>
<br>
That's a short summary of the issues I've faced. I'd like to work on<br>
fixing them but I'd like to know which build system I should focus on<br>
fixing.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Best regards,<br>
Michał Górny<br>
</font></span><br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>