> Is it reasonable to askYes, it's reasonable. Moreover, I'd be content with a build system that doesn't use MSVS IDE at all. If the build system could be parameterized to use microsoft cl compiler (cygwin gcc is useless for my purposes), e.g. something like in Boost project, I'd be more than happy to never care about VS project files. Yet, I want to limit my involvement with the llvm/clang project to completely orthogonal modifications, i.e. I have no interest to modify the build system on my own.
Dmitri Makarov <nebraskin at yahoo.com> writes:>> Is it reasonable to ask > > Yes, it's reasonable.Since this is open source we depend on contributions from the community, etc... You know how the song goes. Seriously, I'll like to see a healthy MSVS build as much as you, but someone must do the work.> Moreover, I'd be content with a build system that doesn't use MSVS IDE > at all.Seconded.> If the build system could be > parameterized to use microsoft cl compiler (cygwin gcc is useless for > my purposes), e.g. something like in Boost project, I'd be more than > happy to never care about VS project files.I use GNU Make for building my software and the build system supports several compilers on various platforms, including gcc and cl. It is tricky, though. I don't know how much LLVM build system is tied to the GNU toolchain or how much it depends on *nix features, but suppossing that adding support for MSVC++ is impractical, perhaps it would be simpler to implement a Makefile-based build system for MSVC++ than to keep up to date the project files. This would support features like the one Anton mentions on the other response to you, thus lessening the maintenance work. A really nice thing is that, in principle, a makefile-based build system would work the same for VS 2003, 2005 and 2008. Note that I'm not volunteering to do the work... for now. If things follow certain path here, I will incorporate LLVM to production on a year or so, and this means solid MSVC++ support (for the JIT, at least). Don't count too much on it, though :-) [snip] -- Oscar
On May 17, 2008, at 2:44 PM, Óscar Fuentes wrote:> I don't know how much LLVM build system is tied to the GNU toolchain > or > how much it depends on *nix features, but suppossing that adding > support > for MSVC++ is impractical, perhaps it would be simpler to implement a > Makefile-based build system for MSVC++ than to keep up to date the > project files. This would support features like the one Anton mentions > on the other response to you, thus lessening the maintenance work. A > really nice thing is that, in principle, a makefile-based build system > would work the same for VS 2003, 2005 and 2008.Frankly, the LLVM build machinery could use a good scrubbing. Also, maintenance of parallel project files really sucks, if we have to continue doing this, life for non-unix people will continue to be an unhappy one. Others have suggested alternative build systems before like cmake. Apparently cmake can autogenerate VC++ and Xcode project files from the same thing that it builds from on unix systems. Has anyone used cmake in a real system before? Are there other worthwhile alternatives? To me, I think it would be interesting to switch over llvm and clang (probably start with clang since it is very small) and do other things later (e.g. llvm-test may never change off gmake, gmake is too useful there). -Chris