Add support on IRIX. (Chad Austin)
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 2 Aug 2004 12:11:48 +0000 (12:11 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Mon, 2 Aug 2004 12:11:48 +0000 (12:11 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1021 fdb21ef1-2011-0410-befe-b5e4ea1792b1

doc/man/scons.1
src/CHANGES.txt
src/engine/SCons/Tool/sgilink.py

index 135e5f72505f1c79ebf04ca24ac983268827fb89..557db2c1bcf42437db625793fe1cab5a4960a183 100644 (file)
@@ -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
index 083d64017dfc970cb1d03b1979c218c9b115f19d..6550064fff0e8ad2b5c6ae7a305f1f3387dd73ff 100644 (file)
@@ -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:
 
index 80cfcf448a2beac316c719f039267346e5e4c1bc..85d9e306d0719a05b5333d36b0889cc8b5a2c754 100644 (file)
@@ -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)