talloc: use the system pytalloc-util for python3 as well
[samba.git] / lib / talloc / wscript
index 7f9bad743555b442be30a91bf50cb361bfa0de18..af939104a173208a0e9206b721a514d5b752a655 100644 (file)
@@ -48,20 +48,24 @@ def configure(conf):
 
     conf.env.disable_python = getattr(Options.options, 'disable_python', False)
 
-    if not conf.env.standalone_talloc:
-        if conf.CHECK_BUNDLED_SYSTEM_PKG('talloc', minversion=VERSION,
-                                     implied_deps='replace'):
-            conf.define('USING_SYSTEM_TALLOC', 1)
-        if conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION,
-                                     implied_deps='talloc replace'):
-            conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1)
-
     conf.env.TALLOC_COMPAT1 = False
     if conf.env.standalone_talloc:
         conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1
+        conf.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
+        conf.env.TALLOC_VERSION = VERSION
 
     conf.CHECK_XSLTPROC_MANPAGES()
 
+    conf.CHECK_HEADERS('sys/auxv.h')
+    conf.CHECK_FUNCS('getauxval')
+
+    conf.SAMBA_CONFIG_H()
+
+    conf.SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS()
+
+    # We need to set everything non-python up before here, because
+    # SAMBA_CHECK_PYTHON makes a copy of conf and we need it set up correctly
+
     if not conf.env.disable_python:
         # also disable if we don't have the python libs installed
         conf.SAMBA_CHECK_PYTHON(mandatory=False, version=(2,4,2))
@@ -70,20 +74,32 @@ def configure(conf):
             Logs.warn('Disabling pytalloc-util as python devel libs not found')
             conf.env.disable_python = True
 
-    conf.CHECK_HEADERS('sys/auxv.h')
-    conf.CHECK_FUNCS('getauxval')
+    if not conf.env.standalone_talloc:
+        if conf.CHECK_BUNDLED_SYSTEM_PKG('talloc', minversion=VERSION,
+                                     implied_deps='replace'):
+            conf.define('USING_SYSTEM_TALLOC', 1)
 
-    conf.SAMBA_CONFIG_H()
+        using_system_pytalloc_util = True
+        if not conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', minversion=VERSION,
+                                             implied_deps='talloc replace'):
+            using_system_pytalloc_util = False
 
-    conf.SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS()
+        # We need to get a pytalloc-util for all the python versions
+        # we are building for
+        if conf.env['EXTRA_PYTHON']:
+            name = 'pytalloc-util' + conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
+            if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
+                                                 implied_deps='talloc replace'):
+                using_system_pytalloc_util = False
+
+        if using_system_pytalloc_util:
+            conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1)
 
 
 def build(bld):
     bld.RECURSE('lib/replace')
 
     if bld.env.standalone_talloc:
-        bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
-        bld.env.TALLOC_VERSION = VERSION
         private_library = False
 
         # should we also install the symlink to libtalloc1.so here?