pyldb: avoid segfault when adding an element with no name
[nivanova/samba-autobuild/.git] / python / wscript
index 714d649219d16f9db67bb3d23c8ad31e4b3f0ea9..916031896d362a35139fe796e8aa5c63265a92b7 100644 (file)
@@ -3,7 +3,10 @@
 import os
 
 def configure(conf):
-    kerberos_py = conf.srcdir + "/python/samba/provision/kerberos_implementation.py"
+    if conf.env.disable_python:
+        return
+
+    kerberos_py = conf.srcnode.abspath() + "/python/samba/provision/kerberos_implementation.py"
 
     f = open(kerberos_py, 'w')
     try:
@@ -27,19 +30,54 @@ def configure(conf):
         f.write(header)
 
         data = """kdb_modules_dir = "{0}"
-kdc_default_config_dir = "{1}"
 """
 
         if conf.env.HEIMDAL_KRB5_CONFIG:
             f.write(data.format("", ""))
         else:
             modulesdir = "%s/krb5/plugins/kdb" % conf.env.LIBDIR
-            paths = [ "/var/kerberos/krb5kdc", "/var/lib/kerberos/krb5kdc" ]
-            kdc_path = None
-            for p in paths:
-                if os.path.exists(p):
-                    kdc_path = p
 
-            f.write(data.format(modulesdir, kdc_path))
+            f.write(data.format(modulesdir))
     finally:
         f.close()
+
+def build(bld):
+
+
+    pytalloc_util = bld.pyembed_libname('pytalloc-util')
+    pyparam_util = bld.pyembed_libname('pyparam_util')
+    libpython = bld.pyembed_libname('LIBPYTHON')
+    pyrpc_util = bld.pyembed_libname('pyrpc_util')
+    samba_python = bld.pyembed_libname('samba_python')
+    bld.SAMBA_LIBRARY(samba_python,
+                      source=[],
+                      deps='%s %s %s' % (libpython, pytalloc_util, pyrpc_util),
+                      grouping_library=True,
+                      private_library=True,
+                      pyembed=True,
+                      enabled=bld.PYTHON_BUILD_IS_ENABLED())
+    bld.SAMBA_PYTHON('python_glue',
+                     source='pyglue.c',
+                     deps='''
+                              %s
+                              samba-util
+                              netif
+                              %s
+                              ''' % (pyparam_util, pytalloc_util),
+                     realname='samba/_glue.so')
+
+    bld.SAMBA_SUBSYSTEM(libpython,
+                        source='modules.c',
+                        public_deps='',
+                        init_function_sentinel='{NULL,NULL}',
+                        deps='talloc',
+                        pyext=True,
+                        enabled=bld.PYTHON_BUILD_IS_ENABLED())
+
+    if bld.PYTHON_BUILD_IS_ENABLED():
+        # install out various python scripts for use by make test
+        bld.SAMBA_SCRIPT('samba_python_files',
+                         pattern='samba/**/*.py',
+                         installdir='python')
+        
+        bld.INSTALL_WILDCARD('${PYTHONARCHDIR}', 'samba/**/*.py', flat=False)