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.path.abspath()) 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') if bld.env.DEVELOPER_MODE: bld.SAMBA_BINARY('test_headers', source='test_headers.c', includes="#include/public", pyembed=True, local_include=True, global_include=False, use_global_deps=False, install=False, deps='talloc tdb ldb tevent popt')