[LLVMdev] Deprecating autoconf/make?

Reid Kleckner rnk at google.com
Wed May 22 20:04:47 PDT 2013


On Wed, May 22, 2013 at 8:33 PM, Charles Davis <cdavis5x at gmail.com> wrote:

>
> On May 22, 2013, at 5:14 PM, Eric Christopher wrote:
>
> > Hi All,
> >
> > Can anyone see good a reason not to move to cmake as our only build
> > configuration system and drop future support for autoconf + makefiles
> > now that 3.3 has branched?
>

+1.


> - CMake is not available everywhere. Bourne shells are*.
>
> As I recall, this is the reason autoconf generates shell scripts: because
> nearly every operating system out there comes with a shell! Even the
> old-timey MPW development environment for the Mac came with one! (* Even
> Windows comes with a shell, though it's not a Bourne shell but something
> else entirely with a few constructs borrowed from the Bourne shell's
> predecessor, the Thompson shell. But I only care about Windows inasmuch as
> people still use it anyway.)
>

I just want to point out that that's a huge asterisk.

In particular, CMake is not distributed with Xcode. This means that
> engineers at Apple--who may I remind you all still drives the bulk of LLVM,
> Clang, and especially LLDB development, though IBM, Intel, AMD, and
> especially Google have really stepped up their contributions recently--and
> for whom you yourself, Eric, once worked until somewhat recently--won't be
> able to build their own shiny new toolchain at all, unless they can somehow
> convince management to install CMake. In fact I seem to recall quite
> recently someone from Apple (Jim Ingham?) on one of the LLVM lists
> complaining that he wanted to use ninja, but couldn't because he couldn't
> get ninja and CMake installed on his workstation. Until this changes--and
> good luck with that--expect heavy resistance from anyone still at Apple
> (other than Doug Gregor, of course :).


Do you mean Jim Grosbach here?
http://lists.cs.uiuc.edu/pipermail/llvmdev/2013-April/061330.html

My take away was that switching to CMake is a large but superficial
workflow change that takes time to get used to.

w.r.t. the comments about ninja, LLVM doesn't need to push that as the
preferred build system.  'make' works fine out of the box.  ninja is just
useful if you want faster builds and are willing to build your own binary.

Here's an angle I haven't heard: CMake can generate XCode project files.
 I'm not sure that matters to anyone who works on LLVM, but it would make
it easier for Apple to dogfood their own IDE.  I also hear the generated
project files are not so good, though.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130522/0b95a0c3/attachment.html>


More information about the llvm-dev mailing list