Do not link producer dependencies into perfetto binary.

This reduces binary size of `perfetto` by 90K.

Bug: 71844955
Change-Id: Ia59782611ee381954a6ca2ed0f41dc19fd59ba18
diff --git a/Android.bp b/Android.bp
index 5a9fd39..211ad15 100644
--- a/Android.bp
+++ b/Android.bp
@@ -121,6 +121,8 @@
     "src/tracing/core/trace_config.cc",
     "src/tracing/core/trace_packet.cc",
     "src/tracing/core/trace_writer_impl.cc",
+    "src/tracing/ipc/consumer/consumer_ipc_client_impl.cc",
+    "src/tracing/ipc/posix_shared_memory.cc",
   ],
   shared_libs: [
     "libandroid",
@@ -132,7 +134,6 @@
   ],
   static_libs: [
     "libgtest_prod",
-    "perfetto_src_tracing_ipc",
   ],
   generated_headers: [
     "perfetto_protos_perfetto_config_config_gen_headers",
diff --git a/src/traced/perfetto_cmd/BUILD.gn b/src/traced/perfetto_cmd/BUILD.gn
index 11b2041..9778fc7 100644
--- a/src/traced/perfetto_cmd/BUILD.gn
+++ b/src/traced/perfetto_cmd/BUILD.gn
@@ -21,7 +21,7 @@
     "../../../protos/perfetto/config",
     "../../base",
     "../../protozero",
-    "../../tracing:ipc",
+    "../../tracing:ipc_consumer",
   ]
   sources = [
     "perfetto_cmd.cc",
diff --git a/src/tracing/BUILD.gn b/src/tracing/BUILD.gn
index 33d3f7f..03acfa2 100644
--- a/src/tracing/BUILD.gn
+++ b/src/tracing/BUILD.gn
@@ -76,6 +76,27 @@
   ]
 }
 
+# IPC transport: only consumer side
+# TODO(fmayer): Remove duplication between this and ipc.
+source_set("ipc_consumer") {
+  public_deps = [
+    "../../include/perfetto/tracing/core",
+    "../../include/perfetto/tracing/ipc",
+  ]
+  sources = [
+    "ipc/consumer/consumer_ipc_client_impl.cc",
+    "ipc/consumer/consumer_ipc_client_impl.h",
+    "ipc/posix_shared_memory.cc",
+    "ipc/posix_shared_memory.h",
+  ]
+  deps = [
+    ":tracing",
+    "../../gn:default_deps",
+    "../../protos/perfetto/ipc",
+    "../base",
+  ]
+}
+
 source_set("tracing_unittests") {
   testonly = true
   deps = [