blob: 18d550751caddb038c2891693214f6930d5dfbcd (
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
51
52
53
54
55
56
57
58
59
60
61
62
63
|
cflags\
-D HAVE_CONFIG_H\
-I include\
-I '$dir' \
-I '$outdir' \
-I '$outdir'/include\
-I '$srcdir'/lib
{
cc gen.tab/packtab.c
exe gen-unicode-version gen.tab/gen-unicode-version.c
for(t in bidi-type joining-type arabic-shaping mirroring)
exe gen-$t-tab -d '$dir'/headers gen.tab/^(gen-$t-tab.c packtab.c.o)
} >tools.ninja ; subninja tools.ninja
set compression 2
rule gentool '$outdir/$tool $args $in >$out.tmp && mv $out.tmp $out'
fn gentool {
tool=$1
out=$2
shift 2
build '$outdir'/$out gentool '$srcdir'/gen.tab/unidata/$* '|' '$outdir'/gen-$tool
with tool gen-$tool
}
gentool unicode-version include/fribidi-unicode-version.h BidiMirroring.txt
gentool bidi-type-tab bidi-type.tab.i UnicodeData.txt ; with args '$compression'
gentool joining-type-tab joining-type.tab.i UnicodeData.txt ArabicShaping.txt ; with args '$compression'
gentool arabic-shaping-tab arabic-shaping.tab.i UnicodeData.txt ; with args '$compression'
gentool mirroring-tab mirroring.tab.i BidiMirroring.txt ; with args '$compression'
hdrs=(\
fribidi.h fribidi-arabic.h fribidi-begindecls.h\
fribidi-bidi.h fribidi-bidi-types.h fribidi-bidi-types-list.h\
fribidi-common.h fribidi-deprecated.h fribidi-enddecls.h fribidi-flags.h\
fribidi-joining.h fribidi-joining-types.h fribidi-joining-types-list.h\
fribidi-mirroring.h fribidi-shape.h fribidi-types.h fribidi-unicode.h\
)
for(hdr in $hdrs)
build '$outdir'/include/$hdr copy '$srcdir'/lib/$hdr
build '$outdir'/include/fribidi-config.h copy '$dir'/fribidi-config.h
phony headers '$outdir'/include/^($hdrs fribidi-config.h fribidi-unicode-version.h)
phony deps\
'$outdir'/^(bidi-type joining-type arabic-shaping mirroring)^.tab.i\
'$dir'/headers
lib libfribidi.a -d '$dir'/deps lib/^(\
fribidi.c\
fribidi-arabic.c\
fribidi-bidi.c\
fribidi-bidi-types.c\
fribidi-deprecated.c\
fribidi-joining.c\
fribidi-joining-types.c\
fribidi-mem.c\
fribidi-mirroring.c\
fribidi-run.c\
fribidi-shape.c\
)
fetch git
|