]> git.samba.org - samba.git/blob - testsuite/headers/wscript_build
build: added automated testing of our public headers
[samba.git] / testsuite / headers / wscript_build
1 import os
2 from samba_utils import os_path_relpath
3
4 def build_test_headers(task):
5     '''symlink a header in the build tree'''
6     tgt = task.outputs[0].bldpath(task.env)
7     f = open(tgt, mode='w')
8     f.write('/* generated header test */\n')
9     hlist = task.env.public_headers_list[:]
10     hlist.sort()
11     for h in hlist:
12         f.write('#include "%s"\n' % os.path.normpath(h))
13     f.close()
14
15 relpath1 = os_path_relpath(bld.srcnode.abspath(), bld.curdir)
16 public_headers = []
17 for h in bld.env.public_headers_list:
18     public_headers.append(os.path.join(relpath1, bld.env.build_public_headers, h))
19
20 bld.SAMBA_GENERATOR('test_headers.h',
21                     group='main',
22                     rule=build_test_headers,
23                     source=public_headers,
24                     target='test_headers.h')
25
26 if bld.env.DEVELOPER_MODE:
27     bld.SAMBA_BINARY('test_headers',
28                      source='test_headers.c',
29                      includes="#include/public",
30                      pyembed=True,
31                      local_include=True,
32                      global_include=False,
33                      use_global_deps=False,
34                      install=False)