Boost logo

Boost Users :

From: Eric Woodruff (eric.woodruff_at_[hidden])
Date: 2008-03-02 19:00:29


I've been trying to understand why the debug version of boost was
attempting linkage with the DLL version of stlport (which I didn't build
and I'm not using) and now I see that the runtime-debugging flag is
specifying that the dynamic library must be used. This causes the static
stlport to use the stlpdx cross namespace rather than the stlpd
namespace. It is not obvious to me why debugging should require a
dynamic library. Under code inspection this looks like a copy-paste
oversight.

        if [ $(rproperties).get <runtime-debugging> ] = "on"
        {
            usage-requirements +=
                <define>_STLP_DEBUG=1
                <define>_STLP_DEBUG_UNINITIALIZED=1 ;
        }
        if [ $(rproperties).get <*runtime-debugging*> ] = "on"
        {
            usage-requirements +=
                <define>_STLP_USE_DYNAMIC_LIB=1 ;
        }

Why would it be checking for runtime-debugging twice? I think the second
if should check for <runtime-link> which has the possible values
"static" or "dynamic".

This problem looks related to this thread:
http://lists.boost.org/boost-users/2007/09/30905.php, but I couldn't
find the Boost.Build message that is a follow-up to that one. I haven't
found a posted solution either. Looking at the CVS HEAD revision of
stlport.jam, it hasn't changed since 1_34_1. So if this is a bug, it has
not been fixed yet.

Thanks,

Eric



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