From 13b4e6e8c7616e37e4b1d37b49b82921c8c6059d Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 17 Dec 2010 19:16:33 +0100 Subject: wafsamba: Move version script handling out of SAMBA_LIBRARY. --- buildtools/wafsamba/samba_deps.py | 2 +- buildtools/wafsamba/samba_install.py | 12 ++++++++++++ buildtools/wafsamba/wafsamba.py | 4 +++- 3 files changed, 16 insertions(+), 2 deletions(-) (limited to 'buildtools') 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, -- cgit