[LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes

Jeffrey Yasskin jyasskin at google.com
Fri Oct 28 11:02:03 PDT 2011


On Fri, Oct 28, 2011 at 10:59 AM, Daniel Dunbar <daniel at zuster.org> wrote:
> On Fri, Oct 28, 2011 at 10:50 AM, Jeffrey Yasskin <jyasskin at google.com> wrote:
>> On Fri, Oct 28, 2011 at 10:25 AM, Daniel Dunbar <daniel at zuster.org> wrote:
>>>  * I don't think CMake is good enough. I agree it solves problems, but
>>> I want to use great tools, not ones that work. In particular:
>>>    (c) This doesn't solve any other nice problems:
>>>          (i) It doesn't make it easier to play with other build
>>> systems (like Ninja, or gyp).
>>
>> Speaking of ninja and gyp, gyp is actually a build system generator
>> like what you're proposing, while ninja is a replacement `make`
>> intended for use with build system generators. What are the reasons
>> you want to write a new generator rather than using gyp?
>
> Writing gyp files directly still doesn't solve the "explicitly
> specifying the LLVM domain specific component organization problem".
>
> Gyp is written in Python, and while I haven't looked at the code, I
> imagine it could be tied in tightly (i.e., programmatically) if that
> proved interesting -- that would give us all the features of gyp with
> a concise LLVM specific component description syntax.
>
>> I believe someone's now written a ninja backend for cmake, although
>> I'm not sure where they put it, so cmake might actually provide an
>> easier way to play with ninja than your new system. Similarly, cmake's
>> xcode generator is nominally open source
>> (http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmGlobalXCodeGenerator.cxx;h=32eaef837e2d79c286ea7651d1ee3f69eb5f0f6a;hb=HEAD).
>> How come there's no interest in improving it?
>
> I don't generally believe it is tractable to generate great project
> files for a specific project from a generic configuration language.
>
>  - Daniel

Fair enough.




More information about the llvm-dev mailing list