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