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

import Build
from samba_utils import *

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


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


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