Make trace_processor a host-only target
The trace_processor_shell target is currently very confusing:
it pretends to be a host + device target, but in reality it uses
libprotobuf-full and libprotoc (for dynamic metrics .proto loading)
which is forbidden on-device.
This CL clearly makes trace_processor a host-only target. It also
cleans up some GN files, removing the testonly attribute (and
related hacks in gen_android_bp) and restricting protobuf-full to
host tools only via visibility rules.
It also makes the dependency on libprotoc explicit. It will be
needed by Bazel builds.
Bug: 140126865
Change-Id: Ic8a7827ae83d0ef6c4a607566c732a8798379762
diff --git a/Android.bp b/Android.bp
index a92e98e..73cbcec 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4537,7 +4537,7 @@
}
// GN target: //src/trace_processor:trace_processor_shell
-cc_binary {
+cc_binary_host {
name: "trace_processor_shell",
srcs: [
":perfetto_protos_perfetto_common_zero_gen",
@@ -4660,10 +4660,12 @@
],
shared_libs: [
"liblog",
- "libprotobuf-cpp-full",
+ "libprotoc",
"libz",
],
- host_supported: true,
+ static_libs: [
+ "libsqlite",
+ ],
generated_headers: [
"gen_merged_sql_metrics",
"perfetto_protos_perfetto_common_zero_gen_headers",
@@ -4702,21 +4704,6 @@
"-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
"-DHAVE_HIDDEN",
],
- target: {
- android: {
- shared_libs: [
- "libandroidicu",
- "liblog",
- "libsqlite",
- "libutils",
- ],
- },
- host: {
- static_libs: [
- "libsqlite",
- ],
- },
- },
}
// GN target: //tools/trace_to_text:trace_to_text