|
Boost : |
Subject: Re: [boost] Announcement: Faber, a new build system based on bjam
From: Stefan Seefeld (stefan_at_[hidden])
Date: 2017-11-30 12:28:25
On 30.11.2017 06:57, Richard Hodges via Boost wrote:
> This discussion will eventually lead to the realisation that a cross-platform builder tool requires separate concepts for (amongst others):
>
> * source files
> * libraries (dynamic and static)
> * dependencies
> * executables built for the target system
> * executables built for the build host (i.e. intermediate build tools)
> * scopes
> * -D macro definitions
> * abstractions of compiler options
> * abstractions of build host fundamental operations (environment variables, file existence, file copying, file locks, spawning subprocesses etc)
>
> ⦠and so on.
What's your point ? I think everyone understands that.
> To short-circuit the discussion I can offer the following observations:
>
> * bjam, clever as it is, is basically a form of makefile. It will never be a build tool Itâs therefore not useful to anyone but boost maintainers or single-target projects.
That sounds like a rather unsubstantial rant. Can you elaborate on what
you mean by that ?
>
> * makefiles are great for creating dependency graphs. They are suitable for the output or intermediate stages of a build tool. You build a makefile hierarchy from the build tool abstractions given a target toolset and options.
>
> We already have Scons and CMake, which are both awful in their own way.
>
> I really think that effort would be better spent retro fitting python (or javascript, or [insert well maintained scripting language here]) into cmake so that cmake becomes beautiful.
>
> Either that, or recreate cmake in python (or javascript), but cleanly, using the combined knowledge of several years of evolution.
>
> Why the cmake team chose to build their own godawful scripting language is a mystery to me. I suspect someone just wanted to write a DSL one day and it all got way out of hand (original poster, please take note!)
>
> R
Sorry, but I still don't understand what you are trying to say. (I don't
agree that CMake would be great if it used a better language. I think it
is flawed on multiple levels. The fact that it wants to be a build
system generator rather than a build system probably being the central
issue.)
But, to get back to the original topic (which was the Faber
announcement): have you looked at it (either the docs or the code) ? Can
you substantiate your claim that it doesn't meet the points in your
shopping list above ?
Stefan
-- ...ich hab' noch einen Koffer in Berlin...
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk