diff options
author | Andrew Tridgell <tridge@samba.org> | 2011-02-15 16:15:15 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2011-02-18 15:09:46 +1100 |
commit | 8ef9cb0bedd88177c7880f7441df77a989b7b046 (patch) | |
tree | 948f5aa0c955cbdbb368b82b724b4ad5a78ac2e4 /buildtools | |
parent | b31055189ad953e2055d99caff3f8490613b96b4 (diff) | |
download | samba-8ef9cb0bedd88177c7880f7441df77a989b7b046.tar.gz samba-8ef9cb0bedd88177c7880f7441df77a989b7b046.tar.xz samba-8ef9cb0bedd88177c7880f7441df77a989b7b046.zip |
build: added allow_undefined_symbols options for libraries and modules
the s4 build uses linker flags to disallow undefined symbols in
libraries. To accomodate s3 libraries in the top level build we need
to be able to disable this on a per-library basis.
Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'buildtools')
-rw-r--r-- | buildtools/wafsamba/samba_deps.py | 6 | ||||
-rw-r--r-- | buildtools/wafsamba/wafsamba.py | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py index 02f23183e72..a3968ada836 100644 --- a/buildtools/wafsamba/samba_deps.py +++ b/buildtools/wafsamba/samba_deps.py @@ -85,6 +85,10 @@ def build_dependencies(self): new_ldflags.extend(ldflags) self.ldflags = new_ldflags + if getattr(self, 'allow_undefined_symbols', False) and self.env.undefined_ldflags: + for f in self.env.undefined_ldflags: + self.ldflags.remove(f) + debug('deps: computed dependencies for target %s: uselib=%s uselib_local=%s add_objects=%s', self.sname, self.uselib, self.uselib_local, self.add_objects) @@ -954,7 +958,7 @@ def show_object_duplicates(bld, tgt_list): # this provides a way to save our dependency calculations between runs savedeps_version = 3 savedeps_inputs = ['samba_deps', 'samba_includes', 'local_include', 'local_include_first', 'samba_cflags', - 'source', 'grouping_library', 'samba_ldflags'] + 'source', 'grouping_library', 'samba_ldflags', 'allow_undefined_symbols' ] savedeps_outputs = ['uselib', 'uselib_local', 'add_objects', 'includes', 'ccflags', 'ldflags', 'samba_deps_extended'] savedeps_outenv = ['INC_PATHS'] savedeps_envvars = ['NONSHARED_BINARIES', 'GLOBAL_DEPENDENCIES', 'EXTRA_CFLAGS', 'EXTRA_LDFLAGS', 'EXTRA_INCLUDES' ] diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index c04be69e505..86eb730d5da 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -124,6 +124,7 @@ def SAMBA_LIBRARY(bld, libname, source, manpages=None, private_library=False, grouping_library=False, + allow_undefined_symbols=False, enabled=True): '''define a Samba library''' @@ -245,7 +246,8 @@ def SAMBA_LIBRARY(bld, libname, source, abi_directory = "%s/%s" % (bld.path.abspath(), abi_directory), abi_match = abi_match, private_library = private_library, - grouping_library=grouping_library + grouping_library=grouping_library, + allow_undefined_symbols=allow_undefined_symbols ) if realname and not link_name: @@ -371,6 +373,7 @@ def SAMBA_MODULE(bld, modname, source, vars=None, enabled=True, pyembed=False, + allow_undefined_symbols=False ): '''define a Samba module.''' @@ -423,6 +426,7 @@ def SAMBA_MODULE(bld, modname, source, link_name=build_link_name, install_path="${MODULESDIR}/%s" % subsystem, pyembed=pyembed, + allow_undefined_symbols=allow_undefined_symbols ) |