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
