From: Rene Rivera (grafik666_at_[hidden])
Date: 2003-02-14 19:35:22
[2003-02-14] Aleksey Chernoraenko wrote:
>Rene Rivera wrote:
>>>Sorry, I forgot about these dependencies. Actually we are using the
>>>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
>>>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
>>>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 ;-)
>It great that bjam can do anything I will look at it more carefully.
>Anyway I am sending the header file, changes and makefile.
Well, I didn't say bjam can do anything. I would love it if printed out
Here's a Jamfile for the signals library that does what the makefile you
posted does, and slightly more as it also works for other compilers other
The only change is the addition of the "stage bin-stage..." portion. There
are some differences in the output from the arrangement, and compsition of
the name of the files. The stage declaration tags this in alphabetical order
so the names wont match what your header is expecting. I use alpha ordering
because it's a more stable arrangement that doesn't change from library to
library. But you could easily change the header to handle this difference
Here's the script with the resulting list of libraries it generates on my
system, RH73-Linux, with gcc and gcc-3.2, and stlport 4.5.3...
# (C) Copyright Douglas Gregor 2001-2.
# Permission to copy, use, modify, sell and
# distribute this software is granted provided this copyright notice
# in all copies. This software is provided "as is" without express or
# warranty, and with no claim as to its suitability for any purpose.
# Boost.Signals build and test Jamfile
# declare the location of this subproject relative to the root
subproject libs/signals/build ;
# Base names of the source files for libboost_signals
trackable connection signal_base slot ;
dll boost_signals : ../src/$(CPP_SOURCES).cpp
: debug release
lib boost_signals : ../src/$(CPP_SOURCES).cpp
: <sysinclude>$(BOOST_ROOT) <define>BOOST_SIGNALS_STATIC_LINK
: debug release
# tags for the various toolsets
# tags for specific variants, in order of placement
# (i.e. alphabetical)
bjam -sTOOLS="gcc gcc-3.2 gcc-3.2-stlport-4.5.3"
-- grafik - Don't Assume Anything
-- rrivera_at_[hidden] - grafik_at_[hidden]
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk