Boost logo

Boost :

Subject: Re: [boost] how to specify options for Boost-building?
From: Vladimir Prus (vladimir_at_[hidden])
Date: 2009-02-12 13:10:38


Oliver Kullmann wrote:

> Hello,
>
> I want to build version 1_38_0, but I can't progress
> due to missing build-documentation.
> I need to use bjam (due to special demands on the build),
> and my platform is Linux.
>
> Apparently besides this little bit of information at
> http://www.boost.org/doc/libs/1_38_0/more/getting_started/unix-variants.html
> there is nothing available? (Even to get there is not obvious --- you need
> to click on "microsoft install" first, in order to find a further link
> to Linux/Unix install?)
>
> So well, I invoke "bjam --help":
>
> Usage says
>
> bjam [options] [properties] [install|stage]
>
> where under "properties" we find
>
> Properties:
>
> toolset=toolset Indicates the toolset to build with.
>
> variant=debug|release Select the build variant
>
> link=static|shared Whether to build static or shared libraries
>
> threading=single|multi Whether to build single or multithreaded binaries
>
> runtime-link=static|shared
> Whether to link to static or shared C and C++ runtime.
>
>
> What's the syntax here??
>
> "--toolset=gcc", as one finds it on that webpage above, or "toolset=gcc", as that
> information seems to suggest (since for the options the "--" is mentioned)??

Both work. I hope that getting started will be fixed to use toolset=xxx

> Unfortunately, it seems that, different from all other build systems I'm aware of,
> bjam doesn't print out a summary of what it will be doing. I tried many variations of
> syntax, but apparently it never worked out.

No build system I know produces summary of that it *will* be doing. Some build systems echo
the commands before executing them, but definitely not all -- for example, CMake does not
print complete commands either. You can make Boost.Build to print commands using -d2 option.

>
> There is an option which is potentially relevant, "--build-type", but again I don't
> know what are the possible parameters for that --- since there are no examples, I don't
> know how to read the cryptic listing (syntax-wise).
>
> What I need to achieve is simple:
>
> 1) I need to specify a locally installed gcc toolset:
> Past installations suggested to use the options
>
> --toolset=gcc-4.1.2
> --toolset-root=PATH-TO-LOCAL-INSTALLATION
> --"-sGCC_ROOT_DIRECTORY=PATH-TO-LOCAL-INSTALLATION"
>
> I can't find any information on that topic.

See:
        http://www.boost.org/boost-build2/doc/html/bbv2/advanced/configuration.html

> 3) No python; this seems also unproblematic
> (but apparently it vanished from the documentation?)
>
> --without-python

It is present in "--help" output.

> 5) No multi-threading:
> Don't know how to achieve this:
> Somehow "threading=single" seems to be needed here, but I don't know
> how to specify it (whatever I do, I always end up with libraries with
> the "mt"-ending).

The syntax is documented at:

        http://www.boost.org/boost-build2/doc/html/bbv2/advanced/invocation.html

What did you try exactly?

- Volodya


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk