build: fixed a typo that prevented --bundled-libraries from working correctly
[samba.git] / buildtools / wafsamba / samba_python.py
index 7536250d0d6bf537cce916ee0cf879dd068e7c3d..46e6657ce32161964a6beb5446aeb77f1f258beb 100644 (file)
@@ -14,6 +14,7 @@ def SAMBA_PYTHON(bld, name,
                  includes='',
                  init_function_sentinal=None,
                  local_include=True,
+                 vars=None,
                  enabled=True):
     '''build a python extension for Samba'''
 
@@ -22,42 +23,38 @@ def SAMBA_PYTHON(bld, name,
     if init_function_sentinal is not None:
         cflags += '-DSTATIC_LIBPYTHON_MODULES=%s' % init_function_sentinal
 
+    source = bld.EXPAND_VARIABLES(source, vars=vars)
+
     if realname is None:
         # a SAMBA_PYTHON target without a realname is just a
-        # subsystem with needs_python=True
-        return bld.SAMBA_SUBSYSTEM(name,
-                                   source=source,
-                                   deps=deps,
-                                   public_deps=public_deps,
-                                   cflags=cflags,
-                                   includes=includes,
-                                   init_function_sentinal=init_function_sentinal,
-                                   local_include=local_include,
-                                   needs_python=True,
-                                   enabled=enabled)
-
-    if not enabled:
-        SET_TARGET_TYPE(bld, name, 'DISABLED')
-        return
-
-    if not SET_TARGET_TYPE(bld, name, 'PYTHON'):
+        # library with needs_python=True
+        bld.SAMBA_LIBRARY(name,
+                          source=source,
+                          deps=deps,
+                          public_deps=public_deps,
+                          includes=includes,
+                          cflags=cflags,
+                          local_include=local_include,
+                          vars=vars,
+                          needs_python=True,
+                          enabled=enabled)
         return
 
-    deps += ' ' + public_deps
-
-    if realname is None:
-        realname = '%s.so' % name
     link_name = 'python/%s' % realname
 
-    t = bld(
-        features       = 'cc cshlib pyext symlink_lib',
-        source         = source,
-        target         = name,
-        samba_cflags   = CURRENT_CFLAGS(bld, name, cflags),
-        samba_includes = includes,
-        local_include  = local_include,
-        samba_deps     = TO_LIST(deps),
-        link_name      = link_name,
-        name          = name
-        )
+    bld.SAMBA_LIBRARY(name,
+                      source=source,
+                      deps=deps,
+                      public_deps=public_deps,
+                      includes=includes,
+                      cflags=cflags,
+                      realname=realname,
+                      local_include=local_include,
+                      vars=vars,
+                      link_name=link_name,
+                      needs_python=True,
+                      target_type='PYTHON',
+                      install_path='${PYTHONDIR}',
+                      enabled=enabled)
+
 Build.BuildContext.SAMBA_PYTHON = SAMBA_PYTHON