blob: 51a9dab450d1879ae81a97b394b12290f93e7be6 [file] [log] [blame]
Orion Hodson119733d2019-01-30 15:14:41 +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
Bob Badour9150de62021-02-26 03:22:24 -080017package {
18 // See: http://go/android-license-faq
19 // A large-scale-change added 'default_applicable_licenses' to import
20 // all of the 'license_kinds' from "art_license"
21 // to get the below license kinds:
22 // SPDX-license-identifier-Apache-2.0
23 default_applicable_licenses: ["art_license"],
24}
25
Orion Hodson119733d2019-01-30 15:14:41 +000026cc_defaults {
Andreas Gampe0dc93b12019-05-15 10:30:22 -070027 name: "libartpalette_defaults",
28 defaults: ["art_defaults"],
29 host_supported: true,
30 export_include_dirs: ["include"],
Orion Hodson119733d2019-01-30 15:14:41 +000031}
32
Orion Hodsonc8315d92019-11-01 13:02:02 +000033cc_library_headers {
34 name: "libartpalette-headers",
35 export_include_dirs: ["include"],
36 host_supported: true,
Paul Duffincc9df4f2020-08-13 14:57:41 +010037 visibility: [
38 "//art:__subpackages__",
39 "//system/libartpalette",
40 ],
Orion Hodson119733d2019-01-30 15:14:41 +000041}
42
43// libartpalette is the dynamic loader of the platform abstraction
44// layer. It is only used on Android. For other targets, it just
45// implements a fake platform implementation.
46art_cc_library {
47 name: "libartpalette",
48 defaults: ["libartpalette_defaults"],
Martin Stjernholm4312f742021-03-23 00:30:57 +000049 visibility: [
50 // TODO(b/183483755): Please visibility checks when the prebuilt
51 // libartpalette is present but not preferred, and the prebuilt
52 // libdexfile hence depends on the source instead.
53 // TODO(b/172480617): Alternatively, clean up when we no longer need to
54 // support both prebuilts and sources present simultaneously.
55 "//prebuilts/module_sdk/art/current/host-exports",
56 ],
Nicolas Geoffrayc3db2542021-04-20 15:50:04 +000057 header_libs: [
58 "libbase_headers",
59 "jni_headers",
60 ],
Orion Hodson119733d2019-01-30 15:14:41 +000061 target: {
62 // Targets supporting dlopen build the client library which loads
63 // and binds the methods in the libartpalette-system library.
64 android: {
Yo Chiang4c045142020-05-26 17:37:49 +080065 // libartpalette.so dlopen()'s libartpalette-system.
Martin Stjernholm108d4d62021-04-13 21:14:53 +010066 runtime_libs: ["libartpalette-system"],
Orion Hodson119733d2019-01-30 15:14:41 +000067 srcs: ["apex/palette.cc"],
Jiyong Park1926f2e2020-03-11 10:21:49 +090068 shared_libs: ["liblog"],
Orion Hodson119733d2019-01-30 15:14:41 +000069 version_script: "libartpalette.map.txt",
70 },
71 linux_bionic: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -070072 header_libs: ["libbase_headers"],
Orion Hodson119733d2019-01-30 15:14:41 +000073 srcs: ["system/palette_fake.cc"],
74 shared: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -070075 shared_libs: [
76 "libbase",
77 "liblog",
78 ],
Orion Hodson119733d2019-01-30 15:14:41 +000079 },
80 version_script: "libartpalette.map.txt",
81 },
82 linux_glibc: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -070083 header_libs: ["libbase_headers"],
Orion Hodson119733d2019-01-30 15:14:41 +000084 srcs: ["system/palette_fake.cc"],
85 shared: {
Andreas Gampe0dc93b12019-05-15 10:30:22 -070086 shared_libs: [
87 "libbase",
88 "liblog",
89 ],
Orion Hodson119733d2019-01-30 15:14:41 +000090 },
91 version_script: "libartpalette.map.txt",
92 },
93 // Targets without support for dlopen just use the sources for
94 // the system library which actually implements functionality.
95 darwin: {
96 enabled: true,
97 header_libs: ["libbase_headers"],
98 srcs: ["system/palette_fake.cc"],
Orion Hodsond3374a02019-05-02 10:56:33 +010099 static_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700100 "libbase",
101 "liblog",
Orion Hodsond3374a02019-05-02 10:56:33 +0100102 ],
Orion Hodson119733d2019-01-30 15:14:41 +0000103 },
104 windows: {
105 enabled: true,
106 header_libs: ["libbase_headers"],
107 srcs: ["system/palette_fake.cc"],
Orion Hodsond3374a02019-05-02 10:56:33 +0100108 static_libs: [
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700109 "libbase",
110 "liblog",
Orion Hodsond3374a02019-05-02 10:56:33 +0100111 ],
Orion Hodson119733d2019-01-30 15:14:41 +0000112 },
Andreas Gampe0dc93b12019-05-15 10:30:22 -0700113 },
Jiyong Park066dd9022019-12-19 02:11:59 +0000114 apex_available: [
Martin Stjernholm3e9abfc2020-10-09 22:17:51 +0100115 "com.android.art",
Jiyong Park066dd9022019-12-19 02:11:59 +0000116 "com.android.art.debug",
Jiyong Park7c2f69e2020-01-15 15:43:32 +0900117 // TODO(b/142944931): remove this
118 "com.android.runtime", // due to the transitive dependency from linker
Jiyong Park066dd9022019-12-19 02:11:59 +0000119 ],
Orion Hodson119733d2019-01-30 15:14:41 +0000120}
121
Roland Levillainf0409142021-03-22 15:45:03 +0000122art_cc_defaults {
123 name: "art_libartpalette_tests_defaults",
Orion Hodson119733d2019-01-30 15:14:41 +0000124 srcs: ["apex/palette_test.cc"],
125 shared_libs: ["libartpalette"],
Orion Hodson119733d2019-01-30 15:14:41 +0000126}
Roland Levillainf0409142021-03-22 15:45:03 +0000127
128// Version of ART gtest `art_libartpalette_tests` bundled with the ART APEX on target.
129// TODO(b/192274705): Remove this module when the migration to standalone ART gtests is complete.
130art_cc_test {
131 name: "art_libartpalette_tests",
132 defaults: [
133 "art_gtest_defaults",
134 "art_libartpalette_tests_defaults",
135 ],
136 host_supported: true,
137}
138
139// Standalone version of ART gtest `art_libartpalette_tests`, not bundled with the ART APEX on
140// target.
141art_cc_test {
142 name: "art_standalone_libartpalette_tests",
143 defaults: [
144 "art_standalone_gtest_defaults",
145 "art_libartpalette_tests_defaults",
146 ],
Roland Levillain24d589e2021-11-23 15:34:31 +0000147 test_config_template: ":art-gtests-target-standalone-cts-template",
148 test_suites: ["cts"],
Roland Levillainf0409142021-03-22 15:45:03 +0000149}