$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
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