Boost logo

Boost-Build :

Subject: Re: [Boost-build] bjam 4.0.. in C++
From: Stefan Seefeld (seefeld_at_[hidden])
Date: 2010-05-23 16:57:31


On 05/23/2010 03:56 PM, Rene Rivera wrote:
> On 5/23/2010 11:45 AM, Stefan Seefeld wrote:
>>
>> My original proposal was to separate the core part (which could actually
>> become a library) from the frontend. That frontend could then be built
>> with different existing interpreters, and lua and python are just two
>> IMO rather obvious examples. Both of these languages have good coverage
>> of basic functionality such as string manipulation, as well as a
>> system-level API. However, none of this needs to be a requirement to the
>> bjam core itself, only to a particular build system (such as
>> boost.build) which uses these features.
>
> OK, got it. And a rewrite would only make that more possible.

Exactly, this is a big opportunity to get a clean design.

> But in order to get there it's much easier build and get working a
> port that can be verified to work just like the current tool. Then the
> internals become reliably usable.

How to unit-test the "core" is an interesting question, but I would hope
that this could be done without first having to implement a full-fledged
parser. I imagine this core library to provide all the important hooks
to generate a dependency graph, with associated actions, which would be
used directly for unit-testing.

Any frontend would then merely call that API, so it needs unit-testing
anyhow.

     Stefan

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

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk