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')

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')
