summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Patou <mat@matws.net>2011-04-16 01:15:51 +0400
committerAndrew Bartlett <abartlet@samba.org>2011-04-26 17:16:34 +1000
commit3a88d49d12fe6c74dffe3e8d82235c71511cc07c (patch)
treec8d7b7d4a2e9a81917bb2a41a17482c9872d4cf3
parent0ffc4c51ee8cc9147c76d2ab1ba1f2f72c8107ca (diff)
downloadsamba-3a88d49d12fe6c74dffe3e8d82235c71511cc07c.tar.gz
samba-3a88d49d12fe6c74dffe3e8d82235c71511cc07c.tar.bz2
samba-3a88d49d12fe6c74dffe3e8d82235c71511cc07c.zip
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 <abartlet@samba.org>
-rw-r--r--buildtools/wafsamba/samba_deps.py4
-rwxr-xr-xwscript5
2 files changed, 9 insertions, 0 deletions
diff --git a/buildtools/wafsamba/samba_deps.py b/buildtools/wafsamba/samba_deps.py
index adeb3645ce..0bd2c6cf67 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 46773bfd86..7e9d7730ab 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.