|
Boost-Build : |
From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-09-22 06:26:41
On Saturday 23 July 2005 14:36, Alo Sarv wrote:
> Overall, if you look at the manual index we currently see:
> * Tutorial
> * User documentation
> * Extended Manual
> * Detailed Reference
> * FAQ
>
> In tutorial section, it's normal to leave out feature listings, and
> focus on getting minimal examples running; altough I would recommend
> starting out with a full example (including all required files), and
> then explaining it line-by line, instead of showing snippets of code in
> each page.
>
> What exactly is the difference between UserDoc, ExtMan and DetRef ?
> Which one should I search if I want to do X ? Or Y ?
I agree this distinction does not work.
> What about hierarchy like this:
>
> 1. Getting Started
> [ includes installation and tutorial, with 1-2 small, but complete
> examples (points 1. and 2.) ]
What I'd prefer is this:
- "Hello world" -- a single Jamroot project
- Project structure.
Some real-looking example with Jamroot and child Jamfiles
- Libraries -- how to declare and how to use
- Testing -- the "unit-test" rule
- Installing -- the "install" rule
So that this covers much of lifecycle of project.
> 2. Writing Jamfiles
> [ includes detailed reference of what you can do with Jamfiles, e.g
> targets, variables, dependencies, projects; starting simple, moving
> towards more complex things (3, 4, 5) ]
> 3. Invoking Bjam
> [ includes detailed reference on command-line arguments, how bjam
> scans Jamfiles in folders; how it works to achieve targets;
> multi-threaded compilations; what other black magic can one do from
> commandline (overriding compile-commands, etc) (6) ]
> 4. Extending Boost.Build
> [ includes overview of the tools/v2/ folder's contents; when/how to
> write custom jam code - e.g. new toolsets, OS features, custom
> targets (QT's uic / moc are good examples for this) (7, 8) ]
I think this organization is fine. The biggest question now is
detailed structure of section 2. Topics should include:
- Language reference (current (just added)
http://boost.org/boost-build2/doc/html/bbv2/advanced.html#bbv2.advanced.jam_language)
- Features and properties
- Configuration
- Declaring targets (current
http://boost.org/boost-build2/doc/html/bbv2/advanced/targets.html)
- Builtin features
- Shared/static libraries
- testing rule
- install rules
- low-level rules (make and notfile)
- declaring project constants
Any additions?
> 5. Frequently Asked Questions
> [ no changes needed ]
>
> Another thing that I was unable to find in this manual was actual Jam
> language reference - had to do some googling around to find something on
> it; maybe there was a link somewhere in the manual, but I couldn't find
> it; anyway, shouldn't a build-system manual also include reference
> manual of the actual language used to extend the build system? External
> link would be sufficient.
I've just committed a change with jam langauge overview.
- Volodya
-- Vladimir Prus http://vladimir_prus.blogspot.com Boost.Build V2: http://boost.org/boost-build2
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