[LLVMdev] VS build is broken again

Dominic Hamon dom.hamon at gmail.com
Sat May 17 18:22:16 PDT 2008


Chris Lattner wrote:
> 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?  
>   
Systems that I've worked with in the past have been platform agnostic 
(gmake, nant, etc) and have used a flat text format source 
file/directory list to specify the source files to build.

This flat text file is then used by scripts (whether c# or python or 
something else) to generate solution/project files for MSVS or any other 
IDE you wish to use.

These scripts can either be run as a special build target (make 
solution) or as a hook on svn post-commit, or both. Given that LLVM 
assumes build everything in a folder as a policy, this system becomes 
very easy to maintain: Only the addition of a folder will require a new 
line in the flat text file.

Dominic



More information about the llvm-dev mailing list