1*6dbdd20aSAndroid Build Coastguard Worker# Copyright (C) 2024 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/fuzzer.gni") 16*6dbdd20aSAndroid Build Coastguard Workerimport("../../../gn/perfetto.gni") 17*6dbdd20aSAndroid Build Coastguard Workerimport("../../../gn/test.gni") 18*6dbdd20aSAndroid Build Coastguard Worker 19*6dbdd20aSAndroid Build Coastguard Workersource_set("service") { 20*6dbdd20aSAndroid Build Coastguard Worker public_deps = [ 21*6dbdd20aSAndroid Build Coastguard Worker "..:common", 22*6dbdd20aSAndroid Build Coastguard Worker "../../../include/perfetto/ext/base", 23*6dbdd20aSAndroid Build Coastguard Worker "../../../include/perfetto/ext/tracing/core", 24*6dbdd20aSAndroid Build Coastguard Worker ] 25*6dbdd20aSAndroid Build Coastguard Worker deps = [ 26*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 27*6dbdd20aSAndroid Build Coastguard Worker "../../../include/perfetto/tracing", 28*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/common:zero", 29*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/config:zero", 30*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace:zero", 31*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace/perfetto:zero", # For MetatraceWriter. 32*6dbdd20aSAndroid Build Coastguard Worker "../../android_stats", 33*6dbdd20aSAndroid Build Coastguard Worker "../../base", 34*6dbdd20aSAndroid Build Coastguard Worker "../../base:clock_snapshots", 35*6dbdd20aSAndroid Build Coastguard Worker "../../base:version", 36*6dbdd20aSAndroid Build Coastguard Worker "../../protozero/filtering:message_filter", 37*6dbdd20aSAndroid Build Coastguard Worker "../../protozero/filtering:string_filter", 38*6dbdd20aSAndroid Build Coastguard Worker "../core", 39*6dbdd20aSAndroid Build Coastguard Worker ] 40*6dbdd20aSAndroid Build Coastguard Worker sources = [ 41*6dbdd20aSAndroid Build Coastguard Worker "clock.cc", 42*6dbdd20aSAndroid Build Coastguard Worker "clock.h", 43*6dbdd20aSAndroid Build Coastguard Worker "dependencies.h", 44*6dbdd20aSAndroid Build Coastguard Worker "histogram.h", 45*6dbdd20aSAndroid Build Coastguard Worker "metatrace_writer.cc", 46*6dbdd20aSAndroid Build Coastguard Worker "metatrace_writer.h", 47*6dbdd20aSAndroid Build Coastguard Worker "packet_stream_validator.cc", 48*6dbdd20aSAndroid Build Coastguard Worker "packet_stream_validator.h", 49*6dbdd20aSAndroid Build Coastguard Worker "random.cc", 50*6dbdd20aSAndroid Build Coastguard Worker "random.h", 51*6dbdd20aSAndroid Build Coastguard Worker "trace_buffer.cc", 52*6dbdd20aSAndroid Build Coastguard Worker "trace_buffer.h", 53*6dbdd20aSAndroid Build Coastguard Worker "tracing_service_impl.cc", 54*6dbdd20aSAndroid Build Coastguard Worker "tracing_service_impl.h", 55*6dbdd20aSAndroid Build Coastguard Worker ] 56*6dbdd20aSAndroid Build Coastguard Worker if (is_android && perfetto_build_with_android) { 57*6dbdd20aSAndroid Build Coastguard Worker deps += [ 58*6dbdd20aSAndroid Build Coastguard Worker "../../android_internal:headers", 59*6dbdd20aSAndroid Build Coastguard Worker "../../android_internal:lazy_library_loader", 60*6dbdd20aSAndroid Build Coastguard Worker ] 61*6dbdd20aSAndroid Build Coastguard Worker } 62*6dbdd20aSAndroid Build Coastguard Worker} 63*6dbdd20aSAndroid Build Coastguard Worker 64*6dbdd20aSAndroid Build Coastguard Workerif (enable_perfetto_zlib) { 65*6dbdd20aSAndroid Build Coastguard Worker source_set("zlib_compressor") { 66*6dbdd20aSAndroid Build Coastguard Worker deps = [ 67*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 68*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:zlib", 69*6dbdd20aSAndroid Build Coastguard Worker "../../../include/perfetto/tracing", 70*6dbdd20aSAndroid Build Coastguard Worker "../core", 71*6dbdd20aSAndroid Build Coastguard Worker ] 72*6dbdd20aSAndroid Build Coastguard Worker sources = [ 73*6dbdd20aSAndroid Build Coastguard Worker "zlib_compressor.cc", 74*6dbdd20aSAndroid Build Coastguard Worker "zlib_compressor.h", 75*6dbdd20aSAndroid Build Coastguard Worker ] 76*6dbdd20aSAndroid Build Coastguard Worker } 77*6dbdd20aSAndroid Build Coastguard Worker} 78*6dbdd20aSAndroid Build Coastguard Worker 79*6dbdd20aSAndroid Build Coastguard Workerperfetto_unittest_source_set("unittests") { 80*6dbdd20aSAndroid Build Coastguard Worker testonly = true 81*6dbdd20aSAndroid Build Coastguard Worker deps = [ 82*6dbdd20aSAndroid Build Coastguard Worker ":service", 83*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 84*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:gtest_and_gmock", 85*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace:cpp", 86*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace:zero", 87*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace/ftrace:cpp", 88*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace/perfetto:cpp", 89*6dbdd20aSAndroid Build Coastguard Worker "../../../src/protozero/filtering:bytecode_generator", 90*6dbdd20aSAndroid Build Coastguard Worker "../../base", 91*6dbdd20aSAndroid Build Coastguard Worker "../../base:test_support", 92*6dbdd20aSAndroid Build Coastguard Worker "../core", 93*6dbdd20aSAndroid Build Coastguard Worker "../test:test_support", 94*6dbdd20aSAndroid Build Coastguard Worker ] 95*6dbdd20aSAndroid Build Coastguard Worker 96*6dbdd20aSAndroid Build Coastguard Worker if (enable_perfetto_zlib) { 97*6dbdd20aSAndroid Build Coastguard Worker deps += [ 98*6dbdd20aSAndroid Build Coastguard Worker ":zlib_compressor", 99*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:zlib", 100*6dbdd20aSAndroid Build Coastguard Worker ] 101*6dbdd20aSAndroid Build Coastguard Worker } 102*6dbdd20aSAndroid Build Coastguard Worker 103*6dbdd20aSAndroid Build Coastguard Worker sources = [ 104*6dbdd20aSAndroid Build Coastguard Worker "histogram_unittest.cc", 105*6dbdd20aSAndroid Build Coastguard Worker "packet_stream_validator_unittest.cc", 106*6dbdd20aSAndroid Build Coastguard Worker "trace_buffer_unittest.cc", 107*6dbdd20aSAndroid Build Coastguard Worker ] 108*6dbdd20aSAndroid Build Coastguard Worker 109*6dbdd20aSAndroid Build Coastguard Worker if (enable_perfetto_zlib) { 110*6dbdd20aSAndroid Build Coastguard Worker sources += [ "zlib_compressor_unittest.cc" ] 111*6dbdd20aSAndroid Build Coastguard Worker } 112*6dbdd20aSAndroid Build Coastguard Worker 113*6dbdd20aSAndroid Build Coastguard Worker # These tests rely on test_task_runner.h which 114*6dbdd20aSAndroid Build Coastguard Worker # has no Windows implementation. 115*6dbdd20aSAndroid Build Coastguard Worker if (!is_win) { 116*6dbdd20aSAndroid Build Coastguard Worker sources += [ "tracing_service_impl_unittest.cc" ] 117*6dbdd20aSAndroid Build Coastguard Worker } 118*6dbdd20aSAndroid Build Coastguard Worker} 119*6dbdd20aSAndroid Build Coastguard Worker 120*6dbdd20aSAndroid Build Coastguard Workerif (enable_perfetto_benchmarks) { 121*6dbdd20aSAndroid Build Coastguard Worker source_set("benchmarks") { 122*6dbdd20aSAndroid Build Coastguard Worker testonly = true 123*6dbdd20aSAndroid Build Coastguard Worker deps = [ 124*6dbdd20aSAndroid Build Coastguard Worker ":service", 125*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:benchmark", 126*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 127*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace:zero", 128*6dbdd20aSAndroid Build Coastguard Worker "../../../protos/perfetto/trace/ftrace:zero", 129*6dbdd20aSAndroid Build Coastguard Worker "../../protozero", 130*6dbdd20aSAndroid Build Coastguard Worker "../core", 131*6dbdd20aSAndroid Build Coastguard Worker ] 132*6dbdd20aSAndroid Build Coastguard Worker sources = [ "packet_stream_validator_benchmark.cc" ] 133*6dbdd20aSAndroid Build Coastguard Worker } 134*6dbdd20aSAndroid Build Coastguard Worker} 135*6dbdd20aSAndroid Build Coastguard Worker 136*6dbdd20aSAndroid Build Coastguard Workerperfetto_fuzzer_test("packet_stream_validator_fuzzer") { 137*6dbdd20aSAndroid Build Coastguard Worker sources = [ "packet_stream_validator_fuzzer.cc" ] 138*6dbdd20aSAndroid Build Coastguard Worker deps = [ 139*6dbdd20aSAndroid Build Coastguard Worker ":service", 140*6dbdd20aSAndroid Build Coastguard Worker "../../../gn:default_deps", 141*6dbdd20aSAndroid Build Coastguard Worker ] 142*6dbdd20aSAndroid Build Coastguard Worker} 143