|
Boost-Build : |
Subject: [Boost-build] How to enable -use-dynld option for EXE
From: Steven Solie (steven_at_[hidden])
Date: 2010-04-14 10:03:25
I am working on AmigaOS 4.x and I need to enable the -use-dynld
option for EXE creation but only for those EXE's that include
shared objects (.so).
I can't use the properties since <link>shared and
<runtime-link>shared seem to alway be present so
I'm trying to scan the list of dependencies now.
I tried the following added to gcc.jam but it fails on
any .o file for some reason:
rule link ( targets * : sources * : properties * )
{
for local s in $(sources)
{
local type = [ $(s).type ] ;
if $(type) && [ type.is-derived $(type) SHARED_LIB ]
{
ECHO add the -use-dynld option ;
}
}
[snip]
}
My underlying problem here is that I can't tell the difference
between an EXE linked with only static libs and one linked with
dynamic libs. At least I can't figure it out yet.
AmigaOS uses a special version of GCC (like Mac OS X) so
adding the -use-dynld to a non-dynamic link produces a broken
executable as does using -fPIC on non-shared object files.
Any help would be greatly appreciated.
--Steven
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