summaryrefslogtreecommitdiff
path: root/bscript
diff options
context:
space:
mode:
authorDavid Cournapeau <cournape@gmail.com>2011-04-04 08:23:41 +0900
committerDavid Cournapeau <cournape@gmail.com>2011-08-29 00:32:25 +0200
commitde71afe7411d6343eaeca034e05f5709a5a472e5 (patch)
treea5811b78f29bc1c8b423c90e3b530c8e3ed87197 /bscript
parent07cf7f47f74986212a11ab0e13a187d3c2735a7b (diff)
downloadnumpy-de71afe7411d6343eaeca034e05f5709a5a472e5.tar.gz
HACK: temporary deal with bugs in waf python tool.
Diffstat (limited to 'bscript')
-rw-r--r--bscript36
1 files changed, 36 insertions, 0 deletions
diff --git a/bscript b/bscript
index 599afcd6b..e64499aa4 100644
--- a/bscript
+++ b/bscript
@@ -43,6 +43,32 @@ def check_blas_lapack(conf):
#conf.env.HAS_LAPACK = True
#conf.env.LIB_LAPACK = ["lapack", "f77blas", "cblas", "atlas"]
+def remove_flag(name, flag):
+ while True:
+ if name in flag:
+ i = flag.index(name)
+ flag.pop(i)
+ else:
+ break
+
+def remove_flag_postvalue(name, flag):
+ while True:
+ if name in flag:
+ i = flag.index(name)
+ flag.pop(i)
+ flag.pop(i)
+ else:
+ break
+
+def remove_flag_prevalue(name, flag):
+ while True:
+ if name in flag:
+ i = flag.index(name)
+ flag.pop(i-1)
+ flag.pop(i-1)
+ else:
+ break
+
@hooks.pre_configure()
def pre_configure(context):
conf = context.waf_context
@@ -56,6 +82,16 @@ def pre_configure(context):
# FIXME: fix upstream waf tool to work on mac os X
conf.env.CC = ["/usr/bin/gcc-4.0"]
conf.env.LINK_CC = ["/usr/bin/gcc-4.0"]
+ # FIXME: fix upstream waf tool to avoid linking against libpython2.6.so
+ # (cause crashes when importing the extension)
+ name = "python%s" % ".".join([str(i) for i in sys.version_info[:2]])
+ remove_flag(name, conf.env.LIB_PYEXT)
+ remove_flag("-dynamiclib", conf.env.LINKFLAGS_cshlib)
+ remove_flag_postvalue("-compatibility_version", conf.env.CFLAGS_cshlib)
+ remove_flag_postvalue("-current_version", conf.env.CFLAGS_cshlib)
+ remove_flag_prevalue("ppc", conf.env.CFLAGS_PYEXT)
+ remove_flag_prevalue("ppc", conf.env.LINKFLAGS_PYEXT)
+ conf.env.LINKFLAGS_cshlib.extend(["-undefined", "dynamic_lookup", "-bundle"])
conf.env.CFLAGS_PYEXT.append("-Wfatal-errors")
check_blas_lapack(conf)