|
Boost : |
From: Steve M. Robbins (steven.robbins_at_[hidden])
Date: 2002-03-02 18:08:47
On Sat, Mar 02, 2002 at 05:00:41PM -0500, David Abrahams wrote:
>
> ----- Original Message -----
> From: "Rene Rivera" <grafik666_at_[hidden]>
> > Try $(<[1]:G=:D=).
>
> Grist is always gone by the time you get inside an action, so :G= is
> redundant.
Thanks! Using $(<[1]:D=) does what I want.
> > There is one problem with this solution... it will tag any library
> > created
> > regardless of wether it's in Boost or not. If you happen to use the
> > Boost.Build system for something other than Boost, which I do, the
> > above would
> > not be "a good thing".
Good point. However, I'm only interested in using jam to build boost.
The Debian packages install into /usr/lib and /usr/include, so nobody
need be using jam after that.
> > The best way is to specify the above in the dll target spec itself
> with
> > <linkflags>, which is what Dave was refering to above. It might look
> like:
> >
> > dll test : test.cpp
> > : <gcc><linkflags>"-Wl,-soname -Wl,libtest.so.$(BOOST_VERSION)"
> > : debug release ;
> >
> >
> > But even that seems somewhat cumbersome.
Looks cumbersome to me.
I have two new problems:
1. Static libs should NOT be built using -fPIC. I noticed that
libboost_python does this, so I made the following change. Can
someone confirm that this is the correct change?
Index: libs/python/build/Jamfile
===================================================================
RCS file: /home/steve/lib/cvs/debian/boost/libs/python/build/Jamfile,v
retrieving revision 1.1.1.2
diff -u -b -B -r1.1.1.2 Jamfile
--- libs/python/build/Jamfile 7 Feb 2002 15:31:27 -0000 1.1.1.2
+++ libs/python/build/Jamfile 2 Mar 2002 22:50:04 -0000
@@ -84,7 +84,7 @@
lib libboost_python_static : ../src/$(CPP_SOURCES).cpp
# requirements
: $(BOOST_PYTHON_INCLUDES)
- <shared-linkable>true
+ <shared-linkable>false
<define>BOOST_PYTHON_STATIC_LIB=1
$(PYTHON_PROPERTIES) ;
2. I actually need to build a file named "libboost_foo.so.1.27",
with "libboost_foo.so" being a symlink to the former. I thought
I could just change the gcc-Link-action to use
-o "$(<[1]).$(SOVERSION)"
However, there is a "chmod" rule that follows the link and it assumes
that the output is named "$(<[1])". I plan to hack around this in
debian/rules, but I thought I may as well mention this.
Thanks,
-Steve
-- 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 acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk