diff options
author | Harvey Yang <chenghaoyang@chromium.org> | 2021-10-25 14:11:50 +0800 |
---|---|---|
committer | Harvey Yang <chenghaoyang@google.com> | 2021-10-25 11:24:20 +0000 |
commit | 321c4fc44cf75660a18d64e325fda0b3d401fad1 (patch) | |
tree | d8edce7c25bcf6621c8c219d5ec81df4f55c1642 | |
parent | 970939be0b26644cc70fb4fb8a06939e26927a4e (diff) | |
download | perfetto-321c4fc44cf75660a18d64e325fda0b3d401fad1.tar.gz |
bazel: allow overriding filegroup and genrule
Adds support for overriding more rules in internal google builds.
This is to propagate non_prod rules internally to all sub-targets
that come from AOSP.
R=lalitm@google.com, primiano@google.com
CC=chinglinyu@google.com, eseckler@google.com, skyostil@google.com
Change-Id: Iec046b8813b04b2cfe798f748470ce7a2293cbf7
-rw-r--r-- | BUILD | 199 | ||||
-rw-r--r-- | BUILD.extras | 2 | ||||
-rw-r--r-- | bazel/rules.bzl | 48 | ||||
-rwxr-xr-x | tools/gen_bazel | 9 |
4 files changed, 140 insertions, 118 deletions
@@ -17,7 +17,10 @@ load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG") load( "@perfetto//bazel:rules.bzl", + "perfetto_build_config_cc_library", "perfetto_cc_binary", + "perfetto_filegroup", + "perfetto_genrule", "perfetto_cc_ipc_library", "perfetto_cc_library", "perfetto_cc_proto_descriptor", @@ -309,7 +312,7 @@ perfetto_cc_library( ) # GN target: //include/perfetto/base:base -filegroup( +perfetto_filegroup( name = "include_perfetto_base_base", srcs = [ "include/perfetto/base/build_config.h", @@ -328,7 +331,7 @@ filegroup( ) # GN target: //include/perfetto/ext/base:base -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_base_base", srcs = [ "include/perfetto/ext/base/circular_queue.h", @@ -373,7 +376,7 @@ filegroup( ) # GN target: //include/perfetto/ext/ipc:ipc -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_ipc_ipc", srcs = [ "include/perfetto/ext/ipc/async_result.h", @@ -390,7 +393,7 @@ filegroup( ) # GN target: //include/perfetto/ext/trace_processor/importers/memory_tracker:memory_tracker -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_trace_processor_importers_memory_tracker_memory_tracker", srcs = [ "include/perfetto/ext/trace_processor/importers/memory_tracker/graph.h", @@ -403,7 +406,7 @@ filegroup( ) # GN target: //include/perfetto/ext/trace_processor:export_json -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_trace_processor_export_json", srcs = [ "include/perfetto/ext/trace_processor/export_json.h", @@ -411,7 +414,7 @@ filegroup( ) # GN target: //include/perfetto/ext/traced:sys_stats_counters -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_traced_sys_stats_counters", srcs = [ "include/perfetto/ext/traced/sys_stats_counters.h", @@ -419,7 +422,7 @@ filegroup( ) # GN target: //include/perfetto/ext/traced:traced -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_traced_traced", srcs = [ "include/perfetto/ext/traced/data_source_types.h", @@ -428,7 +431,7 @@ filegroup( ) # GN target: //include/perfetto/ext/tracing/core:core -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_tracing_core_core", srcs = [ "include/perfetto/ext/tracing/core/basic_types.h", @@ -448,7 +451,7 @@ filegroup( ) # GN target: //include/perfetto/ext/tracing/ipc:ipc -filegroup( +perfetto_filegroup( name = "include_perfetto_ext_tracing_ipc_ipc", srcs = [ "include/perfetto/ext/tracing/ipc/consumer_ipc_client.h", @@ -459,7 +462,7 @@ filegroup( ) # GN target: //include/perfetto/profiling:pprof_builder -filegroup( +perfetto_filegroup( name = "include_perfetto_profiling_pprof_builder", srcs = [ "include/perfetto/profiling/pprof_builder.h", @@ -467,7 +470,7 @@ filegroup( ) # GN target: //include/perfetto/protozero:protozero -filegroup( +perfetto_filegroup( name = "include_perfetto_protozero_protozero", srcs = [ "include/perfetto/protozero/contiguous_memory_range.h", @@ -490,7 +493,7 @@ filegroup( ) # GN target: //include/perfetto/public:public -filegroup( +perfetto_filegroup( name = "include_perfetto_public_public", srcs = [ "include/perfetto/public/consumer_api.h", @@ -498,7 +501,7 @@ filegroup( ) # GN target: //include/perfetto/trace_processor:basic_types -filegroup( +perfetto_filegroup( name = "include_perfetto_trace_processor_basic_types", srcs = [ "include/perfetto/trace_processor/basic_types.h", @@ -507,7 +510,7 @@ filegroup( ) # GN target: //include/perfetto/trace_processor:storage -filegroup( +perfetto_filegroup( name = "include_perfetto_trace_processor_storage", srcs = [ "include/perfetto/trace_processor/trace_processor_storage.h", @@ -515,7 +518,7 @@ filegroup( ) # GN target: //include/perfetto/trace_processor:trace_processor -filegroup( +perfetto_filegroup( name = "include_perfetto_trace_processor_trace_processor", srcs = [ "include/perfetto/trace_processor/iterator.h", @@ -525,7 +528,7 @@ filegroup( ) # GN target: //include/perfetto/tracing/core:core -filegroup( +perfetto_filegroup( name = "include_perfetto_tracing_core_core", srcs = [ "include/perfetto/tracing/core/chrome_config.h", @@ -538,7 +541,7 @@ filegroup( ) # GN target: //include/perfetto/tracing/core:forward_decls -filegroup( +perfetto_filegroup( name = "include_perfetto_tracing_core_forward_decls", srcs = [ "include/perfetto/tracing/core/forward_decls.h", @@ -546,7 +549,7 @@ filegroup( ) # GN target: //include/perfetto/tracing:tracing -filegroup( +perfetto_filegroup( name = "include_perfetto_tracing_tracing", srcs = [ "include/perfetto/tracing/backend_type.h", @@ -591,7 +594,7 @@ filegroup( ) # GN target: //src/android_internal:headers -filegroup( +perfetto_filegroup( name = "src_android_internal_headers", srcs = [ "src/android_internal/atrace_hal.h", @@ -604,7 +607,7 @@ filegroup( ) # GN target: //src/android_internal:lazy_library_loader -filegroup( +perfetto_filegroup( name = "src_android_internal_lazy_library_loader", srcs = [ "src/android_internal/lazy_library_loader.cc", @@ -613,7 +616,7 @@ filegroup( ) # GN target: //src/android_stats:android_stats -filegroup( +perfetto_filegroup( name = "src_android_stats_android_stats", srcs = [ "src/android_stats/statsd_logging_helper.cc", @@ -622,7 +625,7 @@ filegroup( ) # GN target: //src/android_stats:perfetto_atoms -filegroup( +perfetto_filegroup( name = "src_android_stats_perfetto_atoms", srcs = [ "src/android_stats/perfetto_atoms.h", @@ -683,7 +686,7 @@ perfetto_cc_library( linkstatic = True, ) -genrule( +perfetto_genrule( name = "src_base_version_gen_h", srcs = [ "CHANGELOG", @@ -698,7 +701,7 @@ genrule( ) # GN target: //src/ipc:client -filegroup( +perfetto_filegroup( name = "src_ipc_client", srcs = [ "src/ipc/client_impl.cc", @@ -708,7 +711,7 @@ filegroup( ) # GN target: //src/ipc:common -filegroup( +perfetto_filegroup( name = "src_ipc_common", srcs = [ "src/ipc/buffered_frame_deserializer.cc", @@ -719,7 +722,7 @@ filegroup( ) # GN target: //src/ipc:host -filegroup( +perfetto_filegroup( name = "src_ipc_host", srcs = [ "src/ipc/host_impl.cc", @@ -728,7 +731,7 @@ filegroup( ) # GN target: //src/kallsyms:kallsyms -filegroup( +perfetto_filegroup( name = "src_kallsyms_kallsyms", srcs = [ "src/kallsyms/kernel_symbol_map.cc", @@ -749,7 +752,7 @@ perfetto_cc_proto_descriptor( ) # GN target: //src/perfetto_cmd:perfetto_cmd -filegroup( +perfetto_filegroup( name = "src_perfetto_cmd_perfetto_cmd", srcs = [ "src/perfetto_cmd/config.cc", @@ -766,7 +769,7 @@ filegroup( ) # GN target: //src/perfetto_cmd:trigger_producer -filegroup( +perfetto_filegroup( name = "src_perfetto_cmd_trigger_producer", srcs = [ "src/perfetto_cmd/trigger_producer.cc", @@ -775,7 +778,7 @@ filegroup( ) # GN target: //src/profiling/symbolizer:symbolize_database -filegroup( +perfetto_filegroup( name = "src_profiling_symbolizer_symbolize_database", srcs = [ "src/profiling/symbolizer/symbolize_database.cc", @@ -784,7 +787,7 @@ filegroup( ) # GN target: //src/profiling/symbolizer:symbolizer -filegroup( +perfetto_filegroup( name = "src_profiling_symbolizer_symbolizer", srcs = [ "src/profiling/symbolizer/breakpad_parser.cc", @@ -806,7 +809,7 @@ filegroup( ) # GN target: //src/profiling:deobfuscator -filegroup( +perfetto_filegroup( name = "src_profiling_deobfuscator", srcs = [ "src/profiling/deobfuscator.cc", @@ -815,7 +818,7 @@ filegroup( ) # GN target: //src/protozero/filtering:bytecode_common -filegroup( +perfetto_filegroup( name = "src_protozero_filtering_bytecode_common", srcs = [ "src/protozero/filtering/filter_bytecode_common.h", @@ -823,7 +826,7 @@ filegroup( ) # GN target: //src/protozero/filtering:bytecode_generator -filegroup( +perfetto_filegroup( name = "src_protozero_filtering_bytecode_generator", srcs = [ "src/protozero/filtering/filter_bytecode_generator.cc", @@ -832,7 +835,7 @@ filegroup( ) # GN target: //src/protozero/filtering:bytecode_parser -filegroup( +perfetto_filegroup( name = "src_protozero_filtering_bytecode_parser", srcs = [ "src/protozero/filtering/filter_bytecode_parser.cc", @@ -841,7 +844,7 @@ filegroup( ) # GN target: //src/protozero/filtering:filter_util -filegroup( +perfetto_filegroup( name = "src_protozero_filtering_filter_util", srcs = [ "src/protozero/filtering/filter_util.cc", @@ -850,7 +853,7 @@ filegroup( ) # GN target: //src/protozero/filtering:message_filter -filegroup( +perfetto_filegroup( name = "src_protozero_filtering_message_filter", srcs = [ "src/protozero/filtering/message_filter.cc", @@ -860,7 +863,7 @@ filegroup( ) # GN target: //src/protozero:proto_ring_buffer -filegroup( +perfetto_filegroup( name = "src_protozero_proto_ring_buffer", srcs = [ "src/protozero/proto_ring_buffer.cc", @@ -869,7 +872,7 @@ filegroup( ) # GN target: //src/trace_processor/analysis:analysis -filegroup( +perfetto_filegroup( name = "src_trace_processor_analysis_analysis", srcs = [ "src/trace_processor/analysis/describe_slice.cc", @@ -904,7 +907,7 @@ perfetto_cc_library( ) # GN target: //src/trace_processor/db:db -filegroup( +perfetto_filegroup( name = "src_trace_processor_db_db", srcs = [ "src/trace_processor/db/column.cc", @@ -918,7 +921,7 @@ filegroup( ) # GN target: //src/trace_processor/importers/common:common -filegroup( +perfetto_filegroup( name = "src_trace_processor_importers_common_common", srcs = [ "src/trace_processor/importers/common/args_tracker.cc", @@ -945,7 +948,7 @@ filegroup( ) # GN target: //src/trace_processor/importers/memory_tracker:graph_processor -filegroup( +perfetto_filegroup( name = "src_trace_processor_importers_memory_tracker_graph_processor", srcs = [ "src/trace_processor/importers/memory_tracker/graph.cc", @@ -1006,7 +1009,7 @@ perfetto_cc_proto_descriptor( ], ) -genrule( +perfetto_genrule( name = "src_trace_processor_metrics_gen_merged_sql_metrics", srcs = [ "src/trace_processor/metrics/android/android_batt.sql", @@ -1105,7 +1108,7 @@ genrule( ) # GN target: //src/trace_processor/metrics:lib -filegroup( +perfetto_filegroup( name = "src_trace_processor_metrics_lib", srcs = [ "src/trace_processor/metrics/metrics.cc", @@ -1114,7 +1117,7 @@ filegroup( ) # GN target: //src/trace_processor/rpc:httpd -filegroup( +perfetto_filegroup( name = "src_trace_processor_rpc_httpd", srcs = [ "src/trace_processor/rpc/httpd.cc", @@ -1123,7 +1126,7 @@ filegroup( ) # GN target: //src/trace_processor/rpc:rpc -filegroup( +perfetto_filegroup( name = "src_trace_processor_rpc_rpc", srcs = [ "src/trace_processor/rpc/query_result_serializer.cc", @@ -1134,7 +1137,7 @@ filegroup( ) # GN target: //src/trace_processor/sqlite:sqlite -filegroup( +perfetto_filegroup( name = "src_trace_processor_sqlite_sqlite", srcs = [ "src/trace_processor/sqlite/db_sqlite_table.cc", @@ -1162,7 +1165,7 @@ filegroup( ) # GN target: //src/trace_processor/storage:storage -filegroup( +perfetto_filegroup( name = "src_trace_processor_storage_storage", srcs = [ "src/trace_processor/storage/metadata.h", @@ -1173,7 +1176,7 @@ filegroup( ) # GN target: //src/trace_processor/tables:tables -filegroup( +perfetto_filegroup( name = "src_trace_processor_tables_tables", srcs = [ "src/trace_processor/tables/android_tables.h", @@ -1191,7 +1194,7 @@ filegroup( ) # GN target: //src/trace_processor/types:types -filegroup( +perfetto_filegroup( name = "src_trace_processor_types_types", srcs = [ "src/trace_processor/types/destructible.cc", @@ -1209,7 +1212,7 @@ filegroup( ) # GN target: //src/trace_processor/util:descriptors -filegroup( +perfetto_filegroup( name = "src_trace_processor_util_descriptors", srcs = [ "src/trace_processor/util/descriptors.cc", @@ -1218,7 +1221,7 @@ filegroup( ) # GN target: //src/trace_processor/util:gzip -filegroup( +perfetto_filegroup( name = "src_trace_processor_util_gzip", srcs = [ "src/trace_processor/util/gzip_utils.cc", @@ -1227,7 +1230,7 @@ filegroup( ) # GN target: //src/trace_processor/util:interned_message_view -filegroup( +perfetto_filegroup( name = "src_trace_processor_util_interned_message_view", srcs = [ "src/trace_processor/util/interned_message_view.h", @@ -1235,7 +1238,7 @@ filegroup( ) # GN target: //src/trace_processor/util:proto_to_args_parser -filegroup( +perfetto_filegroup( name = "src_trace_processor_util_proto_to_args_parser", srcs = [ "src/trace_processor/util/debug_annotation_parser.cc", @@ -1246,7 +1249,7 @@ filegroup( ) # GN target: //src/trace_processor/util:protozero_to_text -filegroup( +perfetto_filegroup( name = "src_trace_processor_util_protozero_to_text", srcs = [ "src/trace_processor/util/protozero_to_text.cc", @@ -1255,7 +1258,7 @@ filegroup( ) # GN target: //src/trace_processor/util:trace_blob_view -filegroup( +perfetto_filegroup( name = "src_trace_processor_util_trace_blob_view", srcs = [ "src/trace_processor/util/trace_blob_view.h", @@ -1263,7 +1266,7 @@ filegroup( ) # GN target: //src/trace_processor/util:util -filegroup( +perfetto_filegroup( name = "src_trace_processor_util_util", srcs = [ "src/trace_processor/util/status_macros.h", @@ -1271,7 +1274,7 @@ filegroup( ) # GN target: //src/trace_processor:export_json -filegroup( +perfetto_filegroup( name = "src_trace_processor_export_json", srcs = [ "src/trace_processor/export_json.cc", @@ -1280,7 +1283,7 @@ filegroup( ) # GN target: //src/trace_processor:ftrace_descriptors -filegroup( +perfetto_filegroup( name = "src_trace_processor_ftrace_descriptors", srcs = [ "src/trace_processor/importers/ftrace/ftrace_descriptors.cc", @@ -1289,7 +1292,7 @@ filegroup( ) # GN target: //src/trace_processor:lib -filegroup( +perfetto_filegroup( name = "src_trace_processor_lib", srcs = [ "src/trace_processor/dynamic/ancestor_generator.cc", @@ -1324,7 +1327,7 @@ filegroup( ) # GN target: //src/trace_processor:metatrace -filegroup( +perfetto_filegroup( name = "src_trace_processor_metatrace", srcs = [ "src/trace_processor/tp_metatrace.cc", @@ -1333,7 +1336,7 @@ filegroup( ) # GN target: //src/trace_processor:storage_full -filegroup( +perfetto_filegroup( name = "src_trace_processor_storage_full", srcs = [ "src/trace_processor/importers/additional_modules.cc", @@ -1406,7 +1409,7 @@ filegroup( ) # GN target: //src/trace_processor:storage_minimal -filegroup( +perfetto_filegroup( name = "src_trace_processor_storage_minimal", srcs = [ "src/trace_processor/forwarding_trace_parser.cc", @@ -1484,7 +1487,7 @@ filegroup( ) # GN target: //src/traced/probes/android_log:android_log -filegroup( +perfetto_filegroup( name = "src_traced_probes_android_log_android_log", srcs = [ "src/traced/probes/android_log/android_log_data_source.cc", @@ -1493,7 +1496,7 @@ filegroup( ) # GN target: //src/traced/probes/common:common -filegroup( +perfetto_filegroup( name = "src_traced_probes_common_common", srcs = [ "src/traced/probes/common/cpu_freq_info.cc", @@ -1502,7 +1505,7 @@ filegroup( ) # GN target: //src/traced/probes/filesystem:filesystem -filegroup( +perfetto_filegroup( name = "src_traced_probes_filesystem_filesystem", srcs = [ "src/traced/probes/filesystem/file_scanner.cc", @@ -1521,7 +1524,7 @@ filegroup( ) # GN target: //src/traced/probes/ftrace/format_parser:format_parser -filegroup( +perfetto_filegroup( name = "src_traced_probes_ftrace_format_parser_format_parser", srcs = [ "src/traced/probes/ftrace/format_parser/format_parser.cc", @@ -1530,7 +1533,7 @@ filegroup( ) # GN target: //src/traced/probes/ftrace:ftrace -filegroup( +perfetto_filegroup( name = "src_traced_probes_ftrace_ftrace", srcs = [ "src/traced/probes/ftrace/atrace_hal_wrapper.cc", @@ -1568,7 +1571,7 @@ filegroup( ) # GN target: //src/traced/probes/ftrace:ftrace_procfs -filegroup( +perfetto_filegroup( name = "src_traced_probes_ftrace_ftrace_procfs", srcs = [ "src/traced/probes/ftrace/ftrace_procfs.cc", @@ -1577,7 +1580,7 @@ filegroup( ) # GN target: //src/traced/probes/initial_display_state:initial_display_state -filegroup( +perfetto_filegroup( name = "src_traced_probes_initial_display_state_initial_display_state", srcs = [ "src/traced/probes/initial_display_state/initial_display_state_data_source.cc", @@ -1586,7 +1589,7 @@ filegroup( ) # GN target: //src/traced/probes/metatrace:metatrace -filegroup( +perfetto_filegroup( name = "src_traced_probes_metatrace_metatrace", srcs = [ "src/traced/probes/metatrace/metatrace_data_source.cc", @@ -1595,7 +1598,7 @@ filegroup( ) # GN target: //src/traced/probes/packages_list:packages_list -filegroup( +perfetto_filegroup( name = "src_traced_probes_packages_list_packages_list", srcs = [ "src/traced/probes/packages_list/packages_list_data_source.cc", @@ -1604,7 +1607,7 @@ filegroup( ) # GN target: //src/traced/probes/packages_list:packages_list_parser -filegroup( +perfetto_filegroup( name = "src_traced_probes_packages_list_packages_list_parser", srcs = [ "src/traced/probes/packages_list/packages_list_parser.cc", @@ -1613,7 +1616,7 @@ filegroup( ) # GN target: //src/traced/probes/power:power -filegroup( +perfetto_filegroup( name = "src_traced_probes_power_power", srcs = [ "src/traced/probes/power/android_power_data_source.cc", @@ -1622,7 +1625,7 @@ filegroup( ) # GN target: //src/traced/probes/ps:ps -filegroup( +perfetto_filegroup( name = "src_traced_probes_ps_ps", srcs = [ "src/traced/probes/ps/process_stats_data_source.cc", @@ -1631,7 +1634,7 @@ filegroup( ) # GN target: //src/traced/probes/sys_stats:sys_stats -filegroup( +perfetto_filegroup( name = "src_traced_probes_sys_stats_sys_stats", srcs = [ "src/traced/probes/sys_stats/sys_stats_data_source.cc", @@ -1640,7 +1643,7 @@ filegroup( ) # GN target: //src/traced/probes/system_info:system_info -filegroup( +perfetto_filegroup( name = "src_traced_probes_system_info_system_info", srcs = [ "src/traced/probes/system_info/system_info_data_source.cc", @@ -1649,7 +1652,7 @@ filegroup( ) # GN target: //src/traced/probes:data_source -filegroup( +perfetto_filegroup( name = "src_traced_probes_data_source", srcs = [ "src/traced/probes/probes_data_source.cc", @@ -1658,7 +1661,7 @@ filegroup( ) # GN target: //src/traced/probes:probes -filegroup( +perfetto_filegroup( name = "src_traced_probes_probes", srcs = [ "src/traced/probes/probes.cc", @@ -1666,7 +1669,7 @@ filegroup( ) # GN target: //src/traced/probes:probes_src -filegroup( +perfetto_filegroup( name = "src_traced_probes_probes_src", srcs = [ "src/traced/probes/kmem_activity_trigger.cc", @@ -1677,7 +1680,7 @@ filegroup( ) # GN target: //src/traced/service:service -filegroup( +perfetto_filegroup( name = "src_traced_service_service", srcs = [ "src/traced/service/builtin_producer.cc", @@ -1687,7 +1690,7 @@ filegroup( ) # GN target: //src/tracing/consumer_api_deprecated:consumer_api_deprecated -filegroup( +perfetto_filegroup( name = "src_tracing_consumer_api_deprecated_consumer_api_deprecated", srcs = [ "src/tracing/consumer_api_deprecated/consumer_api_deprecated.cc", @@ -1695,7 +1698,7 @@ filegroup( ) # GN target: //src/tracing/core:core -filegroup( +perfetto_filegroup( name = "src_tracing_core_core", srcs = [ "src/tracing/core/id_allocator.cc", @@ -1714,7 +1717,7 @@ filegroup( ) # GN target: //src/tracing/core:service -filegroup( +perfetto_filegroup( name = "src_tracing_core_service", srcs = [ "src/tracing/core/metatrace_writer.cc", @@ -1729,7 +1732,7 @@ filegroup( ) # GN target: //src/tracing/ipc/consumer:consumer -filegroup( +perfetto_filegroup( name = "src_tracing_ipc_consumer_consumer", srcs = [ "src/tracing/ipc/consumer/consumer_ipc_client_impl.cc", @@ -1738,7 +1741,7 @@ filegroup( ) # GN target: //src/tracing/ipc/producer:producer -filegroup( +perfetto_filegroup( name = "src_tracing_ipc_producer_producer", srcs = [ "src/tracing/ipc/producer/producer_ipc_client_impl.cc", @@ -1747,7 +1750,7 @@ filegroup( ) # GN target: //src/tracing/ipc/service:service -filegroup( +perfetto_filegroup( name = "src_tracing_ipc_service_service", srcs = [ "src/tracing/ipc/service/consumer_ipc_service.cc", @@ -1760,7 +1763,7 @@ filegroup( ) # GN target: //src/tracing/ipc:common -filegroup( +perfetto_filegroup( name = "src_tracing_ipc_common", srcs = [ "src/tracing/ipc/default_socket.cc", @@ -1774,7 +1777,7 @@ filegroup( ) # GN target: //src/tracing:client_api_without_backends -filegroup( +perfetto_filegroup( name = "src_tracing_client_api_without_backends", srcs = [ "src/tracing/console_interceptor.cc", @@ -1804,7 +1807,7 @@ filegroup( ) # GN target: //src/tracing:common -filegroup( +perfetto_filegroup( name = "src_tracing_common", srcs = [ "src/tracing/trace_writer_base.cc", @@ -1812,7 +1815,7 @@ filegroup( ) # GN target: //src/tracing:in_process_backend -filegroup( +perfetto_filegroup( name = "src_tracing_in_process_backend", srcs = [ "src/tracing/internal/in_process_tracing_backend.cc", @@ -1820,7 +1823,7 @@ filegroup( ) # GN target: //src/tracing:platform_impl -filegroup( +perfetto_filegroup( name = "src_tracing_platform_impl", srcs = [ "src/tracing/platform_posix.cc", @@ -1829,7 +1832,7 @@ filegroup( ) # GN target: //src/tracing:system_backend -filegroup( +perfetto_filegroup( name = "src_tracing_system_backend", srcs = [ "src/tracing/internal/system_tracing_backend.cc", @@ -1837,7 +1840,7 @@ filegroup( ) # GN target: //tools/trace_to_text:common -filegroup( +perfetto_filegroup( name = "tools_trace_to_text_common", srcs = [ "tools/trace_to_text/deobfuscate_profile.cc", @@ -1858,7 +1861,7 @@ filegroup( ) # GN target: //tools/trace_to_text:full -filegroup( +perfetto_filegroup( name = "tools_trace_to_text_full", srcs = [ "tools/trace_to_text/proto_full_utils.cc", @@ -1878,7 +1881,7 @@ perfetto_cc_proto_descriptor( ) # GN target: //tools/trace_to_text:pprofbuilder -filegroup( +perfetto_filegroup( name = "tools_trace_to_text_pprofbuilder", srcs = [ "tools/trace_to_text/pprof_builder.cc", @@ -1886,7 +1889,7 @@ filegroup( ) # GN target: //tools/trace_to_text:utils -filegroup( +perfetto_filegroup( name = "tools_trace_to_text_utils", srcs = [ "tools/trace_to_text/utils.cc", @@ -4030,7 +4033,7 @@ build_config_dir_ = "include/perfetto/base/build_configs/bazel" # Deliberately NOT a perfetto_cc_library, to avoid cyclic deps. # This is pulled as a default dep by all targets. -cc_library( +perfetto_build_config_cc_library( name = "build_config_hdr", hdrs = [build_config_dir_ + "/perfetto_build_flags.h"], includes = [build_config_dir_], diff --git a/BUILD.extras b/BUILD.extras index be5aa90d1..6b31fb261 100644 --- a/BUILD.extras +++ b/BUILD.extras @@ -2,7 +2,7 @@ build_config_dir_ = "include/perfetto/base/build_configs/bazel" # Deliberately NOT a perfetto_cc_library, to avoid cyclic deps. # This is pulled as a default dep by all targets. -cc_library( +perfetto_build_config_cc_library( name = "build_config_hdr", hdrs = [build_config_dir_ + "/perfetto_build_flags.h"], includes = [build_config_dir_], diff --git a/bazel/rules.bzl b/bazel/rules.bzl index 4503867b8..d1912979b 100644 --- a/bazel/rules.bzl +++ b/bazel/rules.bzl @@ -34,6 +34,18 @@ def default_cc_args(): }), } +def perfetto_build_config_cc_library(**kwargs): + if not _rule_override("cc_library", **kwargs): + native.cc_library(**kwargs) + +def perfetto_filegroup(**kwargs): + if not _rule_override("filegroup", **kwargs): + native.filegroup(**kwargs) + +def perfetto_genrule(**kwargs): + if not _rule_override("genrule", **kwargs): + native.genrule(**kwargs) + def perfetto_cc_library(**kwargs): args = _merge_dicts(default_cc_args(), kwargs) if not _rule_override("cc_library", **args): @@ -104,17 +116,19 @@ def perfetto_cc_protozero_library(name, deps, **kwargs): if len(_proto_deps) != 1: fail("Too many proto deps for target %s" % name) - proto_gen( - name = name + "_src", - deps = _proto_deps, - suffix = "pbzero", - plugin = PERFETTO_CONFIG.root + ":protozero_plugin", - wrapper_namespace = "pbzero", - protoc = PERFETTO_CONFIG.deps.protoc[0], - root = PERFETTO_CONFIG.root, - ) + args = { + 'name': name + "_src", + 'deps': _proto_deps, + 'suffix': "pbzero", + 'plugin': PERFETTO_CONFIG.root + ":protozero_plugin", + 'wrapper_namespace': "pbzero", + 'protoc': PERFETTO_CONFIG.deps.protoc[0], + 'root': PERFETTO_CONFIG.root, + } + if not _rule_override("proto_gen", **args): + proto_gen(**args) - native.filegroup( + perfetto_filegroup( name = name + "_h", srcs = [":" + name + "_src"], output_group = "h", @@ -225,11 +239,13 @@ def perfetto_cc_protocpp_library(name, deps, **kwargs): ) def perfetto_proto_descriptor(name, deps, outs, **kwargs): - proto_descriptor_gen( - name = name, - deps = deps, - outs = outs, - ) + args = { + 'name': name, + 'deps': deps, + 'outs': outs, + } + if not _rule_override("proto_descriptor_gen", **args): + proto_descriptor_gen(**args) # Generator .descriptor.h from protos def perfetto_cc_proto_descriptor(name, deps, outs, **kwargs): @@ -239,7 +255,7 @@ def perfetto_cc_proto_descriptor(name, deps, outs, **kwargs): "--gen_dir=$(GENDIR)", "$<" ] - native.genrule( + perfetto_genrule( name = name + "_gen", cmd = " ".join(cmd), exec_tools = [ diff --git a/tools/gen_bazel b/tools/gen_bazel index 9257d75bb..fa77498a0 100755 --- a/tools/gen_bazel +++ b/tools/gen_bazel @@ -117,7 +117,7 @@ external_deps = { def gen_sql_metrics(target): - label = BazelLabel(get_bazel_label_name(target.name), 'genrule') + label = BazelLabel(get_bazel_label_name(target.name), 'perfetto_genrule') label.srcs += [re.sub('^//', '', x) for x in sorted(target.inputs)] label.outs += target.outputs label.cmd = r'$(location gen_merged_sql_metrics_py) --cpp_out=$@ $(SRCS)' @@ -126,7 +126,7 @@ def gen_sql_metrics(target): def gen_version_header(target): - label = BazelLabel(get_bazel_label_name(target.name), 'genrule') + label = BazelLabel(get_bazel_label_name(target.name), 'perfetto_genrule') label.srcs += [re.sub('^//', '', x) for x in sorted(target.inputs)] label.outs += target.outputs label.cmd = r'$(location gen_version_header_py)' @@ -360,7 +360,7 @@ def gen_target(gn_target): elif gn_target.type == 'static_library': bazel_type = 'perfetto_cc_library' elif gn_target.type == 'source_set': - bazel_type = 'filegroup' + bazel_type = 'perfetto_filegroup' else: raise Error('target type not supported: %s' % gn_target.type) @@ -449,7 +449,10 @@ def generate_build(gn_desc, targets, extras): load("@perfetto_cfg//:perfetto_cfg.bzl", "PERFETTO_CONFIG") load( "@perfetto//bazel:rules.bzl", + "perfetto_build_config_cc_library", "perfetto_cc_binary", + "perfetto_filegroup", + "perfetto_genrule", "perfetto_cc_ipc_library", "perfetto_cc_library", "perfetto_cc_proto_descriptor", |