1*795d594fSAndroid Build Coastguard Worker// 2*795d594fSAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project 3*795d594fSAndroid Build Coastguard Worker// 4*795d594fSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*795d594fSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*795d594fSAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*795d594fSAndroid Build Coastguard Worker// 8*795d594fSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*795d594fSAndroid Build Coastguard Worker// 10*795d594fSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*795d594fSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*795d594fSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*795d594fSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*795d594fSAndroid Build Coastguard Worker// limitations under the License. 15*795d594fSAndroid Build Coastguard Worker// 16*795d594fSAndroid Build Coastguard Worker 17*795d594fSAndroid Build Coastguard Workerpackage { 18*795d594fSAndroid Build Coastguard Worker // See: http://go/android-license-faq 19*795d594fSAndroid Build Coastguard Worker // A large-scale-change added 'default_applicable_licenses' to import 20*795d594fSAndroid Build Coastguard Worker // all of the 'license_kinds' from "art_license" 21*795d594fSAndroid Build Coastguard Worker // to get the below license kinds: 22*795d594fSAndroid Build Coastguard Worker // SPDX-license-identifier-Apache-2.0 23*795d594fSAndroid Build Coastguard Worker default_applicable_licenses: ["art_license"], 24*795d594fSAndroid Build Coastguard Worker default_team: "trendy_team_art_performance", 25*795d594fSAndroid Build Coastguard Worker} 26*795d594fSAndroid Build Coastguard Worker 27*795d594fSAndroid Build Coastguard Workercc_defaults { 28*795d594fSAndroid Build Coastguard Worker name: "libprofile_defaults", 29*795d594fSAndroid Build Coastguard Worker defaults: ["art_defaults"], 30*795d594fSAndroid Build Coastguard Worker host_supported: true, 31*795d594fSAndroid Build Coastguard Worker srcs: [ 32*795d594fSAndroid Build Coastguard Worker "profile/profile_boot_info.cc", 33*795d594fSAndroid Build Coastguard Worker "profile/profile_compilation_info.cc", 34*795d594fSAndroid Build Coastguard Worker ], 35*795d594fSAndroid Build Coastguard Worker target: { 36*795d594fSAndroid Build Coastguard Worker android: { 37*795d594fSAndroid Build Coastguard Worker shared_libs: [ 38*795d594fSAndroid Build Coastguard Worker "libartpalette", 39*795d594fSAndroid Build Coastguard Worker "libbase", 40*795d594fSAndroid Build Coastguard Worker "libz", 41*795d594fSAndroid Build Coastguard Worker ], 42*795d594fSAndroid Build Coastguard Worker static_libs: [ 43*795d594fSAndroid Build Coastguard Worker "libmodules-utils-build", 44*795d594fSAndroid Build Coastguard Worker // ZipArchive support, the order matters here to get all symbols. 45*795d594fSAndroid Build Coastguard Worker "libziparchive", 46*795d594fSAndroid Build Coastguard Worker ], 47*795d594fSAndroid Build Coastguard Worker export_shared_lib_headers: ["libbase"], // ART's macros.h depends on libbase's macros.h. 48*795d594fSAndroid Build Coastguard Worker export_static_lib_headers: ["libmodules-utils-build"], 49*795d594fSAndroid Build Coastguard Worker }, 50*795d594fSAndroid Build Coastguard Worker not_windows: { 51*795d594fSAndroid Build Coastguard Worker shared_libs: [ 52*795d594fSAndroid Build Coastguard Worker "libartpalette", 53*795d594fSAndroid Build Coastguard Worker "libziparchive", 54*795d594fSAndroid Build Coastguard Worker "libz", 55*795d594fSAndroid Build Coastguard Worker "libbase", 56*795d594fSAndroid Build Coastguard Worker ], 57*795d594fSAndroid Build Coastguard Worker export_shared_lib_headers: ["libbase"], // ART's macros.h depends on libbase's macros.h. 58*795d594fSAndroid Build Coastguard Worker }, 59*795d594fSAndroid Build Coastguard Worker windows: { 60*795d594fSAndroid Build Coastguard Worker cflags: ["-Wno-thread-safety"], 61*795d594fSAndroid Build Coastguard Worker static_libs: [ 62*795d594fSAndroid Build Coastguard Worker "libartpalette", 63*795d594fSAndroid Build Coastguard Worker "libziparchive", 64*795d594fSAndroid Build Coastguard Worker "libz", 65*795d594fSAndroid Build Coastguard Worker "libbase", 66*795d594fSAndroid Build Coastguard Worker ], 67*795d594fSAndroid Build Coastguard Worker export_static_lib_headers: ["libbase"], // ART's macros.h depends on libbase's macros.h. 68*795d594fSAndroid Build Coastguard Worker }, 69*795d594fSAndroid Build Coastguard Worker darwin: { 70*795d594fSAndroid Build Coastguard Worker enabled: true, 71*795d594fSAndroid Build Coastguard Worker }, 72*795d594fSAndroid Build Coastguard Worker }, 73*795d594fSAndroid Build Coastguard Worker //generated_sources: ["art_libartbase_operator_srcs"], 74*795d594fSAndroid Build Coastguard Worker export_include_dirs: ["."], 75*795d594fSAndroid Build Coastguard Worker} 76*795d594fSAndroid Build Coastguard Worker 77*795d594fSAndroid Build Coastguard Workercc_defaults { 78*795d594fSAndroid Build Coastguard Worker name: "libprofile_static_base_defaults", 79*795d594fSAndroid Build Coastguard Worker whole_static_libs: [ 80*795d594fSAndroid Build Coastguard Worker "libbase", 81*795d594fSAndroid Build Coastguard Worker "libz", 82*795d594fSAndroid Build Coastguard Worker "libziparchive", 83*795d594fSAndroid Build Coastguard Worker ], 84*795d594fSAndroid Build Coastguard Worker} 85*795d594fSAndroid Build Coastguard Worker 86*795d594fSAndroid Build Coastguard Workercc_defaults { 87*795d594fSAndroid Build Coastguard Worker name: "libprofile_static_defaults", 88*795d594fSAndroid Build Coastguard Worker defaults: [ 89*795d594fSAndroid Build Coastguard Worker "libprofile_static_base_defaults", 90*795d594fSAndroid Build Coastguard Worker "libartbase_static_defaults", 91*795d594fSAndroid Build Coastguard Worker "libdexfile_static_defaults", 92*795d594fSAndroid Build Coastguard Worker ], 93*795d594fSAndroid Build Coastguard Worker whole_static_libs: ["libprofile"], 94*795d594fSAndroid Build Coastguard Worker} 95*795d594fSAndroid Build Coastguard Worker 96*795d594fSAndroid Build Coastguard Workercc_defaults { 97*795d594fSAndroid Build Coastguard Worker name: "libprofiled_static_defaults", 98*795d594fSAndroid Build Coastguard Worker defaults: [ 99*795d594fSAndroid Build Coastguard Worker "libprofile_static_base_defaults", 100*795d594fSAndroid Build Coastguard Worker "libartbased_static_defaults", 101*795d594fSAndroid Build Coastguard Worker "libdexfiled_static_defaults", 102*795d594fSAndroid Build Coastguard Worker ], 103*795d594fSAndroid Build Coastguard Worker whole_static_libs: ["libprofiled"], 104*795d594fSAndroid Build Coastguard Worker} 105*795d594fSAndroid Build Coastguard Worker 106*795d594fSAndroid Build Coastguard Workerart_cc_library { 107*795d594fSAndroid Build Coastguard Worker name: "libprofile", 108*795d594fSAndroid Build Coastguard Worker defaults: [ 109*795d594fSAndroid Build Coastguard Worker "libprofile_defaults", 110*795d594fSAndroid Build Coastguard Worker "libart_nativeunwind_defaults", 111*795d594fSAndroid Build Coastguard Worker ], 112*795d594fSAndroid Build Coastguard Worker target: { 113*795d594fSAndroid Build Coastguard Worker android: { 114*795d594fSAndroid Build Coastguard Worker shared_libs: [ 115*795d594fSAndroid Build Coastguard Worker "libartbase", 116*795d594fSAndroid Build Coastguard Worker "libdexfile#impl", 117*795d594fSAndroid Build Coastguard Worker ], 118*795d594fSAndroid Build Coastguard Worker }, 119*795d594fSAndroid Build Coastguard Worker not_windows: { 120*795d594fSAndroid Build Coastguard Worker shared_libs: [ 121*795d594fSAndroid Build Coastguard Worker "libartbase", 122*795d594fSAndroid Build Coastguard Worker "libdexfile", 123*795d594fSAndroid Build Coastguard Worker ], 124*795d594fSAndroid Build Coastguard Worker }, 125*795d594fSAndroid Build Coastguard Worker windows: { 126*795d594fSAndroid Build Coastguard Worker enabled: true, 127*795d594fSAndroid Build Coastguard Worker shared: { 128*795d594fSAndroid Build Coastguard Worker enabled: false, 129*795d594fSAndroid Build Coastguard Worker }, 130*795d594fSAndroid Build Coastguard Worker static_libs: [ 131*795d594fSAndroid Build Coastguard Worker "libartbase", 132*795d594fSAndroid Build Coastguard Worker "libdexfile", 133*795d594fSAndroid Build Coastguard Worker ], 134*795d594fSAndroid Build Coastguard Worker }, 135*795d594fSAndroid Build Coastguard Worker }, 136*795d594fSAndroid Build Coastguard Worker apex_available: [ 137*795d594fSAndroid Build Coastguard Worker "com.android.art", 138*795d594fSAndroid Build Coastguard Worker "com.android.art.debug", 139*795d594fSAndroid Build Coastguard Worker "test_broken_com.android.art", 140*795d594fSAndroid Build Coastguard Worker ], 141*795d594fSAndroid Build Coastguard Worker} 142*795d594fSAndroid Build Coastguard Worker 143*795d594fSAndroid Build Coastguard Workerart_cc_library { 144*795d594fSAndroid Build Coastguard Worker name: "libprofiled", 145*795d594fSAndroid Build Coastguard Worker defaults: [ 146*795d594fSAndroid Build Coastguard Worker "art_debug_defaults", 147*795d594fSAndroid Build Coastguard Worker "libprofile_defaults", 148*795d594fSAndroid Build Coastguard Worker ], 149*795d594fSAndroid Build Coastguard Worker target: { 150*795d594fSAndroid Build Coastguard Worker android: { 151*795d594fSAndroid Build Coastguard Worker shared_libs: [ 152*795d594fSAndroid Build Coastguard Worker "libartbased", 153*795d594fSAndroid Build Coastguard Worker "libdexfiled#impl", 154*795d594fSAndroid Build Coastguard Worker ], 155*795d594fSAndroid Build Coastguard Worker }, 156*795d594fSAndroid Build Coastguard Worker not_windows: { 157*795d594fSAndroid Build Coastguard Worker shared_libs: [ 158*795d594fSAndroid Build Coastguard Worker "libartbased", 159*795d594fSAndroid Build Coastguard Worker "libdexfiled", 160*795d594fSAndroid Build Coastguard Worker ], 161*795d594fSAndroid Build Coastguard Worker }, 162*795d594fSAndroid Build Coastguard Worker windows: { 163*795d594fSAndroid Build Coastguard Worker static_libs: [ 164*795d594fSAndroid Build Coastguard Worker "libartbased", 165*795d594fSAndroid Build Coastguard Worker "libdexfiled", 166*795d594fSAndroid Build Coastguard Worker ], 167*795d594fSAndroid Build Coastguard Worker }, 168*795d594fSAndroid Build Coastguard Worker }, 169*795d594fSAndroid Build Coastguard Worker apex_available: [ 170*795d594fSAndroid Build Coastguard Worker "com.android.art.debug", 171*795d594fSAndroid Build Coastguard Worker ], 172*795d594fSAndroid Build Coastguard Worker} 173*795d594fSAndroid Build Coastguard Worker 174*795d594fSAndroid Build Coastguard Worker// For now many of these tests still use CommonRuntimeTest, almost universally because of 175*795d594fSAndroid Build Coastguard Worker// ScratchFile and related. 176*795d594fSAndroid Build Coastguard Worker// TODO: Remove CommonRuntimeTest dependency from these tests. 177*795d594fSAndroid Build Coastguard Workerart_cc_defaults { 178*795d594fSAndroid Build Coastguard Worker name: "art_libprofile_tests_defaults", 179*795d594fSAndroid Build Coastguard Worker device_common_data: [ 180*795d594fSAndroid Build Coastguard Worker ":art-gtest-jars-ManyMethods", 181*795d594fSAndroid Build Coastguard Worker ":art-gtest-jars-MultiDex", 182*795d594fSAndroid Build Coastguard Worker ":art-gtest-jars-ProfileTestMultiDex", 183*795d594fSAndroid Build Coastguard Worker ], 184*795d594fSAndroid Build Coastguard Worker srcs: [ 185*795d594fSAndroid Build Coastguard Worker "profile/profile_boot_info_test.cc", 186*795d594fSAndroid Build Coastguard Worker "profile/profile_compilation_info_test.cc", 187*795d594fSAndroid Build Coastguard Worker ], 188*795d594fSAndroid Build Coastguard Worker} 189*795d594fSAndroid Build Coastguard Worker 190*795d594fSAndroid Build Coastguard Worker// Version of ART gtest `art_libprofile_tests` bundled with the ART APEX on target. 191*795d594fSAndroid Build Coastguard Worker// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete. 192*795d594fSAndroid Build Coastguard Workerart_cc_test { 193*795d594fSAndroid Build Coastguard Worker name: "art_libprofile_tests", 194*795d594fSAndroid Build Coastguard Worker defaults: [ 195*795d594fSAndroid Build Coastguard Worker "art_gtest_defaults", 196*795d594fSAndroid Build Coastguard Worker "art_libprofile_tests_defaults", 197*795d594fSAndroid Build Coastguard Worker ], 198*795d594fSAndroid Build Coastguard Worker} 199*795d594fSAndroid Build Coastguard Worker 200*795d594fSAndroid Build Coastguard Worker// Standalone version of ART gtest `art_libprofile_tests`, not bundled with the ART APEX on target. 201*795d594fSAndroid Build Coastguard Workerart_cc_test { 202*795d594fSAndroid Build Coastguard Worker name: "art_standalone_libprofile_tests", 203*795d594fSAndroid Build Coastguard Worker defaults: [ 204*795d594fSAndroid Build Coastguard Worker "art_standalone_gtest_defaults", 205*795d594fSAndroid Build Coastguard Worker "art_libprofile_tests_defaults", 206*795d594fSAndroid Build Coastguard Worker ], 207*795d594fSAndroid Build Coastguard Worker} 208