Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2004-09-21 09:16:49


Puverle, Tomas (IT) wrote:

>> Now, everything start to use that debug version of
>> libB. This might not be a solution for you though.
>
> Oh if things were only that easy! :)
>
> This is unfortunatelly not an option.
> We are talking about debugging applications which have hundreds or
> milions of lines of code that take many hours to compile link etc.
> Sometimes it is necessary to do this debugging live, and with all of the
> libraries being debug the performance may be unnaceptable.

I meant only copying a single debug library to the "debug" directory. All
the rest would be release ones.

>> > #Note that you must:
>> > #1) use "gcc" and not "g++" as the compiler (long story)
>>
>> I think -sGXX=gcc parameter to bjam will do this
>
> Yes, I already do that in my makefile I sent.
>
>> > #2) add libstd.so
>> > #3) add libsupc++.a as the last thing on the link line.
>> > run_tests:
>> > ?
>>
>> I've tried running:
>>
>> bjam -sGXX=gcc -n -sBUILD="<find-library>std
>> <find-library>supc++" in the
>>
>> libs/format/test directory and the output is:
>
> But can you still use the --prefix etc command line params?

I don't think so. IIRC, --prefix only affect the installation. I presume you
don't want the tests to write the the source directory? Then try

bjam -sALL_LOCATE_TARGET=some_dir <other options>

> And what about a complete test suite, that builds & runs all of the
> tests?
> I saw a Jamfile under tools/status that seems to do that, perhaps I can
> reuse it?

You can just run bjam in $boost_root/status, it will build all the tests.

> So my final few questions are:
> 1) Is there an agglomerated Jamfile that has all the tests already in
> it?

Yes, $boost_root/status/Jamfile

> 2) Is it possible to give the --prefix etc. command line params to the
> tests?

Hopefully answered.

> 3) [Unaswered from previous email] Is it possible to ONLY build the
> shared objects without the archives?

You seem to have some solution (though not very clear) for V1?
In V2, this is supported out of the box. We only need to implement the
"install" feature for V2.

> 4) If the above aren't, do you think they would be reasonable feature
> requests for some future version of Boost.build?

We plan to retire V1 soon, so some future version already supports this. If
you're interested, the idea is the there's just kind of library target, and
a property <link> which controls how to build the library. By default, only
shared libraries are built. To build both static and shared on can invoke

bjam link=shared link=static

> 5) Am I asking too many questions? ;)

No, you're welcome to ask more :-)

- Volodya

 


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