Subject: Re: [boost] how to specify options for Boost-building?
From: Oliver Kullmann (O.Kullmann_at_[hidden])
Date: 2009-02-12 13:07:52
But as far as I can see, two important things are missing from
if [ `uname -m` == "x86_64" ]
if [ `uname -m` == "i686" ]
cd tools/jam/src || exit 1
test -x $BJAM || ./build.sh --update || exit 1
cd ../../.. || exit 1
NCPUS=`cat /proc/cpuinfo | grep "^processor\s*" | wc -l`
|| exit 1
make -j$NCPUS BJAM_CONFIG='--layout=system' || exit 1
make BJAM_CONFIG='--layout=system' install || exit 1
1. It doesn't use a local gcc.
2. Non-multithreading is not specified.
Likely prefix, build-dir and no-python are easily added, but exactly
these two problems are my problems.
Regarding whether "the package manager of my system" can't install Boost:
Unfortunately, I'm the package manager ;-).
Just for information: I develop an open-source library, which amongst other
things also uses Boost, and so when installing my library I first install gcc,
then Boost with this local gcc. Of course, all installations are local.
On Thu, Feb 12, 2009 at 08:45:38PM +0300, Dmitry Goncharov wrote:
> Oliver Kullmann wrote:
> >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
> >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
> > 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
> >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.
> >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.
> >2) I need a local installation of boost; that works out:
> > --prefix=XXX
> > --build-dir=YYY
> >no problem here.
> >3) No python; this seems also unproblematic
> >(but apparently it vanished from the documentation?)
> > --without-python
> >4) Only simple names for the built libraries; this seems
> >also to work with
> > --layout=system
> >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).
> >Glad for any help.
> This small script can build boost for you.
> btw, cannot the package manager of your system install boost?
> BR, Dmitry
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk