summaryrefslogtreecommitdiff
path: root/buildtools/wafsamba/samba_autoproto.py
blob: a6a5e28c49f373228285de9f35e572de2bcf1d3e (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
# waf build tool for building automatic prototypes from C source

import Build
from samba_utils import *

# rule for heimdal prototype generation
def HEIMDAL_AUTOPROTO(bld, header, source, options=None, group='main'):
    bld.SET_BUILD_GROUP(group)
    if options is None:
        options='-q -P comment -o'
    t = bld(rule='${PERL} -W ../heimdal/cf/make-proto.pl ${OPTIONS} ${TGT[0].abspath(env)} ${SRC}',
            source=source,
            target=header,
            ext_out='.c',
            before='cc')
    t.env.OPTIONS = options
Build.BuildContext.HEIMDAL_AUTOPROTO = HEIMDAL_AUTOPROTO

# rule for private heimdal prototype generation
def HEIMDAL_AUTOPROTO_PRIVATE(bld, header, source):
    bld.HEIMDAL_AUTOPROTO(header, source, options='-q -P comment -p')
Build.BuildContext.HEIMDAL_AUTOPROTO_PRIVATE = HEIMDAL_AUTOPROTO_PRIVATE

# rule for samba prototype generation
def SAMBA_AUTOPROTO(bld, header, source):
    bld.SET_BUILD_GROUP('prototypes')
    bld(
        source = source,
        target = header,
        ext_out='.c',
        before ='cc',
        rule = '../script/mkproto.pl --srcdir=.. --builddir=. --public=/dev/null --private=${TGT} ${SRC}'
        )
Build.BuildContext.SAMBA_AUTOPROTO = SAMBA_AUTOPROTO