Jeffrey Yasskin
2011-Oct-28 17:50 UTC
[LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes
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? 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? Not that I really want to defend cmake. I hate its language as much as anyone. Jeffrey
Daniel Dunbar
2011-Oct-28 17:59 UTC
[LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes
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> Not that I really want to defend cmake. I hate its language as much as anyone. > > Jeffrey >
Jeffrey Yasskin
2011-Oct-28 18:02 UTC
[LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes
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. > > - DanielFair enough.
Apparently Analagous Threads
- [LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes
- [LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes
- [LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes
- [LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes
- [LLVMdev] [cfe-dev] RFC: Upcoming Build System Changes