Hi there, I'm new to Boost and have some problems understanding the way Boost libs. are built and installed. I downloaded boost_1_30_0. unpacked the archive and built the test library (I had installed bjam previously). I did the build step on two different platforms and with different compilers: - On Linux (RedHat 7.3) with gcc/3.2.2 and - on Sun SPARC Solaris 2.7 with Sun's Forte 6.2 compiler. I created an installation directory /opt/boost_1.30.0. Into this directory I copied the directory tree below boost/test and libs/test: /opt/boost_1.30.0/boost/test/... /opt/boost_1.30.0/libs/test/... I think so far everything is correct, isn't it? 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. 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? 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? 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: flags sunpro CFLAGS <optimization>speed : -fast -O4 ; flags sunpro CFLAGS <optimization>space : -O2 -xspace ; Any hints are welcome. Thanks, Adalbert Perbandt.