xref: /aosp_15_r20/external/perfetto/src/traceconv/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/perfetto.gni")
16*6dbdd20aSAndroid Build Coastguard Workerimport("../../gn/perfetto_cc_proto_descriptor.gni")
17*6dbdd20aSAndroid Build Coastguard Workerimport("../../gn/perfetto_host_executable.gni")
18*6dbdd20aSAndroid Build Coastguard Workerimport("../../gn/test.gni")
19*6dbdd20aSAndroid Build Coastguard Workerimport("../../gn/wasm.gni")
20*6dbdd20aSAndroid Build Coastguard Worker
21*6dbdd20aSAndroid Build Coastguard Workerexecutable("traceconv") {
22*6dbdd20aSAndroid Build Coastguard Worker  testonly = true
23*6dbdd20aSAndroid Build Coastguard Worker  deps = [
24*6dbdd20aSAndroid Build Coastguard Worker    ":main",
25*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
26*6dbdd20aSAndroid Build Coastguard Worker  ]
27*6dbdd20aSAndroid Build Coastguard Worker}
28*6dbdd20aSAndroid Build Coastguard Worker
29*6dbdd20aSAndroid Build Coastguard Workersource_set("utils") {
30*6dbdd20aSAndroid Build Coastguard Worker  deps = [
31*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
32*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/protozero",
33*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/trace_processor",
34*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/perfetto/trace:zero",
35*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/perfetto/trace/interned_data:zero",
36*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/perfetto/trace/profiling:zero",
37*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling:deobfuscator",
38*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling/symbolizer",
39*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling/symbolizer:symbolize_database",
40*6dbdd20aSAndroid Build Coastguard Worker  ]
41*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [ "../../include/perfetto/ext/base" ]
42*6dbdd20aSAndroid Build Coastguard Worker  if (enable_perfetto_zlib) {
43*6dbdd20aSAndroid Build Coastguard Worker    public_deps += [ "../../gn:zlib" ]
44*6dbdd20aSAndroid Build Coastguard Worker  }
45*6dbdd20aSAndroid Build Coastguard Worker  sources = [
46*6dbdd20aSAndroid Build Coastguard Worker    "utils.cc",
47*6dbdd20aSAndroid Build Coastguard Worker    "utils.h",
48*6dbdd20aSAndroid Build Coastguard Worker  ]
49*6dbdd20aSAndroid Build Coastguard Worker}
50*6dbdd20aSAndroid Build Coastguard Worker
51*6dbdd20aSAndroid Build Coastguard Workersource_set("pprofbuilder") {
52*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [ "../../include/perfetto/profiling:pprof_builder" ]
53*6dbdd20aSAndroid Build Coastguard Worker  deps = [
54*6dbdd20aSAndroid Build Coastguard Worker    ":utils",
55*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
56*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/base",
57*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/protozero",
58*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/trace_processor",
59*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/perfetto/trace:zero",
60*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/perfetto/trace/profiling:zero",
61*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/third_party/pprof:zero",
62*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling/symbolizer",
63*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling/symbolizer:symbolize_database",
64*6dbdd20aSAndroid Build Coastguard Worker    "../../src/trace_processor/containers:containers",
65*6dbdd20aSAndroid Build Coastguard Worker  ]
66*6dbdd20aSAndroid Build Coastguard Worker  sources = [ "pprof_builder.cc" ]
67*6dbdd20aSAndroid Build Coastguard Worker}
68*6dbdd20aSAndroid Build Coastguard Worker
69*6dbdd20aSAndroid Build Coastguard Worker# Exposed in bazel builds.
70*6dbdd20aSAndroid Build Coastguard Workerstatic_library("libpprofbuilder") {
71*6dbdd20aSAndroid Build Coastguard Worker  complete_static_lib = true
72*6dbdd20aSAndroid Build Coastguard Worker  public_deps = [ ":pprofbuilder" ]
73*6dbdd20aSAndroid Build Coastguard Worker}
74*6dbdd20aSAndroid Build Coastguard Worker
75*6dbdd20aSAndroid Build Coastguard Workersource_set("lib") {
76*6dbdd20aSAndroid Build Coastguard Worker  deps = [
77*6dbdd20aSAndroid Build Coastguard Worker    ":gen_cc_trace_descriptor",
78*6dbdd20aSAndroid Build Coastguard Worker    ":gen_cc_winscope_descriptor",
79*6dbdd20aSAndroid Build Coastguard Worker    ":pprofbuilder",
80*6dbdd20aSAndroid Build Coastguard Worker    ":utils",
81*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
82*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/base",
83*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/ext/traced:sys_stats_counters",
84*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/protozero",
85*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/perfetto/trace:zero",
86*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling:deobfuscator",
87*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling/symbolizer",
88*6dbdd20aSAndroid Build Coastguard Worker    "../../src/profiling/symbolizer:symbolize_database",
89*6dbdd20aSAndroid Build Coastguard Worker    "../../src/protozero:proto_ring_buffer",
90*6dbdd20aSAndroid Build Coastguard Worker    "../../src/trace_processor:lib",
91*6dbdd20aSAndroid Build Coastguard Worker    "../../src/trace_processor:storage_minimal",
92*6dbdd20aSAndroid Build Coastguard Worker    "../../src/trace_processor/util:descriptors",
93*6dbdd20aSAndroid Build Coastguard Worker    "../../src/trace_processor/util:gzip",
94*6dbdd20aSAndroid Build Coastguard Worker    "../../src/trace_processor/util:protozero_to_text",
95*6dbdd20aSAndroid Build Coastguard Worker    "../../src/trace_processor/util:trace_type",
96*6dbdd20aSAndroid Build Coastguard Worker  ]
97*6dbdd20aSAndroid Build Coastguard Worker  sources = [
98*6dbdd20aSAndroid Build Coastguard Worker    "deobfuscate_profile.cc",
99*6dbdd20aSAndroid Build Coastguard Worker    "deobfuscate_profile.h",
100*6dbdd20aSAndroid Build Coastguard Worker    "symbolize_profile.cc",
101*6dbdd20aSAndroid Build Coastguard Worker    "symbolize_profile.h",
102*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_firefox.cc",
103*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_firefox.h",
104*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_hprof.cc",
105*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_hprof.h",
106*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_json.cc",
107*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_json.h",
108*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_profile.cc",
109*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_profile.h",
110*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_systrace.cc",
111*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_systrace.h",
112*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_text.cc",
113*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_text.h",
114*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_text.h",
115*6dbdd20aSAndroid Build Coastguard Worker    "trace_unpack.cc",
116*6dbdd20aSAndroid Build Coastguard Worker    "trace_unpack.h",
117*6dbdd20aSAndroid Build Coastguard Worker  ]
118*6dbdd20aSAndroid Build Coastguard Worker}
119*6dbdd20aSAndroid Build Coastguard Worker
120*6dbdd20aSAndroid Build Coastguard Workersource_set("main") {
121*6dbdd20aSAndroid Build Coastguard Worker  deps = [
122*6dbdd20aSAndroid Build Coastguard Worker    ":lib",
123*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
124*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/ext/base:base",
125*6dbdd20aSAndroid Build Coastguard Worker    "../base:version",
126*6dbdd20aSAndroid Build Coastguard Worker  ]
127*6dbdd20aSAndroid Build Coastguard Worker  sources = [ "main.cc" ]
128*6dbdd20aSAndroid Build Coastguard Worker}
129*6dbdd20aSAndroid Build Coastguard Worker
130*6dbdd20aSAndroid Build Coastguard Workerif (enable_perfetto_ui) {
131*6dbdd20aSAndroid Build Coastguard Worker  wasm_lib("traceconv_wasm") {
132*6dbdd20aSAndroid Build Coastguard Worker    name = "traceconv"
133*6dbdd20aSAndroid Build Coastguard Worker    deps = [
134*6dbdd20aSAndroid Build Coastguard Worker      ":main",
135*6dbdd20aSAndroid Build Coastguard Worker      "../../gn:default_deps",
136*6dbdd20aSAndroid Build Coastguard Worker    ]
137*6dbdd20aSAndroid Build Coastguard Worker  }
138*6dbdd20aSAndroid Build Coastguard Worker}
139*6dbdd20aSAndroid Build Coastguard Worker
140*6dbdd20aSAndroid Build Coastguard Workerperfetto_cc_proto_descriptor("gen_cc_trace_descriptor") {
141*6dbdd20aSAndroid Build Coastguard Worker  descriptor_name = "trace.descriptor"
142*6dbdd20aSAndroid Build Coastguard Worker  descriptor_target = "../../protos/perfetto/trace:descriptor"
143*6dbdd20aSAndroid Build Coastguard Worker}
144*6dbdd20aSAndroid Build Coastguard Worker
145*6dbdd20aSAndroid Build Coastguard Workerperfetto_cc_proto_descriptor("gen_cc_winscope_descriptor") {
146*6dbdd20aSAndroid Build Coastguard Worker  descriptor_name = "winscope.descriptor"
147*6dbdd20aSAndroid Build Coastguard Worker  descriptor_target = "../../protos/perfetto/trace/android:winscope_descriptor"
148*6dbdd20aSAndroid Build Coastguard Worker}
149*6dbdd20aSAndroid Build Coastguard Worker
150*6dbdd20aSAndroid Build Coastguard Workersource_set("integrationtests") {
151*6dbdd20aSAndroid Build Coastguard Worker  testonly = true
152*6dbdd20aSAndroid Build Coastguard Worker  deps = [
153*6dbdd20aSAndroid Build Coastguard Worker    ":lib",
154*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:default_deps",
155*6dbdd20aSAndroid Build Coastguard Worker    "../../gn:gtest_and_gmock",
156*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/base",
157*6dbdd20aSAndroid Build Coastguard Worker    "../../include/perfetto/ext/base:base",
158*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/third_party/pprof:cpp",
159*6dbdd20aSAndroid Build Coastguard Worker    "../../protos/third_party/pprof:zero",
160*6dbdd20aSAndroid Build Coastguard Worker    "../../src/base:test_support",
161*6dbdd20aSAndroid Build Coastguard Worker  ]
162*6dbdd20aSAndroid Build Coastguard Worker  sources = [
163*6dbdd20aSAndroid Build Coastguard Worker    "pprof_reader.cc",
164*6dbdd20aSAndroid Build Coastguard Worker    "pprof_reader.h",
165*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_pprof_integrationtest.cc",
166*6dbdd20aSAndroid Build Coastguard Worker    "trace_to_text_integrationtest.cc",
167*6dbdd20aSAndroid Build Coastguard Worker  ]
168*6dbdd20aSAndroid Build Coastguard Worker}
169