blob: 621f3820fccea67261bc4d92faec6781acd14840 [file] [log] [blame]
//
// Copyright (C) 2017 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.
//
llvm_prebuilt_library_static {
name: "libFuzzer",
sdk_version: "minimum",
sanitize: {
never: true,
},
}
llvm_prebuilt_library_static {
name: "libomp",
sdk_version: "minimum",
vendor_available: true,
product_available: true,
sanitize: {
never: true,
},
}
cc_defaults {
name: "libclang_rt-prebuilt-default",
ramdisk_available: true,
vendor_ramdisk_available: true,
apex_available: [
"//apex_available:anyapex",
"//apex_available:platform",
],
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.builtins-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
recovery_available: true,
vendor_available: true,
product_available: true,
native_bridge_supported: true,
sanitize: {
never: true,
},
stl: "none",
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.builtins-arm-android",
defaults: ["libclang_rt.builtins-android-default"],
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.builtins-aarch64-android",
defaults: ["libclang_rt.builtins-android-default"],
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.builtins-i686-android",
defaults: ["libclang_rt.builtins-android-default"],
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.builtins-x86_64-android",
defaults: [
"linux_bionic_supported",
"libclang_rt.builtins-android-default",
],
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.builtins-default",
enabled: false,
host_supported: true,
sanitize: {
never: true,
},
stl: "none",
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.builtins-x86_64",
defaults: ["libclang_rt.builtins-default"],
target: {
linux_glibc_x86_64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.builtins-i386",
defaults: ["libclang_rt.builtins-default"],
target: {
linux_glibc_x86: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.asan-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
recovery_available: true,
native_bridge_supported: true,
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.asan-arm-android",
defaults: ["libclang_rt.asan-android-default"],
sdk_version: "24",
check_elf_files: false, // Bypass circular dependency between libc++
llndk_stubs: "libclang_rt.asan-arm-android.llndk",
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.asan-aarch64-android",
defaults: ["libclang_rt.asan-android-default"],
check_elf_files: false, // Bypass circular dependency between libc++
llndk_stubs: "libclang_rt.asan-aarch64-android.llndk",
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.asan-i686-android",
defaults: ["libclang_rt.asan-android-default"],
check_elf_files: false, // Bypass circular dependency between libc++
llndk_stubs: "libclang_rt.asan-i686-android.llndk",
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.asan-x86_64-android",
defaults: [
"linux_bionic_supported",
"libclang_rt.asan-android-default",
],
check_elf_files: false, // Bypass circular dependency between libc++
llndk_stubs: "libclang_rt.asan-x86_64-android.llndk",
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_llndk_library {
name: "libclang_rt.asan-arm-android.llndk",
native_bridge_supported: true,
enabled: false,
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_llndk_library {
name: "libclang_rt.asan-aarch64-android.llndk",
native_bridge_supported: true,
enabled: false,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_llndk_library {
name: "libclang_rt.asan-i686-android.llndk",
native_bridge_supported: true,
enabled: false,
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_llndk_library {
name: "libclang_rt.asan-x86_64-android.llndk",
native_bridge_supported: true,
enabled: false,
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_llndk_library {
name: "libclang_rt.hwasan-aarch64-android.llndk",
enabled: false,
arch: {
arm64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.ubsan_standalone-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
vendor_available: true,
product_available: true,
recovery_available: true,
double_loadable: true,
stl: "c++_shared",
vndk: {
enabled: true,
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.ubsan_standalone-arm-android",
defaults: ["libclang_rt.ubsan_standalone-android-default"],
sdk_version: "24",
check_elf_files: false, // Bypass circular dependency between libc++
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.ubsan_standalone-aarch64-android",
defaults: ["libclang_rt.ubsan_standalone-android-default"],
check_elf_files: false, // Bypass circular dependency between libc++
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.ubsan_standalone-i686-android",
defaults: [
"linux_bionic_supported",
"libclang_rt.ubsan_standalone-android-default",
],
check_elf_files: false, // Bypass circular dependency between libc++
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.ubsan_standalone-x86_64-android",
defaults: [
"linux_bionic_supported",
"libclang_rt.ubsan_standalone-android-default",
],
check_elf_files: false, // Bypass circular dependency between libc++
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.ubsan_standalone-i386",
enabled: false,
host_supported: true,
target: {
linux_glibc_x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.ubsan_standalone-x86_64",
enabled: false,
host_supported: true,
target: {
linux_glibc_x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.ubsan_minimal-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
vendor_available: true,
product_available: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.ubsan_minimal-arm-android",
defaults: ["libclang_rt.ubsan_minimal-android-default"],
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.ubsan_minimal-aarch64-android",
defaults: ["libclang_rt.ubsan_minimal-android-default"],
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.ubsan_minimal-i686-android",
defaults: [
"linux_bionic_supported",
"libclang_rt.ubsan_minimal-android-default",
],
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.ubsan_minimal-x86_64-android",
defaults: [
"linux_bionic_supported",
"libclang_rt.ubsan_minimal-android-default",
],
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_prebuilt_library_static {
name: "libclang_rt.ubsan_minimal-i386",
enabled: false,
host_supported: true,
target: {
linux_glibc_x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.ubsan_minimal-x86_64",
enabled: false,
host_supported: true,
target: {
linux_glibc_x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_prebuilt_library_static {
name: "libclang_rt.hwasan_static-aarch64-android",
sdk_version: "minimum",
enabled: false,
recovery_available: true,
vendor_available: true,
product_available: true,
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
defaults: [
"libclang_rt-prebuilt-default",
],
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.hwasan-aarch64-android",
sdk_version: "minimum",
enabled: false,
recovery_available: true,
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
check_elf_files: false, // Bypass circular dependency between libc++
llndk_stubs: "libclang_rt.hwasan-aarch64-android.llndk",
defaults: [
"libclang_rt-prebuilt-default",
],
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.profile-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
recovery_available: true,
vendor_available: true,
product_available: true,
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.profile-arm-android",
defaults: ["libclang_rt.profile-android-default"],
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.profile-aarch64-android",
defaults: ["libclang_rt.profile-android-default"],
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.profile-i686-android",
defaults: ["libclang_rt.profile-android-default"],
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.profile-x86_64-android",
defaults: ["libclang_rt.profile-android-default"],
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_prebuilt_library_static {
name: "libclang_rt.profile-x86_64",
sdk_version: "minimum",
enabled: false,
host_supported: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
target: {
linux_glibc_x86_64: {
enabled: true,
},
},
defaults: [
"libclang_rt-prebuilt-default",
],
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.fuzzer-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
host_supported: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
sanitize: {
never: true,
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.fuzzer-x86_64",
defaults: ["libclang_rt.fuzzer-default"],
target: {
linux_glibc_x86_64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.fuzzer-i386",
defaults: ["libclang_rt.fuzzer-default"],
target: {
linux_glibc_x86: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.asan-x86_64",
enabled: false,
host_supported: true,
target: {
linux_glibc_x86_64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.asan-i386",
enabled: false,
host_supported: true,
target: {
linux_glibc_x86: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.fuzzer-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
recovery_available: true,
vendor_available: true,
product_available: true,
sanitize: {
never: true,
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.fuzzer-arm-android",
defaults: ["libclang_rt.fuzzer-android-default"],
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.fuzzer-aarch64-android",
defaults: ["libclang_rt.fuzzer-android-default"],
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.fuzzer-i686-android",
defaults: ["libclang_rt.fuzzer-android-default"],
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.fuzzer-x86_64-android",
defaults: ["libclang_rt.fuzzer-android-default"],
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
libclang_rt_prebuilt_library_static {
name: "libclang_rt.profile-i386",
sdk_version: "minimum",
enabled: false,
host_supported: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
target: {
linux_glibc_x86: {
enabled: true,
},
},
check_elf_files: false, // Bypass circular dependency between libc++
defaults: [
"libclang_rt-prebuilt-default",
],
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.scudo-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "minimum",
enabled: false,
vendor_available: true,
product_available: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
vndk: {
enabled: true,
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo-arm-android",
defaults: ["libclang_rt.scudo-android-default"],
sdk_version: "24",
check_elf_files: false, // Bypass circular dependency between libc++
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo-aarch64-android",
defaults: ["libclang_rt.scudo-android-default"],
check_elf_files: false, // Bypass circular dependency between libc++
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo-i686-android",
defaults: ["libclang_rt.scudo-android-default"],
check_elf_files: false, // Bypass circular dependency between libc++
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo-x86_64-android",
defaults: ["libclang_rt.scudo-android-default"],
check_elf_files: false, // Bypass circular dependency between libc++
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.scudo-android.static-default",
defaults: ["libclang_rt-prebuilt-default"],
enabled: false,
vendor_available: true,
product_available: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
sanitize: {
never: true,
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo-arm-android.static",
defaults: ["libclang_rt.scudo-android.static-default"],
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo-aarch64-android.static",
defaults: ["libclang_rt.scudo-android.static-default"],
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo-i686-android.static",
defaults: ["libclang_rt.scudo-android.static-default"],
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo-x86_64-android.static",
defaults: ["libclang_rt.scudo-android.static-default"],
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.scudo_minimal-android-default",
defaults: ["libclang_rt-prebuilt-default"],
sdk_version: "23",
enabled: false,
vendor_available: true,
product_available: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
vndk: {
enabled: true,
},
shared_libs: ["libc", "libdl", "liblog"],
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo_minimal-arm-android",
defaults: ["libclang_rt.scudo_minimal-android-default"],
sdk_version: "24",
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo_minimal-aarch64-android",
defaults: ["libclang_rt.scudo_minimal-android-default"],
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo_minimal-i686-android",
defaults: ["libclang_rt.scudo_minimal-android-default"],
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_shared {
name: "libclang_rt.scudo_minimal-x86_64-android",
defaults: ["libclang_rt.scudo_minimal-android-default"],
arch: {
x86_64: {
enabled: true,
},
},
}
///////////////////////////////////////////////////////////////////////////////
cc_defaults {
name: "libclang_rt.scudo_minimal-android.static-default",
defaults: ["libclang_rt-prebuilt-default"],
enabled: false,
vendor_available: true,
product_available: true,
ramdisk_available: false,
vendor_ramdisk_available: false,
sanitize: {
never: true,
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo_minimal-arm-android.static",
defaults: ["libclang_rt.scudo_minimal-android.static-default"],
arch: {
arm: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo_minimal-aarch64-android.static",
defaults: ["libclang_rt.scudo_minimal-android.static-default"],
host_supported: true,
arch: {
arm64: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo_minimal-i686-android.static",
defaults: ["libclang_rt.scudo_minimal-android.static-default"],
arch: {
x86: {
enabled: true,
},
},
}
libclang_rt_prebuilt_library_static {
name: "libclang_rt.scudo_minimal-x86_64-android.static",
defaults: ["libclang_rt.scudo_minimal-android.static-default"],
arch: {
x86_64: {
enabled: true,
},
},
}
// -----------------------------------------------------------------------------
// Export shared libraries for host tools (libLLVM, libclang, libc++). These
// are exported only when the LLVM_BUILD_HOST_TOOLS environment variable is set.
// -----------------------------------------------------------------------------
// Export LLVM_BUILD_HOST_TOOLS
llvm_host_defaults {
name: "llvm-build-host-tools-defaults",
}
// Export libLLVM shared library
llvm_host_prebuilt_library_shared {
name: "libLLVM_host",
sanitize: {
never: true,
},
compile_multilib: "64",
shared_libs: [
"libc++_host",
"libxml2_host",
],
}
llvm_host_prebuilt_library_shared {
name: "libxml2_host",
compile_multilib: "64",
sanitize: {
never: true,
},
}
// Export libclang_cxx shared library
llvm_host_prebuilt_library_shared {
name: "libclang_cxx_host",
sanitize: {
never: true,
},
compile_multilib: "64",
shared_libs: ["libc++_host"],
target: {
darwin: {
strip: {
none: true,
},
},
},
}
// Export libc++.so for the host LLVM tools
llvm_host_prebuilt_library_shared {
name: "libc++_host",
sanitize: {
never: true,
},
compile_multilib: "64",
target: {
darwin: {
shared_libs: ["libc++abi_host"],
},
},
}
// Export libc++abi.so for the host LLVM tools
llvm_host_prebuilt_library_shared {
name: "libc++abi_host",
sanitize: {
never: true,
},
compile_multilib: "64",
}
clang_builtin_headers {
name: "clang_builtin_headers_resources",
tool_files: ["soong/generate_clang_builtin_headers_resources.sh"],
out: ["clang_builtin_headers_resources.inc"],
}
subdirs = [
"soong",
]