| # Copyright (C) 2018 The Android Open Source Project | |
| # | |
| # Licensed under the Apache License, Version 2.0 (the "License"); | |
| # you may not use this file except in compliance with the License. | |
| # You may obtain a copy of the License at | |
| # | |
| # http://www.apache.org/licenses/LICENSE-2.0 | |
| # | |
| # Unless required by applicable law or agreed to in writing, software | |
| # distributed under the License is distributed on an "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| # See the License for the specific language governing permissions and | |
| # limitations under the License. | |
| import("../../gn/perfetto.gni") | |
| # This GN file should not be referenced in chromium builds. | |
| assert(!build_with_chromium) | |
| # This target is supported only in in-tree builds of Android. It contains | |
| # code that is not NDK-clean and references other repos in the Android tree. | |
| # perfetto_build_with_android is only true when running the GN -> Android.bp | |
| # build file translator //tools/gen_android_bp . | |
| if (perfetto_build_with_android) { | |
| shared_library("libperfetto_android_internal") { | |
| deps = [ | |
| ":headers", | |
| "../../gn:default_deps", | |
| ] | |
| sources = [ | |
| "atrace_hal.cc", | |
| "cpu_time_in_state.cc", | |
| "health_hal.cc", | |
| "incident_service.cc", | |
| "power_stats.cc", | |
| "statsd.cc", | |
| "statsd_logging.cc", | |
| "suspend_control_service.cc", | |
| "tracing_service_proxy.cc", | |
| ] | |
| libs = [ | |
| "android.hardware.health@2.0", | |
| "android.hardware.health-V5-ndk", | |
| "android.hardware.power.stats@1.0", | |
| "android.hardware.power.stats-V1-cpp", | |
| "android.hardware.atrace@1.0", | |
| "android.system.suspend.control.internal-cpp", | |
| "statslog_perfetto", | |
| "statssocket", | |
| "cutils", | |
| "base", | |
| "binder", | |
| "binder_ndk", | |
| "log", | |
| "hidlbase", | |
| "incident", | |
| "services", | |
| "timeinstate", | |
| "tracingproxy", | |
| "utils", | |
| "statspull", | |
| ] | |
| # This target should never depend on any other perfetto target to avoid ODR | |
| # violation by doubly linking code in two .so(s) loaded in the same exe. | |
| assert_no_deps = [ | |
| "../../include/*", | |
| "../../src/base/*", | |
| "../../src/tracing/*", | |
| ] | |
| assert_no_deps += [ "../../buildtools:abseil_cpp" ] | |
| } | |
| } # if (perfetto_build_with_android) | |
| source_set("headers") { | |
| deps = [ | |
| "../../gn:default_deps", | |
| "../android_stats:perfetto_atoms", | |
| ] | |
| sources = [ | |
| "atrace_hal.h", | |
| "cpu_time_in_state.h", | |
| "health_hal.h", | |
| "incident_service.h", | |
| "power_stats.h", | |
| "statsd.h", | |
| "statsd_logging.h", | |
| "suspend_control_service.h", | |
| "tracing_service_proxy.h", | |
| ] | |
| } | |
| source_set("lazy_library_loader") { | |
| public_deps = [ ":headers" ] | |
| deps = [ | |
| "../../gn:default_deps", | |
| "../../src/base", | |
| ] | |
| sources = [ | |
| "lazy_library_loader.cc", | |
| "lazy_library_loader.h", | |
| ] | |
| if (!is_win) { | |
| libs = [ "dl" ] | |
| } | |
| } |