Boost logo

Boost :

From: Rene Rivera (grafik666_at_[hidden])
Date: 2003-02-14 14:46:02


[2003-02-14] Aleksey Chernoraenko wrote:

>Hi Doug,
>
>Sorry, I forgot about these dependencies. Actually we are using the
makefile
>where BOOST_SIGNALS_STATIC_LINK is defined.
>There is another related issue. We would like to have automatic library
>selection feature. This hides the details about which DLL to link to from
>the users (regex library does the same thing). For this reason we made
>header file and a few changes to include it. This header defines the naming
>scheme based on compiler options and contains the lib specifier (#pragma
>comment) that allows to pass the library name to the linker.
>
>Unfortunately, I don't know bjam well to build the libraries and DLLs which
>file names will correspond to chosen naming scheme.
>By the way the regex's Jamfile cannot produce the files corresponding to
>it's naming scheme. Maybe it is impossible in bjam system?

Nothing is impossible ;-)

In the case of regex it's possible as long as all the generated
DLLs/SOs/LIBs have the name of the library in it: "boost_regex". So the same
applies to the signal library: "boost_signals". You just need to find out
what the mappings from the various build variants to the names, and use a
"stage" rule to create the needed versions. The regex library already has a
stage rule, for example, that generates a libboost_regex_debug.so, or
boost_regex_debug.dll.

So if you could tell us what the various names of the libraries that should
be generated I can probably give you a stage rule that will generate them.

Another alternative is to declare more targets (dll ...) with the specific
names and options.

>If you want I send the header and the needed changes.

Perhaps that might help. I guess the header would have the mappings from
compiler to name.

-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
-- 102708583_at_icq


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk