blob: fee4a3f370f5ec815589fa758c0d2eba0c72b1cf [file] [log] [blame]
Orion Hodson3bdec1c2019-12-02 10:37:35 +00001//
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.
Bob Badour9ff231e2021-02-12 15:40:44 -080020package {
21 default_applicable_licenses: ["Android-Apache-2.0"],
22}
23
Orion Hodson3bdec1c2019-12-02 10:37:35 +000024cc_library {
25 name: "libartpalette-system",
Orion Hodson4894a472020-12-04 16:01:27 +000026 cpp_std: "experimental",
Orion Hodson3bdec1c2019-12-02 10:37:35 +000027 compile_multilib: "both",
Nicolas Geoffrayd9b89c92021-04-20 15:50:04 +000028 header_libs: [
29 "libartpalette-headers",
30 "jni_headers",
31 ],
Orion Hodson3bdec1c2019-12-02 10:37:35 +000032 host_supported: true,
33 target: {
34 android: {
Nicolas Geoffrayce6fbce2021-06-02 18:07:01 +010035 srcs: [
36 "palette_android.cc",
37 "palette_android_partner.cc",
38 ],
Orion Hodson3bdec1c2019-12-02 10:37:35 +000039 header_libs: ["libbase_headers"],
40 shared_libs: [
41 "libbase",
42 "libcutils",
43 "liblog",
44 "libprocessgroup",
45 "libtombstoned_client",
Orion Hodson4894a472020-12-04 16:01:27 +000046 "libselinux",
Orion Hodson3bdec1c2019-12-02 10:37:35 +000047 ],
Orion Hodson4894a472020-12-04 16:01:27 +000048 static_libs: ["libc++fs"],
Orion Hodson3bdec1c2019-12-02 10:37:35 +000049 },
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",
Nicolas Geoffray3decb0b2020-03-06 16:23:38 +000066 stubs: {
67 versions: [
68 "1",
69 ],
70 symbol_file: "libartpalette.map.txt",
71 },
Orion Hodson3bdec1c2019-12-02 10:37:35 +000072}
Nicolas Geoffray724d2712020-07-31 15:51:32 +010073
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",
Nicolas Geoffray724d2712020-07-31 15:51:32 +010084 ],
85 target: {
86 darwin: {
87 enabled: false,
88 },
Nicolas Geoffray7dc43bd2020-08-05 16:02:26 +010089 android: {
90 native_shared_libs: [
Martin Stjernholma728fcb2021-02-10 22:31:42 +000091 "heapprofd_client_api",
Chris Wailes5c6ecbd2021-06-04 14:34:46 -070092 "libbinder_ndk",
Nicolas Geoffray7dc43bd2020-08-05 16:02:26 +010093 "liblog",
94 ],
Martin Stjernholm8585f802021-02-15 18:27:02 +000095 native_static_libs: [
96 "libperfetto_client_experimental",
97 "perfetto_trace_protos",
98 ],
Nicolas Geoffray7dc43bd2020-08-05 16:02:26 +010099 },
100 not_windows: {
101 native_libs: [
102 "liblog",
103 ],
104 }
Nicolas Geoffray724d2712020-07-31 15:51:32 +0100105 },
106}
Nicolas Geoffray7dc43bd2020-08-05 16:02:26 +0100107
108module_exports {
109 name: "platform-mainline-test-exports",
110 host_supported: false,
111 native_shared_libs: [
112 // Required by the implementation of libartpalette-system,
113 // which ART uses in replacement of stubs in its testing environment.
114 "libtombstoned_client",
115 ],
116}