summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-11-05 02:30:01 +0100
committerJelmer Vernooij <jelmer@samba.org>2010-11-05 02:06:06 +0000
commitc9756cac057444ff7c3a77b9260fa30c35267529 (patch)
tree7d7a4fb5846719354d77dcee46db9b7dc4b073f6
parent21233bba9663f684cfa1ad129baa988cb52dea4d (diff)
downloadsamba-c9756cac057444ff7c3a77b9260fa30c35267529.tar.gz
samba-c9756cac057444ff7c3a77b9260fa30c35267529.tar.bz2
samba-c9756cac057444ff7c3a77b9260fa30c35267529.zip
waf: Put private libraries in a separate directory when building.
Thanks to Tridge for pointing out what exactly I had to change. :-)
-rw-r--r--buildtools/wafsamba/samba_install.py6
-rw-r--r--buildtools/wafsamba/samba_utils.py7
-rw-r--r--buildtools/wafsamba/wafsamba.py1
-rw-r--r--source4/selftest/wscript1
-rw-r--r--source4/wscript4
5 files changed, 13 insertions, 6 deletions
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
diff --git a/source4/selftest/wscript b/source4/selftest/wscript
index 2273def930..19f7a0bb93 100644
--- a/source4/selftest/wscript
+++ b/source4/selftest/wscript
@@ -140,6 +140,7 @@ def cmd_testonly(opt):
# this is needed for systems without rpath, or with rpath disabled
ADD_LD_LIBRARY_PATH('bin/shared')
+ ADD_LD_LIBRARY_PATH('bin/shared/private')
# if we are using a system version of ldb then we need to tell it to
# load modules from our modules path
diff --git a/source4/wscript b/source4/wscript
index fad9c3451f..8b2ab58d27 100644
--- a/source4/wscript
+++ b/source4/wscript
@@ -156,7 +156,7 @@ def build(bld):
def pydoctor(ctx):
'''build python apidocs'''
- cmd='LD_LIBRARY_PATH=bin/shared PYTHONPATH=bin/python pydoctor --project-name=Samba --project-url=http://www.samba.org --make-html --docformat=restructuredtext --add-package bin/python/samba'
+ cmd='PYTHONPATH=bin/python pydoctor --project-name=Samba --project-url=http://www.samba.org --make-html --docformat=restructuredtext --add-package bin/python/samba'
print("Running: %s" % cmd)
os.system(cmd)
@@ -166,7 +166,7 @@ def wafdocs(ctx):
os.system('pwd')
list = recursive_dirlist('../buildtools/wafsamba', '.', pattern='*.py')
- cmd='LD_LIBRARY_PATH=bin/shared PYTHONPATH=bin/python pydoctor --project-name=wafsamba --project-url=http://www.samba.org --make-html --docformat=restructuredtext'
+ cmd='PYTHONPATH=bin/python pydoctor --project-name=wafsamba --project-url=http://www.samba.org --make-html --docformat=restructuredtext'
print(list)
for f in list:
cmd += ' --add-module %s' % f