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

from TaskGen import taskgen, before
import Build, os, string, Utils
from samba_utils import *

# rule for heimdal prototype generation
def HEIMDAL_AUTOPROTO(bld, header, source, 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',
        rule = '../script/mkproto.pl --srcdir=.. --builddir=. --public=/dev/null --private=${TGT} ${SRC}'
        )
    print "Added AUTOPROTO target %s" % header
Build.BuildContext.SAMBA_AUTOPROTO = SAMBA_AUTOPROTO