On 21 Jun 2012, at 01:19, Chandler Carruth wrote:> cmake, while ugly, can be made to support all of our use cases. There > are some use cases that autoconf+make can't support,So far I have assumed that "use cases that autoconf+make can't support" is referring to Windows support. (I am not a Windows user myself.) But the following two statements left me wondering: Are people actually using LLVM's CMake build system on Windows? Or are they using the autoconf system with something like Cygwin / MinGW?> CMake is not even capable of [...] setting up project files to build > LLVM as a DLL so they can build a compiler atop it-- Mason Wheeler, On 27 Jun 2012, at 13:29> CMake generates gigantic project files for IDEs like Visual Studio and > Xcode, which causes those IDEs to behavior very poorly, with long > project load times and sluggish overall performance. It's a significant > productivity problem.-- Douglas Gregor, On 26 Jun 2012, at 17:42 (on thread "CMake Question: Do we need to support stand-alone builds?") --Dave.
>----- Original Message ----->From: David Röthlisberger <david at rothlis.net> >Subject: Re: [LLVMdev] [cfe-dev] is configure+make dead yet? > >On 21 Jun 2012, at 01:19, Chandler Carruth wrote: >> cmake, while ugly, can be made to support all of our use cases. There >> are some use cases that autoconf+make can't support, > >So far I have assumed that "use cases that autoconf+make can't support" >is referring to Windows support. (I am not a Windows user myself.) > >But the following two statements left me wondering: Are people actually >using LLVM's CMake build system on Windows? Or are they using the >autoconf system with something like Cygwin / MinGW?As a general rule, if someone's using a system for development, it's because they're used to the way that system works and feels. The last thing they're likely to want to do is install a shell that's based around the feel of an entirely different OS just to perform fundamental development tasks. IME people use Cygwin because they're forced to, not by choice. If they *wanted* that user experience, they'd be using Linux. Bottom line: if the LLVM team isn't providing whatever is necessary to build LLVM properly in Visual Studio, (or XCode, for the Mac users,) something is wrong.
On 6/27/2012 7:55 AM, David Röthlisberger wrote:> On 21 Jun 2012, at 01:19, Chandler Carruth wrote: >> cmake, while ugly, can be made to support all of our use cases. There >> are some use cases that autoconf+make can't support, > So far I have assumed that "use cases that autoconf+make can't support" > is referring to Windows support. (I am not a Windows user myself.)Mainly MSVC Windows, and XCode. Autoconf+make works great for MingW32 on Windows. I have no experience with CygWin [which I do not use for political reasons regarding its DLL licensing], or a true MSYS from installer (the installer *.exe doesn't work out of the box on my windows systems). (I'm almost locked-in to autoconf+make, due to CMake's MSYS projects being intentionally broken when the official MSYS sh.exe is on the path. Tweaking the MSYS project generator guard clause to disable this intentional breakage works perfectly.) Note: the DLL problem should be fully resolved for LLVM 3.2. We had politically-mandated intentional breakage problems on Linux (and possibly other *NIX) for 3.0 and 3.1, but that cannot be blamed on CMake. Kenneth
On 6/27/2012 8:19 AM, Kenneth Boyd wrote:> (I'm almost locked-in to autoconf+make, due to CMake's MSYS projects > being intentionally broken when the official MSYS sh.exe is on the > path. Tweaking the MSYS project generator guard clause to disable this > intentional breakage works perfectly.)s/MSYS/MingW/g i.e the above should read MingW rather than MSYS. Kenneth
> -----Original Message----- > From: cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] > On Behalf Of David Röthlisberger > Sent: Wednesday, June 27, 2012 8:56 AM > To: clang-dev Developers; LLVM Developers Mailing List > Subject: Re: [cfe-dev] is configure+make dead yet? > > On 21 Jun 2012, at 01:19, Chandler Carruth wrote: > > cmake, while ugly, can be made to support all of our use cases. There > > are some use cases that autoconf+make can't support, > > So far I have assumed that "use cases that autoconf+make can't support" > is referring to Windows support. (I am not a Windows user myself.) > > But the following two statements left me wondering: Are people actually > using LLVM's CMake build system on Windows? Or are they using the > autoconf system with something like Cygwin / MinGW? >FWIW I use CMake + Visual Studio 2010 to build on Windows at home. I won't install on my machine nor would I impose Cygwin/MinGW on anyone I liked.> > CMake is not even capable of [...] setting up project files to build > > LLVM as a DLL so they can build a compiler atop it > -- Mason Wheeler, On 27 Jun 2012, at 13:29 > > > CMake generates gigantic project files for IDEs like Visual Studio and > > Xcode, which causes those IDEs to behavior very poorly, with long > > project load times and sluggish overall performance. It's a > > significant productivity problem.devenv.exe llvm.sln /Build "Release|Win32" completes a couple of minutes faster on Windows for me than make -j8 does on Mac/Linux on similarly spec'd processors. I've seen several comments like this (including mentions of VS having poor multithreading), but I haven't seen this in reality.> -- Douglas Gregor, On 26 Jun 2012, at 17:42 (on thread "CMake Question: Do > we need to support stand-alone builds?") > > --Dave. > > _______________________________________________ > cfe-dev mailing list > cfe-dev at cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev-Gordon
> -----Original Message----- > From: cfe-dev-bounces at cs.uiuc.edu [mailto:cfe-dev-bounces at cs.uiuc.edu] > On Behalf Of Óscar Fuentes > Sent: Wednesday, June 27, 2012 5:05 PM > To: cfe-dev at cs.uiuc.edu > Cc: llvmdev at cs.uiuc.edu > Subject: Re: [cfe-dev] is configure+make dead yet? > > Gordon Keiser <gkeiser at arxan.com> writes: > > >> > CMake generates gigantic project files for IDEs like Visual Studio > >> > and Xcode, which causes those IDEs to behavior very poorly, with > >> > long project load times and sluggish overall performance. It's a > >> > significant productivity problem. > > > > devenv.exe llvm.sln /Build "Release|Win32" completes a couple of > > minutes faster on Windows for me than make -j8 does on Mac/Linux on > > similarly spec'd processors. I've seen several comments like this > > (including mentions of VS having poor multithreading), but I haven't > > seen this in reality. > > The difference you observe might be caused because on Windows > LLVM_TARGETS_TO_BUILD defaults to just "X86", while on the rest of > platforms it is "all". >I've overridden that to X86 & ARM on both platforms. I'll note that a partial rebuild is a bit quicker in make. -Gordon> _______________________________________________ > cfe-dev mailing list > cfe-dev at cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev