blob: c509e2d29968fc5ee47ffeb2130783034bb4356d [file] [log] [blame]
From 63a44d0cb5494ed1078de411b55cb1c9a8307cec Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Fri, 18 Nov 2011 19:09:27 -0500
Subject: [PATCH] make chrpath optional
There's no reason to require chrpath for distributions who only want to
compile locally and then install elsewhere for packaging. So allow them
to specify CHRPATH='' via the env to disable this requirement.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
SConstruct | 27 ++++++++++++++-------------
1 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/SConstruct b/SConstruct
index ccaca7d..68bf367 100644
--- a/SConstruct
+++ b/SConstruct
@@ -270,7 +270,7 @@ def installdir(dir, add_destdir=True):
# Honor the specified installation prefix in link paths.
env.Prepend(LIBPATH=[installdir('libdir')])
-if env["shared"]:
+if env["shared"] and env['CHRPATH']:
env.Prepend(RPATH=[installdir('libdir')])
# Give deheader a way to set compiler flags
@@ -390,17 +390,18 @@ config = Configure(env, custom_tests = { 'CheckPKG' : CheckPKG,
'CheckXsltproc' : CheckXsltproc})
env.Prepend(LIBPATH=[os.path.realpath(os.curdir)])
-if config.CheckExecutable('$CHRPATH -v', 'chrpath'):
- # Tell generated binaries to look in the current directory for
- # shared libraries so we can run tests without hassle. Should be
- # handled sanely by scons on all systems. Not good to use '.' or
- # a relative path here; it's a security risk. At install time we
- # use chrpath to edit this out of RPATH.
- if env["shared"]:
- env.Prepend(RPATH=[os.path.realpath(os.curdir)])
-else:
- print "chrpath is not available, forcing static linking."
- env["shared"] = False
+if env['CHRPATH']:
+ if config.CheckExecutable('$CHRPATH -v', 'chrpath'):
+ # Tell generated binaries to look in the current directory for
+ # shared libraries so we can run tests without hassle. Should be
+ # handled sanely by scons on all systems. Not good to use '.' or
+ # a relative path here; it's a security risk. At install time we
+ # use chrpath to edit this out of RPATH.
+ if env["shared"]:
+ env.Prepend(RPATH=[os.path.realpath(os.curdir)])
+ else:
+ print "chrpath is not available, forcing static linking."
+ env["shared"] = False
confdefs = ["/* gpsd_config.h. Generated by scons, do not hand-hack. */\n"]
@@ -1140,7 +1141,7 @@ if qt_env:
binaryinstall.append(LibraryInstall(qt_env, installdir('libdir'), compiled_qgpsmmlib))
# We don't use installdir here in order to avoid having DESTDIR affect the rpath
-if env["shared"]:
+if env['CHRPATH']:
env.AddPostAction(binaryinstall, '$CHRPATH -r "%s" "$TARGET"' \
% (installdir('libdir', False), ))
--
1.7.8.3