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:
parent
b31055189a
commit
8ef9cb0bed
@ -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' ]
|
||||
|
@ -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
|
||||
)
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user