Boost logo

Boost Users :

From: Adalbert Perbandt (adalbert.perbandt_at_[hidden])
Date: 2003-05-30 07:40:27


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.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net