xref: /aosp_15_r20/external/executorch/third-party/flatcc_defs.bzl (revision 523fa7a60841cd1ecfb9cc4201f1ca8b03ed023a)
1*523fa7a6SAndroid Build Coastguard Workerload("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
2*523fa7a6SAndroid Build Coastguard Worker
3*523fa7a6SAndroid Build Coastguard Workerdef define_flatcc_targets():
4*523fa7a6SAndroid Build Coastguard Worker    # Flatcc public headers
5*523fa7a6SAndroid Build Coastguard Worker    PUBLIC_HEADERS = [
6*523fa7a6SAndroid Build Coastguard Worker        "flatcc/config/config.h",
7*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc.h",
8*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_assert.h",
9*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_version.h",
10*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_emitter.h",
11*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_alloc.h",
12*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_json_printer.h",
13*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_verifier.h",
14*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_refmap.h",
15*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_unaligned.h",
16*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/grisu3_print.h",
17*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pprintfp.h",
18*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pbase64.h",
19*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/punaligned.h",
20*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pdiagnostic.h",
21*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pinttypes.h",
22*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pinline.h",
23*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pprintint.h",
24*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pdiagnostic_pop.h",
25*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/include/std/stdalign.h",
26*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/include/std/inttypes.h",
27*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/include/std/stdbool.h",
28*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/include/std/stdint.h",
29*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/include/linux/endian.h",
30*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pversion.h",
31*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pstdalign.h",
32*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pdiagnostic_push.h",
33*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pendian_detect.h",
34*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/paligned_alloc.h",
35*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pendian.h",
36*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pstatic_assert.h",
37*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pwarnings.h",
38*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pparsefp.h",
39*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/portable_basic.h",
40*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/portable.h",
41*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/grisu3_math.h",
42*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pstdint.h",
43*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pstdbool.h",
44*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pstatic_assert_scope.h",
45*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/grisu3_parse.h",
46*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/portable/pparseint.h",
47*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_endian.h",
48*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_iov.h",
49*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_rtconfig.h",
50*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_accessors.h",
51*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_epilogue.h",
52*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_identifier.h",
53*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_prologue.h",
54*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_builder.h",
55*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/support/readfile.h",
56*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/support/cdump.h",
57*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/support/elapsed.h",
58*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/support/hexdump.h",
59*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_json_parser.h",
60*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_flatbuffers.h",
61*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_portable.h",
62*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/flatcc_types.h",
63*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/reflection/reflection_reader.h",
64*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/reflection/flatbuffers_common_reader.h",
65*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/reflection/reflection_builder.h",
66*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/reflection/reflection_verifier.h",
67*523fa7a6SAndroid Build Coastguard Worker        "flatcc/include/flatcc/reflection/flatbuffers_common_builder.h",
68*523fa7a6SAndroid Build Coastguard Worker    ]
69*523fa7a6SAndroid Build Coastguard Worker
70*523fa7a6SAndroid Build Coastguard Worker    # FlatCC static libraries
71*523fa7a6SAndroid Build Coastguard Worker
72*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
73*523fa7a6SAndroid Build Coastguard Worker        name = "flatccrt",
74*523fa7a6SAndroid Build Coastguard Worker        srcs = [
75*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/builder.c",
76*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/emitter.c",
77*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/refmap.c",
78*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/verifier.c",
79*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/json_parser.c",
80*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/json_printer.c",
81*523fa7a6SAndroid Build Coastguard Worker        ],
82*523fa7a6SAndroid Build Coastguard Worker        public_include_directories = [
83*523fa7a6SAndroid Build Coastguard Worker            "flatcc/include",
84*523fa7a6SAndroid Build Coastguard Worker            "flatcc/config",
85*523fa7a6SAndroid Build Coastguard Worker            "include",
86*523fa7a6SAndroid Build Coastguard Worker        ],
87*523fa7a6SAndroid Build Coastguard Worker        headers = PUBLIC_HEADERS,
88*523fa7a6SAndroid Build Coastguard Worker        visibility = ["@EXECUTORCH_CLIENTS"],
89*523fa7a6SAndroid Build Coastguard Worker    )
90*523fa7a6SAndroid Build Coastguard Worker
91*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
92*523fa7a6SAndroid Build Coastguard Worker        name = "flatcc",
93*523fa7a6SAndroid Build Coastguard Worker        srcs = [
94*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/cmetrohash64.c",
95*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ptr_set.c",
96*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/str_set.c",
97*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c.c",
98*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_builder.c",
99*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_json_parser.c",
100*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_json_printer.c",
101*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_reader.c",
102*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_sort.c",
103*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_sorter.c",
104*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_verifier.c",
105*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_schema.c",
106*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/coerce.c",
107*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/fileio.c",
108*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/flatcc.c",
109*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/name_table.c",
110*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/schema_table.c",
111*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/scope_table.c",
112*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/symbol_table.c",
113*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/value_set.c",
114*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/parser.c",
115*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/semantics.c",
116*523fa7a6SAndroid Build Coastguard Worker        ],
117*523fa7a6SAndroid Build Coastguard Worker        compiler_flags = [
118*523fa7a6SAndroid Build Coastguard Worker            "-D FLATCC_REFLECTION=1",
119*523fa7a6SAndroid Build Coastguard Worker            "-D FLATCC_ALLOW_RPC_SERVICE_ATTRIBUTES=1",
120*523fa7a6SAndroid Build Coastguard Worker            "-D FLATCC_ALLOW_RPC_METHOD_ATTRIBUTES=1",
121*523fa7a6SAndroid Build Coastguard Worker            "-D FLATCC_JSON_PARSE_FORCE_DEFAULTS=0",
122*523fa7a6SAndroid Build Coastguard Worker        ],
123*523fa7a6SAndroid Build Coastguard Worker        include_directories = [
124*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external",
125*523fa7a6SAndroid Build Coastguard Worker        ],
126*523fa7a6SAndroid Build Coastguard Worker        public_include_directories = [
127*523fa7a6SAndroid Build Coastguard Worker            "flatcc/include",
128*523fa7a6SAndroid Build Coastguard Worker            "flatcc/config",
129*523fa7a6SAndroid Build Coastguard Worker        ],
130*523fa7a6SAndroid Build Coastguard Worker        headers = PUBLIC_HEADERS + [
131*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/lex/tokens.h",
132*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/lex/luthor.h",
133*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/lex/luthor.c",
134*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table_impl_rh.h",
135*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht64rh.h",
136*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/unaligned.h",
137*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht64.h",
138*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/PMurHash.h",
139*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht_portable.h",
140*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table_def.h",
141*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/int_set.h",
142*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table.h",
143*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/cmetrohash.h",
144*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht_hash_function.h",
145*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht32rh.h",
146*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ptr_set.h",
147*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table_impl.h",
148*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht32.h",
149*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht_trace.h",
150*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/pstdint.h",
151*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/str_set.h",
152*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/token_map.h",
153*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash.h",
154*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/grisu3/grisu3_print.h",
155*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/grisu3/grisu3_math.h",
156*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/grisu3/grisu3_parse.h",
157*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/symbols.h",
158*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/parser.h",
159*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c.h",
160*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/semantics.h",
161*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/catalog.h",
162*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen.h",
163*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/coerce.h",
164*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/pstrutil.h",
165*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/fileio.h",
166*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/keywords.h",
167*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_sort.h",
168*523fa7a6SAndroid Build Coastguard Worker        ],
169*523fa7a6SAndroid Build Coastguard Worker        visibility = ["@EXECUTORCH_CLIENTS"],
170*523fa7a6SAndroid Build Coastguard Worker        deps = [":flatccrt"],
171*523fa7a6SAndroid Build Coastguard Worker    )
172*523fa7a6SAndroid Build Coastguard Worker
173*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_library(
174*523fa7a6SAndroid Build Coastguard Worker        name = "flatcc-host",
175*523fa7a6SAndroid Build Coastguard Worker        srcs = [
176*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/cmetrohash64.c",
177*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ptr_set.c",
178*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/str_set.c",
179*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c.c",
180*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_builder.c",
181*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_json_parser.c",
182*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_json_printer.c",
183*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_reader.c",
184*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_sort.c",
185*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_sorter.c",
186*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_verifier.c",
187*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_schema.c",
188*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/coerce.c",
189*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/fileio.c",
190*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/flatcc.c",
191*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/name_table.c",
192*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/schema_table.c",
193*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/scope_table.c",
194*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/symbol_table.c",
195*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/hash_tables/value_set.c",
196*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/parser.c",
197*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/semantics.c",
198*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/builder.c",
199*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/emitter.c",
200*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/runtime/refmap.c",
201*523fa7a6SAndroid Build Coastguard Worker        ],
202*523fa7a6SAndroid Build Coastguard Worker        compiler_flags = [
203*523fa7a6SAndroid Build Coastguard Worker            "-D FLATCC_REFLECTION=1",
204*523fa7a6SAndroid Build Coastguard Worker            "-D FLATCC_JSON_PARSE_FORCE_DEFAULTS=0",
205*523fa7a6SAndroid Build Coastguard Worker        ],
206*523fa7a6SAndroid Build Coastguard Worker        include_directories = [
207*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external",
208*523fa7a6SAndroid Build Coastguard Worker        ],
209*523fa7a6SAndroid Build Coastguard Worker        public_include_directories = [
210*523fa7a6SAndroid Build Coastguard Worker            "flatcc/include",
211*523fa7a6SAndroid Build Coastguard Worker            "flatcc/config",
212*523fa7a6SAndroid Build Coastguard Worker        ],
213*523fa7a6SAndroid Build Coastguard Worker        headers = PUBLIC_HEADERS.append([
214*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/lex/tokens.h",
215*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/lex/luthor.h",
216*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/lex/luthor.c",
217*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table_impl_rh.h",
218*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht64rh.h",
219*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/unaligned.h",
220*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht64.h",
221*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/PMurHash.h",
222*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht_portable.h",
223*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table_def.h",
224*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/int_set.h",
225*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table.h",
226*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/cmetrohash.h",
227*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht_hash_function.h",
228*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht32rh.h",
229*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ptr_set.h",
230*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash_table_impl.h",
231*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht32.h",
232*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/ht_trace.h",
233*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/pstdint.h",
234*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/str_set.h",
235*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/token_map.h",
236*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/hash/hash.h",
237*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/grisu3/grisu3_print.h",
238*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/grisu3/grisu3_math.h",
239*523fa7a6SAndroid Build Coastguard Worker            "flatcc/external/grisu3/grisu3_parse.h",
240*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/symbols.h",
241*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/parser.h",
242*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c.h",
243*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/semantics.h",
244*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/catalog.h",
245*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen.h",
246*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/coerce.h",
247*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/pstrutil.h",
248*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/fileio.h",
249*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/keywords.h",
250*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/compiler/codegen_c_sort.h",
251*523fa7a6SAndroid Build Coastguard Worker        ]),
252*523fa7a6SAndroid Build Coastguard Worker        visibility = ["@EXECUTORCH_CLIENTS"],
253*523fa7a6SAndroid Build Coastguard Worker    )
254*523fa7a6SAndroid Build Coastguard Worker
255*523fa7a6SAndroid Build Coastguard Worker    # FlatCC CLI
256*523fa7a6SAndroid Build Coastguard Worker    runtime.cxx_binary(
257*523fa7a6SAndroid Build Coastguard Worker        name = "flatcc-cli",
258*523fa7a6SAndroid Build Coastguard Worker        srcs = [
259*523fa7a6SAndroid Build Coastguard Worker            "flatcc/src/cli/flatcc_cli.c",
260*523fa7a6SAndroid Build Coastguard Worker        ],
261*523fa7a6SAndroid Build Coastguard Worker        compiler_flags = [
262*523fa7a6SAndroid Build Coastguard Worker            "-D FLATCC_REFLECTION=1",
263*523fa7a6SAndroid Build Coastguard Worker        ],
264*523fa7a6SAndroid Build Coastguard Worker        include_directories = [
265*523fa7a6SAndroid Build Coastguard Worker            "flatcc/include",
266*523fa7a6SAndroid Build Coastguard Worker            "flatcc/config",
267*523fa7a6SAndroid Build Coastguard Worker        ],
268*523fa7a6SAndroid Build Coastguard Worker        deps = [":flatcc-host"],
269*523fa7a6SAndroid Build Coastguard Worker        visibility = ["@EXECUTORCH_CLIENTS"],
270*523fa7a6SAndroid Build Coastguard Worker    )
271