Boost logo

Boost-Build :

From: David P. Riedel (driedel_at_[hidden])
Date: 2004-05-06 07:51:03


Rene Rivera wrote:
> David P. Riedel wrote:
>
>
>>however, when is issue this command:
>>
>>bjam -a "-sTOOLS=gcc" "-sGCC_ROOT_DIRECTORY=/usr/local/gcc_3.4"
>>
>>i get a message which says:
>>...found 4700 targets...
>>...updating 881 targets...
>>
>>
>>when i issue this command:
>>
>>bjam -a "-sTOOLS=gcc" "-sGCC_ROOT_DIRECTORY=/usr/local/gcc_3.4"
>>"-sBUILD=<linkflags>-Wl,-rppath,/usr/local/gcc_3.4/lib"
>>
>>i get a message which says:
>>...found 3832 targets...
>>...updating 251 targets...
>>
>>
>>so it appears there must be other options i need to pass to the BUILD.
>>is there a way i can concatenate options to BUILD or is there a list of
>>the default values so that i can specify the whole list in the command line?
>
>
> You can add any number of build requests to the BUILD variable
> separating them with spaces: "-sBUILD=debug release". If you are
> building at the boost root that Jamfile sets the build request to:
>
> "-sBUILD=debug release <runtime-link>static/dynamic
> <threading>single/multi"
>
> And if you specify the "--with-pydebug" it also adds "debug-python".
>
> There is an alternate way to add compiler flags that might be more
> useful for you here. The gcc toolset supports setting the compiler
> command to a command plus any number of options. For example you could do:
>
> bjam -a "-sTOOLS=gcc" "-sGCC_ROOT_DIRECTORY=/usr/local/gcc_3.4"
> "-sGXX=g++ -Wl,-rppath,/usr/local/gcc_3.4/lib"
>
>

i have now tried both of these suggestions and, unfortunately, neither
actually works correctly for me : (

using the -sBUILD=debug release <runtime-link>static/dynamic
<threading>single/multi" flavor, the output files built in stage/libs
are all mixed up. some file names have an 's' appended (which doesn't
happen without these command line options) and the release file names
end up on the debug versions.

using the bjam -a "-sTOOLS=gcc" "-sGCC_ROOT_DIRECTORY=/usr/local/gcc_3.4"
"-sGXX=g++ -Wl,-rpath,/usr/local/gcc_3.4/lib" flavor, there are build
errors which result in no shared libraries being created.

i have run both of these with version 1 of bjam. i have not tried
version 2 because that is not the default version used to build boost so
i don't know if it's ready to be used for that.

what i ended up doing to get my 3.4 specific version of the libraries
built was to modify the gcc bjam file to hardcode
-Wl,-rpath,/usr/local/gcc_3.4/lib in the link statement. this produced
all the correct outputs and ldd shows the shared libraries are using the
3.4 runtimes.

thanks for your help.

dave riedel

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk