conf.fatal('cannot use the configuration test folder %r' % dir)
return dir
+@conf
+def CHECK_SHLIB_W_PYTHON(conf, msg):
+ '''check if we need -undefined dynamic_lookup'''
+
+ dir = find_config_dir(conf)
+
+ env = conf.env
+
+ snip = '''
+#include <Python.h>
+#include <crt_externs.h>
+#define environ (*_NSGetEnviron())
+
+static PyObject *ldb_module = NULL;
+int foo(int v) {
+ extern char **environ;
+ environ[0] = 1;
+ ldb_module = PyImport_ImportModule("ldb");
+ return v * 2;
+}'''
+ return conf.check(features='cc cshlib',uselib='PYEMBED',fragment=snip,msg=msg)
# this one is quite complex, and should probably be broken up
# into several parts. I'd quite like to create a set of CHECK_COMPOUND()
else:
conf.ADD_CFLAGS('-fPIC', testflags=True)
- if sys.platform == 'darwin':
- conf.ADD_LDFLAGS('-fno-common', testflags=True)
conf.CHECK_INLINE()
# check for pkgconfig
conf.check_python_version((2,4,2))
conf.check_python_headers(mandatory=True)
+ if not conf.env['HAVE_ENVIRON_DECL']:
+ if not conf.CHECK_SHLIB_W_PYTHON("Checking if -single_module is not needed"):
+ conf.env.append_value('shlib_LINKFLAGS', ['-single_module'])
+ if not conf.CHECK_SHLIB_W_PYTHON("Checking if -undefined dynamic_lookup is not need"):
+ conf.env.append_value('shlib_LINKFLAGS', ['-undefined', 'dynamic_lookup'])
if int(conf.env['PYTHON_VERSION'][0]) >= 3:
raise Utils.WafError('Python version 3.x is not supported by Samba yet')