Hi Adalbert,
I'm new to Boost and have some problems understanding the way Boost libs. are built and installed. [...]
I do not completely understand the directory structure generated during the build process:
../boost_1_30_0/libs/test/build/bin/libboost_prg_exec_monitor.a /libboost_prg_exec_monitor.so /libboost_test_exec_monitor.a /libboost_test_exec_monitor.so /libboost_unit_test_framework.a /libboost_unit_test_framework.so
Below the directories given above a specific subdirectory tree was created. Example:
.../libboost_prg_exec_monitor.a/ /sunpro/ /debug/ /runtime-link-dynamic/ /runtime-link-static/ /threading-multi/libboost_prg_exec_monitor.a /threading-single/libboost_prg_exec_monitor.a
From this I conclude:
1. The builds are separated from each other in compiler specific subdirectory trees, e.g. the "sunpro" subtree contains the build results from
$ bjam "-sTOOLS=sunpro"
i.e. the sun forte 6.2 compiler and the "gcc" subtree contains the build results from
$ bjam "-sTOOLS=gcc"
i.e. the gcc 3.2.2 compiler on Linux.
Yep.
Obviously there is no separation by OS platform (Solaris or Linux). What would I have to do to build the lib. with gcc on Solaris? Where would the products be installed?
Is your directory shared between Solaris and Linux? Hmm... I'm afraid there's nothing you can do about it.
Furthermore there is no separation by compiler version (e.g. gcc 2.95.2 is not separated from gcc 3.2.2). Is this considered unnecessary?
In fact, that's important feature. Boost.Build V2 already has it.
2. The libs were built with debug symbols (-g option) only), correct?
I'm not familiar with jam and therefore don't know what to do to get them built with optimization active. It seems to me as if this should be rather simple because in ../boost_1_30_0/tools/build/sunpro-tools.jam obviously two variants of the CFLAGS variable for optimization are defined:
You should pass "-sBUILD=release" flag to jam. HTH, Volodya