Boost logo

Boost-Build :

From: Rene Rivera (grafikrobot_at_[hidden])
Date: 2006-07-28 10:41:40


Vladimir Prus wrote:
> On Thursday 27 July 2006 17:35, Rene Rivera wrote:
>> Vladimir Prus wrote:
>>> Rene,
>>> in revision 1.38 of top-level Jamfile.v2, you've added code to build
>>> several variants of Boost libraries.
>>>
>>> That does not seem to work for me, I now get:
>>>
>>> error: on gcc, DLL can't be build with <runtime-link>static
>>> error: it's suggested to use <runtime-link>static together with the
>>> <link>static
>>>
>>> That just about right, it can't create a DLL that links to static libc.
>> Not strickly true. It is possible to build a shared lib that links
>> statically to libc. It just has to be done very carefully :-)
>
> Can you point me to some docs about that, or command lines, or something. If
> that's possible I'd like to know how.

I'll have to find some or try some things out. Generally speaking it's
possible as long as you can isolate the libc symbols, or any other DLL
that might "conflict", to within the DLL. Basically not doing the
default of exporting all symbols.

>>> Now the question is that's the best solution.
>>>
>>> - Should we just silently build DLLs with dynamic runtime
>>> - Should we adjust build request to not include this on Linux?
>>>
>>> What do you think?
>> I'll go for "non of the above" ;-)
>>
>> - It should work like it does on BBv1. Which would just not build target
>> combinations that where not possible instead of erroring out saying they
>> are not possible.
>
> This might be OK for "build all variants" use case, but it's not so good idea
> in general. Suppose you're giving some specific build request on command
> line, and nothing is built with no explanation.

Of course... BBv1 issues a warning and continue with the rest of the
builds. For the top level build that warning is turned off as to not
annoy the users.

FYI... The current logic not only prevents building DLLs with
runtime-link=static on Linux, but on *all* platforms. This prevents for
example MinGW from building that variant which it is capable of without
any special handling. (not that it produces anything really different
than the runtime-link=shared case though)

-- 
-- Grafik - Don't Assume Anything
-- Redshift Software, Inc. - http://redshift-software.com
-- rrivera/acm.org - grafik/redshift-software.com
-- 102708583/icq - grafikrobot/aim - grafikrobot/yahoo

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