xref: /aosp_15_r20/external/perfetto/src/android_internal/BUILD.gn (revision 6dbdd20afdafa5e3ca9b8809fa73465d530080dc)
1*6dbdd20aSAndroid Build Coastguard Worker# Copyright (C) 2018 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/perfetto.gni")
16*6dbdd20aSAndroid Build Coastguard Worker
17*6dbdd20aSAndroid Build Coastguard Worker# This GN file should not be referenced in chromium builds.
18*6dbdd20aSAndroid Build Coastguard Workerassert(!build_with_chromium)
19*6dbdd20aSAndroid Build Coastguard Worker
20*6dbdd20aSAndroid Build Coastguard Worker# This target is supported only in in-tree builds of Android. It contains
21*6dbdd20aSAndroid Build Coastguard Worker# code that is not NDK-clean and references other repos in the Android tree.
22*6dbdd20aSAndroid Build Coastguard Worker# perfetto_build_with_android is only true when running the GN -> Android.bp
23*6dbdd20aSAndroid Build Coastguard Worker# build file translator //tools/gen_android_bp .
24*6dbdd20aSAndroid Build Coastguard Workerif (perfetto_build_with_android) {
25*6dbdd20aSAndroid Build Coastguard Worker  shared_library("libperfetto_android_internal") {
26*6dbdd20aSAndroid Build Coastguard Worker    deps = [
27*6dbdd20aSAndroid Build Coastguard Worker      ":headers",
28*6dbdd20aSAndroid Build Coastguard Worker      "../../gn:default_deps",
29*6dbdd20aSAndroid Build Coastguard Worker    ]
30*6dbdd20aSAndroid Build Coastguard Worker    sources = [
31*6dbdd20aSAndroid Build Coastguard Worker      "atrace_hal.cc",
32*6dbdd20aSAndroid Build Coastguard Worker      "health_hal.cc",
33*6dbdd20aSAndroid Build Coastguard Worker      "incident_service.cc",
34*6dbdd20aSAndroid Build Coastguard Worker      "power_stats.cc",
35*6dbdd20aSAndroid Build Coastguard Worker      "statsd.cc",
36*6dbdd20aSAndroid Build Coastguard Worker      "statsd_logging.cc",
37*6dbdd20aSAndroid Build Coastguard Worker      "tracing_service_proxy.cc",
38*6dbdd20aSAndroid Build Coastguard Worker    ]
39*6dbdd20aSAndroid Build Coastguard Worker    libs = [
40*6dbdd20aSAndroid Build Coastguard Worker      "[email protected]",
41*6dbdd20aSAndroid Build Coastguard Worker      "android.hardware.health-V2-ndk",
42*6dbdd20aSAndroid Build Coastguard Worker      "[email protected]",
43*6dbdd20aSAndroid Build Coastguard Worker      "android.hardware.power.stats-V1-cpp",
44*6dbdd20aSAndroid Build Coastguard Worker      "[email protected]",
45*6dbdd20aSAndroid Build Coastguard Worker      "statslog_perfetto",
46*6dbdd20aSAndroid Build Coastguard Worker      "statssocket",
47*6dbdd20aSAndroid Build Coastguard Worker      "cutils",
48*6dbdd20aSAndroid Build Coastguard Worker      "base",
49*6dbdd20aSAndroid Build Coastguard Worker      "binder",
50*6dbdd20aSAndroid Build Coastguard Worker      "binder_ndk",
51*6dbdd20aSAndroid Build Coastguard Worker      "log",
52*6dbdd20aSAndroid Build Coastguard Worker      "hidlbase",
53*6dbdd20aSAndroid Build Coastguard Worker      "incident",
54*6dbdd20aSAndroid Build Coastguard Worker      "services",
55*6dbdd20aSAndroid Build Coastguard Worker      "tracingproxy",
56*6dbdd20aSAndroid Build Coastguard Worker      "utils",
57*6dbdd20aSAndroid Build Coastguard Worker      "statspull",
58*6dbdd20aSAndroid Build Coastguard Worker    ]
59*6dbdd20aSAndroid Build Coastguard Worker
60*6dbdd20aSAndroid Build Coastguard Worker    # This target should never depend on any other perfetto target to avoid ODR
61*6dbdd20aSAndroid Build Coastguard Worker    # violation by doubly linking code in two .so(s) loaded in the same exe.
62*6dbdd20aSAndroid Build Coastguard Worker    assert_no_deps = [
63*6dbdd20aSAndroid Build Coastguard Worker      "../../include/*",
64*6dbdd20aSAndroid Build Coastguard Worker      "../../src/base/*",
65*6dbdd20aSAndroid Build Coastguard Worker      "../../src/tracing/*",
66*6dbdd20aSAndroid Build Coastguard Worker    ]
67*6dbdd20aSAndroid Build Coastguard Worker  }
68*6dbdd20aSAndroid Build Coastguard Worker}  # if (perfetto_build_with_android)
69*6dbdd20aSAndroid Build Coastguard Worker
70*6dbdd20aSAndroid Build Coastguard Workersource_set("headers") {
71*6dbdd20aSAndroid Build Coastguard Worker  deps = [
72*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
73*6dbdd20aSAndroid Build Coastguard Worker    "../android_stats:perfetto_atoms",
74*6dbdd20aSAndroid Build Coastguard Worker  ]
75*6dbdd20aSAndroid Build Coastguard Worker  sources = [
76*6dbdd20aSAndroid Build Coastguard Worker    "atrace_hal.h",
77*6dbdd20aSAndroid Build Coastguard Worker    "health_hal.h",
78*6dbdd20aSAndroid Build Coastguard Worker    "incident_service.h",
79*6dbdd20aSAndroid Build Coastguard Worker    "power_stats.h",
80*6dbdd20aSAndroid Build Coastguard Worker    "statsd.h",
81*6dbdd20aSAndroid Build Coastguard Worker    "statsd_logging.h",
82*6dbdd20aSAndroid Build Coastguard Worker    "tracing_service_proxy.h",
83*6dbdd20aSAndroid Build Coastguard Worker  ]
84*6dbdd20aSAndroid Build Coastguard Worker}
85*6dbdd20aSAndroid Build Coastguard Worker
86*6dbdd20aSAndroid Build Coastguard Workersource_set("lazy_library_loader") {
87*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [ ":headers" ]
88*6dbdd20aSAndroid Build Coastguard Worker  deps = [
89*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
90*6dbdd20aSAndroid Build Coastguard Worker    "../../src/base",
91*6dbdd20aSAndroid Build Coastguard Worker  ]
92*6dbdd20aSAndroid Build Coastguard Worker  sources = [
93*6dbdd20aSAndroid Build Coastguard Worker    "lazy_library_loader.cc",
94*6dbdd20aSAndroid Build Coastguard Worker    "lazy_library_loader.h",
95*6dbdd20aSAndroid Build Coastguard Worker  ]
96*6dbdd20aSAndroid Build Coastguard Worker  if (!is_win) {
97*6dbdd20aSAndroid Build Coastguard Worker    libs = [ "dl" ]
98*6dbdd20aSAndroid Build Coastguard Worker  }
99*6dbdd20aSAndroid Build Coastguard Worker}
100