Boost logo

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