1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
import os
from samba_utils import os_path_relpath
def build_test_headers(task):
'''symlink a header in the build tree'''
tgt = task.outputs[0].bldpath(task.env)
f = open(tgt, mode='w')
f.write('/* generated header test */\n')
hlist = task.env.public_headers_list[:]
hlist.sort()
# We need to include tdb.h before ntdb.h. It's the rules!
if 'tdb.h' in hlist and 'ntdb.h' in hlist:
hlist.remove('ntdb.h')
hlist.append('ntdb.h')
for h in hlist:
f.write('#include "%s"\n' % os.path.normpath(h))
f.close()
relpath1 = os_path_relpath(bld.srcnode.abspath(), bld.curdir)
public_headers = []
for h in bld.env.public_headers_list:
public_headers.append(os.path.join(relpath1, bld.env.build_public_headers, h))
bld.SAMBA_GENERATOR('test_headers.h',
group='main',
rule=build_test_headers,
source=public_headers,
target='test_headers.h')
cflags=''
for lib in ['talloc', 'tevent', 'tdb', 'ldb', 'popt' ]:
ename = 'CPPPATH_%s' % lib.upper()
for p in bld.env[ename]:
cflags += bld.env.CPPPATH_ST % p + ' '
if not bld.env.USING_SYSTEM_POPT:
cflags += bld.env.CPPPATH_ST % '../third_party/popt'
if bld.env.DEVELOPER_MODE:
bld.SAMBA_BINARY('test_headers',
source='test_headers.c',
includes="#include/public",
pyembed=True,
cflags=cflags,
local_include=True,
global_include=False,
use_global_deps=False,
install=False)
|