400 lines
11 KiB
Plaintext
400 lines
11 KiB
Plaintext
//
|
|
// 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.
|
|
//
|
|
|
|
package {
|
|
default_applicable_licenses: ["prebuilts_clang_host_linux-x86_license"],
|
|
}
|
|
|
|
// See: http://go/android-license-faq
|
|
// SPDX-license-identifier-GPL and SPDX-license-identifier-LGPL removed
|
|
// those files are dual-licensed 'OR PSF'
|
|
license {
|
|
name: "prebuilts_clang_host_linux-x86_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-BSD",
|
|
"SPDX-license-identifier-MIT",
|
|
"SPDX-license-identifier-NCSA",
|
|
"SPDX-license-identifier-PSF-2.0",
|
|
"SPDX-license-identifier-Zlib",
|
|
"legacy_unencumbered",
|
|
],
|
|
// large-scale-change unable to identify any license_text files
|
|
}
|
|
|
|
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",
|
|
],
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.builtins",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
sdk_version: "minimum",
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
native_bridge_supported: true,
|
|
host_supported: true,
|
|
sanitize: {
|
|
never: true,
|
|
},
|
|
stl: "none",
|
|
bazel_module: {
|
|
label: "//prebuilts/clang/host/linux-x86:libclang_rt",
|
|
},
|
|
}
|
|
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.builtins-exported",
|
|
lib_name: "libclang_rt.builtins",
|
|
suffix: "-exported",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
sdk_version: "minimum",
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
native_bridge_supported: true,
|
|
sanitize: {
|
|
never: true,
|
|
},
|
|
enabled: false,
|
|
target: {
|
|
android_arm: {
|
|
enabled: true,
|
|
},
|
|
android_x86: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
stl: "none",
|
|
// This exported variant of the builtins library is only intended for use in
|
|
// libc.so and libm.so, which exports some builtins symbols for backwards
|
|
// compatibility.
|
|
visibility: [
|
|
"//bionic:__subpackages__",
|
|
"//frameworks/libs/native_bridge_support/libc:__subpackages__",
|
|
],
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_shared {
|
|
name: "libclang_rt.asan",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
host_supported: true,
|
|
recovery_available: true,
|
|
native_bridge_supported: true,
|
|
sdk_version: "24",
|
|
check_elf_files: false, // Bypass circular dependency between libc++
|
|
is_llndk: true,
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.asan.static",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
host_supported: true,
|
|
recovery_available: true,
|
|
native_bridge_supported: true,
|
|
sdk_version: "24",
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.asan_cxx.static",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
host_supported: true,
|
|
recovery_available: true,
|
|
native_bridge_supported: true,
|
|
sdk_version: "24",
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_shared {
|
|
name: "libclang_rt.ubsan_standalone",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
host_supported: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
recovery_available: true,
|
|
double_loadable: true,
|
|
stl: "c++_shared",
|
|
vndk: {
|
|
enabled: true,
|
|
},
|
|
sdk_version: "24",
|
|
check_elf_files: false, // Bypass circular dependency between libc++
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.ubsan_standalone.static",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
sdk_version: "24",
|
|
vendor_available: true,
|
|
product_available: true,
|
|
recovery_available: true,
|
|
double_loadable: true,
|
|
host_supported: true,
|
|
stl: "c++_static",
|
|
check_elf_files: false, // Bypass circular dependency between libc++
|
|
}
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.ubsan_minimal",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
sdk_version: "24",
|
|
vendor_available: true,
|
|
product_available: true,
|
|
recovery_available: true,
|
|
double_loadable: true,
|
|
host_supported: true,
|
|
native_bridge_supported: true,
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.hwasan_static",
|
|
sdk_version: "minimum",
|
|
enabled: false,
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
host_supported: true,
|
|
target: {
|
|
bionic_arm64: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
defaults: [
|
|
"libclang_rt-prebuilt-default",
|
|
],
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_shared {
|
|
name: "libclang_rt.hwasan",
|
|
sdk_version: "minimum",
|
|
enabled: false,
|
|
recovery_available: true,
|
|
host_supported: true,
|
|
target: {
|
|
bionic_arm64: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
check_elf_files: false, // Bypass circular dependency between libc++
|
|
is_llndk: true,
|
|
defaults: [
|
|
"libclang_rt-prebuilt-default",
|
|
],
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.profile",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
host_supported: true,
|
|
sdk_version: "minimum",
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
check_elf_files: false, // Bypass circular dependency between libc++
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.fuzzer",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
sdk_version: "minimum",
|
|
host_supported: true,
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
ramdisk_available: false,
|
|
vendor_ramdisk_available: false,
|
|
sanitize: {
|
|
never: true,
|
|
},
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_library_static {
|
|
name: "libclang_rt.fuzzer_interceptors",
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
sdk_version: "minimum",
|
|
host_supported: true,
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
ramdisk_available: false,
|
|
vendor_ramdisk_available: false,
|
|
}
|
|
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
libclang_rt_prebuilt_object {
|
|
name: "clang_rt.crtbegin",
|
|
host_supported: true,
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
}
|
|
|
|
libclang_rt_prebuilt_object {
|
|
name: "clang_rt.crtend",
|
|
host_supported: true,
|
|
defaults: ["libclang_rt-prebuilt-default"],
|
|
}
|
|
|
|
///////////////////////////////////////////////////////////////////////////////
|
|
cc_defaults {
|
|
name: "libunwind-android-default",
|
|
defaults: [
|
|
"libclang_rt-prebuilt-default",
|
|
"linux_bionic_supported",
|
|
],
|
|
sdk_version: "minimum",
|
|
recovery_available: true,
|
|
vendor_available: true,
|
|
product_available: true,
|
|
native_bridge_supported: true,
|
|
sanitize: {
|
|
never: true,
|
|
},
|
|
stl: "none",
|
|
// The unwinder needs functions from libc (and libdl), but libc.so links
|
|
// against libunwind*.a. Clear the system_shared_libs property so that Soong
|
|
// doesn't complain about the cyclic dependency.
|
|
system_shared_libs: [],
|
|
}
|
|
|
|
llvm_prebuilt_library_static {
|
|
name: "libunwind",
|
|
defaults: ["libunwind-android-default"],
|
|
target: {
|
|
musl: {
|
|
enabled: true,
|
|
},
|
|
},
|
|
}
|
|
|
|
llvm_prebuilt_library_static {
|
|
name: "libunwind-exported",
|
|
defaults: ["libunwind-android-default"],
|
|
|
|
// The libunwind-exported.a library is only intended for use with libc.so,
|
|
// which needs to export the unwinder API.
|
|
visibility: [
|
|
"//bionic:__subpackages__",
|
|
"//frameworks/libs/native_bridge_support/libc:__subpackages__",
|
|
],
|
|
}
|
|
|
|
// -----------------------------------------------------------------------------
|
|
// 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 libclang-cpp shared library
|
|
llvm_host_prebuilt_library_shared {
|
|
name: "libclang-cpp_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"],
|
|
}
|
|
|
|
// Export llvm tools as a filegroup which is packaged and available for CI
|
|
// tests.
|
|
llvm_tools_filegroup {
|
|
name: "llvm-tools",
|
|
visibility: ["//development/scripts:__subpackages__"],
|
|
// The tools and libs in the filegroup are in
|
|
// ./soong/clangprebuilts.go:llvmToolsFiles
|
|
}
|
|
|
|
subdirs = [
|
|
"soong",
|
|
]
|