diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/CHANGES.txt | 5 | ||||
| -rw-r--r-- | src/engine/SCons/Platform/posix.py | 3 | ||||
| -rw-r--r-- | src/engine/SCons/Tool/gnulink.py | 7 |
3 files changed, 15 insertions, 0 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 0501093..49584a1 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -19,6 +19,11 @@ RELEASE 0.96 - XXX - Add a $QT_AUTOBUILD_MOC_SOURCES construction variable that controls whether moc-generated .cpp files get compiled. + From Chad Austin and Christoph Wiedemann: + + - Add support for a $RPATH variable to supply a list of directories + to search for shared libraries when linking a program. + From Charles Crain: - Restore the ability to do construction variable substitutions in all diff --git a/src/engine/SCons/Platform/posix.py b/src/engine/SCons/Platform/posix.py index bc121e6..f64d272 100644 --- a/src/engine/SCons/Platform/posix.py +++ b/src/engine/SCons/Platform/posix.py @@ -229,3 +229,6 @@ def generate(env): env['SPAWN'] = spawn env['SHELL'] = 'sh' env['ESCAPE'] = escape + + # This platform supports RPATH specifications. + env['__RPATH'] = '$_RPATH' diff --git a/src/engine/SCons/Tool/gnulink.py b/src/engine/SCons/Tool/gnulink.py index 0e75304..b900202 100644 --- a/src/engine/SCons/Tool/gnulink.py +++ b/src/engine/SCons/Tool/gnulink.py @@ -45,6 +45,13 @@ def generate(env): if env['PLATFORM'] == 'hpux': env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared -fPIC') + + # __RPATH is set to $_RPATH in the platform specification if that + # platform supports it. + env.Append(LINKFLAGS=['$__RPATH']) + env['RPATHPREFIX'] = '-Wl,--rpath=' + env['RPATHSUFFIX'] = '' + env['_RPATH'] = '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}' def exists(env): return env.Detect(linkers) |
