Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-04-07 23:25:37

OK, last Friday I promised a development plan. I think I realized this
already when I made that promise, bu I certainly can't write one without
help from my wonderful partners in this project (Rene, Vladimir, Toon...
and I invite others to work with us!). I will try to outline some
thoughts here, and I hope that by midweek we will all be agreed.

Firstly, I just want to say that I have a tendency to "make the perfect
the enemy of the good", as people are fond of saying nowadays, and I've
been doing that recently with Vladimir and Rene. Now I'm going to try to
restrain myself. Vladimir has been working on a testing system and Rene
has been working on a help system for Boost.Build v2. I have been
encouraging both of them to consider redesigns of what they've already
done. My bad.

Rene, I really like what you've done. We need a help system badly. If we
want to play with other programmer interfaces later I'm sure we will be
able to convert code to use the new system without too much pain. The
following points need to be addressed:
1. How do we document function signatures? Need to deal with
single-element,+,*, and ? arguments.
2. There's too much code duplication in print-help-xxx.

If you /do/ want to play with file parsing, try running "jam -ffoo.jam"
on the enclosed files. It shows that rule names and argument lists can
be extracted from Jam files. However, don't let it distract you if
a) you don't like the approach, or
b) it looks like it would take more than a day or so to integrate.
If you want a builtin rule to read the lines from a file, I could add
that in an hour.

Vladimir, please don't worry about the redesign ideas I mentioned last
week. It seems much more important to me that we get a working test
system going in short order and move on to other things. I think your
documentation is probably OK for our purposes now. I'd be very happy if
it were clarified, but I don't want to sacrifice any time we might spend
working on the actual code to do it.

I would like to settle how the project.jam stuff is going to be resolved
early in the day today (Monday). I think at this point that we have
mostly reached an agreement that Vladimir's approach is good, and we
would like him to integrate his module into the system. I still think
Vladimir should address my last posts about this code, but knowing him I
don't think this will represent a burden. Please squawk if there are any
serious points of disagreement, both of you!

Now, on to the big question. I think we should release a preliminary
subset of our v2 functionality so people can start seeing our progress.
What do you think is the minimum amount of functionality we'd have to
have for people to be able to do some minimal stuff? The challenge, of
course, is to be able to do something useful, but not to sacrifice the
architectural niceties that are the very reason for this project's


David Abrahams
C++ Booster ( O__ ==
Pythonista ( c/ /'_ ==
resume: (*) \(*) ==
email: david.abrahams_at_[hidden]
 ------=_NextPart_000_00B8_01C1DE8B.86155550 Content-Type: application/octet-stream;
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;

[Attachment content not displayed.] ------=_NextPart_000_00B8_01C1DE8B.86155550 Content-Type: application/octet-stream;
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;

[Attachment content not displayed.] ------=_NextPart_000_00B8_01C1DE8B.86155550--

Boost-Build list run by bdawes at, david.abrahams at, gregod at, cpdaniel at, john at