From 3a88d49d12fe6c74dffe3e8d82235c71511cc07c Mon Sep 17 00:00:00 2001 From: Matthieu Patou Date: Sat, 16 Apr 2011 01:15:51 +0400 Subject: [PATCH] waf: introduce reverse logic for allowing unknown symbols Some os (ie OSX 10.6) forbids by default unknown symbols so in order to allow them (for special case) we have no to remove linker option *but* to add options to ask the linker to be more relax. Signed-off-by: Andrew Bartlett --- buildtools/wafsamba/samba_deps.py | 4 ++++ wscript | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py index adeb3645ce1..0bd2c6cf67b 100644 --- a/buildtools/wafsamba/samba_deps.py +++ b/buildtools/wafsamba/samba_deps.py @@ -89,6 +89,10 @@ def build_dependencies(self): for f in self.env.undefined_ldflags: self.ldflags.remove(f) + if getattr(self, 'allow_undefined_symbols', False) and self.env.undefined_ignore_ldflags: + for f in self.env.undefined_ignore_ldflags: + self.ldflags.append(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) diff --git a/wscript b/wscript index 46773bfd86a..7e9d7730ab7 100755 --- a/wscript +++ b/wscript @@ -122,6 +122,11 @@ def configure(conf): if sys.platform != "openbsd4": conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True) + if sys.platform != "openbsd4" and conf.env.undefined_ignore_ldflags == []: + if conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup']): + conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup'] + + # gentoo always adds this. We want our normal build to be as # strict as the strictest OS we support, so adding this here # allows us to find problems on our development hosts faster.