|
|
Subscribe / Log in / New account

The Ninja build tool

The Ninja build tool

Posted Nov 17, 2016 7:16 UTC (Thu) by brouhaha (subscriber, #1698)
Parent article: The Ninja build tool

If you want "a real programming language like Python", you can use SCons which is fully in Python, and doesn't have to invoke a different build tool with a different syntax.


to post comments

The Ninja build tool

Posted Nov 17, 2016 12:21 UTC (Thu) by fsateler (subscriber, #65497) [Link] (1 responses)

SCons has (or had the last time I used it) the limitation that there is no separation of configure and build steps. Thus, you need to remember all the configure arguments for every scons invocation. Not only is it painful, it is slow as well, as all configure tests need to be rerun (although there is some caching).

The Ninja build tool

Posted Nov 17, 2016 13:13 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

One could probably set up SCons to remember stuff like this, but I don't think it ships with it by default which then means there's no real consistency between projects. Waf seems to be the new scons replacement and it does have a configure step sort of built in (AFAICT, I interact with it mainly due to mpv).

The Ninja build tool

Posted Nov 17, 2016 13:11 UTC (Thu) by mathstuf (subscriber, #69389) [Link] (1 responses)

How well does SCons handle different compilers? Last I checked, every project had to build their own command lines for each compiler which usually means you're stuck with Clang/GCC support, maybe MSVC and almost never any other compilers (primarily Intel).

The Ninja build tool

Posted Nov 30, 2016 19:20 UTC (Wed) by nix (subscriber, #2304) [Link]

Distributors/packagers hate scons, as well, because there is no cross-project consistency for things like CFLAGS overriding, DESTDIR, etc: it's just like raw Makefiles only much uglier because you have a full program in a full-blown programming language to comprehend and possibly hack at in order to build things.


Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds