[SCM] Samba Shared Repository - branch master updated
Jelmer Vernooij
jelmer at samba.org
Mon Nov 29 18:24:01 MST 2010
The branch, master has been updated
via 2a5daa7 wafsamba: Only use private library rpath when linking against private libraries.
from 7ab6aa1 samba_dist: Fix dist for subprojects.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 2a5daa7ddb67e103ed173559bd2ec60dbe06d816
Author: Jelmer Vernooij <jelmer at samba.org>
Date: Tue Nov 30 01:10:31 2010 +0100
wafsamba: Only use private library rpath when linking against private
libraries.
Autobuild-User: Jelmer Vernooij <jelmer at samba.org>
Autobuild-Date: Tue Nov 30 02:23:37 CET 2010 on sn-devel-104
-----------------------------------------------------------------------
Summary of changes:
buildtools/wafsamba/samba_install.py | 4 ++--
buildtools/wafsamba/samba_utils.py | 14 ++++++++++++--
2 files changed, 14 insertions(+), 4 deletions(-)
Changeset truncated at 500 lines:
diff --git a/buildtools/wafsamba/samba_install.py b/buildtools/wafsamba/samba_install.py
index 0196bd9..fcbf4ea 100644
--- a/buildtools/wafsamba/samba_install.py
+++ b/buildtools/wafsamba/samba_install.py
@@ -15,7 +15,7 @@ def install_binary(self):
bld = self.bld
# get the ldflags we will use for install and build
- install_ldflags = install_rpath(bld)
+ install_ldflags = install_rpath(self)
build_ldflags = build_rpath(bld)
if not Options.is_install:
@@ -59,7 +59,7 @@ def install_library(self):
bld = self.bld
- install_ldflags = install_rpath(bld)
+ install_ldflags = install_rpath(self)
build_ldflags = build_rpath(bld)
if not Options.is_install or not getattr(self, 'samba_install', True):
diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py
index 7006381..1e360f0 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)
--
Samba Shared Repository
More information about the samba-cvs
mailing list