summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-08-02 12:11:48 (GMT)
committerSteven Knight <knight@baldmt.com>2004-08-02 12:11:48 (GMT)
commitd7289a48cb622e56d940fc21c67ee6947a4d5ae1 (patch)
treea56a29753f244f162d1b7f7f98f49e6ac6e00421
parentd15974cb4579eccaec5c35944174423ab9f4cf84 (diff)
downloadSCons-d7289a48cb622e56d940fc21c67ee6947a4d5ae1.zip
SCons-d7289a48cb622e56d940fc21c67ee6947a4d5ae1.tar.gz
SCons-d7289a48cb622e56d940fc21c67ee6947a4d5ae1.tar.bz2
Add support on IRIX. (Chad Austin)
-rw-r--r--doc/man/scons.15
-rw-r--r--src/CHANGES.txt3
-rw-r--r--src/engine/SCons/Tool/sgilink.py7
3 files changed, 12 insertions, 3 deletions
diff --git a/doc/man/scons.1 b/doc/man/scons.1
index 135e5f7..557db2c 100644
--- a/doc/man/scons.1
+++ b/doc/man/scons.1
@@ -5658,8 +5658,9 @@ General options passed to the Java RMI stub compiler.
.IP RPATH
A list of paths to search for shared libraries when running programs.
-Currently only used in the GNU linker. Ignored on platforms and
-toolchains that don't support it. Note that the paths added to RPATH
+Currently only used in the GNU linker (gnulink) and IRIX linker (sgilink).
+Ignored on platforms and toolchains that don't support it.
+Note that the paths added to RPATH
are not transformed by
.B scons
in any way: if you want an absolute
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 083d640..6550064 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -28,7 +28,8 @@ RELEASE 0.96 - XXX
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.
+ to search for shared libraries when linking a program. Used by
+ the GNU and IRIX linkers (gnulink and sgilink).
From Charles Crain:
diff --git a/src/engine/SCons/Tool/sgilink.py b/src/engine/SCons/Tool/sgilink.py
index 80cfcf4..85d9e30 100644
--- a/src/engine/SCons/Tool/sgilink.py
+++ b/src/engine/SCons/Tool/sgilink.py
@@ -46,5 +46,12 @@ def generate(env):
env['LINK'] = env.Detect(linkers) or 'cc'
env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
+ # __RPATH is set to $_RPATH in the platform specification if that
+ # platform supports it.
+ env.Append(LINKFLAGS=['$__RPATH'])
+ env['RPATHPREFIX'] = '-rpath '
+ env['RPATHSUFFIX'] = ''
+ env['_RPATH'] = '${_concat(RPATHPREFIX, RPATH, RPATHSUFFIX, __env__)}'
+
def exists(env):
return env.Detect(linkers)