$include_dir="/home/hyper-archives/boost-build/include"; include("$include_dir/msg-header.inc") ?>
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