xref: /aosp_15_r20/external/perfetto/src/traced/service/BUILD.gn (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker# Copyright (C) 2017 The Android Open Source Project
2*6dbdd20aSAndroid Build Coastguard Worker#
3*6dbdd20aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*6dbdd20aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*6dbdd20aSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*6dbdd20aSAndroid Build Coastguard Worker#
7*6dbdd20aSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*6dbdd20aSAndroid Build Coastguard Worker#
9*6dbdd20aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*6dbdd20aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*6dbdd20aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*6dbdd20aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*6dbdd20aSAndroid Build Coastguard Worker# limitations under the License.
14*6dbdd20aSAndroid Build Coastguard Worker
15*6dbdd20aSAndroid Build Coastguard Workerimport("../../../gn/test.gni")
16*6dbdd20aSAndroid Build Coastguard Worker
17*6dbdd20aSAndroid Build Coastguard Worker# The unprivileged trace daemon that listens for Producer and Consumer
18*6dbdd20aSAndroid Build Coastguard Worker# connections, handles the coordination of the tracing sessions and owns the
19*6dbdd20aSAndroid Build Coastguard Worker# log buffers.
20*6dbdd20aSAndroid Build Coastguard Workerexecutable("traced") {
21*6dbdd20aSAndroid Build Coastguard Worker  deps = [
22*6dbdd20aSAndroid Build Coastguard Worker    # Both traced and traced_probes depend on "libprefetto" instead of directly
23*6dbdd20aSAndroid Build Coastguard Worker    # on lib. This is to reduce binary size on android builds. All the code is
24*6dbdd20aSAndroid Build Coastguard Worker    # built into libperfetto and the executables are just tiny shells that call
25*6dbdd20aSAndroid Build Coastguard Worker    # into the xxx_main() defined in the library.
26*6dbdd20aSAndroid Build Coastguard Worker    "../../../:libperfetto",
27*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
28*6dbdd20aSAndroid Build Coastguard Worker    "../../../include/perfetto/ext/traced",
29*6dbdd20aSAndroid Build Coastguard Worker  ]
30*6dbdd20aSAndroid Build Coastguard Worker  sources = [ "main.cc" ]
31*6dbdd20aSAndroid Build Coastguard Worker  assert_no_deps = [ "../../../gn:protobuf_lite" ]
32*6dbdd20aSAndroid Build Coastguard Worker}
33*6dbdd20aSAndroid Build Coastguard Worker
34*6dbdd20aSAndroid Build Coastguard Worker# Contains all the implementation but not the main() entry point. This target
35*6dbdd20aSAndroid Build Coastguard Worker# is shared both by the executable and tests.
36*6dbdd20aSAndroid Build Coastguard Workersource_set("service") {
37*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [
38*6dbdd20aSAndroid Build Coastguard Worker    "../../../include/perfetto/ext/traced",
39*6dbdd20aSAndroid Build Coastguard Worker    "../../../include/perfetto/tracing",
40*6dbdd20aSAndroid Build Coastguard Worker  ]
41*6dbdd20aSAndroid Build Coastguard Worker  deps = [
42*6dbdd20aSAndroid Build Coastguard Worker    ":builtin_producer",
43*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
44*6dbdd20aSAndroid Build Coastguard Worker    "../../base",
45*6dbdd20aSAndroid Build Coastguard Worker    "../../base:version",
46*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/core",
47*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/ipc/service",
48*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/service:service",
49*6dbdd20aSAndroid Build Coastguard Worker  ]
50*6dbdd20aSAndroid Build Coastguard Worker  if (enable_perfetto_zlib) {
51*6dbdd20aSAndroid Build Coastguard Worker    deps += [ "../../tracing/service:zlib_compressor" ]
52*6dbdd20aSAndroid Build Coastguard Worker  }
53*6dbdd20aSAndroid Build Coastguard Worker
54*6dbdd20aSAndroid Build Coastguard Worker  sources = [ "service.cc" ]
55*6dbdd20aSAndroid Build Coastguard Worker}
56*6dbdd20aSAndroid Build Coastguard Worker
57*6dbdd20aSAndroid Build Coastguard Workersource_set("builtin_producer") {
58*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [
59*6dbdd20aSAndroid Build Coastguard Worker    "../../../include/perfetto/ext/traced",
60*6dbdd20aSAndroid Build Coastguard Worker    "../../../include/perfetto/tracing",
61*6dbdd20aSAndroid Build Coastguard Worker  ]
62*6dbdd20aSAndroid Build Coastguard Worker  deps = [
63*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
64*6dbdd20aSAndroid Build Coastguard Worker    "../../../protos/perfetto/config/android:zero",
65*6dbdd20aSAndroid Build Coastguard Worker    "../../base",
66*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/core",
67*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/service:service",
68*6dbdd20aSAndroid Build Coastguard Worker  ]
69*6dbdd20aSAndroid Build Coastguard Worker
70*6dbdd20aSAndroid Build Coastguard Worker  sources = [
71*6dbdd20aSAndroid Build Coastguard Worker    "builtin_producer.cc",
72*6dbdd20aSAndroid Build Coastguard Worker    "builtin_producer.h",
73*6dbdd20aSAndroid Build Coastguard Worker  ]
74*6dbdd20aSAndroid Build Coastguard Worker}
75*6dbdd20aSAndroid Build Coastguard Worker
76*6dbdd20aSAndroid Build Coastguard Workerperfetto_unittest_source_set("unittests") {
77*6dbdd20aSAndroid Build Coastguard Worker  testonly = true
78*6dbdd20aSAndroid Build Coastguard Worker  deps = [
79*6dbdd20aSAndroid Build Coastguard Worker    ":builtin_producer",
80*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:default_deps",
81*6dbdd20aSAndroid Build Coastguard Worker    "../../../gn:gtest_and_gmock",
82*6dbdd20aSAndroid Build Coastguard Worker    "../../../protos/perfetto/config/android:cpp",
83*6dbdd20aSAndroid Build Coastguard Worker    "../../base",
84*6dbdd20aSAndroid Build Coastguard Worker    "../../base:test_support",
85*6dbdd20aSAndroid Build Coastguard Worker    "../../tracing/core",
86*6dbdd20aSAndroid Build Coastguard Worker  ]
87*6dbdd20aSAndroid Build Coastguard Worker  sources = [ "builtin_producer_unittest.cc" ]
88*6dbdd20aSAndroid Build Coastguard Worker}
89