summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba/samba_python.py
diff options
context:
space:
mode:
Diffstat (limited to 'buildtools/wafsamba/samba_python.py')
-rw-r--r--buildtools/wafsamba/samba_python.py37
1 files changed, 28 insertions, 9 deletions
diff --git a/buildtools/wafsamba/samba_python.py b/buildtools/wafsamba/samba_python.py
index 0845a7e61c..4073dcf9bb 100644
--- a/buildtools/wafsamba/samba_python.py
+++ b/buildtools/wafsamba/samba_python.py
@@ -1,7 +1,6 @@
# waf build tool for building IDL files with pidl
-from TaskGen import taskgen, before
-import Build, os, string, Utils
+import Build
from samba_utils import *
from samba_autoconf import *
@@ -18,6 +17,25 @@ def SAMBA_PYTHON(bld, name,
enabled=True):
'''build a python extension for Samba'''
+ # when we support static python modules we'll need to gather
+ # the list from all the SAMBA_PYTHON() targets
+ if init_function_sentinal is not None:
+ cflags += '-DSTATIC_LIBPYTHON_MODULES="%s"' % init_function_sentinal
+
+ 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
@@ -27,18 +45,19 @@ def SAMBA_PYTHON(bld, name,
deps += ' ' + public_deps
- # when we support static python modules we'll need to gather
- # the list from all the SAMBA_PYTHON() targets
- if init_function_sentinal is not None:
- cflags += '-DSTATIC_LIBPYTHON_MODULES="%s"' % init_function_sentinal
+ if realname is None:
+ link_name = 'python/%s.so' % name
+ else:
+ link_name = 'python/%s' % realname
t = bld(
- features = 'cc cshlib pyext',
+ features = 'cc cshlib pyext symlink_lib',
source = source,
target = name,
- ccflags = CURRENT_CFLAGS(bld, name, cflags),
+ samba_cflags = CURRENT_CFLAGS(bld, name, cflags),
samba_includes = includes,
local_include = local_include,
- samba_deps = TO_LIST(deps)
+ samba_deps = TO_LIST(deps),
+ link_name = link_name
)
Build.BuildContext.SAMBA_PYTHON = SAMBA_PYTHON