Boost logo

Boost-Build :

Subject: [Boost-build] Making a library build with different linkage than its dependencies
From: Matthew Chambers (matt.chambers42_at_[hidden])
Date: 2011-06-27 11:52:26


How do I make something like this work?

# MSData is so big that it should always be a DLL, but its dependencies can remain static
rule msdata-requirements ( properties * )
{
     local dependency-linkage = <link>static ;
     if <link>shared in $(properties)
     {
         dependency-linkage = <link>shared ;
     }
     property.remove <link> : $(properties) ;
     return
         <link>shared
         <library>../..//pwiz_version
         <library>pwiz_data_msdata_version
         <library>../common//pwiz_data_common/$(dependency-linkage)
        <library>../../utility/misc//pwiz_utility_misc/$(dependency-linkage)
         <library>../../utility/minimxml//pwiz_utility_minimxml/$(dependency-linkage)
         <library>../../utility/chemistry//pwiz_utility_chemistry/$(dependency-linkage)
         <library>/ext/boost//iostreams/<boost-iostreams-zlib>on/$(dependency-linkage)
         <library>/ext/boost//filesystem/$(dependency-linkage)
         <library>/ext/boost//thread/$(dependency-linkage)
         <library>/ext/boost//regex/$(dependency-linkage)
         <library>/ext/zlib//z/$(dependency-linkage)
         <library>mz5//pwiz_data_msdata_mz5/$(dependency-linkage)
     ;
}


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