This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
I've got several questions about building and testing Boost, and Benjamin Kosnik recommended that I ask them in this mailing list. I'm building Boost as part of GCC 3.1 integration testing on ia64-linux and am also writing up the "Boost build and test guide" to go in gcc-3.1/testing-boost.html. I've appended the current version and would greatly appreciate corrections before I submit it. So, the questions: Is there a way to turn off building the Python support? I don't have Python installed, so that part fails but the rest of the build continues. It would be nice to recognize new unexpected failures with the jam0 return status. Is there a way to turn off building multithreading support? The first time I tried building was with a GCC not configured for threads and I got some build failures because of that. Since then I've configured GCC for thread support, but I'd like to include this information in the build and test guide. If I want to try a build with optimizations, do those go in the status/compiler.cfg file as I say in the build and test guide? By the way, I get one Boost regression failure on ia64-linux with GCC 3.1: libs/integer/integer_test.cpp. That also fails with GCC 3.0.4, along with three other tests. Janis Johnson IBM Linux Technology CenterTitle: Boost build and test guide
This page is a guide to running the testing and timing programs for the Boost class libraries as part of GCC integration testing.
The Boost distribution, available at the Boost site at boost_all.tar.gz, is a 3.8 Mb file. The uncompressed distribution comprises some 16 Mb of source files. Building the library and tests adds between 80 and 140 Mb of object files and executables to this.
On a Pentium III laptop, building the Boost library takes 15 minutes and building and running the regression tests takes an additional 5 minutes.
To prepare for a build, perform the following:
tar zxf boost_all.tar.gz
, orgunzip -c boost_all.tar.gz | tar xf -
cd boost_1_27_0
PATH
should include the bin
directory
of the GCC installation under test.LD_LIBRARY_PATH
should include the lib
directory of the GCC installation under test.BOOST_ROOT
should be the full pathname of the top
directory of the boost distribution (the one to which we just
changed).The Boost package gets information about how to compile and link
from the file compiler.cfg
. On a GNU/Linux system you
can replace the contents of that file with the following:
linux
gcc-3.1
GCC 3.1
g++ -c -w -ftemplate-depth-30 -I%include %source
g++ -o boosttmp.exe -w -ftemplate-depth-30 -I%include %source -lrt
GNU<br><a href="http://gcc.gnu.org/">GCC</a><br>3.1
To build the package with specific optimizations, add them to the compile line in this file.
To build the Boost class library, do:
cd ${BOOST_ROOT}/tools/build/jam_src
make all
cd ${BOOST_ROOT}
tools/build/jam_src/jam0 \
-sBOOST_ROOT=${BOOST_ROOT} -sTOOLS="gcc"
If you don't have Python installed, there will be build failures for
Python support. The wregex
support fails to build if glibc
is older than 2.2.4. These failures do not prevent the build from
continuing.
Build the Boost regression tests with:
cd ${BOOST_ROOT}/status
g++ -I${BOOST_ROOT} -o regression regression.cpp
Run the tests with:
cd ${BOOST_ROOT}/status
./regression
"Pass" or "Fail" appears at the end of the output for each test.
There should be no failures, although if your glibc is older than
2.2.4 then tests
libs/integer/integer_traits_test.cpp
and
libs/regex/test/regress/wregex_test.cpp
will fail.
TBD
Cleanup (to prepare the directory for a fresh run, e.g. with another version of the compiler), is done as follows:
cd ${BOOST_ROOT}
rm -f ${BOOST_ROOT}/build/jam_src/jam0
rm -f ${BOOST_ROOT}/status/regression
find . -name \*.o -exec rm -f {} \;
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |