From: Vladimir Prus (ghost_at_[hidden])
Date: 2008-08-26 03:24:07
On Tuesday 26 August 2008 11:20:15 Jim Gallagher wrote:
> I have a project that needs to be built on Windows and HP-UX PA-RISC.
> Soon we will add HP IA64 builds as well. I am the build guy, and I
> would like to use Boost Build to build our project.
> I have things working OK on Windows, but I'm having problems on HP-UX.
> In particular, building shared libs results in libs with a .so
> extension, which is not the PA-RISC convention. How can get I get my
> Boost Build to produce shared libs with .sl extensions on PA-RISC and
> .so extensions on IA64? I looked through both the bjam source and the
> boost-build jam files, but I just don't understand where the extension
> for shared libs is set.
It is set in tools/types/lib.jam, and there's some support for making
extension depend on OS.
> On a slightly different note, I made the following additions to get
> PIC code for shared libs:
> In tools/builtin.jam, I added:
> feature pic : off on : propagated ;
> In tools/acc.jam, I added:
> flags acc CFLAGS <pic>off : ;
> flags acc CFLAGS <pic>on : +Z ;
> This seems to work, but I'm not sure that "feature pic" belongs in
> tools/builtin.jam. Is this the right place? I also noticed a commented
> out line in acc.jam regarding an old feature called shared-linkable
> that no longer exists, which appears to have done the same thing.
> Should I resurrect the old feature?
Why do you need this pic feature? For gcc, -fPIC is added when link=shared
in in effect. It causes issues sometimes, say if one builds a static
libraries which is then linked into a shared library, but unless you have
that problem already, I'd suggest keying on link=shared.
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