build: Fix chrome ODR violations
Both proto2json and tracing depend on common sources (e.g. perfetto
base), which causes ODR violations in chrome. Fix by merging the two
targets.
Bug: chromium:1024267
TBR: skyostil@google.com
Change-Id: Icffd68404e1edc9f580cc819013adb67d851ab67
diff --git a/BUILD.gn b/BUILD.gn
index 965d68e..e912a12 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -211,12 +211,16 @@
component("libperfetto") {
public_configs = [ "gn:public_config" ]
deps = [
+ "src/trace_processor:export_json",
+ "src/trace_processor:storage",
"src/tracing",
]
configs -= [ "//build/config/compiler:chromium_code" ]
configs += [ "//build/config/compiler:no_chromium_code" ]
public_deps = [
+ "include/perfetto/ext/trace_processor:export_json",
"include/perfetto/ext/tracing/core",
+ "include/perfetto/trace_processor:storage",
"protos/perfetto/common:zero",
"protos/perfetto/trace:zero",
"protos/perfetto/trace/chrome:zero",
@@ -238,17 +242,4 @@
]
}
}
- component("libproto_to_json") {
- public_configs = [ "gn:public_config" ]
- deps = [
- "src/trace_processor:export_json",
- "src/trace_processor:storage",
- ]
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [ "//build/config/compiler:no_chromium_code" ]
- public_deps = [
- "include/perfetto/ext/trace_processor:export_json",
- "include/perfetto/trace_processor:storage",
- ]
- }
}