blob: 10111d6dae452c8e540eba04c2d1ad4b9a7fac1b (
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
|
# file : cxx/parser/performance/buildfile
# license : not copyrighted - public domain
import libs = libxsd%lib{xsd}
import libxerces = libxerces-c%lib{xerces-c}
import libexpat = libexpat%lib{expat}
./: doc{README}
# exe{driver-{xerces,expat}}
#
for p: 'xerces' 'expat'
{
# Make sure that obje{time} doesn't depend on the parser library that varies
# for different exe{driver-*} targets. Think of -I... options passed to the
# compiler while compiling time.cxx, which would vary depending on exe
# target time.cxx is a prerequisite of.
#
./: exe{driver-$p}: obje{driver-$p time} \
{hxx ixx cxx}{test-$p-pskel} \
$libs $(lib$p)
exe{driver-$p}: xml{test-50k}: test.input = true
obje{driver-$p}: cxx{driver} $libs $(lib$p)
<{hxx ixx cxx}{test-$p-pskel}>: xsd{test} $xsd
{
# Note: we can't use $p in the buildscript since it will be substituted by
# the latest $p value.
#
parser = $p
}
{{
diag xsd ($<[0]) # @@ TMP
$xsd cxx-parser --std c++11 \
--generate-inline \
--skel-file-suffix -$parser-pskel \
--xml-parser $parser \
--output-dir $out_base \
$path($<[0])
}}
}
obje{time}: {hxx cxx}{time}
# exe{gen}
#
./: exe{gen}: cxx{gen} testscript{gen}
# Build options.
#
cxx.poptions =+ "-I$out_base" "-I$src_base"
obje{driver-xerces}: cxx.poptions += -DXERCES_PARSER
|