summaryrefslogtreecommitdiffstats
path: root/waftools/generators/sources.py
blob: 25b08e78a07a76c7570288b51168bd98753c73f9 (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
40
41
42
43
44
45
46
47
48
49
50
from waflib.Build import BuildContext
import os

def __file2string_cmd__(ctx):
    return "${{BIN_PERL}} {0}/TOOLS/file2string.pl ${{SRC}} > ${{TGT}}" \
                .format(ctx.srcnode.abspath())

def __matroska_cmd__(ctx, argument):
    return "${{BIN_PERL}} {0}/TOOLS/matroska.pl {1} ${{SRC}} > ${{TGT}}" \
                .format(ctx.srcnode.abspath(), argument)

def __zshcomp_cmd__(ctx, argument):
    return "${{BIN_PERL}} {0}/TOOLS/zsh.pl {1} > ${{TGT}}" \
                .format(ctx.srcnode.abspath(), argument)

def __file2string__(ctx, **kwargs):
    ctx(
        rule   = __file2string_cmd__(ctx),
        before = ("c",),
        name   = os.path.basename(kwargs['target']),
        **kwargs
    )

def __matroska_header__(ctx, **kwargs):
    ctx(
        rule   = __matroska_cmd__(ctx, '--generate-header'),
        before = ("c",),
        name   = os.path.basename(kwargs['target']),
        **kwargs
    )

def __matroska_definitions__(ctx, **kwargs):
    ctx(
        rule   = __matroska_cmd__(ctx, '--generate-definitions'),
        before = ("c",),
        **kwargs
    )

def __zshcomp__(ctx, **kwargs):
    ctx(
        rule   = __zshcomp_cmd__(ctx, ctx.bldnode.abspath() + '/mpv'),
        after = ("c", "cprogram",),
        name   = os.path.basename(kwargs['target']),
        **kwargs
    )

BuildContext.file2string          = __file2string__
BuildContext.matroska_header      = __matroska_header__
BuildContext.matroska_definitions = __matroska_definitions__
BuildContext.zshcomp              = __zshcomp__