s3:vfs aio_fork children do not go away
[Samba.git] / buildtools / wafsamba / samba_python.py
blobad099814622a8d2bee582d99bd5e31d6609962cc
1 # waf build tool for building IDL files with pidl
3 import Build
4 from samba_utils import *
5 from samba_autoconf import *
8 def SAMBA_PYTHON(bld, name,
9 source='',
10 deps='',
11 public_deps='',
12 realname=None,
13 cflags='',
14 includes='',
15 init_function_sentinal=None,
16 local_include=True,
17 vars=None,
18 enabled=True):
19 '''build a python extension for Samba'''
21 # when we support static python modules we'll need to gather
22 # the list from all the SAMBA_PYTHON() targets
23 if init_function_sentinal is not None:
24 cflags += '-DSTATIC_LIBPYTHON_MODULES=%s' % init_function_sentinal
26 source = bld.EXPAND_VARIABLES(source, vars=vars)
28 if realname is None:
29 # a SAMBA_PYTHON target without a realname is just a
30 # library with pyembed=True
31 bld.SAMBA_LIBRARY(name,
32 source=source,
33 deps=deps,
34 public_deps=public_deps,
35 includes=includes,
36 cflags=cflags,
37 local_include=local_include,
38 vars=vars,
39 pyembed=True,
40 enabled=enabled)
41 return
43 link_name = 'python/%s' % realname
45 bld.SAMBA_LIBRARY(name,
46 source=source,
47 deps=deps,
48 public_deps=public_deps,
49 includes=includes,
50 cflags=cflags,
51 realname=realname,
52 local_include=local_include,
53 vars=vars,
54 link_name=link_name,
55 pyembed=True,
56 target_type='PYTHON',
57 install_path='${PYTHONDIR}',
58 enabled=enabled)
60 Build.BuildContext.SAMBA_PYTHON = SAMBA_PYTHON