Faber: a new Boost.Build Python frontend

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Faber: a new Boost.Build Python frontend

Boost - Build mailing list
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".

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
platforms).

* 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
https://github.com/stefanseefeld/faber/blob/develop/examples/config/fabscript)

* Faber provides built-in support for test execution (see the `test`
example in
https://github.com/stefanseefeld/faber/blob/develop/examples/test/fabscript)


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 /
add.

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.


Best,

        Stefan

--

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Faber: a new Boost.Build Python frontend

Boost - Build mailing list
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
> platforms).
>
> * 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
> https://github.com/stefanseefeld/faber/blob/develop/examples/config/fabscript)
>
> * Faber provides built-in support for test execution (see the `test`
> example in
> https://github.com/stefanseefeld/faber/blob/develop/examples/test/fabscript)
>
>
> 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 /
> add.
>
> 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.
>
>
> Best,
>
>          Stefan
>


_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Faber: a new Boost.Build Python frontend

Boost - Build mailing list
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 ?

Yes.

> 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.

    Stefan

--

      ...ich hab' noch einen Koffer in Berlin...

_______________________________________________
Unsubscribe & other changes: https://lists.boost.org/mailman/listinfo.cgi/boost-build
Loading...