summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba/samba_utils.py
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-11-30 01:10:31 +0100
committerJelmer Vernooij <jelmer@samba.org>2010-11-30 02:23:37 +0100
commit2a5daa7ddb67e103ed173559bd2ec60dbe06d816 (patch)
tree27222990779d5d17bbf1baebdb1178126c1af2be /buildtools/wafsamba/samba_utils.py
parent7ab6aa157534921aabb8af2bf2c672d85f217b8e (diff)
downloadsamba-2a5daa7ddb67e103ed173559bd2ec60dbe06d816.tar.gz
samba-2a5daa7ddb67e103ed173559bd2ec60dbe06d816.tar.bz2
samba-2a5daa7ddb67e103ed173559bd2ec60dbe06d816.zip
wafsamba: Only use private library rpath when linking against private
libraries. Autobuild-User: Jelmer Vernooij <jelmer@samba.org> Autobuild-Date: Tue Nov 30 02:23:37 CET 2010 on sn-devel-104
Diffstat (limited to 'buildtools/wafsamba/samba_utils.py')
-rw-r--r--buildtools/wafsamba/samba_utils.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
index 7006381ae6..1e360f0856 100644
--- a/buildtools/wafsamba/samba_utils.py
+++ b/buildtools/wafsamba/samba_utils.py
@@ -63,13 +63,23 @@ def ADD_LD_LIBRARY_PATH(path):
os.environ['LD_LIBRARY_PATH'] = ':'.join(newpath)
-def install_rpath(bld):
+def needs_private_lib(bld, target):
+ '''return True if a target links to a private library'''
+ for lib in getattr(target, "uselib_local", []):
+ t = bld.name_to_obj(lib, bld.env)
+ if t and getattr(t, 'private_library', False):
+ return True
+ return False
+
+
+def install_rpath(target):
'''the rpath value for installation'''
+ bld = target.bld
bld.env['RPATH'] = []
ret = set()
if bld.env.RPATH_ON_INSTALL:
ret.add(bld.EXPAND_VARIABLES(bld.env.LIBDIR))
- if bld.env.RPATH_ON_INSTALL_PRIVATE:
+ if bld.env.RPATH_ON_INSTALL_PRIVATE and needs_private_lib(bld, target):
ret.add(bld.EXPAND_VARIABLES(bld.env.PRIVATELIBDIR))
return list(ret)