summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2010-12-17 19:16:33 +0100
committerJelmer Vernooij <jelmer@samba.org>2010-12-17 19:16:33 +0100
commit13b4e6e8c7616e37e4b1d37b49b82921c8c6059d (patch)
tree9cf7d23d89f53623052063f6ea9d3885ca900cb3
parent5bccb326437198098a39abf9387dc61c9c4066b3 (diff)
downloadsamba-13b4e6e8c7616e37e4b1d37b49b82921c8c6059d.tar.gz
samba-13b4e6e8c7616e37e4b1d37b49b82921c8c6059d.tar.bz2
samba-13b4e6e8c7616e37e4b1d37b49b82921c8c6059d.zip
wafsamba: Move version script handling out of SAMBA_LIBRARY.
-rw-r--r--buildtools/wafsamba/samba_deps.py2
-rw-r--r--buildtools/wafsamba/samba_install.py12
-rw-r--r--buildtools/wafsamba/wafsamba.py4
3 files changed, 16 insertions, 2 deletions
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index 1f27026a85..6bd2cca99e 100644
--- a/buildtools/wafsamba/samba_deps.py
+++ b/buildtools/wafsamba/samba_deps.py
@@ -1099,7 +1099,7 @@ def check_project_rules(bld):
global tstart
tstart = time.clock()
- bld.new_rules = True
+ bld.new_rules = True
Logs.info("Checking project rules ...")
debug('deps: project rules checking started')
diff --git a/buildtools/wafsamba/samba_install.py b/buildtools/wafsamba/samba_install.py
index 471ef5a49e..3c24679a72 100644
--- a/buildtools/wafsamba/samba_install.py
+++ b/buildtools/wafsamba/samba_install.py
@@ -148,6 +148,18 @@ def apply_soname(self):
self.env.append_value('LINKFLAGS', self.env.SONAME_ST % self.soname)
self.env.SONAME_ST = ''
+@feature('cshlib')
+@after('apply_implib')
+@before('apply_vnum')
+def apply_vscript(self):
+ '''add version-script arguments to library build'''
+
+ if self.env.HAVE_LD_VERSION_SCRIPT and getattr(self, 'version_script', ''):
+ self.env.append_value('LINKFLAGS', "-Wl,--version-script=%s" %
+ os.path.join(self.path.abspath(self.env), self.version_script))
+ self.version_script = None
+
+
##############################
# handle the creation of links for libraries and binaries in the build tree
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 40dae9bd0a..33ed018d4a 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -212,13 +212,14 @@ def SAMBA_LIBRARY(bld, libname, source,
version = None
if version:
bld.ABI_VSCRIPT(libname, abi_directory, version, vscript)
- ldflags.append("-Wl,--version-script=%s/%s" % (bld.path.abspath(bld.env), vscript))
fullname = bld.env.shlib_PATTERN % bundled_name
bld.add_manual_dependency(bld.path.find_or_declare(fullname), bld.path.find_or_declare(vscript))
if Options.is_install:
# also make the .inst file depend on the vscript
instname = bld.env.shlib_PATTERN % (bundled_name + '.inst')
bld.add_manual_dependency(bld.path.find_or_declare(instname), bld.path.find_or_declare(vscript))
+ else:
+ vscript = None
bld.SET_BUILD_GROUP(group)
t = bld(
@@ -229,6 +230,7 @@ def SAMBA_LIBRARY(bld, libname, source,
samba_ldflags = ldflags,
samba_deps = deps,
samba_includes = includes,
+ version_script = vscript,
local_include = local_include,
vnum = vnum,
soname = soname,