summaryrefslogtreecommitdiff
path: root/testsuite/headers/wscript_build
blob: b2b88fe4d86dc31358a44fcd817dad82de03d955 (plain)
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
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()
    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' ]:
    ename = 'CPPPATH_%s' % lib.upper()
    for p in bld.env[ename]:
        cflags += bld.env.CPPPATH_ST % p + ' '

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)