You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
269 lines
7.8 KiB
269 lines
7.8 KiB
// Copyright (C) 2020 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.
|
|
|
|
package {
|
|
// See: http://go/android-license-faq
|
|
// A large-scale-change added 'default_applicable_licenses' to import
|
|
// all of the 'license_kinds' from "art_license"
|
|
// to get the below license kinds:
|
|
// SPDX-license-identifier-Apache-2.0
|
|
default_applicable_licenses: ["art_license"],
|
|
}
|
|
|
|
soong_config_module_type_import {
|
|
from: "art/build/SoongConfig.bp",
|
|
module_types: [
|
|
"art_module_sdk",
|
|
"art_module_exports",
|
|
],
|
|
}
|
|
|
|
// Additional visibility to add to the prebuilt modules that are part of
|
|
// the snapshots of the ART sdk/module_exports to ensure that they are
|
|
// visible to each other.
|
|
prebuilt_visibility = [
|
|
// TODO(b/155921753): Restrict this when prebuilts are in their proper
|
|
// locations.
|
|
"//prebuilts:__subpackages__",
|
|
]
|
|
|
|
// The SDK for the art module apex.
|
|
art_module_sdk {
|
|
name: "art-module-sdk",
|
|
host_supported: true,
|
|
|
|
// Enable if SOONG_CONFIG_art_module_source_build is true.
|
|
enabled: false,
|
|
soong_config_variables: {
|
|
source_build: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
|
|
prebuilt_visibility: prebuilt_visibility,
|
|
|
|
target: {
|
|
// Both android and host linux but not windows or darwin.
|
|
linux: {
|
|
native_header_libs: [
|
|
"jni_headers",
|
|
"libartpalette-headers",
|
|
"libnativehelper_header_only",
|
|
"libopenjdkjvmti_headers",
|
|
],
|
|
|
|
native_shared_libs: [
|
|
"libandroidio",
|
|
"libdexfile",
|
|
"libnativebridge",
|
|
"libnativehelper",
|
|
"libnativeloader",
|
|
"libsigchain",
|
|
],
|
|
|
|
native_static_libs: [
|
|
"libdexfile_support",
|
|
"libdexfile_static",
|
|
"libnativehelper_lazy",
|
|
],
|
|
},
|
|
|
|
android: {
|
|
bootclasspath_fragments: [
|
|
// Adds the fragment and its contents to the sdk.
|
|
"art-bootclasspath-fragment",
|
|
],
|
|
|
|
compat_configs: [
|
|
"libcore-platform-compat-config",
|
|
],
|
|
|
|
java_header_libs: [
|
|
// Needed by any module that builds against any non-numeric
|
|
// sdk_version other than "none".
|
|
//
|
|
// This is actually only used for compiling Java 8 and kotlin.
|
|
// Java 9 uses system modules which encapsulates this
|
|
// internally.
|
|
"core-lambda-stubs",
|
|
|
|
// Needed by any module that builds against any non-numeric
|
|
// sdk_version other than "none" or "core_platform".
|
|
//
|
|
// This is actually only used for compiling Java 8 and kotlin.
|
|
// Java 9 uses system modules which encapsulates this
|
|
// internally.
|
|
"core.current.stubs",
|
|
|
|
// Needed by any module that builds against an sdk_version of
|
|
// "core_platform".
|
|
//
|
|
// This is actually only used for compiling Java 8 and kotlin.
|
|
// Java 9 uses system modules which encapsulates this
|
|
// internally.
|
|
"legacy.core.platform.api.stubs",
|
|
"stable.core.platform.api.stubs",
|
|
],
|
|
|
|
java_sdk_libs: [
|
|
"art.module.public.api",
|
|
],
|
|
|
|
java_system_modules: [
|
|
"art-module-public-api-stubs-system-modules",
|
|
"art-module-lib-api-stubs-system-modules",
|
|
"art-module-intra-core-api-stubs-system-modules",
|
|
"core-current-stubs-system-modules",
|
|
"core-module-lib-stubs-system-modules",
|
|
"legacy-core-platform-api-stubs-system-modules",
|
|
"stable-core-platform-api-stubs-system-modules",
|
|
],
|
|
native_header_libs: [
|
|
"libnativeloader-headers",
|
|
],
|
|
native_shared_libs: [
|
|
"libnativebridge_lazy",
|
|
"libnativehelper_compat_libc++",
|
|
"libnativeloader_lazy",
|
|
],
|
|
},
|
|
|
|
linux_bionic: {
|
|
enabled: false,
|
|
},
|
|
darwin: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
}
|
|
|
|
// Exported host tools and libraries.
|
|
art_module_exports {
|
|
name: "art-module-host-exports",
|
|
host_supported: true,
|
|
|
|
// Enable if SOONG_CONFIG_art_module_source_build is true.
|
|
enabled: false,
|
|
soong_config_variables: {
|
|
source_build: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
|
|
prebuilt_visibility: prebuilt_visibility,
|
|
|
|
target: {
|
|
host: {
|
|
// Set in target.host because the top level compile_multilib
|
|
// property is fixed to "both" in the sdk/module_exports
|
|
// implementation and cannot be overridden any other way.
|
|
compile_multilib: "64",
|
|
|
|
java_libs: [
|
|
"art.module.api.annotations",
|
|
|
|
// Needed for grpc-grpc-java
|
|
"okhttp-norepackage",
|
|
],
|
|
native_binaries: [
|
|
"dex2oat",
|
|
"dex2oatd",
|
|
"dexdump",
|
|
"hiddenapi",
|
|
"oatdump",
|
|
"profman",
|
|
"veridex",
|
|
],
|
|
native_libs: [
|
|
"libartpalette", // libdexfile dependency
|
|
"libartbase", // libdexfile dependency
|
|
],
|
|
},
|
|
|
|
linux_bionic: {
|
|
enabled: false,
|
|
},
|
|
darwin: {
|
|
enabled: false,
|
|
},
|
|
windows: {
|
|
enabled: false,
|
|
},
|
|
},
|
|
}
|
|
|
|
// Exported tests and supporting libraries
|
|
art_module_exports {
|
|
name: "art-module-test-exports",
|
|
|
|
// Enable if SOONG_CONFIG_art_module_source_build is true.
|
|
enabled: false,
|
|
soong_config_variables: {
|
|
source_build: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
|
|
prebuilt_visibility: prebuilt_visibility,
|
|
|
|
java_libs: [
|
|
"core-compat-test-rules",
|
|
"core-test-rules",
|
|
"core-tests-support",
|
|
"okhttp-tests-nojarjar",
|
|
|
|
// Needed for CtsJvmtiDeviceRunTestAppBase.
|
|
"art_cts_jvmti_test_library",
|
|
"expected_cts_outputs",
|
|
|
|
// Needed for robolectric.
|
|
"core-libart-for-host",
|
|
"okhttp-for-host",
|
|
|
|
// Needed for CtsLibcore...TestCases
|
|
"libcore-expectations-knownfailures-jar",
|
|
"libcore-expectations-virtualdeviceknownfailures-jar",
|
|
|
|
// Needed for CtsLibcoreOkHttpTestCases
|
|
"okhttp-nojarjar",
|
|
],
|
|
|
|
java_tests: [
|
|
// Needed for CtsJdwpTestCases.
|
|
"apache-harmony-jdwp-tests",
|
|
|
|
"libcore-crypto-tests",
|
|
|
|
// Needed for CtsLibcoreOjTestCases
|
|
"core-ojtests-public",
|
|
|
|
// Needed for CtsLibcoreJsr166TestCases
|
|
"jsr166-tests",
|
|
|
|
// Needed for CtsLibcoreTestCases
|
|
"apache-harmony-tests",
|
|
"core-tests",
|
|
],
|
|
|
|
native_shared_libs: [
|
|
"libjavacoretests",
|
|
],
|
|
native_static_libs: [
|
|
// TODO(b/187288515): Providing this as a prebuilt introduces an issue
|
|
// with sdk_version propagation. Temporarily use the source library
|
|
// instead.
|
|
//"libctstiagent",
|
|
],
|
|
}
|