OILS / core / NINJA_subgraph.py View on Github | oils.pub

54 lines, 35 significant
1from __future__ import print_function
2
3from build import ninja_lib
4from build.ninja_lib import log
5
6_ = log
7
8
9def NinjaGraph(ru):
10 n = ru.n
11
12 ru.comment('Generated by %s' % __name__)
13
14 ru.py_binary('core/optview_gen.py')
15
16 n.rule(
17 'optview-gen',
18 # uses shell style
19 command='_bin/shwrap/optview_gen > $out',
20 description='optview_gen > $out')
21
22 n.build(['_gen/core/optview.h'],
23 'optview-gen', [],
24 implicit=['_bin/shwrap/optview_gen'])
25 n.newline()
26
27 ru.cc_library('//core/optview',
28 srcs=[],
29 generated_headers=['_gen/core/optview.h'],
30 deps=['//frontend/option.asdl'])
31
32 ru.cc_binary('core/optview_test.cc',
33 deps=['//core/optview'],
34 matrix=ninja_lib.SMALL_TEST_MATRIX)
35
36 ru.asdl_library(
37 'core/runtime.asdl',
38 deps=[
39 # #include in header file
40 # Problem: asdl_main.py hard-codes this dependency
41 '//frontend/id_kind.asdl',
42 # #include in cc file from 'use' deps
43 '//frontend/syntax.asdl',
44 '//core/value.asdl'
45 ])
46
47 ru.asdl_library(
48 'core/value.asdl',
49 # #include in cc file from 'use' deps
50 deps=['//frontend/syntax.asdl', '//core/runtime.asdl'])
51
52 ru.cc_binary('core/runtime_asdl_test.cc',
53 deps=['//core/runtime.asdl'],
54 matrix=ninja_lib.SMALL_TEST_MATRIX)