Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2005-06-24 07:47:37

On Sunday 19 June 2005 02:12, David Abrahams wrote:
> It seems a bit weird that --help-usage shows me the options and
> --help-options shows me... something else. Am I missing something?

I don't understand this either. I think the --help output should be no longer
than this:

Boost.Build V2 Milestone whatever.

For basic command line syntax use:


For information on building this project use:


For Boost.Build internal documentation use:


The --help-project would print the value of 'project-help' constant in the
current Jamfile, and the output of --help-command-line will be:

Command line syntax:

bjam [options] [properties] [targets]

Options, properties and targets can be specified in any order.

To build all targets in current Jamfile:


To build target 'foo' in directory 'sub' in debug and release variants:

bjam variant=release variant=debug sub//foo

To rebuild a single file in current project:

bjam -a foo.o

Important options:

--clean Remove the named targets
-a Rebuild everything
-n Don't execute the command, only print them
-d+2 Show all executed commands
-q Stop at first error

The idea is that --help should not list too many information that's no needed
for ordinary users. Comments?

BTW, I don't like the current way options are handled. In
kernel/bootstrap.jam, we loop over all ARGV elements. If it matches --.* we
look for a module in the "options" directory. If found we load it and call
the 'process' methods.

Two problems:
1. Given that there's a single module in the 'options' dir, the above look
like overgeneralization.
2. I need to handle --help-project after user-config.jam is loaded, and that
happens only in build-system.jam. The only approach I see is handling
--help in build-system.jam, and that will make the logic in
'kernel/bootstrap.jam' just unused.


- Volodya

Vladimir Prus
Boost.Build V2:

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