Boost logo

Boost-Build :

From: Steve M. Robbins (steve_at_[hidden])
Date: 2008-03-08 13:32:56


Hi,

I'm trying to decipher the following bit of tools/gcc.jam from the
Boost 1.34.1 distribution, directory tools/build/v2:

actions link.dll bind LIBRARIES
{
    "$(CONFIG_COMMAND)" -L"$(LINKPATH)" -Wl,$(RPATH_OPTION:E=-R)$(SPACE)-Wl,"$(RPATH)" "$(.IMPLIB-COMMAND)$(<[1])" -o "$(<[-1])"
 $(HAVE_SONAME)-Wl,$(SONAME_OPTION)$(SPACE)-Wl,$(<[-1]:D=) -shared $(START-GROUP) "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-ST) -l$(FIN
DLIBS-SA) $(END-GROUP) $(OPTIONS) $(USER_OPTIONS)
}

In particular, I'd like to know:

(a) what does $(<[-1]:D=) expand to, and
(b) where is that computed.

I've searched doc/userman.pdf without success. Did I miss it? Where
should I be looking?

If you've read this far: my goal is to remove the compiler-name
decoration from the SONAME of the shared libraries. This decoration
causes grief building packages for distributions like Debian. I do
know about --layout=system, but that causes even more grief because
the resulting libraries have *no* SONAME at all. Distributions need a
SONAME that doesn't include the compiler version.

Thanks,
-Steve




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