From 2a5daa7ddb67e103ed173559bd2ec60dbe06d816 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 30 Nov 2010 01:10:31 +0100 Subject: wafsamba: Only use private library rpath when linking against private libraries. Autobuild-User: Jelmer Vernooij Autobuild-Date: Tue Nov 30 02:23:37 CET 2010 on sn-devel-104 --- buildtools/wafsamba/samba_utils.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'buildtools/wafsamba/samba_utils.py') 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) -- cgit