On 5/26/2017 2:33 PM, Stefan Seefeld via Boost-build wrote:
> Hello all,
> as some of you know, I have been working on a new Python frontend to
> Boost.Build for the last couple of months. I have taken all the feedback
> I gathered over time and incorporated it into my work.
> The result is a new tool that I believe is ready for a first serious
> review. I call it "Faber".
Is this supposed to be a replacement for b2 in python ? Does it process
jam files ?
> Project home: https://github.com/stefanseefeld/faber >
> Online documentation (still pretty sparse, mind you):
> https://stefanseefeld.github.io/faber/doc/html/index.html >
> This code uses the original bjam engine (modified a bit to suit my
> needs) with all of the Jam support stripped off. The frontend is fully
> rewritten (in Python).
> While there are lots of things that are missing (or need improvements),
> there already are quite a number of highlights to point out:
> * Faber works on GNU/Linux, OSX, and Windows (and is CI-tested on those
> * Faber works with Python 2 and Python 3
> * A few compilers are set up and are demonstrated to work, at least for
> basic usage (GCC, Clang, MSVC), including cross-compilation.
> * Faber has basic autoconf-like configuration support built in (see the
> `config` example in
> * Faber provides built-in support for test execution (see the `test`
> example in
> I'm now working on a slightly more complex case: build logic for
> Boost.Python, which will no doubt highlight a few things I need to fix /
> I welcome any and all feedback, as I do hope that the boost community
> will consider this as an alternative to the existing `b2` tool.
On 26.05.2017 15:42, Edward Diener via Boost-build wrote:
> On 5/26/2017 2:33 PM, Stefan Seefeld via Boost-build wrote:
>> Hello all,
>> as some of you know, I have been working on a new Python frontend to
>> Boost.Build for the last couple of months. I have taken all the feedback
>> I gathered over time and incorporated it into my work.
>> The result is a new tool that I believe is ready for a first serious
>> review. I call it "Faber".
> Is this supposed to be a replacement for b2 in python ?
> Does it process jam files ?
No ! (what would be the point of that ?)
It's a new frontend to process "fabscripts". See the documentation and
the examples contained in the sources. My hope / expectation is that the
syntax and semantics is much more intuitive and easy to write, maintain,
and debug (!) than Jamfiles. As such, Faber is incompatible with b2.
However, if there is enough interest, I'm sure we can find integration
points to reuse existing Jam logic.