source: trunk/server/buildtools/wafsamba/samba_python.py

Last change on this file was 745, checked in by Silvan Scherrer, 13 years ago

Samba Server: updated trunk to 3.6.0

File size: 2.3 KB
Line 
1# waf build tool for building IDL files with pidl
2
3import Build
4from samba_utils import *
5from samba_autoconf import *
6
7from Configure import conf
8@conf
9def SAMBA_CHECK_PYTHON_HEADERS(conf, mandatory=True):
10 if conf.env["python_headers_checked"] == []:
11 conf.check_python_headers(mandatory)
12 conf.env["python_headers_checked"] = "yes"
13 else:
14 conf.msg("python headers", "using cache")
15
16
17def SAMBA_PYTHON(bld, name,
18 source='',
19 deps='',
20 public_deps='',
21 realname=None,
22 cflags='',
23 includes='',
24 init_function_sentinal=None,
25 local_include=True,
26 vars=None,
27 enabled=True):
28 '''build a python extension for Samba'''
29
30 # when we support static python modules we'll need to gather
31 # the list from all the SAMBA_PYTHON() targets
32 if init_function_sentinal is not None:
33 cflags += '-DSTATIC_LIBPYTHON_MODULES=%s' % init_function_sentinal
34
35 source = bld.EXPAND_VARIABLES(source, vars=vars)
36
37 if realname is None:
38 # a SAMBA_PYTHON target without a realname is just a
39 # library with pyembed=True
40 bld.SAMBA_LIBRARY(name,
41 source=source,
42 deps=deps,
43 public_deps=public_deps,
44 includes=includes,
45 cflags=cflags,
46 local_include=local_include,
47 vars=vars,
48 pyembed=True,
49 enabled=enabled)
50 return
51
52 link_name = 'python/%s' % realname
53
54 bld.SAMBA_LIBRARY(name,
55 source=source,
56 deps=deps,
57 public_deps=public_deps,
58 includes=includes,
59 cflags=cflags,
60 realname=realname,
61 local_include=local_include,
62 vars=vars,
63 link_name=link_name,
64 pyembed=True,
65 target_type='PYTHON',
66 install_path='${PYTHONARCHDIR}',
67 enabled=enabled)
68
69Build.BuildContext.SAMBA_PYTHON = SAMBA_PYTHON
Note: See TracBrowser for help on using the repository browser.