1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

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>
This commit is contained in:
Andrew Tridgell 2011-02-15 16:15:15 +11:00
parent b31055189a
commit 8ef9cb0bed
2 changed files with 10 additions and 2 deletions

View File

@ -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' ]

View File

@ -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
)