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