• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2017 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14//
15// This file is automatically generated by tools/gen_android_bp. Do not edit.
16
17genrule {
18  name: "gen_merged_sql_metrics",
19  srcs: [
20    "src/trace_processor/metrics/android/android_mem.sql",
21    "src/trace_processor/metrics/android/android_mem_lmk.sql",
22  ],
23  cmd: "$(location tools/gen_merged_sql_metrics.py) --cpp_out=$(out) $(in)",
24  out: [
25    "src/trace_processor/metrics/sql_metrics.h",
26  ],
27  tool_files: [
28    "tools/gen_merged_sql_metrics.py",
29  ],
30}
31
32// GN target: //:heapprofd
33cc_binary {
34  name: "heapprofd",
35  srcs: [
36    ":perfetto_protos_perfetto_common_lite_gen",
37    ":perfetto_protos_perfetto_common_zero_gen",
38    ":perfetto_protos_perfetto_config_lite_gen",
39    ":perfetto_protos_perfetto_config_zero_gen",
40    ":perfetto_protos_perfetto_ipc_ipc_gen",
41    ":perfetto_protos_perfetto_trace_android_zero_gen",
42    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
43    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
44    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
45    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
46    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
47    ":perfetto_protos_perfetto_trace_power_zero_gen",
48    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
49    ":perfetto_protos_perfetto_trace_ps_zero_gen",
50    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
51    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
52    ":perfetto_protos_perfetto_trace_trusted_lite_gen",
53    ":perfetto_protos_perfetto_trace_zero_gen",
54    ":perfetto_src_ipc_wire_protocol_gen",
55    "src/base/event.cc",
56    "src/base/file_utils.cc",
57    "src/base/metatrace.cc",
58    "src/base/paged_memory.cc",
59    "src/base/pipe.cc",
60    "src/base/string_splitter.cc",
61    "src/base/string_utils.cc",
62    "src/base/string_view.cc",
63    "src/base/temp_file.cc",
64    "src/base/thread_checker.cc",
65    "src/base/thread_task_runner.cc",
66    "src/base/time.cc",
67    "src/base/unix_socket.cc",
68    "src/base/unix_task_runner.cc",
69    "src/base/virtual_destructors.cc",
70    "src/base/watchdog_posix.cc",
71    "src/ipc/buffered_frame_deserializer.cc",
72    "src/ipc/client_impl.cc",
73    "src/ipc/deferred.cc",
74    "src/ipc/host_impl.cc",
75    "src/ipc/service_proxy.cc",
76    "src/ipc/virtual_destructors.cc",
77    "src/profiling/memory/bookkeeping.cc",
78    "src/profiling/memory/heapprofd_producer.cc",
79    "src/profiling/memory/main.cc",
80    "src/profiling/memory/proc_utils.cc",
81    "src/profiling/memory/scoped_spinlock.cc",
82    "src/profiling/memory/shared_ring_buffer.cc",
83    "src/profiling/memory/system_property.cc",
84    "src/profiling/memory/unwinding.cc",
85    "src/profiling/memory/wire_protocol.cc",
86    "src/protozero/message.cc",
87    "src/protozero/message_handle.cc",
88    "src/protozero/proto_decoder.cc",
89    "src/protozero/scattered_heap_buffer.cc",
90    "src/protozero/scattered_stream_null_delegate.cc",
91    "src/protozero/scattered_stream_writer.cc",
92    "src/tracing/core/android_log_config.cc",
93    "src/tracing/core/android_power_config.cc",
94    "src/tracing/core/chrome_config.cc",
95    "src/tracing/core/commit_data_request.cc",
96    "src/tracing/core/data_source_config.cc",
97    "src/tracing/core/data_source_descriptor.cc",
98    "src/tracing/core/ftrace_config.cc",
99    "src/tracing/core/heapprofd_config.cc",
100    "src/tracing/core/id_allocator.cc",
101    "src/tracing/core/inode_file_config.cc",
102    "src/tracing/core/null_trace_writer.cc",
103    "src/tracing/core/observable_events.cc",
104    "src/tracing/core/packages_list_config.cc",
105    "src/tracing/core/packet_stream_validator.cc",
106    "src/tracing/core/process_stats_config.cc",
107    "src/tracing/core/shared_memory_abi.cc",
108    "src/tracing/core/shared_memory_arbiter_impl.cc",
109    "src/tracing/core/sliced_protobuf_input_stream.cc",
110    "src/tracing/core/startup_trace_writer.cc",
111    "src/tracing/core/startup_trace_writer_registry.cc",
112    "src/tracing/core/sys_stats_config.cc",
113    "src/tracing/core/test_config.cc",
114    "src/tracing/core/trace_buffer.cc",
115    "src/tracing/core/trace_config.cc",
116    "src/tracing/core/trace_packet.cc",
117    "src/tracing/core/trace_stats.cc",
118    "src/tracing/core/trace_writer_impl.cc",
119    "src/tracing/core/tracing_service_impl.cc",
120    "src/tracing/core/virtual_destructors.cc",
121  ],
122  shared_libs: [
123    "libbase",
124    "liblog",
125    "libprocinfo",
126    "libprotobuf-cpp-lite",
127    "libunwindstack",
128  ],
129  static_libs: [
130    "libgtest_prod",
131    "perfetto_src_tracing_ipc",
132  ],
133  init_rc: [
134    "heapprofd.rc",
135  ],
136  generated_headers: [
137    "perfetto_protos_perfetto_common_lite_gen_headers",
138    "perfetto_protos_perfetto_common_zero_gen_headers",
139    "perfetto_protos_perfetto_config_lite_gen_headers",
140    "perfetto_protos_perfetto_config_zero_gen_headers",
141    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
142    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
143    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
144    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
145    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
146    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
147    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
148    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
149    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
150    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
151    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
152    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
153    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
154    "perfetto_protos_perfetto_trace_zero_gen_headers",
155    "perfetto_src_ipc_wire_protocol_gen_headers",
156  ],
157  defaults: [
158    "perfetto_defaults",
159  ],
160  cflags: [
161    "-DGOOGLE_PROTOBUF_NO_RTTI",
162    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
163    "-DPERFETTO_BUILD_WITH_ANDROID",
164  ],
165}
166
167// GN target: //:heapprofd_client
168cc_library_shared {
169  name: "heapprofd_client",
170  srcs: [
171    "src/base/event.cc",
172    "src/base/file_utils.cc",
173    "src/base/metatrace.cc",
174    "src/base/paged_memory.cc",
175    "src/base/pipe.cc",
176    "src/base/string_splitter.cc",
177    "src/base/string_utils.cc",
178    "src/base/string_view.cc",
179    "src/base/temp_file.cc",
180    "src/base/thread_checker.cc",
181    "src/base/thread_task_runner.cc",
182    "src/base/time.cc",
183    "src/base/unix_socket.cc",
184    "src/base/unix_task_runner.cc",
185    "src/base/virtual_destructors.cc",
186    "src/base/watchdog_posix.cc",
187    "src/profiling/memory/client.cc",
188    "src/profiling/memory/malloc_hooks.cc",
189    "src/profiling/memory/proc_utils.cc",
190    "src/profiling/memory/scoped_spinlock.cc",
191    "src/profiling/memory/shared_ring_buffer.cc",
192    "src/profiling/memory/wire_protocol.cc",
193  ],
194  shared_libs: [
195    "libbase",
196    "libprocinfo",
197    "libunwindstack",
198  ],
199  static_libs: [
200    "libasync_safe",
201    "libgtest_prod",
202  ],
203  defaults: [
204    "perfetto_defaults",
205  ],
206  cflags: [
207    "-DPERFETTO_ANDROID_ASYNC_SAFE_LOG",
208    "-DPERFETTO_BUILD_WITH_ANDROID",
209  ],
210  include_dirs: [
211    "bionic/libc",
212  ],
213}
214
215// GN target: //:libperfetto
216cc_library_shared {
217  name: "libperfetto",
218  srcs: [
219    ":perfetto_protos_perfetto_common_lite_gen",
220    ":perfetto_protos_perfetto_common_zero_gen",
221    ":perfetto_protos_perfetto_config_lite_gen",
222    ":perfetto_protos_perfetto_config_zero_gen",
223    ":perfetto_protos_perfetto_ipc_ipc_gen",
224    ":perfetto_protos_perfetto_trace_android_zero_gen",
225    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
226    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
227    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
228    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
229    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
230    ":perfetto_protos_perfetto_trace_power_zero_gen",
231    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
232    ":perfetto_protos_perfetto_trace_ps_zero_gen",
233    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
234    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
235    ":perfetto_protos_perfetto_trace_trusted_lite_gen",
236    ":perfetto_protos_perfetto_trace_zero_gen",
237    ":perfetto_src_ipc_wire_protocol_gen",
238    "src/base/event.cc",
239    "src/base/file_utils.cc",
240    "src/base/metatrace.cc",
241    "src/base/paged_memory.cc",
242    "src/base/pipe.cc",
243    "src/base/string_splitter.cc",
244    "src/base/string_utils.cc",
245    "src/base/string_view.cc",
246    "src/base/temp_file.cc",
247    "src/base/thread_checker.cc",
248    "src/base/thread_task_runner.cc",
249    "src/base/time.cc",
250    "src/base/unix_socket.cc",
251    "src/base/unix_task_runner.cc",
252    "src/base/virtual_destructors.cc",
253    "src/base/watchdog_posix.cc",
254    "src/ipc/buffered_frame_deserializer.cc",
255    "src/ipc/client_impl.cc",
256    "src/ipc/deferred.cc",
257    "src/ipc/host_impl.cc",
258    "src/ipc/service_proxy.cc",
259    "src/ipc/virtual_destructors.cc",
260    "src/protozero/message.cc",
261    "src/protozero/message_handle.cc",
262    "src/protozero/proto_decoder.cc",
263    "src/protozero/scattered_heap_buffer.cc",
264    "src/protozero/scattered_stream_null_delegate.cc",
265    "src/protozero/scattered_stream_writer.cc",
266    "src/traced/probes/android_log/android_log_data_source.cc",
267    "src/traced/probes/filesystem/file_scanner.cc",
268    "src/traced/probes/filesystem/fs_mount.cc",
269    "src/traced/probes/filesystem/inode_file_data_source.cc",
270    "src/traced/probes/filesystem/lru_inode_cache.cc",
271    "src/traced/probes/filesystem/prefix_finder.cc",
272    "src/traced/probes/filesystem/range_tree.cc",
273    "src/traced/probes/ftrace/atrace_hal_wrapper.cc",
274    "src/traced/probes/ftrace/atrace_wrapper.cc",
275    "src/traced/probes/ftrace/cpu_reader.cc",
276    "src/traced/probes/ftrace/cpu_stats_parser.cc",
277    "src/traced/probes/ftrace/event_info.cc",
278    "src/traced/probes/ftrace/event_info_constants.cc",
279    "src/traced/probes/ftrace/format_parser.cc",
280    "src/traced/probes/ftrace/ftrace_config.cc",
281    "src/traced/probes/ftrace/ftrace_config_muxer.cc",
282    "src/traced/probes/ftrace/ftrace_controller.cc",
283    "src/traced/probes/ftrace/ftrace_data_source.cc",
284    "src/traced/probes/ftrace/ftrace_metadata.cc",
285    "src/traced/probes/ftrace/ftrace_procfs.cc",
286    "src/traced/probes/ftrace/ftrace_stats.cc",
287    "src/traced/probes/ftrace/page_pool.cc",
288    "src/traced/probes/ftrace/proto_translation_table.cc",
289    "src/traced/probes/packages_list/packages_list_data_source.cc",
290    "src/traced/probes/power/android_power_data_source.cc",
291    "src/traced/probes/probes.cc",
292    "src/traced/probes/probes_data_source.cc",
293    "src/traced/probes/probes_producer.cc",
294    "src/traced/probes/ps/process_stats_data_source.cc",
295    "src/traced/probes/sys_stats/sys_stats_data_source.cc",
296    "src/traced/service/lazy_producer.cc",
297    "src/traced/service/service.cc",
298    "src/tracing/api_impl/consumer_api.cc",
299    "src/tracing/core/android_log_config.cc",
300    "src/tracing/core/android_power_config.cc",
301    "src/tracing/core/chrome_config.cc",
302    "src/tracing/core/commit_data_request.cc",
303    "src/tracing/core/data_source_config.cc",
304    "src/tracing/core/data_source_descriptor.cc",
305    "src/tracing/core/ftrace_config.cc",
306    "src/tracing/core/heapprofd_config.cc",
307    "src/tracing/core/id_allocator.cc",
308    "src/tracing/core/inode_file_config.cc",
309    "src/tracing/core/null_trace_writer.cc",
310    "src/tracing/core/observable_events.cc",
311    "src/tracing/core/packages_list_config.cc",
312    "src/tracing/core/packet_stream_validator.cc",
313    "src/tracing/core/process_stats_config.cc",
314    "src/tracing/core/shared_memory_abi.cc",
315    "src/tracing/core/shared_memory_arbiter_impl.cc",
316    "src/tracing/core/sliced_protobuf_input_stream.cc",
317    "src/tracing/core/startup_trace_writer.cc",
318    "src/tracing/core/startup_trace_writer_registry.cc",
319    "src/tracing/core/sys_stats_config.cc",
320    "src/tracing/core/test_config.cc",
321    "src/tracing/core/trace_buffer.cc",
322    "src/tracing/core/trace_config.cc",
323    "src/tracing/core/trace_packet.cc",
324    "src/tracing/core/trace_stats.cc",
325    "src/tracing/core/trace_writer_impl.cc",
326    "src/tracing/core/tracing_service_impl.cc",
327    "src/tracing/core/virtual_destructors.cc",
328  ],
329  shared_libs: [
330    "liblog",
331    "libprotobuf-cpp-lite",
332  ],
333  static_libs: [
334    "libgtest_prod",
335    "perfetto_src_tracing_ipc",
336  ],
337  generated_headers: [
338    "perfetto_protos_perfetto_common_lite_gen_headers",
339    "perfetto_protos_perfetto_common_zero_gen_headers",
340    "perfetto_protos_perfetto_config_lite_gen_headers",
341    "perfetto_protos_perfetto_config_zero_gen_headers",
342    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
343    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
344    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
345    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
346    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
347    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
348    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
349    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
350    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
351    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
352    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
353    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
354    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
355    "perfetto_protos_perfetto_trace_zero_gen_headers",
356    "perfetto_src_ipc_wire_protocol_gen_headers",
357  ],
358  defaults: [
359    "perfetto_defaults",
360  ],
361  cflags: [
362    "-DGOOGLE_PROTOBUF_NO_RTTI",
363    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
364    "-DPERFETTO_BUILD_WITH_ANDROID",
365  ],
366}
367
368// GN target: //:libperfetto_android_internal
369cc_library_shared {
370  name: "libperfetto_android_internal",
371  srcs: [
372    "src/android_internal/atrace_hal.cc",
373    "src/android_internal/health_hal.cc",
374    "src/android_internal/incident_service.cc",
375    "src/android_internal/power_stats_hal.cc",
376  ],
377  shared_libs: [
378    "android.hardware.atrace@1.0",
379    "android.hardware.health@2.0",
380    "android.hardware.power.stats@1.0",
381    "libbase",
382    "libbinder",
383    "libhidlbase",
384    "libhidltransport",
385    "libhwbinder",
386    "libincident",
387    "liblog",
388    "libservices",
389    "libutils",
390  ],
391  static_libs: [
392    "libhealthhalutils",
393  ],
394  defaults: [
395    "perfetto_defaults",
396  ],
397  cflags: [
398    "-DPERFETTO_BUILD_WITH_ANDROID",
399  ],
400  product_variables: {
401    pdk: {
402      enabled: false,
403    },
404  },
405}
406
407// GN target: //:perfetto
408cc_binary {
409  name: "perfetto",
410  srcs: [
411    ":perfetto_protos_perfetto_common_lite_gen",
412    ":perfetto_protos_perfetto_common_zero_gen",
413    ":perfetto_protos_perfetto_config_lite_gen",
414    ":perfetto_protos_perfetto_config_zero_gen",
415    ":perfetto_protos_perfetto_ipc_ipc_gen",
416    ":perfetto_protos_perfetto_trace_android_zero_gen",
417    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
418    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
419    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
420    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
421    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
422    ":perfetto_protos_perfetto_trace_power_zero_gen",
423    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
424    ":perfetto_protos_perfetto_trace_ps_zero_gen",
425    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
426    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
427    ":perfetto_protos_perfetto_trace_trusted_lite_gen",
428    ":perfetto_protos_perfetto_trace_zero_gen",
429    ":perfetto_src_ipc_wire_protocol_gen",
430    ":perfetto_src_perfetto_cmd_protos_gen",
431    "src/base/android_task_runner.cc",
432    "src/base/event.cc",
433    "src/base/file_utils.cc",
434    "src/base/metatrace.cc",
435    "src/base/paged_memory.cc",
436    "src/base/pipe.cc",
437    "src/base/string_splitter.cc",
438    "src/base/string_utils.cc",
439    "src/base/string_view.cc",
440    "src/base/temp_file.cc",
441    "src/base/thread_checker.cc",
442    "src/base/thread_task_runner.cc",
443    "src/base/time.cc",
444    "src/base/unix_socket.cc",
445    "src/base/unix_task_runner.cc",
446    "src/base/virtual_destructors.cc",
447    "src/base/watchdog_posix.cc",
448    "src/ipc/buffered_frame_deserializer.cc",
449    "src/ipc/client_impl.cc",
450    "src/ipc/deferred.cc",
451    "src/ipc/host_impl.cc",
452    "src/ipc/service_proxy.cc",
453    "src/ipc/virtual_destructors.cc",
454    "src/perfetto_cmd/config.cc",
455    "src/perfetto_cmd/main.cc",
456    "src/perfetto_cmd/packet_writer.cc",
457    "src/perfetto_cmd/pbtxt_to_pb.cc",
458    "src/perfetto_cmd/perfetto_cmd.cc",
459    "src/perfetto_cmd/rate_limiter.cc",
460    "src/perfetto_cmd/trigger_producer.cc",
461    "src/protozero/message.cc",
462    "src/protozero/message_handle.cc",
463    "src/protozero/proto_decoder.cc",
464    "src/protozero/scattered_heap_buffer.cc",
465    "src/protozero/scattered_stream_null_delegate.cc",
466    "src/protozero/scattered_stream_writer.cc",
467    "src/tracing/core/android_log_config.cc",
468    "src/tracing/core/android_power_config.cc",
469    "src/tracing/core/chrome_config.cc",
470    "src/tracing/core/commit_data_request.cc",
471    "src/tracing/core/data_source_config.cc",
472    "src/tracing/core/data_source_descriptor.cc",
473    "src/tracing/core/ftrace_config.cc",
474    "src/tracing/core/heapprofd_config.cc",
475    "src/tracing/core/id_allocator.cc",
476    "src/tracing/core/inode_file_config.cc",
477    "src/tracing/core/null_trace_writer.cc",
478    "src/tracing/core/observable_events.cc",
479    "src/tracing/core/packages_list_config.cc",
480    "src/tracing/core/packet_stream_validator.cc",
481    "src/tracing/core/process_stats_config.cc",
482    "src/tracing/core/shared_memory_abi.cc",
483    "src/tracing/core/shared_memory_arbiter_impl.cc",
484    "src/tracing/core/sliced_protobuf_input_stream.cc",
485    "src/tracing/core/startup_trace_writer.cc",
486    "src/tracing/core/startup_trace_writer_registry.cc",
487    "src/tracing/core/sys_stats_config.cc",
488    "src/tracing/core/test_config.cc",
489    "src/tracing/core/trace_buffer.cc",
490    "src/tracing/core/trace_config.cc",
491    "src/tracing/core/trace_packet.cc",
492    "src/tracing/core/trace_stats.cc",
493    "src/tracing/core/trace_writer_impl.cc",
494    "src/tracing/core/tracing_service_impl.cc",
495    "src/tracing/core/virtual_destructors.cc",
496  ],
497  shared_libs: [
498    "libandroid",
499    "libbinder",
500    "liblog",
501    "libprotobuf-cpp-lite",
502    "libservices",
503    "libutils",
504    "libz",
505  ],
506  static_libs: [
507    "libgtest_prod",
508    "perfetto_src_tracing_ipc",
509  ],
510  generated_headers: [
511    "perfetto_protos_perfetto_common_lite_gen_headers",
512    "perfetto_protos_perfetto_common_zero_gen_headers",
513    "perfetto_protos_perfetto_config_lite_gen_headers",
514    "perfetto_protos_perfetto_config_zero_gen_headers",
515    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
516    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
517    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
518    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
519    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
520    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
521    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
522    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
523    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
524    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
525    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
526    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
527    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
528    "perfetto_protos_perfetto_trace_zero_gen_headers",
529    "perfetto_src_ipc_wire_protocol_gen_headers",
530    "perfetto_src_perfetto_cmd_protos_gen_headers",
531  ],
532  defaults: [
533    "perfetto_defaults",
534  ],
535  cflags: [
536    "-DGOOGLE_PROTOBUF_NO_RTTI",
537    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
538    "-DHAVE_HIDDEN",
539    "-DPERFETTO_BUILD_WITH_ANDROID",
540    "-DUSE_MMAP",
541    "-DZLIB_CONST",
542  ],
543  product_variables: {
544    pdk: {
545      enabled: false,
546    },
547  },
548}
549
550cc_defaults {
551  name: "perfetto_defaults",
552  cflags: [
553    "-Oz",
554    "-Wno-error=return-type",
555    "-Wno-sign-compare",
556    "-Wno-sign-promo",
557    "-Wno-unused-parameter",
558    "-fvisibility=hidden",
559  ],
560  local_include_dirs: [
561    "include",
562  ],
563  product_variables: {
564    debuggable: {
565      cflags: ["-DPERFETTO_BUILD_WITH_ANDROID_USERDEBUG"],
566    },
567  },
568}
569
570// GN target: //:perfetto_integrationtests
571cc_test {
572  name: "perfetto_integrationtests",
573  srcs: [
574    ":perfetto_protos_perfetto_common_lite_gen",
575    ":perfetto_protos_perfetto_common_zero_gen",
576    ":perfetto_protos_perfetto_config_lite_gen",
577    ":perfetto_protos_perfetto_config_zero_gen",
578    ":perfetto_protos_perfetto_ipc_ipc_gen",
579    ":perfetto_protos_perfetto_trace_android_lite_gen",
580    ":perfetto_protos_perfetto_trace_android_zero_gen",
581    ":perfetto_protos_perfetto_trace_chrome_lite_gen",
582    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
583    ":perfetto_protos_perfetto_trace_filesystem_lite_gen",
584    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
585    ":perfetto_protos_perfetto_trace_ftrace_lite_gen",
586    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
587    ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
588    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
589    ":perfetto_protos_perfetto_trace_lite_gen",
590    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
591    ":perfetto_protos_perfetto_trace_power_lite_gen",
592    ":perfetto_protos_perfetto_trace_power_zero_gen",
593    ":perfetto_protos_perfetto_trace_profiling_lite_gen",
594    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
595    ":perfetto_protos_perfetto_trace_ps_lite_gen",
596    ":perfetto_protos_perfetto_trace_ps_zero_gen",
597    ":perfetto_protos_perfetto_trace_sys_stats_lite_gen",
598    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
599    ":perfetto_protos_perfetto_trace_track_event_lite_gen",
600    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
601    ":perfetto_protos_perfetto_trace_trusted_lite_gen",
602    ":perfetto_protos_perfetto_trace_zero_gen",
603    ":perfetto_src_ipc_wire_protocol_gen",
604    "src/base/android_task_runner.cc",
605    "src/base/event.cc",
606    "src/base/file_utils.cc",
607    "src/base/metatrace.cc",
608    "src/base/paged_memory.cc",
609    "src/base/pipe.cc",
610    "src/base/string_splitter.cc",
611    "src/base/string_utils.cc",
612    "src/base/string_view.cc",
613    "src/base/temp_file.cc",
614    "src/base/test/test_task_runner.cc",
615    "src/base/test/utils.cc",
616    "src/base/test/vm_test_utils.cc",
617    "src/base/thread_checker.cc",
618    "src/base/thread_task_runner.cc",
619    "src/base/time.cc",
620    "src/base/unix_socket.cc",
621    "src/base/unix_task_runner.cc",
622    "src/base/virtual_destructors.cc",
623    "src/base/watchdog_posix.cc",
624    "src/ipc/buffered_frame_deserializer.cc",
625    "src/ipc/client_impl.cc",
626    "src/ipc/deferred.cc",
627    "src/ipc/host_impl.cc",
628    "src/ipc/service_proxy.cc",
629    "src/ipc/virtual_destructors.cc",
630    "src/profiling/memory/bookkeeping.cc",
631    "src/profiling/memory/client.cc",
632    "src/profiling/memory/heapprofd_end_to_end_test.cc",
633    "src/profiling/memory/heapprofd_producer.cc",
634    "src/profiling/memory/proc_utils.cc",
635    "src/profiling/memory/scoped_spinlock.cc",
636    "src/profiling/memory/shared_ring_buffer.cc",
637    "src/profiling/memory/system_property.cc",
638    "src/profiling/memory/unwinding.cc",
639    "src/profiling/memory/wire_protocol.cc",
640    "src/protozero/message.cc",
641    "src/protozero/message_handle.cc",
642    "src/protozero/proto_decoder.cc",
643    "src/protozero/scattered_heap_buffer.cc",
644    "src/protozero/scattered_stream_null_delegate.cc",
645    "src/protozero/scattered_stream_writer.cc",
646    "src/traced/probes/android_log/android_log_data_source.cc",
647    "src/traced/probes/filesystem/file_scanner.cc",
648    "src/traced/probes/filesystem/fs_mount.cc",
649    "src/traced/probes/filesystem/inode_file_data_source.cc",
650    "src/traced/probes/filesystem/lru_inode_cache.cc",
651    "src/traced/probes/filesystem/prefix_finder.cc",
652    "src/traced/probes/filesystem/range_tree.cc",
653    "src/traced/probes/ftrace/atrace_hal_wrapper.cc",
654    "src/traced/probes/ftrace/atrace_wrapper.cc",
655    "src/traced/probes/ftrace/cpu_reader.cc",
656    "src/traced/probes/ftrace/cpu_stats_parser.cc",
657    "src/traced/probes/ftrace/event_info.cc",
658    "src/traced/probes/ftrace/event_info_constants.cc",
659    "src/traced/probes/ftrace/format_parser.cc",
660    "src/traced/probes/ftrace/ftrace_config.cc",
661    "src/traced/probes/ftrace/ftrace_config_muxer.cc",
662    "src/traced/probes/ftrace/ftrace_controller.cc",
663    "src/traced/probes/ftrace/ftrace_data_source.cc",
664    "src/traced/probes/ftrace/ftrace_metadata.cc",
665    "src/traced/probes/ftrace/ftrace_procfs.cc",
666    "src/traced/probes/ftrace/ftrace_procfs_integrationtest.cc",
667    "src/traced/probes/ftrace/ftrace_stats.cc",
668    "src/traced/probes/ftrace/page_pool.cc",
669    "src/traced/probes/ftrace/proto_translation_table.cc",
670    "src/traced/probes/ftrace/test/cpu_reader_support.cc",
671    "src/traced/probes/packages_list/packages_list_data_source.cc",
672    "src/traced/probes/power/android_power_data_source.cc",
673    "src/traced/probes/probes_data_source.cc",
674    "src/traced/probes/probes_producer.cc",
675    "src/traced/probes/ps/process_stats_data_source.cc",
676    "src/traced/probes/sys_stats/sys_stats_data_source.cc",
677    "src/tracing/core/android_log_config.cc",
678    "src/tracing/core/android_power_config.cc",
679    "src/tracing/core/chrome_config.cc",
680    "src/tracing/core/commit_data_request.cc",
681    "src/tracing/core/data_source_config.cc",
682    "src/tracing/core/data_source_descriptor.cc",
683    "src/tracing/core/ftrace_config.cc",
684    "src/tracing/core/heapprofd_config.cc",
685    "src/tracing/core/id_allocator.cc",
686    "src/tracing/core/inode_file_config.cc",
687    "src/tracing/core/null_trace_writer.cc",
688    "src/tracing/core/observable_events.cc",
689    "src/tracing/core/packages_list_config.cc",
690    "src/tracing/core/packet_stream_validator.cc",
691    "src/tracing/core/process_stats_config.cc",
692    "src/tracing/core/shared_memory_abi.cc",
693    "src/tracing/core/shared_memory_arbiter_impl.cc",
694    "src/tracing/core/sliced_protobuf_input_stream.cc",
695    "src/tracing/core/startup_trace_writer.cc",
696    "src/tracing/core/startup_trace_writer_registry.cc",
697    "src/tracing/core/sys_stats_config.cc",
698    "src/tracing/core/test_config.cc",
699    "src/tracing/core/trace_buffer.cc",
700    "src/tracing/core/trace_config.cc",
701    "src/tracing/core/trace_packet.cc",
702    "src/tracing/core/trace_stats.cc",
703    "src/tracing/core/trace_writer_impl.cc",
704    "src/tracing/core/tracing_service_impl.cc",
705    "src/tracing/core/virtual_destructors.cc",
706    "test/end_to_end_integrationtest.cc",
707    "test/fake_producer.cc",
708    "test/task_runner_thread.cc",
709    "test/test_helper.cc",
710  ],
711  shared_libs: [
712    "libandroid",
713    "libbase",
714    "liblog",
715    "libprocinfo",
716    "libprotobuf-cpp-lite",
717    "libunwindstack",
718  ],
719  static_libs: [
720    "libgmock",
721    "libgtest_prod",
722    "perfetto_src_tracing_ipc",
723  ],
724  generated_headers: [
725    "perfetto_protos_perfetto_common_lite_gen_headers",
726    "perfetto_protos_perfetto_common_zero_gen_headers",
727    "perfetto_protos_perfetto_config_lite_gen_headers",
728    "perfetto_protos_perfetto_config_zero_gen_headers",
729    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
730    "perfetto_protos_perfetto_trace_android_lite_gen_headers",
731    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
732    "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
733    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
734    "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
735    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
736    "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
737    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
738    "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
739    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
740    "perfetto_protos_perfetto_trace_lite_gen_headers",
741    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
742    "perfetto_protos_perfetto_trace_power_lite_gen_headers",
743    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
744    "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
745    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
746    "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
747    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
748    "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
749    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
750    "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
751    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
752    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
753    "perfetto_protos_perfetto_trace_zero_gen_headers",
754    "perfetto_src_ipc_wire_protocol_gen_headers",
755  ],
756  defaults: [
757    "perfetto_defaults",
758  ],
759  cflags: [
760    "-DGOOGLE_PROTOBUF_NO_RTTI",
761    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
762    "-DPERFETTO_BUILD_WITH_ANDROID",
763  ],
764  product_variables: {
765    pdk: {
766      enabled: false,
767    },
768  },
769}
770
771// GN target: //protos/perfetto/common:lite_gen
772genrule {
773  name: "perfetto_protos_perfetto_common_lite_gen",
774  srcs: [
775    "protos/perfetto/common/android_log_constants.proto",
776    "protos/perfetto/common/commit_data_request.proto",
777    "protos/perfetto/common/descriptor.proto",
778    "protos/perfetto/common/observable_events.proto",
779    "protos/perfetto/common/sys_stats_counters.proto",
780    "protos/perfetto/common/trace_stats.proto",
781  ],
782  tools: [
783    "aprotoc",
784  ],
785  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
786  out: [
787    "external/perfetto/protos/perfetto/common/android_log_constants.pb.cc",
788    "external/perfetto/protos/perfetto/common/commit_data_request.pb.cc",
789    "external/perfetto/protos/perfetto/common/descriptor.pb.cc",
790    "external/perfetto/protos/perfetto/common/observable_events.pb.cc",
791    "external/perfetto/protos/perfetto/common/sys_stats_counters.pb.cc",
792    "external/perfetto/protos/perfetto/common/trace_stats.pb.cc",
793  ],
794}
795
796// GN target: //protos/perfetto/common:lite_gen
797genrule {
798  name: "perfetto_protos_perfetto_common_lite_gen_headers",
799  srcs: [
800    "protos/perfetto/common/android_log_constants.proto",
801    "protos/perfetto/common/commit_data_request.proto",
802    "protos/perfetto/common/descriptor.proto",
803    "protos/perfetto/common/observable_events.proto",
804    "protos/perfetto/common/sys_stats_counters.proto",
805    "protos/perfetto/common/trace_stats.proto",
806  ],
807  tools: [
808    "aprotoc",
809  ],
810  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
811  out: [
812    "external/perfetto/protos/perfetto/common/android_log_constants.pb.h",
813    "external/perfetto/protos/perfetto/common/commit_data_request.pb.h",
814    "external/perfetto/protos/perfetto/common/descriptor.pb.h",
815    "external/perfetto/protos/perfetto/common/observable_events.pb.h",
816    "external/perfetto/protos/perfetto/common/sys_stats_counters.pb.h",
817    "external/perfetto/protos/perfetto/common/trace_stats.pb.h",
818  ],
819  export_include_dirs: [
820    "protos",
821  ],
822}
823
824// GN target: //protos/perfetto/common:zero_gen
825genrule {
826  name: "perfetto_protos_perfetto_common_zero_gen",
827  srcs: [
828    "protos/perfetto/common/android_log_constants.proto",
829    "protos/perfetto/common/commit_data_request.proto",
830    "protos/perfetto/common/descriptor.proto",
831    "protos/perfetto/common/observable_events.proto",
832    "protos/perfetto/common/sys_stats_counters.proto",
833    "protos/perfetto/common/trace_stats.proto",
834  ],
835  tools: [
836    "aprotoc",
837    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
838  ],
839  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
840  out: [
841    "external/perfetto/protos/perfetto/common/android_log_constants.pbzero.cc",
842    "external/perfetto/protos/perfetto/common/commit_data_request.pbzero.cc",
843    "external/perfetto/protos/perfetto/common/descriptor.pbzero.cc",
844    "external/perfetto/protos/perfetto/common/observable_events.pbzero.cc",
845    "external/perfetto/protos/perfetto/common/sys_stats_counters.pbzero.cc",
846    "external/perfetto/protos/perfetto/common/trace_stats.pbzero.cc",
847  ],
848}
849
850// GN target: //protos/perfetto/common:zero_gen
851genrule {
852  name: "perfetto_protos_perfetto_common_zero_gen_headers",
853  srcs: [
854    "protos/perfetto/common/android_log_constants.proto",
855    "protos/perfetto/common/commit_data_request.proto",
856    "protos/perfetto/common/descriptor.proto",
857    "protos/perfetto/common/observable_events.proto",
858    "protos/perfetto/common/sys_stats_counters.proto",
859    "protos/perfetto/common/trace_stats.proto",
860  ],
861  tools: [
862    "aprotoc",
863    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
864  ],
865  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
866  out: [
867    "external/perfetto/protos/perfetto/common/android_log_constants.pbzero.h",
868    "external/perfetto/protos/perfetto/common/commit_data_request.pbzero.h",
869    "external/perfetto/protos/perfetto/common/descriptor.pbzero.h",
870    "external/perfetto/protos/perfetto/common/observable_events.pbzero.h",
871    "external/perfetto/protos/perfetto/common/sys_stats_counters.pbzero.h",
872    "external/perfetto/protos/perfetto/common/trace_stats.pbzero.h",
873  ],
874  export_include_dirs: [
875    "protos",
876  ],
877}
878
879// GN target: //protos/perfetto/config:lite_gen
880genrule {
881  name: "perfetto_protos_perfetto_config_lite_gen",
882  srcs: [
883    "protos/perfetto/config/android/android_log_config.proto",
884    "protos/perfetto/config/android/packages_list_config.proto",
885    "protos/perfetto/config/chrome/chrome_config.proto",
886    "protos/perfetto/config/data_source_config.proto",
887    "protos/perfetto/config/data_source_descriptor.proto",
888    "protos/perfetto/config/ftrace/ftrace_config.proto",
889    "protos/perfetto/config/inode_file/inode_file_config.proto",
890    "protos/perfetto/config/power/android_power_config.proto",
891    "protos/perfetto/config/process_stats/process_stats_config.proto",
892    "protos/perfetto/config/profiling/heapprofd_config.proto",
893    "protos/perfetto/config/sys_stats/sys_stats_config.proto",
894    "protos/perfetto/config/test_config.proto",
895    "protos/perfetto/config/trace_config.proto",
896  ],
897  tools: [
898    "aprotoc",
899  ],
900  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
901  out: [
902    "external/perfetto/protos/perfetto/config/android/android_log_config.pb.cc",
903    "external/perfetto/protos/perfetto/config/android/packages_list_config.pb.cc",
904    "external/perfetto/protos/perfetto/config/chrome/chrome_config.pb.cc",
905    "external/perfetto/protos/perfetto/config/data_source_config.pb.cc",
906    "external/perfetto/protos/perfetto/config/data_source_descriptor.pb.cc",
907    "external/perfetto/protos/perfetto/config/ftrace/ftrace_config.pb.cc",
908    "external/perfetto/protos/perfetto/config/inode_file/inode_file_config.pb.cc",
909    "external/perfetto/protos/perfetto/config/power/android_power_config.pb.cc",
910    "external/perfetto/protos/perfetto/config/process_stats/process_stats_config.pb.cc",
911    "external/perfetto/protos/perfetto/config/profiling/heapprofd_config.pb.cc",
912    "external/perfetto/protos/perfetto/config/sys_stats/sys_stats_config.pb.cc",
913    "external/perfetto/protos/perfetto/config/test_config.pb.cc",
914    "external/perfetto/protos/perfetto/config/trace_config.pb.cc",
915  ],
916}
917
918// GN target: //protos/perfetto/config:lite_gen
919genrule {
920  name: "perfetto_protos_perfetto_config_lite_gen_headers",
921  srcs: [
922    "protos/perfetto/config/android/android_log_config.proto",
923    "protos/perfetto/config/android/packages_list_config.proto",
924    "protos/perfetto/config/chrome/chrome_config.proto",
925    "protos/perfetto/config/data_source_config.proto",
926    "protos/perfetto/config/data_source_descriptor.proto",
927    "protos/perfetto/config/ftrace/ftrace_config.proto",
928    "protos/perfetto/config/inode_file/inode_file_config.proto",
929    "protos/perfetto/config/power/android_power_config.proto",
930    "protos/perfetto/config/process_stats/process_stats_config.proto",
931    "protos/perfetto/config/profiling/heapprofd_config.proto",
932    "protos/perfetto/config/sys_stats/sys_stats_config.proto",
933    "protos/perfetto/config/test_config.proto",
934    "protos/perfetto/config/trace_config.proto",
935  ],
936  tools: [
937    "aprotoc",
938  ],
939  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
940  out: [
941    "external/perfetto/protos/perfetto/config/android/android_log_config.pb.h",
942    "external/perfetto/protos/perfetto/config/android/packages_list_config.pb.h",
943    "external/perfetto/protos/perfetto/config/chrome/chrome_config.pb.h",
944    "external/perfetto/protos/perfetto/config/data_source_config.pb.h",
945    "external/perfetto/protos/perfetto/config/data_source_descriptor.pb.h",
946    "external/perfetto/protos/perfetto/config/ftrace/ftrace_config.pb.h",
947    "external/perfetto/protos/perfetto/config/inode_file/inode_file_config.pb.h",
948    "external/perfetto/protos/perfetto/config/power/android_power_config.pb.h",
949    "external/perfetto/protos/perfetto/config/process_stats/process_stats_config.pb.h",
950    "external/perfetto/protos/perfetto/config/profiling/heapprofd_config.pb.h",
951    "external/perfetto/protos/perfetto/config/sys_stats/sys_stats_config.pb.h",
952    "external/perfetto/protos/perfetto/config/test_config.pb.h",
953    "external/perfetto/protos/perfetto/config/trace_config.pb.h",
954  ],
955  export_include_dirs: [
956    "protos",
957  ],
958}
959
960// GN target: //protos/perfetto/config:zero_gen
961genrule {
962  name: "perfetto_protos_perfetto_config_zero_gen",
963  srcs: [
964    "protos/perfetto/config/android/android_log_config.proto",
965    "protos/perfetto/config/android/packages_list_config.proto",
966    "protos/perfetto/config/chrome/chrome_config.proto",
967    "protos/perfetto/config/data_source_config.proto",
968    "protos/perfetto/config/data_source_descriptor.proto",
969    "protos/perfetto/config/ftrace/ftrace_config.proto",
970    "protos/perfetto/config/inode_file/inode_file_config.proto",
971    "protos/perfetto/config/power/android_power_config.proto",
972    "protos/perfetto/config/process_stats/process_stats_config.proto",
973    "protos/perfetto/config/profiling/heapprofd_config.proto",
974    "protos/perfetto/config/sys_stats/sys_stats_config.proto",
975    "protos/perfetto/config/test_config.proto",
976    "protos/perfetto/config/trace_config.proto",
977  ],
978  tools: [
979    "aprotoc",
980    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
981  ],
982  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
983  out: [
984    "external/perfetto/protos/perfetto/config/android/android_log_config.pbzero.cc",
985    "external/perfetto/protos/perfetto/config/android/packages_list_config.pbzero.cc",
986    "external/perfetto/protos/perfetto/config/chrome/chrome_config.pbzero.cc",
987    "external/perfetto/protos/perfetto/config/data_source_config.pbzero.cc",
988    "external/perfetto/protos/perfetto/config/data_source_descriptor.pbzero.cc",
989    "external/perfetto/protos/perfetto/config/ftrace/ftrace_config.pbzero.cc",
990    "external/perfetto/protos/perfetto/config/inode_file/inode_file_config.pbzero.cc",
991    "external/perfetto/protos/perfetto/config/power/android_power_config.pbzero.cc",
992    "external/perfetto/protos/perfetto/config/process_stats/process_stats_config.pbzero.cc",
993    "external/perfetto/protos/perfetto/config/profiling/heapprofd_config.pbzero.cc",
994    "external/perfetto/protos/perfetto/config/sys_stats/sys_stats_config.pbzero.cc",
995    "external/perfetto/protos/perfetto/config/test_config.pbzero.cc",
996    "external/perfetto/protos/perfetto/config/trace_config.pbzero.cc",
997  ],
998}
999
1000// GN target: //protos/perfetto/config:zero_gen
1001genrule {
1002  name: "perfetto_protos_perfetto_config_zero_gen_headers",
1003  srcs: [
1004    "protos/perfetto/config/android/android_log_config.proto",
1005    "protos/perfetto/config/android/packages_list_config.proto",
1006    "protos/perfetto/config/chrome/chrome_config.proto",
1007    "protos/perfetto/config/data_source_config.proto",
1008    "protos/perfetto/config/data_source_descriptor.proto",
1009    "protos/perfetto/config/ftrace/ftrace_config.proto",
1010    "protos/perfetto/config/inode_file/inode_file_config.proto",
1011    "protos/perfetto/config/power/android_power_config.proto",
1012    "protos/perfetto/config/process_stats/process_stats_config.proto",
1013    "protos/perfetto/config/profiling/heapprofd_config.proto",
1014    "protos/perfetto/config/sys_stats/sys_stats_config.proto",
1015    "protos/perfetto/config/test_config.proto",
1016    "protos/perfetto/config/trace_config.proto",
1017  ],
1018  tools: [
1019    "aprotoc",
1020    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1021  ],
1022  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1023  out: [
1024    "external/perfetto/protos/perfetto/config/android/android_log_config.pbzero.h",
1025    "external/perfetto/protos/perfetto/config/android/packages_list_config.pbzero.h",
1026    "external/perfetto/protos/perfetto/config/chrome/chrome_config.pbzero.h",
1027    "external/perfetto/protos/perfetto/config/data_source_config.pbzero.h",
1028    "external/perfetto/protos/perfetto/config/data_source_descriptor.pbzero.h",
1029    "external/perfetto/protos/perfetto/config/ftrace/ftrace_config.pbzero.h",
1030    "external/perfetto/protos/perfetto/config/inode_file/inode_file_config.pbzero.h",
1031    "external/perfetto/protos/perfetto/config/power/android_power_config.pbzero.h",
1032    "external/perfetto/protos/perfetto/config/process_stats/process_stats_config.pbzero.h",
1033    "external/perfetto/protos/perfetto/config/profiling/heapprofd_config.pbzero.h",
1034    "external/perfetto/protos/perfetto/config/sys_stats/sys_stats_config.pbzero.h",
1035    "external/perfetto/protos/perfetto/config/test_config.pbzero.h",
1036    "external/perfetto/protos/perfetto/config/trace_config.pbzero.h",
1037  ],
1038  export_include_dirs: [
1039    "protos",
1040  ],
1041}
1042
1043// GN target: //protos/perfetto/ipc:ipc_gen
1044genrule {
1045  name: "perfetto_protos_perfetto_ipc_ipc_gen",
1046  srcs: [
1047    "protos/perfetto/ipc/consumer_port.proto",
1048    "protos/perfetto/ipc/producer_port.proto",
1049  ],
1050  tools: [
1051    "aprotoc",
1052    "perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_",
1053  ],
1054  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=:$(genDir)/external/perfetto/protos $(in)",
1055  out: [
1056    "external/perfetto/protos/perfetto/ipc/consumer_port.ipc.cc",
1057    "external/perfetto/protos/perfetto/ipc/consumer_port.pb.cc",
1058    "external/perfetto/protos/perfetto/ipc/producer_port.ipc.cc",
1059    "external/perfetto/protos/perfetto/ipc/producer_port.pb.cc",
1060  ],
1061}
1062
1063// GN target: //protos/perfetto/ipc:ipc_gen
1064genrule {
1065  name: "perfetto_protos_perfetto_ipc_ipc_gen_headers",
1066  srcs: [
1067    "protos/perfetto/ipc/consumer_port.proto",
1068    "protos/perfetto/ipc/producer_port.proto",
1069  ],
1070  tools: [
1071    "aprotoc",
1072    "perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_",
1073  ],
1074  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=:$(genDir)/external/perfetto/protos $(in)",
1075  out: [
1076    "external/perfetto/protos/perfetto/ipc/consumer_port.ipc.h",
1077    "external/perfetto/protos/perfetto/ipc/consumer_port.pb.h",
1078    "external/perfetto/protos/perfetto/ipc/producer_port.ipc.h",
1079    "external/perfetto/protos/perfetto/ipc/producer_port.pb.h",
1080  ],
1081  export_include_dirs: [
1082    "protos",
1083  ],
1084}
1085
1086// GN target: //protos/perfetto/metrics/android:zero_gen
1087genrule {
1088  name: "perfetto_protos_perfetto_metrics_android_zero_gen",
1089  srcs: [
1090    "protos/perfetto/metrics/android/mem_metric.proto",
1091  ],
1092  tools: [
1093    "aprotoc",
1094    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1095  ],
1096  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1097  out: [
1098    "external/perfetto/protos/perfetto/metrics/android/mem_metric.pbzero.cc",
1099  ],
1100}
1101
1102// GN target: //protos/perfetto/metrics/android:zero_gen
1103genrule {
1104  name: "perfetto_protos_perfetto_metrics_android_zero_gen_headers",
1105  srcs: [
1106    "protos/perfetto/metrics/android/mem_metric.proto",
1107  ],
1108  tools: [
1109    "aprotoc",
1110    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1111  ],
1112  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1113  out: [
1114    "external/perfetto/protos/perfetto/metrics/android/mem_metric.pbzero.h",
1115  ],
1116  export_include_dirs: [
1117    "protos",
1118  ],
1119}
1120
1121// GN target: //protos/perfetto/metrics:zero_gen
1122genrule {
1123  name: "perfetto_protos_perfetto_metrics_zero_gen",
1124  srcs: [
1125    "protos/perfetto/metrics/metrics.proto",
1126  ],
1127  tools: [
1128    "aprotoc",
1129    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1130  ],
1131  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1132  out: [
1133    "external/perfetto/protos/perfetto/metrics/metrics.pbzero.cc",
1134  ],
1135}
1136
1137// GN target: //protos/perfetto/metrics:zero_gen
1138genrule {
1139  name: "perfetto_protos_perfetto_metrics_zero_gen_headers",
1140  srcs: [
1141    "protos/perfetto/metrics/metrics.proto",
1142  ],
1143  tools: [
1144    "aprotoc",
1145    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1146  ],
1147  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1148  out: [
1149    "external/perfetto/protos/perfetto/metrics/metrics.pbzero.h",
1150  ],
1151  export_include_dirs: [
1152    "protos",
1153  ],
1154}
1155
1156// GN target: //protos/perfetto/trace/android:lite_gen
1157genrule {
1158  name: "perfetto_protos_perfetto_trace_android_lite_gen",
1159  srcs: [
1160    "protos/perfetto/trace/android/android_log.proto",
1161    "protos/perfetto/trace/android/packages_list.proto",
1162  ],
1163  tools: [
1164    "aprotoc",
1165  ],
1166  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1167  out: [
1168    "external/perfetto/protos/perfetto/trace/android/android_log.pb.cc",
1169    "external/perfetto/protos/perfetto/trace/android/packages_list.pb.cc",
1170  ],
1171}
1172
1173// GN target: //protos/perfetto/trace/android:lite_gen
1174genrule {
1175  name: "perfetto_protos_perfetto_trace_android_lite_gen_headers",
1176  srcs: [
1177    "protos/perfetto/trace/android/android_log.proto",
1178    "protos/perfetto/trace/android/packages_list.proto",
1179  ],
1180  tools: [
1181    "aprotoc",
1182  ],
1183  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1184  out: [
1185    "external/perfetto/protos/perfetto/trace/android/android_log.pb.h",
1186    "external/perfetto/protos/perfetto/trace/android/packages_list.pb.h",
1187  ],
1188  export_include_dirs: [
1189    "protos",
1190  ],
1191}
1192
1193// GN target: //protos/perfetto/trace/android:zero_gen
1194genrule {
1195  name: "perfetto_protos_perfetto_trace_android_zero_gen",
1196  srcs: [
1197    "protos/perfetto/trace/android/android_log.proto",
1198    "protos/perfetto/trace/android/packages_list.proto",
1199  ],
1200  tools: [
1201    "aprotoc",
1202    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1203  ],
1204  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1205  out: [
1206    "external/perfetto/protos/perfetto/trace/android/android_log.pbzero.cc",
1207    "external/perfetto/protos/perfetto/trace/android/packages_list.pbzero.cc",
1208  ],
1209}
1210
1211// GN target: //protos/perfetto/trace/android:zero_gen
1212genrule {
1213  name: "perfetto_protos_perfetto_trace_android_zero_gen_headers",
1214  srcs: [
1215    "protos/perfetto/trace/android/android_log.proto",
1216    "protos/perfetto/trace/android/packages_list.proto",
1217  ],
1218  tools: [
1219    "aprotoc",
1220    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1221  ],
1222  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1223  out: [
1224    "external/perfetto/protos/perfetto/trace/android/android_log.pbzero.h",
1225    "external/perfetto/protos/perfetto/trace/android/packages_list.pbzero.h",
1226  ],
1227  export_include_dirs: [
1228    "protos",
1229  ],
1230}
1231
1232// GN target: //protos/perfetto/trace/chrome:lite_gen
1233genrule {
1234  name: "perfetto_protos_perfetto_trace_chrome_lite_gen",
1235  srcs: [
1236    "protos/perfetto/trace/chrome/chrome_trace_event.proto",
1237  ],
1238  tools: [
1239    "aprotoc",
1240  ],
1241  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1242  out: [
1243    "external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pb.cc",
1244  ],
1245}
1246
1247// GN target: //protos/perfetto/trace/chrome:lite_gen
1248genrule {
1249  name: "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
1250  srcs: [
1251    "protos/perfetto/trace/chrome/chrome_trace_event.proto",
1252  ],
1253  tools: [
1254    "aprotoc",
1255  ],
1256  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1257  out: [
1258    "external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pb.h",
1259  ],
1260  export_include_dirs: [
1261    "protos",
1262  ],
1263}
1264
1265// GN target: //protos/perfetto/trace/chrome:zero_gen
1266genrule {
1267  name: "perfetto_protos_perfetto_trace_chrome_zero_gen",
1268  srcs: [
1269    "protos/perfetto/trace/chrome/chrome_trace_event.proto",
1270  ],
1271  tools: [
1272    "aprotoc",
1273    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1274  ],
1275  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1276  out: [
1277    "external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pbzero.cc",
1278  ],
1279}
1280
1281// GN target: //protos/perfetto/trace/chrome:zero_gen
1282genrule {
1283  name: "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
1284  srcs: [
1285    "protos/perfetto/trace/chrome/chrome_trace_event.proto",
1286  ],
1287  tools: [
1288    "aprotoc",
1289    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1290  ],
1291  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1292  out: [
1293    "external/perfetto/protos/perfetto/trace/chrome/chrome_trace_event.pbzero.h",
1294  ],
1295  export_include_dirs: [
1296    "protos",
1297  ],
1298}
1299
1300// GN target: //protos/perfetto/trace/filesystem:lite_gen
1301genrule {
1302  name: "perfetto_protos_perfetto_trace_filesystem_lite_gen",
1303  srcs: [
1304    "protos/perfetto/trace/filesystem/inode_file_map.proto",
1305  ],
1306  tools: [
1307    "aprotoc",
1308  ],
1309  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1310  out: [
1311    "external/perfetto/protos/perfetto/trace/filesystem/inode_file_map.pb.cc",
1312  ],
1313}
1314
1315// GN target: //protos/perfetto/trace/filesystem:lite_gen
1316genrule {
1317  name: "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
1318  srcs: [
1319    "protos/perfetto/trace/filesystem/inode_file_map.proto",
1320  ],
1321  tools: [
1322    "aprotoc",
1323  ],
1324  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1325  out: [
1326    "external/perfetto/protos/perfetto/trace/filesystem/inode_file_map.pb.h",
1327  ],
1328  export_include_dirs: [
1329    "protos",
1330  ],
1331}
1332
1333// GN target: //protos/perfetto/trace/filesystem:zero_gen
1334genrule {
1335  name: "perfetto_protos_perfetto_trace_filesystem_zero_gen",
1336  srcs: [
1337    "protos/perfetto/trace/filesystem/inode_file_map.proto",
1338  ],
1339  tools: [
1340    "aprotoc",
1341    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1342  ],
1343  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1344  out: [
1345    "external/perfetto/protos/perfetto/trace/filesystem/inode_file_map.pbzero.cc",
1346  ],
1347}
1348
1349// GN target: //protos/perfetto/trace/filesystem:zero_gen
1350genrule {
1351  name: "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
1352  srcs: [
1353    "protos/perfetto/trace/filesystem/inode_file_map.proto",
1354  ],
1355  tools: [
1356    "aprotoc",
1357    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1358  ],
1359  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1360  out: [
1361    "external/perfetto/protos/perfetto/trace/filesystem/inode_file_map.pbzero.h",
1362  ],
1363  export_include_dirs: [
1364    "protos",
1365  ],
1366}
1367
1368// GN target: //protos/perfetto/trace/ftrace:lite_gen
1369genrule {
1370  name: "perfetto_protos_perfetto_trace_ftrace_lite_gen",
1371  srcs: [
1372    "protos/perfetto/trace/ftrace/binder.proto",
1373    "protos/perfetto/trace/ftrace/block.proto",
1374    "protos/perfetto/trace/ftrace/cgroup.proto",
1375    "protos/perfetto/trace/ftrace/clk.proto",
1376    "protos/perfetto/trace/ftrace/compaction.proto",
1377    "protos/perfetto/trace/ftrace/ext4.proto",
1378    "protos/perfetto/trace/ftrace/f2fs.proto",
1379    "protos/perfetto/trace/ftrace/fence.proto",
1380    "protos/perfetto/trace/ftrace/filemap.proto",
1381    "protos/perfetto/trace/ftrace/ftrace.proto",
1382    "protos/perfetto/trace/ftrace/ftrace_event.proto",
1383    "protos/perfetto/trace/ftrace/ftrace_event_bundle.proto",
1384    "protos/perfetto/trace/ftrace/ftrace_stats.proto",
1385    "protos/perfetto/trace/ftrace/generic.proto",
1386    "protos/perfetto/trace/ftrace/i2c.proto",
1387    "protos/perfetto/trace/ftrace/ipi.proto",
1388    "protos/perfetto/trace/ftrace/irq.proto",
1389    "protos/perfetto/trace/ftrace/kmem.proto",
1390    "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
1391    "protos/perfetto/trace/ftrace/mdss.proto",
1392    "protos/perfetto/trace/ftrace/mm_event.proto",
1393    "protos/perfetto/trace/ftrace/oom.proto",
1394    "protos/perfetto/trace/ftrace/power.proto",
1395    "protos/perfetto/trace/ftrace/raw_syscalls.proto",
1396    "protos/perfetto/trace/ftrace/regulator.proto",
1397    "protos/perfetto/trace/ftrace/sched.proto",
1398    "protos/perfetto/trace/ftrace/signal.proto",
1399    "protos/perfetto/trace/ftrace/sync.proto",
1400    "protos/perfetto/trace/ftrace/systrace.proto",
1401    "protos/perfetto/trace/ftrace/task.proto",
1402    "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
1403    "protos/perfetto/trace/ftrace/vmscan.proto",
1404    "protos/perfetto/trace/ftrace/workqueue.proto",
1405  ],
1406  tools: [
1407    "aprotoc",
1408  ],
1409  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1410  out: [
1411    "external/perfetto/protos/perfetto/trace/ftrace/binder.pb.cc",
1412    "external/perfetto/protos/perfetto/trace/ftrace/block.pb.cc",
1413    "external/perfetto/protos/perfetto/trace/ftrace/cgroup.pb.cc",
1414    "external/perfetto/protos/perfetto/trace/ftrace/clk.pb.cc",
1415    "external/perfetto/protos/perfetto/trace/ftrace/compaction.pb.cc",
1416    "external/perfetto/protos/perfetto/trace/ftrace/ext4.pb.cc",
1417    "external/perfetto/protos/perfetto/trace/ftrace/f2fs.pb.cc",
1418    "external/perfetto/protos/perfetto/trace/ftrace/fence.pb.cc",
1419    "external/perfetto/protos/perfetto/trace/ftrace/filemap.pb.cc",
1420    "external/perfetto/protos/perfetto/trace/ftrace/ftrace.pb.cc",
1421    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event.pb.cc",
1422    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event_bundle.pb.cc",
1423    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_stats.pb.cc",
1424    "external/perfetto/protos/perfetto/trace/ftrace/generic.pb.cc",
1425    "external/perfetto/protos/perfetto/trace/ftrace/i2c.pb.cc",
1426    "external/perfetto/protos/perfetto/trace/ftrace/ipi.pb.cc",
1427    "external/perfetto/protos/perfetto/trace/ftrace/irq.pb.cc",
1428    "external/perfetto/protos/perfetto/trace/ftrace/kmem.pb.cc",
1429    "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pb.cc",
1430    "external/perfetto/protos/perfetto/trace/ftrace/mdss.pb.cc",
1431    "external/perfetto/protos/perfetto/trace/ftrace/mm_event.pb.cc",
1432    "external/perfetto/protos/perfetto/trace/ftrace/oom.pb.cc",
1433    "external/perfetto/protos/perfetto/trace/ftrace/power.pb.cc",
1434    "external/perfetto/protos/perfetto/trace/ftrace/raw_syscalls.pb.cc",
1435    "external/perfetto/protos/perfetto/trace/ftrace/regulator.pb.cc",
1436    "external/perfetto/protos/perfetto/trace/ftrace/sched.pb.cc",
1437    "external/perfetto/protos/perfetto/trace/ftrace/signal.pb.cc",
1438    "external/perfetto/protos/perfetto/trace/ftrace/sync.pb.cc",
1439    "external/perfetto/protos/perfetto/trace/ftrace/systrace.pb.cc",
1440    "external/perfetto/protos/perfetto/trace/ftrace/task.pb.cc",
1441    "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pb.cc",
1442    "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pb.cc",
1443    "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pb.cc",
1444  ],
1445}
1446
1447// GN target: //protos/perfetto/trace/ftrace:lite_gen
1448genrule {
1449  name: "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
1450  srcs: [
1451    "protos/perfetto/trace/ftrace/binder.proto",
1452    "protos/perfetto/trace/ftrace/block.proto",
1453    "protos/perfetto/trace/ftrace/cgroup.proto",
1454    "protos/perfetto/trace/ftrace/clk.proto",
1455    "protos/perfetto/trace/ftrace/compaction.proto",
1456    "protos/perfetto/trace/ftrace/ext4.proto",
1457    "protos/perfetto/trace/ftrace/f2fs.proto",
1458    "protos/perfetto/trace/ftrace/fence.proto",
1459    "protos/perfetto/trace/ftrace/filemap.proto",
1460    "protos/perfetto/trace/ftrace/ftrace.proto",
1461    "protos/perfetto/trace/ftrace/ftrace_event.proto",
1462    "protos/perfetto/trace/ftrace/ftrace_event_bundle.proto",
1463    "protos/perfetto/trace/ftrace/ftrace_stats.proto",
1464    "protos/perfetto/trace/ftrace/generic.proto",
1465    "protos/perfetto/trace/ftrace/i2c.proto",
1466    "protos/perfetto/trace/ftrace/ipi.proto",
1467    "protos/perfetto/trace/ftrace/irq.proto",
1468    "protos/perfetto/trace/ftrace/kmem.proto",
1469    "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
1470    "protos/perfetto/trace/ftrace/mdss.proto",
1471    "protos/perfetto/trace/ftrace/mm_event.proto",
1472    "protos/perfetto/trace/ftrace/oom.proto",
1473    "protos/perfetto/trace/ftrace/power.proto",
1474    "protos/perfetto/trace/ftrace/raw_syscalls.proto",
1475    "protos/perfetto/trace/ftrace/regulator.proto",
1476    "protos/perfetto/trace/ftrace/sched.proto",
1477    "protos/perfetto/trace/ftrace/signal.proto",
1478    "protos/perfetto/trace/ftrace/sync.proto",
1479    "protos/perfetto/trace/ftrace/systrace.proto",
1480    "protos/perfetto/trace/ftrace/task.proto",
1481    "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
1482    "protos/perfetto/trace/ftrace/vmscan.proto",
1483    "protos/perfetto/trace/ftrace/workqueue.proto",
1484  ],
1485  tools: [
1486    "aprotoc",
1487  ],
1488  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1489  out: [
1490    "external/perfetto/protos/perfetto/trace/ftrace/binder.pb.h",
1491    "external/perfetto/protos/perfetto/trace/ftrace/block.pb.h",
1492    "external/perfetto/protos/perfetto/trace/ftrace/cgroup.pb.h",
1493    "external/perfetto/protos/perfetto/trace/ftrace/clk.pb.h",
1494    "external/perfetto/protos/perfetto/trace/ftrace/compaction.pb.h",
1495    "external/perfetto/protos/perfetto/trace/ftrace/ext4.pb.h",
1496    "external/perfetto/protos/perfetto/trace/ftrace/f2fs.pb.h",
1497    "external/perfetto/protos/perfetto/trace/ftrace/fence.pb.h",
1498    "external/perfetto/protos/perfetto/trace/ftrace/filemap.pb.h",
1499    "external/perfetto/protos/perfetto/trace/ftrace/ftrace.pb.h",
1500    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event.pb.h",
1501    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event_bundle.pb.h",
1502    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_stats.pb.h",
1503    "external/perfetto/protos/perfetto/trace/ftrace/generic.pb.h",
1504    "external/perfetto/protos/perfetto/trace/ftrace/i2c.pb.h",
1505    "external/perfetto/protos/perfetto/trace/ftrace/ipi.pb.h",
1506    "external/perfetto/protos/perfetto/trace/ftrace/irq.pb.h",
1507    "external/perfetto/protos/perfetto/trace/ftrace/kmem.pb.h",
1508    "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pb.h",
1509    "external/perfetto/protos/perfetto/trace/ftrace/mdss.pb.h",
1510    "external/perfetto/protos/perfetto/trace/ftrace/mm_event.pb.h",
1511    "external/perfetto/protos/perfetto/trace/ftrace/oom.pb.h",
1512    "external/perfetto/protos/perfetto/trace/ftrace/power.pb.h",
1513    "external/perfetto/protos/perfetto/trace/ftrace/raw_syscalls.pb.h",
1514    "external/perfetto/protos/perfetto/trace/ftrace/regulator.pb.h",
1515    "external/perfetto/protos/perfetto/trace/ftrace/sched.pb.h",
1516    "external/perfetto/protos/perfetto/trace/ftrace/signal.pb.h",
1517    "external/perfetto/protos/perfetto/trace/ftrace/sync.pb.h",
1518    "external/perfetto/protos/perfetto/trace/ftrace/systrace.pb.h",
1519    "external/perfetto/protos/perfetto/trace/ftrace/task.pb.h",
1520    "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pb.h",
1521    "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pb.h",
1522    "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pb.h",
1523  ],
1524  export_include_dirs: [
1525    "protos",
1526  ],
1527}
1528
1529// GN target: //protos/perfetto/trace/ftrace:zero_gen
1530genrule {
1531  name: "perfetto_protos_perfetto_trace_ftrace_zero_gen",
1532  srcs: [
1533    "protos/perfetto/trace/ftrace/binder.proto",
1534    "protos/perfetto/trace/ftrace/block.proto",
1535    "protos/perfetto/trace/ftrace/cgroup.proto",
1536    "protos/perfetto/trace/ftrace/clk.proto",
1537    "protos/perfetto/trace/ftrace/compaction.proto",
1538    "protos/perfetto/trace/ftrace/ext4.proto",
1539    "protos/perfetto/trace/ftrace/f2fs.proto",
1540    "protos/perfetto/trace/ftrace/fence.proto",
1541    "protos/perfetto/trace/ftrace/filemap.proto",
1542    "protos/perfetto/trace/ftrace/ftrace.proto",
1543    "protos/perfetto/trace/ftrace/ftrace_event.proto",
1544    "protos/perfetto/trace/ftrace/ftrace_event_bundle.proto",
1545    "protos/perfetto/trace/ftrace/ftrace_stats.proto",
1546    "protos/perfetto/trace/ftrace/generic.proto",
1547    "protos/perfetto/trace/ftrace/i2c.proto",
1548    "protos/perfetto/trace/ftrace/ipi.proto",
1549    "protos/perfetto/trace/ftrace/irq.proto",
1550    "protos/perfetto/trace/ftrace/kmem.proto",
1551    "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
1552    "protos/perfetto/trace/ftrace/mdss.proto",
1553    "protos/perfetto/trace/ftrace/mm_event.proto",
1554    "protos/perfetto/trace/ftrace/oom.proto",
1555    "protos/perfetto/trace/ftrace/power.proto",
1556    "protos/perfetto/trace/ftrace/raw_syscalls.proto",
1557    "protos/perfetto/trace/ftrace/regulator.proto",
1558    "protos/perfetto/trace/ftrace/sched.proto",
1559    "protos/perfetto/trace/ftrace/signal.proto",
1560    "protos/perfetto/trace/ftrace/sync.proto",
1561    "protos/perfetto/trace/ftrace/systrace.proto",
1562    "protos/perfetto/trace/ftrace/task.proto",
1563    "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
1564    "protos/perfetto/trace/ftrace/vmscan.proto",
1565    "protos/perfetto/trace/ftrace/workqueue.proto",
1566  ],
1567  tools: [
1568    "aprotoc",
1569    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1570  ],
1571  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1572  out: [
1573    "external/perfetto/protos/perfetto/trace/ftrace/binder.pbzero.cc",
1574    "external/perfetto/protos/perfetto/trace/ftrace/block.pbzero.cc",
1575    "external/perfetto/protos/perfetto/trace/ftrace/cgroup.pbzero.cc",
1576    "external/perfetto/protos/perfetto/trace/ftrace/clk.pbzero.cc",
1577    "external/perfetto/protos/perfetto/trace/ftrace/compaction.pbzero.cc",
1578    "external/perfetto/protos/perfetto/trace/ftrace/ext4.pbzero.cc",
1579    "external/perfetto/protos/perfetto/trace/ftrace/f2fs.pbzero.cc",
1580    "external/perfetto/protos/perfetto/trace/ftrace/fence.pbzero.cc",
1581    "external/perfetto/protos/perfetto/trace/ftrace/filemap.pbzero.cc",
1582    "external/perfetto/protos/perfetto/trace/ftrace/ftrace.pbzero.cc",
1583    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event.pbzero.cc",
1584    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event_bundle.pbzero.cc",
1585    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_stats.pbzero.cc",
1586    "external/perfetto/protos/perfetto/trace/ftrace/generic.pbzero.cc",
1587    "external/perfetto/protos/perfetto/trace/ftrace/i2c.pbzero.cc",
1588    "external/perfetto/protos/perfetto/trace/ftrace/ipi.pbzero.cc",
1589    "external/perfetto/protos/perfetto/trace/ftrace/irq.pbzero.cc",
1590    "external/perfetto/protos/perfetto/trace/ftrace/kmem.pbzero.cc",
1591    "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pbzero.cc",
1592    "external/perfetto/protos/perfetto/trace/ftrace/mdss.pbzero.cc",
1593    "external/perfetto/protos/perfetto/trace/ftrace/mm_event.pbzero.cc",
1594    "external/perfetto/protos/perfetto/trace/ftrace/oom.pbzero.cc",
1595    "external/perfetto/protos/perfetto/trace/ftrace/power.pbzero.cc",
1596    "external/perfetto/protos/perfetto/trace/ftrace/raw_syscalls.pbzero.cc",
1597    "external/perfetto/protos/perfetto/trace/ftrace/regulator.pbzero.cc",
1598    "external/perfetto/protos/perfetto/trace/ftrace/sched.pbzero.cc",
1599    "external/perfetto/protos/perfetto/trace/ftrace/signal.pbzero.cc",
1600    "external/perfetto/protos/perfetto/trace/ftrace/sync.pbzero.cc",
1601    "external/perfetto/protos/perfetto/trace/ftrace/systrace.pbzero.cc",
1602    "external/perfetto/protos/perfetto/trace/ftrace/task.pbzero.cc",
1603    "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pbzero.cc",
1604    "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pbzero.cc",
1605    "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pbzero.cc",
1606  ],
1607}
1608
1609// GN target: //protos/perfetto/trace/ftrace:zero_gen
1610genrule {
1611  name: "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
1612  srcs: [
1613    "protos/perfetto/trace/ftrace/binder.proto",
1614    "protos/perfetto/trace/ftrace/block.proto",
1615    "protos/perfetto/trace/ftrace/cgroup.proto",
1616    "protos/perfetto/trace/ftrace/clk.proto",
1617    "protos/perfetto/trace/ftrace/compaction.proto",
1618    "protos/perfetto/trace/ftrace/ext4.proto",
1619    "protos/perfetto/trace/ftrace/f2fs.proto",
1620    "protos/perfetto/trace/ftrace/fence.proto",
1621    "protos/perfetto/trace/ftrace/filemap.proto",
1622    "protos/perfetto/trace/ftrace/ftrace.proto",
1623    "protos/perfetto/trace/ftrace/ftrace_event.proto",
1624    "protos/perfetto/trace/ftrace/ftrace_event_bundle.proto",
1625    "protos/perfetto/trace/ftrace/ftrace_stats.proto",
1626    "protos/perfetto/trace/ftrace/generic.proto",
1627    "protos/perfetto/trace/ftrace/i2c.proto",
1628    "protos/perfetto/trace/ftrace/ipi.proto",
1629    "protos/perfetto/trace/ftrace/irq.proto",
1630    "protos/perfetto/trace/ftrace/kmem.proto",
1631    "protos/perfetto/trace/ftrace/lowmemorykiller.proto",
1632    "protos/perfetto/trace/ftrace/mdss.proto",
1633    "protos/perfetto/trace/ftrace/mm_event.proto",
1634    "protos/perfetto/trace/ftrace/oom.proto",
1635    "protos/perfetto/trace/ftrace/power.proto",
1636    "protos/perfetto/trace/ftrace/raw_syscalls.proto",
1637    "protos/perfetto/trace/ftrace/regulator.proto",
1638    "protos/perfetto/trace/ftrace/sched.proto",
1639    "protos/perfetto/trace/ftrace/signal.proto",
1640    "protos/perfetto/trace/ftrace/sync.proto",
1641    "protos/perfetto/trace/ftrace/systrace.proto",
1642    "protos/perfetto/trace/ftrace/task.proto",
1643    "protos/perfetto/trace/ftrace/test_bundle_wrapper.proto",
1644    "protos/perfetto/trace/ftrace/vmscan.proto",
1645    "protos/perfetto/trace/ftrace/workqueue.proto",
1646  ],
1647  tools: [
1648    "aprotoc",
1649    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1650  ],
1651  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1652  out: [
1653    "external/perfetto/protos/perfetto/trace/ftrace/binder.pbzero.h",
1654    "external/perfetto/protos/perfetto/trace/ftrace/block.pbzero.h",
1655    "external/perfetto/protos/perfetto/trace/ftrace/cgroup.pbzero.h",
1656    "external/perfetto/protos/perfetto/trace/ftrace/clk.pbzero.h",
1657    "external/perfetto/protos/perfetto/trace/ftrace/compaction.pbzero.h",
1658    "external/perfetto/protos/perfetto/trace/ftrace/ext4.pbzero.h",
1659    "external/perfetto/protos/perfetto/trace/ftrace/f2fs.pbzero.h",
1660    "external/perfetto/protos/perfetto/trace/ftrace/fence.pbzero.h",
1661    "external/perfetto/protos/perfetto/trace/ftrace/filemap.pbzero.h",
1662    "external/perfetto/protos/perfetto/trace/ftrace/ftrace.pbzero.h",
1663    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event.pbzero.h",
1664    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_event_bundle.pbzero.h",
1665    "external/perfetto/protos/perfetto/trace/ftrace/ftrace_stats.pbzero.h",
1666    "external/perfetto/protos/perfetto/trace/ftrace/generic.pbzero.h",
1667    "external/perfetto/protos/perfetto/trace/ftrace/i2c.pbzero.h",
1668    "external/perfetto/protos/perfetto/trace/ftrace/ipi.pbzero.h",
1669    "external/perfetto/protos/perfetto/trace/ftrace/irq.pbzero.h",
1670    "external/perfetto/protos/perfetto/trace/ftrace/kmem.pbzero.h",
1671    "external/perfetto/protos/perfetto/trace/ftrace/lowmemorykiller.pbzero.h",
1672    "external/perfetto/protos/perfetto/trace/ftrace/mdss.pbzero.h",
1673    "external/perfetto/protos/perfetto/trace/ftrace/mm_event.pbzero.h",
1674    "external/perfetto/protos/perfetto/trace/ftrace/oom.pbzero.h",
1675    "external/perfetto/protos/perfetto/trace/ftrace/power.pbzero.h",
1676    "external/perfetto/protos/perfetto/trace/ftrace/raw_syscalls.pbzero.h",
1677    "external/perfetto/protos/perfetto/trace/ftrace/regulator.pbzero.h",
1678    "external/perfetto/protos/perfetto/trace/ftrace/sched.pbzero.h",
1679    "external/perfetto/protos/perfetto/trace/ftrace/signal.pbzero.h",
1680    "external/perfetto/protos/perfetto/trace/ftrace/sync.pbzero.h",
1681    "external/perfetto/protos/perfetto/trace/ftrace/systrace.pbzero.h",
1682    "external/perfetto/protos/perfetto/trace/ftrace/task.pbzero.h",
1683    "external/perfetto/protos/perfetto/trace/ftrace/test_bundle_wrapper.pbzero.h",
1684    "external/perfetto/protos/perfetto/trace/ftrace/vmscan.pbzero.h",
1685    "external/perfetto/protos/perfetto/trace/ftrace/workqueue.pbzero.h",
1686  ],
1687  export_include_dirs: [
1688    "protos",
1689  ],
1690}
1691
1692// GN target: //protos/perfetto/trace/interned_data:lite_gen
1693genrule {
1694  name: "perfetto_protos_perfetto_trace_interned_data_lite_gen",
1695  srcs: [
1696    "protos/perfetto/trace/interned_data/interned_data.proto",
1697  ],
1698  tools: [
1699    "aprotoc",
1700  ],
1701  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1702  out: [
1703    "external/perfetto/protos/perfetto/trace/interned_data/interned_data.pb.cc",
1704  ],
1705}
1706
1707// GN target: //protos/perfetto/trace/interned_data:lite_gen
1708genrule {
1709  name: "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
1710  srcs: [
1711    "protos/perfetto/trace/interned_data/interned_data.proto",
1712  ],
1713  tools: [
1714    "aprotoc",
1715  ],
1716  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1717  out: [
1718    "external/perfetto/protos/perfetto/trace/interned_data/interned_data.pb.h",
1719  ],
1720  export_include_dirs: [
1721    "protos",
1722  ],
1723}
1724
1725// GN target: //protos/perfetto/trace/interned_data:zero_gen
1726genrule {
1727  name: "perfetto_protos_perfetto_trace_interned_data_zero_gen",
1728  srcs: [
1729    "protos/perfetto/trace/interned_data/interned_data.proto",
1730  ],
1731  tools: [
1732    "aprotoc",
1733    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1734  ],
1735  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1736  out: [
1737    "external/perfetto/protos/perfetto/trace/interned_data/interned_data.pbzero.cc",
1738  ],
1739}
1740
1741// GN target: //protos/perfetto/trace/interned_data:zero_gen
1742genrule {
1743  name: "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
1744  srcs: [
1745    "protos/perfetto/trace/interned_data/interned_data.proto",
1746  ],
1747  tools: [
1748    "aprotoc",
1749    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1750  ],
1751  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1752  out: [
1753    "external/perfetto/protos/perfetto/trace/interned_data/interned_data.pbzero.h",
1754  ],
1755  export_include_dirs: [
1756    "protos",
1757  ],
1758}
1759
1760// GN target: //protos/perfetto/trace:lite_gen
1761genrule {
1762  name: "perfetto_protos_perfetto_trace_lite_gen",
1763  srcs: [
1764    "protos/perfetto/trace/test_event.proto",
1765    "protos/perfetto/trace/trace.proto",
1766    "protos/perfetto/trace/trace_packet.proto",
1767  ],
1768  tools: [
1769    "aprotoc",
1770  ],
1771  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1772  out: [
1773    "external/perfetto/protos/perfetto/trace/test_event.pb.cc",
1774    "external/perfetto/protos/perfetto/trace/trace.pb.cc",
1775    "external/perfetto/protos/perfetto/trace/trace_packet.pb.cc",
1776  ],
1777}
1778
1779// GN target: //protos/perfetto/trace:lite_gen
1780genrule {
1781  name: "perfetto_protos_perfetto_trace_lite_gen_headers",
1782  srcs: [
1783    "protos/perfetto/trace/test_event.proto",
1784    "protos/perfetto/trace/trace.proto",
1785    "protos/perfetto/trace/trace_packet.proto",
1786  ],
1787  tools: [
1788    "aprotoc",
1789  ],
1790  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1791  out: [
1792    "external/perfetto/protos/perfetto/trace/test_event.pb.h",
1793    "external/perfetto/protos/perfetto/trace/trace.pb.h",
1794    "external/perfetto/protos/perfetto/trace/trace_packet.pb.h",
1795  ],
1796  export_include_dirs: [
1797    "protos",
1798  ],
1799}
1800
1801// GN target: //protos/perfetto/trace:minimal_lite_gen
1802genrule {
1803  name: "perfetto_protos_perfetto_trace_minimal_lite_gen",
1804  srcs: [
1805    "protos/perfetto/trace/clock_snapshot.proto",
1806    "protos/perfetto/trace/system_info.proto",
1807    "protos/perfetto/trace/trigger.proto",
1808  ],
1809  tools: [
1810    "aprotoc",
1811  ],
1812  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1813  out: [
1814    "external/perfetto/protos/perfetto/trace/clock_snapshot.pb.cc",
1815    "external/perfetto/protos/perfetto/trace/system_info.pb.cc",
1816    "external/perfetto/protos/perfetto/trace/trigger.pb.cc",
1817  ],
1818}
1819
1820// GN target: //protos/perfetto/trace:minimal_lite_gen
1821genrule {
1822  name: "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
1823  srcs: [
1824    "protos/perfetto/trace/clock_snapshot.proto",
1825    "protos/perfetto/trace/system_info.proto",
1826    "protos/perfetto/trace/trigger.proto",
1827  ],
1828  tools: [
1829    "aprotoc",
1830  ],
1831  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1832  out: [
1833    "external/perfetto/protos/perfetto/trace/clock_snapshot.pb.h",
1834    "external/perfetto/protos/perfetto/trace/system_info.pb.h",
1835    "external/perfetto/protos/perfetto/trace/trigger.pb.h",
1836  ],
1837  export_include_dirs: [
1838    "protos",
1839  ],
1840}
1841
1842// GN target: //protos/perfetto/trace/power:lite_gen
1843genrule {
1844  name: "perfetto_protos_perfetto_trace_power_lite_gen",
1845  srcs: [
1846    "protos/perfetto/trace/power/battery_counters.proto",
1847    "protos/perfetto/trace/power/power_rails.proto",
1848  ],
1849  tools: [
1850    "aprotoc",
1851  ],
1852  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1853  out: [
1854    "external/perfetto/protos/perfetto/trace/power/battery_counters.pb.cc",
1855    "external/perfetto/protos/perfetto/trace/power/power_rails.pb.cc",
1856  ],
1857}
1858
1859// GN target: //protos/perfetto/trace/power:lite_gen
1860genrule {
1861  name: "perfetto_protos_perfetto_trace_power_lite_gen_headers",
1862  srcs: [
1863    "protos/perfetto/trace/power/battery_counters.proto",
1864    "protos/perfetto/trace/power/power_rails.proto",
1865  ],
1866  tools: [
1867    "aprotoc",
1868  ],
1869  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1870  out: [
1871    "external/perfetto/protos/perfetto/trace/power/battery_counters.pb.h",
1872    "external/perfetto/protos/perfetto/trace/power/power_rails.pb.h",
1873  ],
1874  export_include_dirs: [
1875    "protos",
1876  ],
1877}
1878
1879// GN target: //protos/perfetto/trace/power:zero_gen
1880genrule {
1881  name: "perfetto_protos_perfetto_trace_power_zero_gen",
1882  srcs: [
1883    "protos/perfetto/trace/power/battery_counters.proto",
1884    "protos/perfetto/trace/power/power_rails.proto",
1885  ],
1886  tools: [
1887    "aprotoc",
1888    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1889  ],
1890  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1891  out: [
1892    "external/perfetto/protos/perfetto/trace/power/battery_counters.pbzero.cc",
1893    "external/perfetto/protos/perfetto/trace/power/power_rails.pbzero.cc",
1894  ],
1895}
1896
1897// GN target: //protos/perfetto/trace/power:zero_gen
1898genrule {
1899  name: "perfetto_protos_perfetto_trace_power_zero_gen_headers",
1900  srcs: [
1901    "protos/perfetto/trace/power/battery_counters.proto",
1902    "protos/perfetto/trace/power/power_rails.proto",
1903  ],
1904  tools: [
1905    "aprotoc",
1906    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1907  ],
1908  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1909  out: [
1910    "external/perfetto/protos/perfetto/trace/power/battery_counters.pbzero.h",
1911    "external/perfetto/protos/perfetto/trace/power/power_rails.pbzero.h",
1912  ],
1913  export_include_dirs: [
1914    "protos",
1915  ],
1916}
1917
1918// GN target: //protos/perfetto/trace/profiling:lite_gen
1919genrule {
1920  name: "perfetto_protos_perfetto_trace_profiling_lite_gen",
1921  srcs: [
1922    "protos/perfetto/trace/profiling/profile_packet.proto",
1923  ],
1924  tools: [
1925    "aprotoc",
1926  ],
1927  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1928  out: [
1929    "external/perfetto/protos/perfetto/trace/profiling/profile_packet.pb.cc",
1930  ],
1931}
1932
1933// GN target: //protos/perfetto/trace/profiling:lite_gen
1934genrule {
1935  name: "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
1936  srcs: [
1937    "protos/perfetto/trace/profiling/profile_packet.proto",
1938  ],
1939  tools: [
1940    "aprotoc",
1941  ],
1942  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1943  out: [
1944    "external/perfetto/protos/perfetto/trace/profiling/profile_packet.pb.h",
1945  ],
1946  export_include_dirs: [
1947    "protos",
1948  ],
1949}
1950
1951// GN target: //protos/perfetto/trace/profiling:zero_gen
1952genrule {
1953  name: "perfetto_protos_perfetto_trace_profiling_zero_gen",
1954  srcs: [
1955    "protos/perfetto/trace/profiling/profile_packet.proto",
1956  ],
1957  tools: [
1958    "aprotoc",
1959    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1960  ],
1961  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1962  out: [
1963    "external/perfetto/protos/perfetto/trace/profiling/profile_packet.pbzero.cc",
1964  ],
1965}
1966
1967// GN target: //protos/perfetto/trace/profiling:zero_gen
1968genrule {
1969  name: "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
1970  srcs: [
1971    "protos/perfetto/trace/profiling/profile_packet.proto",
1972  ],
1973  tools: [
1974    "aprotoc",
1975    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
1976  ],
1977  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
1978  out: [
1979    "external/perfetto/protos/perfetto/trace/profiling/profile_packet.pbzero.h",
1980  ],
1981  export_include_dirs: [
1982    "protos",
1983  ],
1984}
1985
1986// GN target: //protos/perfetto/trace/ps:lite_gen
1987genrule {
1988  name: "perfetto_protos_perfetto_trace_ps_lite_gen",
1989  srcs: [
1990    "protos/perfetto/trace/ps/process_stats.proto",
1991    "protos/perfetto/trace/ps/process_tree.proto",
1992  ],
1993  tools: [
1994    "aprotoc",
1995  ],
1996  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
1997  out: [
1998    "external/perfetto/protos/perfetto/trace/ps/process_stats.pb.cc",
1999    "external/perfetto/protos/perfetto/trace/ps/process_tree.pb.cc",
2000  ],
2001}
2002
2003// GN target: //protos/perfetto/trace/ps:lite_gen
2004genrule {
2005  name: "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
2006  srcs: [
2007    "protos/perfetto/trace/ps/process_stats.proto",
2008    "protos/perfetto/trace/ps/process_tree.proto",
2009  ],
2010  tools: [
2011    "aprotoc",
2012  ],
2013  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2014  out: [
2015    "external/perfetto/protos/perfetto/trace/ps/process_stats.pb.h",
2016    "external/perfetto/protos/perfetto/trace/ps/process_tree.pb.h",
2017  ],
2018  export_include_dirs: [
2019    "protos",
2020  ],
2021}
2022
2023// GN target: //protos/perfetto/trace/ps:zero_gen
2024genrule {
2025  name: "perfetto_protos_perfetto_trace_ps_zero_gen",
2026  srcs: [
2027    "protos/perfetto/trace/ps/process_stats.proto",
2028    "protos/perfetto/trace/ps/process_tree.proto",
2029  ],
2030  tools: [
2031    "aprotoc",
2032    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2033  ],
2034  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2035  out: [
2036    "external/perfetto/protos/perfetto/trace/ps/process_stats.pbzero.cc",
2037    "external/perfetto/protos/perfetto/trace/ps/process_tree.pbzero.cc",
2038  ],
2039}
2040
2041// GN target: //protos/perfetto/trace/ps:zero_gen
2042genrule {
2043  name: "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
2044  srcs: [
2045    "protos/perfetto/trace/ps/process_stats.proto",
2046    "protos/perfetto/trace/ps/process_tree.proto",
2047  ],
2048  tools: [
2049    "aprotoc",
2050    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2051  ],
2052  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2053  out: [
2054    "external/perfetto/protos/perfetto/trace/ps/process_stats.pbzero.h",
2055    "external/perfetto/protos/perfetto/trace/ps/process_tree.pbzero.h",
2056  ],
2057  export_include_dirs: [
2058    "protos",
2059  ],
2060}
2061
2062// GN target: //protos/perfetto/trace/sys_stats:lite_gen
2063genrule {
2064  name: "perfetto_protos_perfetto_trace_sys_stats_lite_gen",
2065  srcs: [
2066    "protos/perfetto/trace/sys_stats/sys_stats.proto",
2067  ],
2068  tools: [
2069    "aprotoc",
2070  ],
2071  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2072  out: [
2073    "external/perfetto/protos/perfetto/trace/sys_stats/sys_stats.pb.cc",
2074  ],
2075}
2076
2077// GN target: //protos/perfetto/trace/sys_stats:lite_gen
2078genrule {
2079  name: "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
2080  srcs: [
2081    "protos/perfetto/trace/sys_stats/sys_stats.proto",
2082  ],
2083  tools: [
2084    "aprotoc",
2085  ],
2086  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2087  out: [
2088    "external/perfetto/protos/perfetto/trace/sys_stats/sys_stats.pb.h",
2089  ],
2090  export_include_dirs: [
2091    "protos",
2092  ],
2093}
2094
2095// GN target: //protos/perfetto/trace/sys_stats:zero_gen
2096genrule {
2097  name: "perfetto_protos_perfetto_trace_sys_stats_zero_gen",
2098  srcs: [
2099    "protos/perfetto/trace/sys_stats/sys_stats.proto",
2100  ],
2101  tools: [
2102    "aprotoc",
2103    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2104  ],
2105  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2106  out: [
2107    "external/perfetto/protos/perfetto/trace/sys_stats/sys_stats.pbzero.cc",
2108  ],
2109}
2110
2111// GN target: //protos/perfetto/trace/sys_stats:zero_gen
2112genrule {
2113  name: "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
2114  srcs: [
2115    "protos/perfetto/trace/sys_stats/sys_stats.proto",
2116  ],
2117  tools: [
2118    "aprotoc",
2119    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2120  ],
2121  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2122  out: [
2123    "external/perfetto/protos/perfetto/trace/sys_stats/sys_stats.pbzero.h",
2124  ],
2125  export_include_dirs: [
2126    "protos",
2127  ],
2128}
2129
2130// GN target: //protos/perfetto/trace/track_event:lite_gen
2131genrule {
2132  name: "perfetto_protos_perfetto_trace_track_event_lite_gen",
2133  srcs: [
2134    "protos/perfetto/trace/track_event/debug_annotation.proto",
2135    "protos/perfetto/trace/track_event/process_descriptor.proto",
2136    "protos/perfetto/trace/track_event/task_execution.proto",
2137    "protos/perfetto/trace/track_event/thread_descriptor.proto",
2138    "protos/perfetto/trace/track_event/track_event.proto",
2139  ],
2140  tools: [
2141    "aprotoc",
2142  ],
2143  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2144  out: [
2145    "external/perfetto/protos/perfetto/trace/track_event/debug_annotation.pb.cc",
2146    "external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pb.cc",
2147    "external/perfetto/protos/perfetto/trace/track_event/task_execution.pb.cc",
2148    "external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pb.cc",
2149    "external/perfetto/protos/perfetto/trace/track_event/track_event.pb.cc",
2150  ],
2151}
2152
2153// GN target: //protos/perfetto/trace/track_event:lite_gen
2154genrule {
2155  name: "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
2156  srcs: [
2157    "protos/perfetto/trace/track_event/debug_annotation.proto",
2158    "protos/perfetto/trace/track_event/process_descriptor.proto",
2159    "protos/perfetto/trace/track_event/task_execution.proto",
2160    "protos/perfetto/trace/track_event/thread_descriptor.proto",
2161    "protos/perfetto/trace/track_event/track_event.proto",
2162  ],
2163  tools: [
2164    "aprotoc",
2165  ],
2166  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2167  out: [
2168    "external/perfetto/protos/perfetto/trace/track_event/debug_annotation.pb.h",
2169    "external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pb.h",
2170    "external/perfetto/protos/perfetto/trace/track_event/task_execution.pb.h",
2171    "external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pb.h",
2172    "external/perfetto/protos/perfetto/trace/track_event/track_event.pb.h",
2173  ],
2174  export_include_dirs: [
2175    "protos",
2176  ],
2177}
2178
2179// GN target: //protos/perfetto/trace/track_event:zero_gen
2180genrule {
2181  name: "perfetto_protos_perfetto_trace_track_event_zero_gen",
2182  srcs: [
2183    "protos/perfetto/trace/track_event/debug_annotation.proto",
2184    "protos/perfetto/trace/track_event/process_descriptor.proto",
2185    "protos/perfetto/trace/track_event/task_execution.proto",
2186    "protos/perfetto/trace/track_event/thread_descriptor.proto",
2187    "protos/perfetto/trace/track_event/track_event.proto",
2188  ],
2189  tools: [
2190    "aprotoc",
2191    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2192  ],
2193  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2194  out: [
2195    "external/perfetto/protos/perfetto/trace/track_event/debug_annotation.pbzero.cc",
2196    "external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.cc",
2197    "external/perfetto/protos/perfetto/trace/track_event/task_execution.pbzero.cc",
2198    "external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.cc",
2199    "external/perfetto/protos/perfetto/trace/track_event/track_event.pbzero.cc",
2200  ],
2201}
2202
2203// GN target: //protos/perfetto/trace/track_event:zero_gen
2204genrule {
2205  name: "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
2206  srcs: [
2207    "protos/perfetto/trace/track_event/debug_annotation.proto",
2208    "protos/perfetto/trace/track_event/process_descriptor.proto",
2209    "protos/perfetto/trace/track_event/task_execution.proto",
2210    "protos/perfetto/trace/track_event/thread_descriptor.proto",
2211    "protos/perfetto/trace/track_event/track_event.proto",
2212  ],
2213  tools: [
2214    "aprotoc",
2215    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2216  ],
2217  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2218  out: [
2219    "external/perfetto/protos/perfetto/trace/track_event/debug_annotation.pbzero.h",
2220    "external/perfetto/protos/perfetto/trace/track_event/process_descriptor.pbzero.h",
2221    "external/perfetto/protos/perfetto/trace/track_event/task_execution.pbzero.h",
2222    "external/perfetto/protos/perfetto/trace/track_event/thread_descriptor.pbzero.h",
2223    "external/perfetto/protos/perfetto/trace/track_event/track_event.pbzero.h",
2224  ],
2225  export_include_dirs: [
2226    "protos",
2227  ],
2228}
2229
2230// GN target: //protos/perfetto/trace:trusted_lite_gen
2231genrule {
2232  name: "perfetto_protos_perfetto_trace_trusted_lite_gen",
2233  srcs: [
2234    "protos/perfetto/trace/trusted_packet.proto",
2235  ],
2236  tools: [
2237    "aprotoc",
2238  ],
2239  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2240  out: [
2241    "external/perfetto/protos/perfetto/trace/trusted_packet.pb.cc",
2242  ],
2243}
2244
2245// GN target: //protos/perfetto/trace:trusted_lite_gen
2246genrule {
2247  name: "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
2248  srcs: [
2249    "protos/perfetto/trace/trusted_packet.proto",
2250  ],
2251  tools: [
2252    "aprotoc",
2253  ],
2254  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2255  out: [
2256    "external/perfetto/protos/perfetto/trace/trusted_packet.pb.h",
2257  ],
2258  export_include_dirs: [
2259    "protos",
2260  ],
2261}
2262
2263// GN target: //protos/perfetto/trace:zero_gen
2264genrule {
2265  name: "perfetto_protos_perfetto_trace_zero_gen",
2266  srcs: [
2267    "protos/perfetto/trace/clock_snapshot.proto",
2268    "protos/perfetto/trace/system_info.proto",
2269    "protos/perfetto/trace/test_event.proto",
2270    "protos/perfetto/trace/trace.proto",
2271    "protos/perfetto/trace/trace_packet.proto",
2272    "protos/perfetto/trace/trigger.proto",
2273  ],
2274  tools: [
2275    "aprotoc",
2276    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2277  ],
2278  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2279  out: [
2280    "external/perfetto/protos/perfetto/trace/clock_snapshot.pbzero.cc",
2281    "external/perfetto/protos/perfetto/trace/system_info.pbzero.cc",
2282    "external/perfetto/protos/perfetto/trace/test_event.pbzero.cc",
2283    "external/perfetto/protos/perfetto/trace/trace.pbzero.cc",
2284    "external/perfetto/protos/perfetto/trace/trace_packet.pbzero.cc",
2285    "external/perfetto/protos/perfetto/trace/trigger.pbzero.cc",
2286  ],
2287}
2288
2289// GN target: //protos/perfetto/trace:zero_gen
2290genrule {
2291  name: "perfetto_protos_perfetto_trace_zero_gen_headers",
2292  srcs: [
2293    "protos/perfetto/trace/clock_snapshot.proto",
2294    "protos/perfetto/trace/system_info.proto",
2295    "protos/perfetto/trace/test_event.proto",
2296    "protos/perfetto/trace/trace.proto",
2297    "protos/perfetto/trace/trace_packet.proto",
2298    "protos/perfetto/trace/trigger.proto",
2299  ],
2300  tools: [
2301    "aprotoc",
2302    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2303  ],
2304  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/protos $(in)",
2305  out: [
2306    "external/perfetto/protos/perfetto/trace/clock_snapshot.pbzero.h",
2307    "external/perfetto/protos/perfetto/trace/system_info.pbzero.h",
2308    "external/perfetto/protos/perfetto/trace/test_event.pbzero.h",
2309    "external/perfetto/protos/perfetto/trace/trace.pbzero.h",
2310    "external/perfetto/protos/perfetto/trace/trace_packet.pbzero.h",
2311    "external/perfetto/protos/perfetto/trace/trigger.pbzero.h",
2312  ],
2313  export_include_dirs: [
2314    "protos",
2315  ],
2316}
2317
2318// GN target: //protos/third_party/pprof:lite_gen
2319genrule {
2320  name: "perfetto_protos_third_party_pprof_lite_gen",
2321  srcs: [
2322    "protos/third_party/pprof/profile.proto",
2323  ],
2324  tools: [
2325    "aprotoc",
2326  ],
2327  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2328  out: [
2329    "external/perfetto/protos/third_party/pprof/profile.pb.cc",
2330  ],
2331}
2332
2333// GN target: //protos/third_party/pprof:lite_gen
2334genrule {
2335  name: "perfetto_protos_third_party_pprof_lite_gen_headers",
2336  srcs: [
2337    "protos/third_party/pprof/profile.proto",
2338  ],
2339  tools: [
2340    "aprotoc",
2341  ],
2342  cmd: "mkdir -p $(genDir)/external/perfetto/protos && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto/protos --proto_path=external/perfetto/protos $(in)",
2343  out: [
2344    "external/perfetto/protos/third_party/pprof/profile.pb.h",
2345  ],
2346  export_include_dirs: [
2347    "protos",
2348  ],
2349}
2350
2351// GN target: //src/ipc/protoc_plugin:ipc_plugin(//gn/standalone/toolchain:gcc_like_host)
2352cc_binary_host {
2353  name: "perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_",
2354  srcs: [
2355    "src/ipc/protoc_plugin/ipc_generator.cc",
2356    "src/ipc/protoc_plugin/ipc_plugin.cc",
2357  ],
2358  shared_libs: [
2359    "libprotoc",
2360  ],
2361  defaults: [
2362    "perfetto_defaults",
2363  ],
2364  cflags: [
2365    "-DGOOGLE_PROTOBUF_NO_RTTI",
2366    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
2367    "-DPERFETTO_BUILD_WITH_ANDROID",
2368  ],
2369}
2370
2371// GN target: //src/ipc:test_messages_gen
2372genrule {
2373  name: "perfetto_src_ipc_test_messages_gen",
2374  srcs: [
2375    "src/ipc/test/client_unittest_messages.proto",
2376    "src/ipc/test/deferred_unittest_messages.proto",
2377    "src/ipc/test/greeter_service.proto",
2378  ],
2379  tools: [
2380    "aprotoc",
2381    "perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_",
2382  ],
2383  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ --plugin=protoc-gen-plugin=$(location perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=:$(genDir)/external/perfetto $(in)",
2384  out: [
2385    "external/perfetto/src/ipc/test/client_unittest_messages.ipc.cc",
2386    "external/perfetto/src/ipc/test/client_unittest_messages.pb.cc",
2387    "external/perfetto/src/ipc/test/deferred_unittest_messages.ipc.cc",
2388    "external/perfetto/src/ipc/test/deferred_unittest_messages.pb.cc",
2389    "external/perfetto/src/ipc/test/greeter_service.ipc.cc",
2390    "external/perfetto/src/ipc/test/greeter_service.pb.cc",
2391  ],
2392}
2393
2394// GN target: //src/ipc:test_messages_gen
2395genrule {
2396  name: "perfetto_src_ipc_test_messages_gen_headers",
2397  srcs: [
2398    "src/ipc/test/client_unittest_messages.proto",
2399    "src/ipc/test/deferred_unittest_messages.proto",
2400    "src/ipc/test/greeter_service.proto",
2401  ],
2402  tools: [
2403    "aprotoc",
2404    "perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_",
2405  ],
2406  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ --plugin=protoc-gen-plugin=$(location perfetto_src_ipc_protoc_plugin_ipc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=:$(genDir)/external/perfetto $(in)",
2407  out: [
2408    "external/perfetto/src/ipc/test/client_unittest_messages.ipc.h",
2409    "external/perfetto/src/ipc/test/client_unittest_messages.pb.h",
2410    "external/perfetto/src/ipc/test/deferred_unittest_messages.ipc.h",
2411    "external/perfetto/src/ipc/test/deferred_unittest_messages.pb.h",
2412    "external/perfetto/src/ipc/test/greeter_service.ipc.h",
2413    "external/perfetto/src/ipc/test/greeter_service.pb.h",
2414  ],
2415  export_include_dirs: [
2416    ".",
2417  ],
2418}
2419
2420// GN target: //src/ipc:wire_protocol_gen
2421genrule {
2422  name: "perfetto_src_ipc_wire_protocol_gen",
2423  srcs: [
2424    "src/ipc/wire_protocol.proto",
2425  ],
2426  tools: [
2427    "aprotoc",
2428  ],
2429  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2430  out: [
2431    "external/perfetto/src/ipc/wire_protocol.pb.cc",
2432  ],
2433}
2434
2435// GN target: //src/ipc:wire_protocol_gen
2436genrule {
2437  name: "perfetto_src_ipc_wire_protocol_gen_headers",
2438  srcs: [
2439    "src/ipc/wire_protocol.proto",
2440  ],
2441  tools: [
2442    "aprotoc",
2443  ],
2444  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2445  out: [
2446    "external/perfetto/src/ipc/wire_protocol.pb.h",
2447  ],
2448  export_include_dirs: [
2449    ".",
2450  ],
2451}
2452
2453// GN target: //src/perfetto_cmd:protos_gen
2454genrule {
2455  name: "perfetto_src_perfetto_cmd_protos_gen",
2456  srcs: [
2457    "src/perfetto_cmd/perfetto_cmd_state.proto",
2458  ],
2459  tools: [
2460    "aprotoc",
2461  ],
2462  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2463  out: [
2464    "external/perfetto/src/perfetto_cmd/perfetto_cmd_state.pb.cc",
2465  ],
2466}
2467
2468// GN target: //src/perfetto_cmd:protos_gen
2469genrule {
2470  name: "perfetto_src_perfetto_cmd_protos_gen_headers",
2471  srcs: [
2472    "src/perfetto_cmd/perfetto_cmd_state.proto",
2473  ],
2474  tools: [
2475    "aprotoc",
2476  ],
2477  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2478  out: [
2479    "external/perfetto/src/perfetto_cmd/perfetto_cmd_state.pb.h",
2480  ],
2481  export_include_dirs: [
2482    ".",
2483  ],
2484}
2485
2486// GN target: //src/protozero/protoc_plugin:protoc_plugin(//gn/standalone/toolchain:gcc_like_host)
2487cc_binary_host {
2488  name: "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2489  srcs: [
2490    "src/protozero/protoc_plugin/protozero_generator.cc",
2491    "src/protozero/protoc_plugin/protozero_plugin.cc",
2492  ],
2493  shared_libs: [
2494    "libprotoc",
2495  ],
2496  defaults: [
2497    "perfetto_defaults",
2498  ],
2499  cflags: [
2500    "-DGOOGLE_PROTOBUF_NO_RTTI",
2501    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
2502    "-DPERFETTO_BUILD_WITH_ANDROID",
2503  ],
2504}
2505
2506// GN target: //src/protozero:testing_messages_lite_gen
2507genrule {
2508  name: "perfetto_src_protozero_testing_messages_lite_gen",
2509  srcs: [
2510    "src/protozero/test/example_proto/library.proto",
2511    "src/protozero/test/example_proto/library_internals/galaxies.proto",
2512    "src/protozero/test/example_proto/test_messages.proto",
2513    "src/protozero/test/example_proto/upper_import.proto",
2514  ],
2515  tools: [
2516    "aprotoc",
2517  ],
2518  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2519  out: [
2520    "external/perfetto/src/protozero/test/example_proto/library.pb.cc",
2521    "external/perfetto/src/protozero/test/example_proto/library_internals/galaxies.pb.cc",
2522    "external/perfetto/src/protozero/test/example_proto/test_messages.pb.cc",
2523    "external/perfetto/src/protozero/test/example_proto/upper_import.pb.cc",
2524  ],
2525}
2526
2527// GN target: //src/protozero:testing_messages_lite_gen
2528genrule {
2529  name: "perfetto_src_protozero_testing_messages_lite_gen_headers",
2530  srcs: [
2531    "src/protozero/test/example_proto/library.proto",
2532    "src/protozero/test/example_proto/library_internals/galaxies.proto",
2533    "src/protozero/test/example_proto/test_messages.proto",
2534    "src/protozero/test/example_proto/upper_import.proto",
2535  ],
2536  tools: [
2537    "aprotoc",
2538  ],
2539  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2540  out: [
2541    "external/perfetto/src/protozero/test/example_proto/library.pb.h",
2542    "external/perfetto/src/protozero/test/example_proto/library_internals/galaxies.pb.h",
2543    "external/perfetto/src/protozero/test/example_proto/test_messages.pb.h",
2544    "external/perfetto/src/protozero/test/example_proto/upper_import.pb.h",
2545  ],
2546  export_include_dirs: [
2547    ".",
2548  ],
2549}
2550
2551// GN target: //src/protozero:testing_messages_zero_gen
2552genrule {
2553  name: "perfetto_src_protozero_testing_messages_zero_gen",
2554  srcs: [
2555    "src/protozero/test/example_proto/library.proto",
2556    "src/protozero/test/example_proto/library_internals/galaxies.proto",
2557    "src/protozero/test/example_proto/test_messages.proto",
2558    "src/protozero/test/example_proto/upper_import.proto",
2559  ],
2560  tools: [
2561    "aprotoc",
2562    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2563  ],
2564  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto $(in)",
2565  out: [
2566    "external/perfetto/src/protozero/test/example_proto/library.pbzero.cc",
2567    "external/perfetto/src/protozero/test/example_proto/library_internals/galaxies.pbzero.cc",
2568    "external/perfetto/src/protozero/test/example_proto/test_messages.pbzero.cc",
2569    "external/perfetto/src/protozero/test/example_proto/upper_import.pbzero.cc",
2570  ],
2571}
2572
2573// GN target: //src/protozero:testing_messages_zero_gen
2574genrule {
2575  name: "perfetto_src_protozero_testing_messages_zero_gen_headers",
2576  srcs: [
2577    "src/protozero/test/example_proto/library.proto",
2578    "src/protozero/test/example_proto/library_internals/galaxies.proto",
2579    "src/protozero/test/example_proto/test_messages.proto",
2580    "src/protozero/test/example_proto/upper_import.proto",
2581  ],
2582  tools: [
2583    "aprotoc",
2584    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2585  ],
2586  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto $(in)",
2587  out: [
2588    "external/perfetto/src/protozero/test/example_proto/library.pbzero.h",
2589    "external/perfetto/src/protozero/test/example_proto/library_internals/galaxies.pbzero.h",
2590    "external/perfetto/src/protozero/test/example_proto/test_messages.pbzero.h",
2591    "external/perfetto/src/protozero/test/example_proto/upper_import.pbzero.h",
2592  ],
2593  export_include_dirs: [
2594    ".",
2595  ],
2596}
2597
2598// GN target: //src/traced/probes/ftrace:test_messages_lite_gen
2599genrule {
2600  name: "perfetto_src_traced_probes_ftrace_test_messages_lite_gen",
2601  srcs: [
2602    "src/traced/probes/ftrace/test/test_messages.proto",
2603  ],
2604  tools: [
2605    "aprotoc",
2606  ],
2607  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2608  out: [
2609    "external/perfetto/src/traced/probes/ftrace/test/test_messages.pb.cc",
2610  ],
2611}
2612
2613// GN target: //src/traced/probes/ftrace:test_messages_lite_gen
2614genrule {
2615  name: "perfetto_src_traced_probes_ftrace_test_messages_lite_gen_headers",
2616  srcs: [
2617    "src/traced/probes/ftrace/test/test_messages.proto",
2618  ],
2619  tools: [
2620    "aprotoc",
2621  ],
2622  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ $(in)",
2623  out: [
2624    "external/perfetto/src/traced/probes/ftrace/test/test_messages.pb.h",
2625  ],
2626  export_include_dirs: [
2627    ".",
2628  ],
2629}
2630
2631// GN target: //src/traced/probes/ftrace:test_messages_zero_gen
2632genrule {
2633  name: "perfetto_src_traced_probes_ftrace_test_messages_zero_gen",
2634  srcs: [
2635    "src/traced/probes/ftrace/test/test_messages.proto",
2636  ],
2637  tools: [
2638    "aprotoc",
2639    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2640  ],
2641  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto $(in)",
2642  out: [
2643    "external/perfetto/src/traced/probes/ftrace/test/test_messages.pbzero.cc",
2644  ],
2645}
2646
2647// GN target: //src/traced/probes/ftrace:test_messages_zero_gen
2648genrule {
2649  name: "perfetto_src_traced_probes_ftrace_test_messages_zero_gen_headers",
2650  srcs: [
2651    "src/traced/probes/ftrace/test/test_messages.proto",
2652  ],
2653  tools: [
2654    "aprotoc",
2655    "perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_",
2656  ],
2657  cmd: "mkdir -p $(genDir)/external/perfetto && $(location aprotoc) --cpp_out=$(genDir)/external/perfetto --proto_path=external/perfetto/ --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_protoc_plugin___gn_standalone_toolchain_gcc_like_host_) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto $(in)",
2658  out: [
2659    "external/perfetto/src/traced/probes/ftrace/test/test_messages.pbzero.h",
2660  ],
2661  export_include_dirs: [
2662    ".",
2663  ],
2664}
2665
2666// GN target: //src/tracing:ipc
2667cc_library_static {
2668  name: "perfetto_src_tracing_ipc",
2669  srcs: [
2670    ":perfetto_protos_perfetto_common_lite_gen",
2671    ":perfetto_protos_perfetto_common_zero_gen",
2672    ":perfetto_protos_perfetto_config_lite_gen",
2673    ":perfetto_protos_perfetto_config_zero_gen",
2674    ":perfetto_protos_perfetto_ipc_ipc_gen",
2675    ":perfetto_protos_perfetto_trace_android_zero_gen",
2676    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
2677    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
2678    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
2679    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
2680    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
2681    ":perfetto_protos_perfetto_trace_power_zero_gen",
2682    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
2683    ":perfetto_protos_perfetto_trace_ps_zero_gen",
2684    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
2685    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
2686    ":perfetto_protos_perfetto_trace_trusted_lite_gen",
2687    ":perfetto_protos_perfetto_trace_zero_gen",
2688    ":perfetto_src_ipc_wire_protocol_gen",
2689    "src/base/event.cc",
2690    "src/base/file_utils.cc",
2691    "src/base/metatrace.cc",
2692    "src/base/paged_memory.cc",
2693    "src/base/pipe.cc",
2694    "src/base/string_splitter.cc",
2695    "src/base/string_utils.cc",
2696    "src/base/string_view.cc",
2697    "src/base/temp_file.cc",
2698    "src/base/thread_checker.cc",
2699    "src/base/thread_task_runner.cc",
2700    "src/base/time.cc",
2701    "src/base/unix_socket.cc",
2702    "src/base/unix_task_runner.cc",
2703    "src/base/virtual_destructors.cc",
2704    "src/base/watchdog_posix.cc",
2705    "src/ipc/buffered_frame_deserializer.cc",
2706    "src/ipc/client_impl.cc",
2707    "src/ipc/deferred.cc",
2708    "src/ipc/host_impl.cc",
2709    "src/ipc/service_proxy.cc",
2710    "src/ipc/virtual_destructors.cc",
2711    "src/protozero/message.cc",
2712    "src/protozero/message_handle.cc",
2713    "src/protozero/proto_decoder.cc",
2714    "src/protozero/scattered_heap_buffer.cc",
2715    "src/protozero/scattered_stream_null_delegate.cc",
2716    "src/protozero/scattered_stream_writer.cc",
2717    "src/tracing/core/android_log_config.cc",
2718    "src/tracing/core/android_power_config.cc",
2719    "src/tracing/core/chrome_config.cc",
2720    "src/tracing/core/commit_data_request.cc",
2721    "src/tracing/core/data_source_config.cc",
2722    "src/tracing/core/data_source_descriptor.cc",
2723    "src/tracing/core/ftrace_config.cc",
2724    "src/tracing/core/heapprofd_config.cc",
2725    "src/tracing/core/id_allocator.cc",
2726    "src/tracing/core/inode_file_config.cc",
2727    "src/tracing/core/null_trace_writer.cc",
2728    "src/tracing/core/observable_events.cc",
2729    "src/tracing/core/packages_list_config.cc",
2730    "src/tracing/core/packet_stream_validator.cc",
2731    "src/tracing/core/process_stats_config.cc",
2732    "src/tracing/core/shared_memory_abi.cc",
2733    "src/tracing/core/shared_memory_arbiter_impl.cc",
2734    "src/tracing/core/sliced_protobuf_input_stream.cc",
2735    "src/tracing/core/startup_trace_writer.cc",
2736    "src/tracing/core/startup_trace_writer_registry.cc",
2737    "src/tracing/core/sys_stats_config.cc",
2738    "src/tracing/core/test_config.cc",
2739    "src/tracing/core/trace_buffer.cc",
2740    "src/tracing/core/trace_config.cc",
2741    "src/tracing/core/trace_packet.cc",
2742    "src/tracing/core/trace_stats.cc",
2743    "src/tracing/core/trace_writer_impl.cc",
2744    "src/tracing/core/tracing_service_impl.cc",
2745    "src/tracing/core/virtual_destructors.cc",
2746    "src/tracing/ipc/consumer/consumer_ipc_client_impl.cc",
2747    "src/tracing/ipc/default_socket.cc",
2748    "src/tracing/ipc/posix_shared_memory.cc",
2749    "src/tracing/ipc/producer/producer_ipc_client_impl.cc",
2750    "src/tracing/ipc/service/consumer_ipc_service.cc",
2751    "src/tracing/ipc/service/producer_ipc_service.cc",
2752    "src/tracing/ipc/service/service_ipc_host_impl.cc",
2753  ],
2754  shared_libs: [
2755    "libprotobuf-cpp-lite",
2756  ],
2757  static_libs: [
2758    "libgtest_prod",
2759  ],
2760  export_include_dirs: [
2761    "include",
2762  ],
2763  generated_headers: [
2764    "perfetto_protos_perfetto_common_lite_gen_headers",
2765    "perfetto_protos_perfetto_common_zero_gen_headers",
2766    "perfetto_protos_perfetto_config_lite_gen_headers",
2767    "perfetto_protos_perfetto_config_zero_gen_headers",
2768    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
2769    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
2770    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
2771    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
2772    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
2773    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
2774    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
2775    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
2776    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
2777    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
2778    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
2779    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
2780    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
2781    "perfetto_protos_perfetto_trace_zero_gen_headers",
2782    "perfetto_src_ipc_wire_protocol_gen_headers",
2783  ],
2784  export_generated_headers: [
2785    "perfetto_protos_perfetto_common_lite_gen_headers",
2786    "perfetto_protos_perfetto_common_zero_gen_headers",
2787    "perfetto_protos_perfetto_config_lite_gen_headers",
2788    "perfetto_protos_perfetto_config_zero_gen_headers",
2789    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
2790    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
2791    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
2792    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
2793    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
2794    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
2795    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
2796    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
2797    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
2798    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
2799    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
2800    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
2801    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
2802    "perfetto_protos_perfetto_trace_zero_gen_headers",
2803    "perfetto_src_ipc_wire_protocol_gen_headers",
2804  ],
2805  defaults: [
2806    "perfetto_defaults",
2807  ],
2808  cflags: [
2809    "-DGOOGLE_PROTOBUF_NO_RTTI",
2810    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
2811    "-DPERFETTO_BUILD_WITH_ANDROID",
2812  ],
2813}
2814
2815// GN target: //:perfetto_trace_protos
2816cc_library_static {
2817  name: "perfetto_trace_protos",
2818  srcs: [
2819    ":perfetto_protos_perfetto_common_lite_gen",
2820    ":perfetto_protos_perfetto_config_lite_gen",
2821    ":perfetto_protos_perfetto_trace_android_lite_gen",
2822    ":perfetto_protos_perfetto_trace_chrome_lite_gen",
2823    ":perfetto_protos_perfetto_trace_filesystem_lite_gen",
2824    ":perfetto_protos_perfetto_trace_ftrace_lite_gen",
2825    ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
2826    ":perfetto_protos_perfetto_trace_lite_gen",
2827    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
2828    ":perfetto_protos_perfetto_trace_power_lite_gen",
2829    ":perfetto_protos_perfetto_trace_profiling_lite_gen",
2830    ":perfetto_protos_perfetto_trace_ps_lite_gen",
2831    ":perfetto_protos_perfetto_trace_sys_stats_lite_gen",
2832    ":perfetto_protos_perfetto_trace_track_event_lite_gen",
2833  ],
2834  shared_libs: [
2835    "libprotobuf-cpp-lite",
2836  ],
2837  host_supported: true,
2838  export_include_dirs: [
2839    "include",
2840  ],
2841  generated_headers: [
2842    "perfetto_protos_perfetto_common_lite_gen_headers",
2843    "perfetto_protos_perfetto_config_lite_gen_headers",
2844    "perfetto_protos_perfetto_trace_android_lite_gen_headers",
2845    "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
2846    "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
2847    "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
2848    "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
2849    "perfetto_protos_perfetto_trace_lite_gen_headers",
2850    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
2851    "perfetto_protos_perfetto_trace_power_lite_gen_headers",
2852    "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
2853    "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
2854    "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
2855    "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
2856  ],
2857  export_generated_headers: [
2858    "perfetto_protos_perfetto_common_lite_gen_headers",
2859    "perfetto_protos_perfetto_config_lite_gen_headers",
2860    "perfetto_protos_perfetto_trace_android_lite_gen_headers",
2861    "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
2862    "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
2863    "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
2864    "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
2865    "perfetto_protos_perfetto_trace_lite_gen_headers",
2866    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
2867    "perfetto_protos_perfetto_trace_power_lite_gen_headers",
2868    "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
2869    "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
2870    "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
2871    "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
2872  ],
2873  defaults: [
2874    "perfetto_defaults",
2875  ],
2876  cflags: [
2877    "-DGOOGLE_PROTOBUF_NO_RTTI",
2878    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
2879  ],
2880}
2881
2882// GN target: //:perfetto_unittests
2883cc_test {
2884  name: "perfetto_unittests",
2885  srcs: [
2886    ":perfetto_protos_perfetto_common_lite_gen",
2887    ":perfetto_protos_perfetto_common_zero_gen",
2888    ":perfetto_protos_perfetto_config_lite_gen",
2889    ":perfetto_protos_perfetto_config_zero_gen",
2890    ":perfetto_protos_perfetto_ipc_ipc_gen",
2891    ":perfetto_protos_perfetto_trace_android_lite_gen",
2892    ":perfetto_protos_perfetto_trace_android_zero_gen",
2893    ":perfetto_protos_perfetto_trace_chrome_lite_gen",
2894    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
2895    ":perfetto_protos_perfetto_trace_filesystem_lite_gen",
2896    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
2897    ":perfetto_protos_perfetto_trace_ftrace_lite_gen",
2898    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
2899    ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
2900    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
2901    ":perfetto_protos_perfetto_trace_lite_gen",
2902    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
2903    ":perfetto_protos_perfetto_trace_power_lite_gen",
2904    ":perfetto_protos_perfetto_trace_power_zero_gen",
2905    ":perfetto_protos_perfetto_trace_profiling_lite_gen",
2906    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
2907    ":perfetto_protos_perfetto_trace_ps_lite_gen",
2908    ":perfetto_protos_perfetto_trace_ps_zero_gen",
2909    ":perfetto_protos_perfetto_trace_sys_stats_lite_gen",
2910    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
2911    ":perfetto_protos_perfetto_trace_track_event_lite_gen",
2912    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
2913    ":perfetto_protos_perfetto_trace_trusted_lite_gen",
2914    ":perfetto_protos_perfetto_trace_zero_gen",
2915    ":perfetto_src_ipc_test_messages_gen",
2916    ":perfetto_src_ipc_wire_protocol_gen",
2917    ":perfetto_src_perfetto_cmd_protos_gen",
2918    ":perfetto_src_protozero_testing_messages_lite_gen",
2919    ":perfetto_src_protozero_testing_messages_zero_gen",
2920    ":perfetto_src_traced_probes_ftrace_test_messages_lite_gen",
2921    ":perfetto_src_traced_probes_ftrace_test_messages_zero_gen",
2922    "src/base/android_task_runner.cc",
2923    "src/base/circular_queue_unittest.cc",
2924    "src/base/event.cc",
2925    "src/base/file_utils.cc",
2926    "src/base/metatrace.cc",
2927    "src/base/no_destructor_unittest.cc",
2928    "src/base/optional_unittest.cc",
2929    "src/base/paged_memory.cc",
2930    "src/base/paged_memory_unittest.cc",
2931    "src/base/pipe.cc",
2932    "src/base/scoped_file_unittest.cc",
2933    "src/base/string_splitter.cc",
2934    "src/base/string_splitter_unittest.cc",
2935    "src/base/string_utils.cc",
2936    "src/base/string_utils_unittest.cc",
2937    "src/base/string_view.cc",
2938    "src/base/string_view_unittest.cc",
2939    "src/base/string_writer_unittest.cc",
2940    "src/base/task_runner_unittest.cc",
2941    "src/base/temp_file.cc",
2942    "src/base/temp_file_unittest.cc",
2943    "src/base/test/test_task_runner.cc",
2944    "src/base/test/utils.cc",
2945    "src/base/test/vm_test_utils.cc",
2946    "src/base/thread_checker.cc",
2947    "src/base/thread_checker_unittest.cc",
2948    "src/base/thread_task_runner.cc",
2949    "src/base/thread_task_runner_unittest.cc",
2950    "src/base/time.cc",
2951    "src/base/time_unittest.cc",
2952    "src/base/unix_socket.cc",
2953    "src/base/unix_socket_unittest.cc",
2954    "src/base/unix_task_runner.cc",
2955    "src/base/utils_unittest.cc",
2956    "src/base/virtual_destructors.cc",
2957    "src/base/watchdog_posix.cc",
2958    "src/base/watchdog_unittest.cc",
2959    "src/base/weak_ptr_unittest.cc",
2960    "src/ipc/buffered_frame_deserializer.cc",
2961    "src/ipc/buffered_frame_deserializer_unittest.cc",
2962    "src/ipc/client_impl.cc",
2963    "src/ipc/client_impl_unittest.cc",
2964    "src/ipc/deferred.cc",
2965    "src/ipc/deferred_unittest.cc",
2966    "src/ipc/host_impl.cc",
2967    "src/ipc/host_impl_unittest.cc",
2968    "src/ipc/service_proxy.cc",
2969    "src/ipc/test/ipc_integrationtest.cc",
2970    "src/ipc/virtual_destructors.cc",
2971    "src/perfetto_cmd/config.cc",
2972    "src/perfetto_cmd/config_unittest.cc",
2973    "src/perfetto_cmd/packet_writer.cc",
2974    "src/perfetto_cmd/packet_writer_unittest.cc",
2975    "src/perfetto_cmd/pbtxt_to_pb.cc",
2976    "src/perfetto_cmd/pbtxt_to_pb_unittest.cc",
2977    "src/perfetto_cmd/perfetto_cmd.cc",
2978    "src/perfetto_cmd/rate_limiter.cc",
2979    "src/perfetto_cmd/rate_limiter_unittest.cc",
2980    "src/perfetto_cmd/trigger_producer.cc",
2981    "src/profiling/memory/bookkeeping.cc",
2982    "src/profiling/memory/bookkeeping_unittest.cc",
2983    "src/profiling/memory/client.cc",
2984    "src/profiling/memory/client_unittest.cc",
2985    "src/profiling/memory/heapprofd_producer.cc",
2986    "src/profiling/memory/heapprofd_producer_unittest.cc",
2987    "src/profiling/memory/interner_unittest.cc",
2988    "src/profiling/memory/proc_utils.cc",
2989    "src/profiling/memory/proc_utils_unittest.cc",
2990    "src/profiling/memory/sampler_unittest.cc",
2991    "src/profiling/memory/scoped_spinlock.cc",
2992    "src/profiling/memory/shared_ring_buffer.cc",
2993    "src/profiling/memory/shared_ring_buffer_unittest.cc",
2994    "src/profiling/memory/system_property.cc",
2995    "src/profiling/memory/system_property_unittest.cc",
2996    "src/profiling/memory/unwinding.cc",
2997    "src/profiling/memory/unwinding_unittest.cc",
2998    "src/profiling/memory/wire_protocol.cc",
2999    "src/profiling/memory/wire_protocol_unittest.cc",
3000    "src/protozero/message.cc",
3001    "src/protozero/message_handle.cc",
3002    "src/protozero/message_handle_unittest.cc",
3003    "src/protozero/message_unittest.cc",
3004    "src/protozero/proto_decoder.cc",
3005    "src/protozero/proto_decoder_unittest.cc",
3006    "src/protozero/proto_utils_unittest.cc",
3007    "src/protozero/scattered_heap_buffer.cc",
3008    "src/protozero/scattered_stream_null_delegate.cc",
3009    "src/protozero/scattered_stream_writer.cc",
3010    "src/protozero/scattered_stream_writer_unittest.cc",
3011    "src/protozero/test/fake_scattered_buffer.cc",
3012    "src/protozero/test/protozero_conformance_unittest.cc",
3013    "src/traced/probes/android_log/android_log_data_source.cc",
3014    "src/traced/probes/android_log/android_log_data_source_unittest.cc",
3015    "src/traced/probes/filesystem/file_scanner.cc",
3016    "src/traced/probes/filesystem/file_scanner_unittest.cc",
3017    "src/traced/probes/filesystem/fs_mount.cc",
3018    "src/traced/probes/filesystem/fs_mount_unittest.cc",
3019    "src/traced/probes/filesystem/inode_file_data_source.cc",
3020    "src/traced/probes/filesystem/inode_file_data_source_unittest.cc",
3021    "src/traced/probes/filesystem/lru_inode_cache.cc",
3022    "src/traced/probes/filesystem/lru_inode_cache_unittest.cc",
3023    "src/traced/probes/filesystem/prefix_finder.cc",
3024    "src/traced/probes/filesystem/prefix_finder_unittest.cc",
3025    "src/traced/probes/filesystem/range_tree.cc",
3026    "src/traced/probes/filesystem/range_tree_unittest.cc",
3027    "src/traced/probes/ftrace/atrace_hal_wrapper.cc",
3028    "src/traced/probes/ftrace/atrace_wrapper.cc",
3029    "src/traced/probes/ftrace/cpu_reader.cc",
3030    "src/traced/probes/ftrace/cpu_reader_unittest.cc",
3031    "src/traced/probes/ftrace/cpu_stats_parser.cc",
3032    "src/traced/probes/ftrace/cpu_stats_parser_unittest.cc",
3033    "src/traced/probes/ftrace/event_info.cc",
3034    "src/traced/probes/ftrace/event_info_constants.cc",
3035    "src/traced/probes/ftrace/event_info_unittest.cc",
3036    "src/traced/probes/ftrace/format_parser.cc",
3037    "src/traced/probes/ftrace/format_parser_unittest.cc",
3038    "src/traced/probes/ftrace/ftrace_config.cc",
3039    "src/traced/probes/ftrace/ftrace_config_muxer.cc",
3040    "src/traced/probes/ftrace/ftrace_config_muxer_unittest.cc",
3041    "src/traced/probes/ftrace/ftrace_config_unittest.cc",
3042    "src/traced/probes/ftrace/ftrace_controller.cc",
3043    "src/traced/probes/ftrace/ftrace_controller_unittest.cc",
3044    "src/traced/probes/ftrace/ftrace_data_source.cc",
3045    "src/traced/probes/ftrace/ftrace_metadata.cc",
3046    "src/traced/probes/ftrace/ftrace_procfs.cc",
3047    "src/traced/probes/ftrace/ftrace_procfs_unittest.cc",
3048    "src/traced/probes/ftrace/ftrace_stats.cc",
3049    "src/traced/probes/ftrace/page_pool.cc",
3050    "src/traced/probes/ftrace/page_pool_unittest.cc",
3051    "src/traced/probes/ftrace/proto_translation_table.cc",
3052    "src/traced/probes/ftrace/proto_translation_table_unittest.cc",
3053    "src/traced/probes/ftrace/test/cpu_reader_support.cc",
3054    "src/traced/probes/packages_list/packages_list_data_source.cc",
3055    "src/traced/probes/packages_list/packages_list_data_source_unittest.cc",
3056    "src/traced/probes/power/android_power_data_source.cc",
3057    "src/traced/probes/probes_data_source.cc",
3058    "src/traced/probes/probes_producer.cc",
3059    "src/traced/probes/ps/process_stats_data_source.cc",
3060    "src/traced/probes/ps/process_stats_data_source_unittest.cc",
3061    "src/traced/probes/sys_stats/sys_stats_data_source.cc",
3062    "src/traced/probes/sys_stats/sys_stats_data_source_unittest.cc",
3063    "src/traced/service/lazy_producer.cc",
3064    "src/traced/service/lazy_producer_unittest.cc",
3065    "src/traced/service/service.cc",
3066    "src/tracing/core/android_log_config.cc",
3067    "src/tracing/core/android_power_config.cc",
3068    "src/tracing/core/chrome_config.cc",
3069    "src/tracing/core/commit_data_request.cc",
3070    "src/tracing/core/data_source_config.cc",
3071    "src/tracing/core/data_source_descriptor.cc",
3072    "src/tracing/core/ftrace_config.cc",
3073    "src/tracing/core/heapprofd_config.cc",
3074    "src/tracing/core/id_allocator.cc",
3075    "src/tracing/core/id_allocator_unittest.cc",
3076    "src/tracing/core/inode_file_config.cc",
3077    "src/tracing/core/null_trace_writer.cc",
3078    "src/tracing/core/null_trace_writer_unittest.cc",
3079    "src/tracing/core/observable_events.cc",
3080    "src/tracing/core/packages_list_config.cc",
3081    "src/tracing/core/packet_stream_validator.cc",
3082    "src/tracing/core/packet_stream_validator_unittest.cc",
3083    "src/tracing/core/patch_list_unittest.cc",
3084    "src/tracing/core/process_stats_config.cc",
3085    "src/tracing/core/shared_memory_abi.cc",
3086    "src/tracing/core/shared_memory_abi_unittest.cc",
3087    "src/tracing/core/shared_memory_arbiter_impl.cc",
3088    "src/tracing/core/shared_memory_arbiter_impl_unittest.cc",
3089    "src/tracing/core/sliced_protobuf_input_stream.cc",
3090    "src/tracing/core/sliced_protobuf_input_stream_unittest.cc",
3091    "src/tracing/core/startup_trace_writer.cc",
3092    "src/tracing/core/startup_trace_writer_registry.cc",
3093    "src/tracing/core/startup_trace_writer_unittest.cc",
3094    "src/tracing/core/sys_stats_config.cc",
3095    "src/tracing/core/test_config.cc",
3096    "src/tracing/core/trace_buffer.cc",
3097    "src/tracing/core/trace_buffer_unittest.cc",
3098    "src/tracing/core/trace_config.cc",
3099    "src/tracing/core/trace_packet.cc",
3100    "src/tracing/core/trace_packet_unittest.cc",
3101    "src/tracing/core/trace_stats.cc",
3102    "src/tracing/core/trace_writer_for_testing.cc",
3103    "src/tracing/core/trace_writer_impl.cc",
3104    "src/tracing/core/trace_writer_impl_unittest.cc",
3105    "src/tracing/core/tracing_service_impl.cc",
3106    "src/tracing/core/tracing_service_impl_unittest.cc",
3107    "src/tracing/core/virtual_destructors.cc",
3108    "src/tracing/ipc/posix_shared_memory_unittest.cc",
3109    "src/tracing/test/aligned_buffer_test.cc",
3110    "src/tracing/test/fake_packet.cc",
3111    "src/tracing/test/mock_consumer.cc",
3112    "src/tracing/test/mock_producer.cc",
3113    "src/tracing/test/test_shared_memory.cc",
3114    "src/tracing/test/tracing_integration_test.cc",
3115    "tools/ftrace_proto_gen/ftrace_descriptor_gen.cc",
3116    "tools/ftrace_proto_gen/ftrace_proto_gen.cc",
3117    "tools/ftrace_proto_gen/ftrace_proto_gen_unittest.cc",
3118    "tools/ftrace_proto_gen/proto_gen_utils.cc",
3119    "tools/sanitizers_unittests/sanitizers_unittest.cc",
3120  ],
3121  shared_libs: [
3122    "libandroid",
3123    "libbase",
3124    "libbinder",
3125    "liblog",
3126    "libprocinfo",
3127    "libprotobuf-cpp-full",
3128    "libprotobuf-cpp-lite",
3129    "libservices",
3130    "libunwindstack",
3131    "libutils",
3132    "libz",
3133  ],
3134  static_libs: [
3135    "libgmock",
3136    "libgtest_prod",
3137    "perfetto_src_tracing_ipc",
3138  ],
3139  generated_headers: [
3140    "perfetto_protos_perfetto_common_lite_gen_headers",
3141    "perfetto_protos_perfetto_common_zero_gen_headers",
3142    "perfetto_protos_perfetto_config_lite_gen_headers",
3143    "perfetto_protos_perfetto_config_zero_gen_headers",
3144    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
3145    "perfetto_protos_perfetto_trace_android_lite_gen_headers",
3146    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
3147    "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
3148    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
3149    "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
3150    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
3151    "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
3152    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
3153    "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
3154    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
3155    "perfetto_protos_perfetto_trace_lite_gen_headers",
3156    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
3157    "perfetto_protos_perfetto_trace_power_lite_gen_headers",
3158    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
3159    "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
3160    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
3161    "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
3162    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
3163    "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
3164    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
3165    "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
3166    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
3167    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
3168    "perfetto_protos_perfetto_trace_zero_gen_headers",
3169    "perfetto_src_ipc_test_messages_gen_headers",
3170    "perfetto_src_ipc_wire_protocol_gen_headers",
3171    "perfetto_src_perfetto_cmd_protos_gen_headers",
3172    "perfetto_src_protozero_testing_messages_lite_gen_headers",
3173    "perfetto_src_protozero_testing_messages_zero_gen_headers",
3174    "perfetto_src_traced_probes_ftrace_test_messages_lite_gen_headers",
3175    "perfetto_src_traced_probes_ftrace_test_messages_zero_gen_headers",
3176  ],
3177  defaults: [
3178    "perfetto_defaults",
3179  ],
3180  cflags: [
3181    "-DGOOGLE_PROTOBUF_NO_RTTI",
3182    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
3183    "-DHAVE_HIDDEN",
3184    "-DPERFETTO_BUILD_WITH_ANDROID",
3185    "-DUSE_MMAP",
3186    "-DZLIB_CONST",
3187  ],
3188  product_variables: {
3189    pdk: {
3190      enabled: false,
3191    },
3192  },
3193}
3194
3195// GN target: //:trace_to_text
3196cc_binary_host {
3197  name: "trace_to_text",
3198  srcs: [
3199    ":perfetto_protos_perfetto_common_lite_gen",
3200    ":perfetto_protos_perfetto_common_zero_gen",
3201    ":perfetto_protos_perfetto_config_lite_gen",
3202    ":perfetto_protos_perfetto_config_zero_gen",
3203    ":perfetto_protos_perfetto_metrics_android_zero_gen",
3204    ":perfetto_protos_perfetto_metrics_zero_gen",
3205    ":perfetto_protos_perfetto_trace_android_lite_gen",
3206    ":perfetto_protos_perfetto_trace_android_zero_gen",
3207    ":perfetto_protos_perfetto_trace_chrome_lite_gen",
3208    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
3209    ":perfetto_protos_perfetto_trace_filesystem_lite_gen",
3210    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
3211    ":perfetto_protos_perfetto_trace_ftrace_lite_gen",
3212    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
3213    ":perfetto_protos_perfetto_trace_interned_data_lite_gen",
3214    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
3215    ":perfetto_protos_perfetto_trace_lite_gen",
3216    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
3217    ":perfetto_protos_perfetto_trace_power_lite_gen",
3218    ":perfetto_protos_perfetto_trace_power_zero_gen",
3219    ":perfetto_protos_perfetto_trace_profiling_lite_gen",
3220    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
3221    ":perfetto_protos_perfetto_trace_ps_lite_gen",
3222    ":perfetto_protos_perfetto_trace_ps_zero_gen",
3223    ":perfetto_protos_perfetto_trace_sys_stats_lite_gen",
3224    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
3225    ":perfetto_protos_perfetto_trace_track_event_lite_gen",
3226    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
3227    ":perfetto_protos_perfetto_trace_zero_gen",
3228    ":perfetto_protos_third_party_pprof_lite_gen",
3229    "src/base/event.cc",
3230    "src/base/file_utils.cc",
3231    "src/base/metatrace.cc",
3232    "src/base/paged_memory.cc",
3233    "src/base/pipe.cc",
3234    "src/base/string_splitter.cc",
3235    "src/base/string_utils.cc",
3236    "src/base/string_view.cc",
3237    "src/base/temp_file.cc",
3238    "src/base/thread_checker.cc",
3239    "src/base/thread_task_runner.cc",
3240    "src/base/time.cc",
3241    "src/base/unix_task_runner.cc",
3242    "src/base/virtual_destructors.cc",
3243    "src/base/watchdog_posix.cc",
3244    "src/protozero/message.cc",
3245    "src/protozero/message_handle.cc",
3246    "src/protozero/proto_decoder.cc",
3247    "src/protozero/scattered_heap_buffer.cc",
3248    "src/protozero/scattered_stream_null_delegate.cc",
3249    "src/protozero/scattered_stream_writer.cc",
3250    "src/trace_processor/android_logs_table.cc",
3251    "src/trace_processor/args_table.cc",
3252    "src/trace_processor/args_tracker.cc",
3253    "src/trace_processor/clock_tracker.cc",
3254    "src/trace_processor/counter_definitions_table.cc",
3255    "src/trace_processor/counter_values_table.cc",
3256    "src/trace_processor/event_tracker.cc",
3257    "src/trace_processor/filtered_row_index.cc",
3258    "src/trace_processor/ftrace_descriptors.cc",
3259    "src/trace_processor/ftrace_utils.cc",
3260    "src/trace_processor/fuchsia_provider_view.cc",
3261    "src/trace_processor/fuchsia_trace_parser.cc",
3262    "src/trace_processor/fuchsia_trace_tokenizer.cc",
3263    "src/trace_processor/fuchsia_trace_utils.cc",
3264    "src/trace_processor/heap_profile_tracker.cc",
3265    "src/trace_processor/instants_table.cc",
3266    "src/trace_processor/metrics/metrics.cc",
3267    "src/trace_processor/process_table.cc",
3268    "src/trace_processor/process_tracker.cc",
3269    "src/trace_processor/proto_trace_parser.cc",
3270    "src/trace_processor/proto_trace_tokenizer.cc",
3271    "src/trace_processor/query_constraints.cc",
3272    "src/trace_processor/raw_table.cc",
3273    "src/trace_processor/row_iterators.cc",
3274    "src/trace_processor/sched_slice_table.cc",
3275    "src/trace_processor/slice_table.cc",
3276    "src/trace_processor/slice_tracker.cc",
3277    "src/trace_processor/span_join_operator_table.cc",
3278    "src/trace_processor/sql_stats_table.cc",
3279    "src/trace_processor/sqlite3_str_split.cc",
3280    "src/trace_processor/stats_table.cc",
3281    "src/trace_processor/storage_columns.cc",
3282    "src/trace_processor/storage_schema.cc",
3283    "src/trace_processor/storage_table.cc",
3284    "src/trace_processor/string_pool.cc",
3285    "src/trace_processor/string_table.cc",
3286    "src/trace_processor/syscall_tracker.cc",
3287    "src/trace_processor/table.cc",
3288    "src/trace_processor/thread_table.cc",
3289    "src/trace_processor/trace_processor.cc",
3290    "src/trace_processor/trace_processor_context.cc",
3291    "src/trace_processor/trace_processor_impl.cc",
3292    "src/trace_processor/trace_sorter.cc",
3293    "src/trace_processor/trace_storage.cc",
3294    "src/trace_processor/virtual_destructors.cc",
3295    "src/trace_processor/window_operator_table.cc",
3296    "tools/trace_to_text/main.cc",
3297    "tools/trace_to_text/proto_full_utils.cc",
3298    "tools/trace_to_text/trace_to_profile.cc",
3299    "tools/trace_to_text/trace_to_systrace.cc",
3300    "tools/trace_to_text/trace_to_text.cc",
3301    "tools/trace_to_text/utils.cc",
3302  ],
3303  shared_libs: [
3304    "liblog",
3305    "libprotobuf-cpp-full",
3306    "libprotobuf-cpp-lite",
3307  ],
3308  static_libs: [
3309    "libgtest_prod",
3310    "libsqlite",
3311  ],
3312  generated_headers: [
3313    "gen_merged_sql_metrics",
3314    "perfetto_protos_perfetto_common_lite_gen_headers",
3315    "perfetto_protos_perfetto_common_zero_gen_headers",
3316    "perfetto_protos_perfetto_config_lite_gen_headers",
3317    "perfetto_protos_perfetto_config_zero_gen_headers",
3318    "perfetto_protos_perfetto_metrics_android_zero_gen_headers",
3319    "perfetto_protos_perfetto_metrics_zero_gen_headers",
3320    "perfetto_protos_perfetto_trace_android_lite_gen_headers",
3321    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
3322    "perfetto_protos_perfetto_trace_chrome_lite_gen_headers",
3323    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
3324    "perfetto_protos_perfetto_trace_filesystem_lite_gen_headers",
3325    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
3326    "perfetto_protos_perfetto_trace_ftrace_lite_gen_headers",
3327    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
3328    "perfetto_protos_perfetto_trace_interned_data_lite_gen_headers",
3329    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
3330    "perfetto_protos_perfetto_trace_lite_gen_headers",
3331    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
3332    "perfetto_protos_perfetto_trace_power_lite_gen_headers",
3333    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
3334    "perfetto_protos_perfetto_trace_profiling_lite_gen_headers",
3335    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
3336    "perfetto_protos_perfetto_trace_ps_lite_gen_headers",
3337    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
3338    "perfetto_protos_perfetto_trace_sys_stats_lite_gen_headers",
3339    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
3340    "perfetto_protos_perfetto_trace_track_event_lite_gen_headers",
3341    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
3342    "perfetto_protos_perfetto_trace_zero_gen_headers",
3343    "perfetto_protos_third_party_pprof_lite_gen_headers",
3344  ],
3345  defaults: [
3346    "perfetto_defaults",
3347  ],
3348  cflags: [
3349    "-DGOOGLE_PROTOBUF_NO_RTTI",
3350    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
3351    "-DPERFETTO_BUILD_WITH_ANDROID",
3352  ],
3353}
3354
3355// GN target: //:traced
3356cc_binary {
3357  name: "traced",
3358  srcs: [
3359    "src/traced/service/main.cc",
3360  ],
3361  shared_libs: [
3362    "liblog",
3363    "libperfetto",
3364  ],
3365  init_rc: [
3366    "perfetto.rc",
3367  ],
3368  defaults: [
3369    "perfetto_defaults",
3370  ],
3371  cflags: [
3372    "-DPERFETTO_BUILD_WITH_ANDROID",
3373  ],
3374}
3375
3376// GN target: //:traced_probes
3377cc_binary {
3378  name: "traced_probes",
3379  srcs: [
3380    "src/traced/probes/main.cc",
3381  ],
3382  shared_libs: [
3383    "liblog",
3384    "libperfetto",
3385  ],
3386  defaults: [
3387    "perfetto_defaults",
3388  ],
3389  cflags: [
3390    "-DPERFETTO_BUILD_WITH_ANDROID",
3391  ],
3392  required: [
3393    "libperfetto_android_internal",
3394    "trigger_perfetto",
3395  ],
3396}
3397
3398// GN target: //:trigger_perfetto
3399cc_binary {
3400  name: "trigger_perfetto",
3401  srcs: [
3402    ":perfetto_protos_perfetto_common_lite_gen",
3403    ":perfetto_protos_perfetto_common_zero_gen",
3404    ":perfetto_protos_perfetto_config_lite_gen",
3405    ":perfetto_protos_perfetto_config_zero_gen",
3406    ":perfetto_protos_perfetto_ipc_ipc_gen",
3407    ":perfetto_protos_perfetto_trace_android_zero_gen",
3408    ":perfetto_protos_perfetto_trace_chrome_zero_gen",
3409    ":perfetto_protos_perfetto_trace_filesystem_zero_gen",
3410    ":perfetto_protos_perfetto_trace_ftrace_zero_gen",
3411    ":perfetto_protos_perfetto_trace_interned_data_zero_gen",
3412    ":perfetto_protos_perfetto_trace_minimal_lite_gen",
3413    ":perfetto_protos_perfetto_trace_power_zero_gen",
3414    ":perfetto_protos_perfetto_trace_profiling_zero_gen",
3415    ":perfetto_protos_perfetto_trace_ps_zero_gen",
3416    ":perfetto_protos_perfetto_trace_sys_stats_zero_gen",
3417    ":perfetto_protos_perfetto_trace_track_event_zero_gen",
3418    ":perfetto_protos_perfetto_trace_trusted_lite_gen",
3419    ":perfetto_protos_perfetto_trace_zero_gen",
3420    ":perfetto_src_ipc_wire_protocol_gen",
3421    ":perfetto_src_perfetto_cmd_protos_gen",
3422    "src/base/event.cc",
3423    "src/base/file_utils.cc",
3424    "src/base/metatrace.cc",
3425    "src/base/paged_memory.cc",
3426    "src/base/pipe.cc",
3427    "src/base/string_splitter.cc",
3428    "src/base/string_utils.cc",
3429    "src/base/string_view.cc",
3430    "src/base/temp_file.cc",
3431    "src/base/thread_checker.cc",
3432    "src/base/thread_task_runner.cc",
3433    "src/base/time.cc",
3434    "src/base/unix_socket.cc",
3435    "src/base/unix_task_runner.cc",
3436    "src/base/virtual_destructors.cc",
3437    "src/base/watchdog_posix.cc",
3438    "src/ipc/buffered_frame_deserializer.cc",
3439    "src/ipc/client_impl.cc",
3440    "src/ipc/deferred.cc",
3441    "src/ipc/host_impl.cc",
3442    "src/ipc/service_proxy.cc",
3443    "src/ipc/virtual_destructors.cc",
3444    "src/perfetto_cmd/trigger_perfetto.cc",
3445    "src/perfetto_cmd/trigger_perfetto_main.cc",
3446    "src/perfetto_cmd/trigger_producer.cc",
3447    "src/protozero/message.cc",
3448    "src/protozero/message_handle.cc",
3449    "src/protozero/proto_decoder.cc",
3450    "src/protozero/scattered_heap_buffer.cc",
3451    "src/protozero/scattered_stream_null_delegate.cc",
3452    "src/protozero/scattered_stream_writer.cc",
3453    "src/tracing/core/android_log_config.cc",
3454    "src/tracing/core/android_power_config.cc",
3455    "src/tracing/core/chrome_config.cc",
3456    "src/tracing/core/commit_data_request.cc",
3457    "src/tracing/core/data_source_config.cc",
3458    "src/tracing/core/data_source_descriptor.cc",
3459    "src/tracing/core/ftrace_config.cc",
3460    "src/tracing/core/heapprofd_config.cc",
3461    "src/tracing/core/id_allocator.cc",
3462    "src/tracing/core/inode_file_config.cc",
3463    "src/tracing/core/null_trace_writer.cc",
3464    "src/tracing/core/observable_events.cc",
3465    "src/tracing/core/packages_list_config.cc",
3466    "src/tracing/core/packet_stream_validator.cc",
3467    "src/tracing/core/process_stats_config.cc",
3468    "src/tracing/core/shared_memory_abi.cc",
3469    "src/tracing/core/shared_memory_arbiter_impl.cc",
3470    "src/tracing/core/sliced_protobuf_input_stream.cc",
3471    "src/tracing/core/startup_trace_writer.cc",
3472    "src/tracing/core/startup_trace_writer_registry.cc",
3473    "src/tracing/core/sys_stats_config.cc",
3474    "src/tracing/core/test_config.cc",
3475    "src/tracing/core/trace_buffer.cc",
3476    "src/tracing/core/trace_config.cc",
3477    "src/tracing/core/trace_packet.cc",
3478    "src/tracing/core/trace_stats.cc",
3479    "src/tracing/core/trace_writer_impl.cc",
3480    "src/tracing/core/tracing_service_impl.cc",
3481    "src/tracing/core/virtual_destructors.cc",
3482  ],
3483  shared_libs: [
3484    "liblog",
3485    "libprotobuf-cpp-lite",
3486  ],
3487  static_libs: [
3488    "libgtest_prod",
3489    "perfetto_src_tracing_ipc",
3490  ],
3491  generated_headers: [
3492    "perfetto_protos_perfetto_common_lite_gen_headers",
3493    "perfetto_protos_perfetto_common_zero_gen_headers",
3494    "perfetto_protos_perfetto_config_lite_gen_headers",
3495    "perfetto_protos_perfetto_config_zero_gen_headers",
3496    "perfetto_protos_perfetto_ipc_ipc_gen_headers",
3497    "perfetto_protos_perfetto_trace_android_zero_gen_headers",
3498    "perfetto_protos_perfetto_trace_chrome_zero_gen_headers",
3499    "perfetto_protos_perfetto_trace_filesystem_zero_gen_headers",
3500    "perfetto_protos_perfetto_trace_ftrace_zero_gen_headers",
3501    "perfetto_protos_perfetto_trace_interned_data_zero_gen_headers",
3502    "perfetto_protos_perfetto_trace_minimal_lite_gen_headers",
3503    "perfetto_protos_perfetto_trace_power_zero_gen_headers",
3504    "perfetto_protos_perfetto_trace_profiling_zero_gen_headers",
3505    "perfetto_protos_perfetto_trace_ps_zero_gen_headers",
3506    "perfetto_protos_perfetto_trace_sys_stats_zero_gen_headers",
3507    "perfetto_protos_perfetto_trace_track_event_zero_gen_headers",
3508    "perfetto_protos_perfetto_trace_trusted_lite_gen_headers",
3509    "perfetto_protos_perfetto_trace_zero_gen_headers",
3510    "perfetto_src_ipc_wire_protocol_gen_headers",
3511    "perfetto_src_perfetto_cmd_protos_gen_headers",
3512  ],
3513  defaults: [
3514    "perfetto_defaults",
3515  ],
3516  cflags: [
3517    "-DGOOGLE_PROTOBUF_NO_RTTI",
3518    "-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
3519    "-DPERFETTO_BUILD_WITH_ANDROID",
3520  ],
3521}
3522
3523// These targets are appended to the autogenerated Android.bp by tools/gen_android_bp.
3524cc_library_static {
3525  name: "perfetto_cts_deps",
3526  srcs: [
3527    "src/base/android_task_runner.cc",
3528    "src/base/test/test_task_runner.cc",
3529    "src/traced/probes/ftrace/cpu_reader.cc",
3530    "src/traced/probes/ftrace/event_info.cc",
3531    "src/traced/probes/ftrace/format_parser.cc",
3532    "src/traced/probes/ftrace/ftrace_controller.cc",
3533    "src/traced/probes/ftrace/ftrace_procfs.cc",
3534    "src/traced/probes/ftrace/proto_translation_table.cc",
3535    "src/traced/probes/probes_producer.cc",
3536    "test/end_to_end_integrationtest.cc",
3537    "test/fake_producer.cc",
3538    "test/task_runner_thread.cc",
3539    "test/test_helper.cc",
3540  ],
3541  export_include_dirs: [
3542    ".",
3543  ],
3544  shared_libs: [
3545    "libprotobuf-cpp-lite",
3546  ],
3547  static_libs: [
3548    "libgmock",
3549    "libgtest",
3550    "perfetto_src_tracing_ipc",
3551    "perfetto_trace_protos",
3552  ],
3553  cflags: [
3554    "-DPERFETTO_BUILD_WITH_ANDROID",
3555  ],
3556}
3557
3558cc_library_static {
3559  name: "perfetto_cts_jni_deps",
3560  srcs: [
3561    "src/base/android_task_runner.cc",
3562    "src/base/test/test_task_runner.cc",
3563    "test/fake_producer.cc",
3564  ],
3565  shared_libs: [
3566    "libprotobuf-cpp-lite",
3567  ],
3568  export_include_dirs: [
3569    ".",
3570  ],
3571  static_libs: [
3572    "libgtest",
3573    "perfetto_src_tracing_ipc",
3574  ],
3575  cflags: [
3576    "-DPERFETTO_BUILD_WITH_ANDROID",
3577  ],
3578}
3579
3580java_library_host {
3581  name: "perfetto_config-full",
3582  proto: {
3583      type: "full",
3584  },
3585  srcs: [
3586    "protos/perfetto/config/perfetto_config.proto",
3587  ],
3588}