Boost logo

Boost-Build :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-03-08 14:00:07


Steve M. Robbins wrote:

> 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

        $(<) is the list of targets produced
        $(<[-1]) is the last element of that list
        $(<[-1]:D=) is that same, with directory name stripped

> (b) where is that computed.

in tools/virtual-target.jam, which eventually calls
the 'tag' rule in Jamroot, in Boost's root directory.
In 1.34.1 that file is called Jamfile.v2

> 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.

Hmm, this is highly strange. On SVN HEAD, when I do:

        bjam --layout-system --with-program_options release stage

I get:

ghost_at_wind:~/Work/Boost/boost-svn$ readelf -d
bin.v2/libs/program_options/build/gcc-4.1.3/release/threading-multi/libboost_program_options-mt.so

Dynamic section at offset 0x366bc contains 27 entries:
  Tag Type Name/Value
 0x0000000e (SONAME) Library soname: [libboost_program_options-mt.so]

So, there's neither version, nor 'gcc' name. I don't see any big changes between
1.34.1, 1.35 branch and SVN HEAD.

- Volodya


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