diff options
-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 02f23183e7..a3968ada83 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 c04be69e50..86eb730d5d 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 ) |