1// 2// Copyright (C) 2019 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17// libartpalette-system is the implementation of the platform 18// abstraction layer for ART. It is intended to be dynamically loaded by 19// ART which now ships as an APEX and not part of the system. 20package { 21 default_applicable_licenses: ["Android-Apache-2.0"], 22} 23 24cc_library { 25 name: "libartpalette-system", 26 cpp_std: "experimental", 27 compile_multilib: "both", 28 header_libs: [ 29 "libartpalette-headers", 30 "jni_headers", 31 ], 32 host_supported: true, 33 target: { 34 android: { 35 srcs: [ 36 "palette_android.cc", 37 "palette_android_partner.cc", 38 ], 39 header_libs: ["libbase_headers"], 40 shared_libs: [ 41 "libbase", 42 "libcutils", 43 "liblog", 44 "libprocessgroup", 45 "libtombstoned_client", 46 "libselinux", 47 ], 48 static_libs: ["libc++fs"], 49 }, 50 host: { 51 header_libs: ["libbase_headers"], 52 srcs: ["palette_fake.cc"], 53 shared_libs: ["libbase"], 54 }, 55 darwin: { 56 enabled: false, 57 }, 58 windows: { 59 enabled: false, 60 }, 61 }, 62 static: { 63 enabled: false, 64 }, 65 version_script: "libartpalette.map.txt", 66 stubs: { 67 versions: [ 68 "1", 69 ], 70 symbol_file: "libartpalette.map.txt", 71 }, 72} 73 74// Definition of the extended SDK offered by the platform for mainline modules. 75// TODO: this is in the palette directory as it's only being used by ART. 76// It used to be in prebuilts/sdk/mainline, but this doesn't work for ART 77// unbundled which also includes the prebuilts/sdk git repository. We need to find 78// a better location for this SDK, see b/162706448. 79sdk { 80 name: "platform-mainline-sdk", 81 host_supported: true, 82 native_shared_libs: [ 83 "libartpalette-system", 84 ], 85 target: { 86 darwin: { 87 enabled: false, 88 }, 89 android: { 90 native_shared_libs: [ 91 "heapprofd_client_api", 92 "liblog", 93 ], 94 native_static_libs: [ 95 "libperfetto_client_experimental", 96 "perfetto_trace_protos", 97 ], 98 }, 99 not_windows: { 100 native_libs: [ 101 "liblog", 102 ], 103 } 104 }, 105} 106 107module_exports { 108 name: "platform-mainline-test-exports", 109 host_supported: false, 110 native_shared_libs: [ 111 // Required by the implementation of libartpalette-system, 112 // which ART uses in replacement of stubs in its testing environment. 113 "libtombstoned_client", 114 ], 115} 116