From c9756cac057444ff7c3a77b9260fa30c35267529 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 5 Nov 2010 02:30:01 +0100 Subject: waf: Put private libraries in a separate directory when building. Thanks to Tridge for pointing out what exactly I had to change. :-) --- buildtools/wafsamba/samba_install.py | 6 +++++- buildtools/wafsamba/samba_utils.py | 7 ++++--- buildtools/wafsamba/wafsamba.py | 1 + 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'buildtools') diff --git a/buildtools/wafsamba/samba_install.py b/buildtools/wafsamba/samba_install.py index 8b9a308a2c..9401d228c5 100644 --- a/buildtools/wafsamba/samba_install.py +++ b/buildtools/wafsamba/samba_install.py @@ -160,7 +160,11 @@ def symlink_lib(self): link_target = getattr(self, 'link_name', '') if link_target == '': - link_target = '%s/%s' % (LIB_PATH, self.bld.make_libname(self.target, version=soext)) + basename = self.bld.make_libname(self.target, version=soext) + if getattr(self, "private_library", False): + link_target = '%s/private/%s' % (LIB_PATH, basename) + else: + link_target = '%s/%s' % (LIB_PATH, basename) link_target = os.path.join(blddir, link_target) diff --git a/buildtools/wafsamba/samba_utils.py b/buildtools/wafsamba/samba_utils.py index b9c8eca1bb..7006381ae6 100644 --- a/buildtools/wafsamba/samba_utils.py +++ b/buildtools/wafsamba/samba_utils.py @@ -76,11 +76,12 @@ def install_rpath(bld): def build_rpath(bld): '''the rpath value for build''' - rpath = os.path.normpath('%s/%s' % (bld.env.BUILD_DIRECTORY, LIB_PATH)) + rpaths = [os.path.normpath('%s/%s' % (bld.env.BUILD_DIRECTORY, d)) for d in ("shared", "shared/private")] bld.env['RPATH'] = [] if bld.env.RPATH_ON_BUILD: - return [rpath] - ADD_LD_LIBRARY_PATH(rpath) + return rpaths + for rpath in rpaths: + ADD_LD_LIBRARY_PATH(rpath) return [] diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index daab00c33c..dc25145de7 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -56,6 +56,7 @@ def SAMBA_BUILD_ENV(conf): '''create the samba build environment''' conf.env.BUILD_DIRECTORY = conf.blddir mkdir_p(os.path.join(conf.blddir, LIB_PATH)) + mkdir_p(os.path.join(conf.blddir, LIB_PATH, "private")) mkdir_p(os.path.join(conf.blddir, "modules")) mkdir_p(os.path.join(conf.blddir, 'python/samba/dcerpc')) # this allows all of the bin/shared and bin/python targets -- cgit