Boost logo

Boost-Build :

From: Mike Jackson (mike.jackson_at_[hidden])
Date: 2008-07-11 09:47:23


I have downloaded the 1.35 release and I have a need to set an
"install_name" or "rpath" into the dylibs that are produced. From
hacking in the 1.34.x release I can do this by editing the file:
$BOOST_ROOT/tools/build/v2/tools/darwin.jam and using the following:

   actions link.dll bind LIBRARIES
   {
       $(CONFIG_COMMAND) -headerpad_max_install_names -install_name "$
(BUILD_PREFIX)/$(<[1]:D=:S=.dylib)" -dynamiclib -L"$(LINKPATH)" -o "$
(<)" "$(>)" "$(LIBRARIES)" -l$(FINDLIBS-SA) -l$(FINDLIBS-ST) $
(FRAMEWORK_PATH) -framework$(_)$(FRAMEWORK:D=:S=) $(OPTIONS) $
(USER_OPTIONS)
   }

I need to be able to get access to the "--prefix" argument and I need
to add the following flags to the linker:
-headerpad_max_install_names
-install_name (My install_name )

So I am wondering what the best way would be to pass in some
arguments to the ./configure script in order to pass those arguments
down to the darwin.jam file (edited to understand the possibility of
those arguments) or set something in the user-config.jam file to pass
those settings into the darwin.jam file.

The problem is that the "install_name" is just the name of the
library itself. While this is an improvement over the 1.34 release it
forces me to set DYLD_LIBRARY_PATH which I _should not_ have to do on
OS X. I would rather set the install_name flag to my --prefix
argument during configure time.

So what would the best way to do all this? Something simple I hope as
the project that I am working on will have lots of developers using
what ever directions I come up with.

Thanks for any help on this matter.

-- 
Mike Jackson   Senior Research Engineer
Innovative Management & Technology Services

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