Boost logo

Boost :

From: Steve M. Robbins (steven.robbins_at_[hidden])
Date: 2002-03-02 15:32:48

On Mon, Jan 14, 2002 at 08:43:33PM -0500, David Abrahams wrote:
> ----- Original Message -----
> From: "Steve M. Robbins" <steven.robbins_at_[hidden]>
> > > > Suppose then that the next "foo" release changes the ABI. Then the
> > > > shared object must change SONAME. For example, it may be in a file
> > > > named "", with a SONAME of "". None of the
> > > > existing binaries using foo will be disturbed, but new programs can be
> > > > linked against the new ABI.
> > >
> > > I suppose these things are encoded into the library file? How?
> >
> > The details vary by platform. Hence the insane libtool shell script. In
> > the case of linux, it is done by specifying "-Wl,-soname -Wl,"
> > at the linking stage.
> Oh, an ld flag. That's easy enough to add. It doesn't seem to vary by
> platform, but by toolset, from the evidence above. In any case, there's no
> reason we can't do that (and in fact you can get it to happen for any of the
> boost libraries without changes to the build system).

OK, here's the modification I'd like to make for Debian's build.

What can I put in the place of "LIBRARY_NAME" to get the name of the
file being built --- something like $(1), but without the entire path.

I also need the boost version string. I am content to use
-sBOOST_VERSION=1.27 on the jam invocation, but if there is already a
variable that holds this value, I'd use it instead.


Index: tools/build/gcc-tools.jam
RCS file: /home/steve/lib/cvs/debian/boost/tools/build/gcc-tools.jam,v
retrieving revision
diff -u -b -B -r1.1.1.2 gcc-tools.jam
--- tools/build/gcc-tools.jam 7 Feb 2002 15:34:18 -0000
+++ tools/build/gcc-tools.jam 2 Mar 2002 20:27:44 -0000
@@ -97,7 +97,7 @@
 # for gcc, we repeat all libraries so that dependencies are always resolved
 actions gcc-Link-action bind NEEDLIBS
- $(GCC_BIN_DIRECTORY)g++ $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH:T) -L$(STDLIBPATH:T) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -Wl,-rpath-link,.
+ $(GCC_BIN_DIRECTORY)g++ $(IMPLIB_COMMAND)$(<[2]) $(LINKFLAGS) -o "$(<[1])" -L$(LIBPATH:T) -L$(STDLIBPATH:T) "$(>)" "$(NEEDLIBS)" "$(NEEDLIBS)" -l$(FINDLIBS) -Wl,-rpath-link,. -Wl,-soname,LIBRARY_NAME.BOOST_VERSION
 actions gcc-dllwrap bind NEEDLIBS

by Rocket to the Moon,
by Airplane to the Rocket,
by Taxi to the Airport,
by Frontdoor to the Taxi,
by throwing back the blanket and laying down the legs ...
- They Might Be Giants

Boost list run by bdawes at, gregod at, cpdaniel at, john at