
Thanks! But as far as I can see, two important things are missing from ------------------------------- #!/bin/sh if [ `uname -m` == "x86_64" ] then BJAM=bin.linuxx86_64/bjam fi if [ `uname -m` == "i686" ] then BJAM=bin.linuxx86/bjam fi 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` ./configure \ --with-bjam=`pwd`/tools/jam/src/$BJAM \ --with-toolset=gcc \ $CFGFLAGS \ || 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. Oliver On Thu, Feb 12, 2009 at 08:45:38PM +0300, Dmitry Goncharov wrote:
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)??
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.
Oliver
This small script can build boost for you. btw, cannot the package manager of your system install boost?
BR, Dmitry