On May 22, 2013, at 9:04 PM, Reid Kleckner wrote:

> On Wed, May 22, 2013 at 8:33 PM, Charles Davis <[email protected]> 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.
It is--in more ways than one :). Besides being pretty long, I'm well aware that 
there's quite a few Windows users on this list. Many of them don't have a shell 
that can run configure installed. For them, ditching autoconf in favor of CMake 
is a no-brainer. Why put so much effort into maintaining a build system a 
sizable proportion of our users can't even use?

From the Unix point of view, Windows is very odd, isn't it? But I digress.
> 
> 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
Yeah, that's who I meant.
> 
> My take away was that switching to CMake is a large but superficial workflow 
> change that takes time to get used to.
Huh. My memory must be a bit fuzzy.... I could swear I recall someone saying 
"My boss won't let me install CMake on my workstation" or something to that 
effect.
> 
> 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.
I know.
> 
> 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.
True.
>  I also hear the generated project files are not so good, though.
This is (IIRC) one of the reasons Daniel Dunbar doesn't like CMake.

Chip

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to