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