initial import of clang-r353983c1 from android-security-10.0.0_r64
Smilled down version for halium-10.0 to not overburden CI.
Change-Id: Iab90d3e429eba08863dbfaedf67905d1ce87aa8f
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..826fbd2
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,752 @@
+//
+// 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,
+ sanitize: {
+ never: true,
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.builtins-arm-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+ stl: "none",
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.builtins-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+ stl: "none",
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.builtins-i686-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+ stl: "none",
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.builtins-x86_64-android",
+ sdk_version: "minimum",
+ defaults: ["linux_bionic_supported"],
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+ stl: "none",
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.asan-arm-android",
+ sdk_version: "24",
+ enabled: false,
+ recovery_available: true,
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+ has_stubs: true,
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.asan-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+ has_stubs: true,
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.asan-i686-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+ has_stubs: true,
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.asan-x86_64-android",
+ sdk_version: "minimum",
+ host_supported: true,
+ enabled: false,
+ recovery_available: true,
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+ target: {
+ linux_bionic: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+ has_stubs: true,
+}
+
+libclang_rt_llndk_library {
+ name: "libclang_rt.asan-arm-android",
+ enabled: false,
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_llndk_library {
+ name: "libclang_rt.asan-aarch64-android",
+ enabled: false,
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_llndk_library {
+ name: "libclang_rt.asan-i686-android",
+ enabled: false,
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_llndk_library {
+ name: "libclang_rt.asan-x86_64-android",
+ enabled: false,
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_llndk_library {
+ name: "libclang_rt.hwasan-aarch64-android",
+ enabled: false,
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.ubsan_standalone-arm-android",
+ sdk_version: "24",
+ enabled: false,
+ vendor_available: true,
+ recovery_available: true,
+ double_loadable: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.ubsan_standalone-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ recovery_available: true,
+ double_loadable: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.ubsan_standalone-i686-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ recovery_available: true,
+ double_loadable: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.ubsan_standalone-x86_64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ recovery_available: true,
+ double_loadable: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.ubsan_minimal-arm-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.ubsan_minimal-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.ubsan_minimal-i686-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.ubsan_minimal-x86_64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ 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,
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.hwasan-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+ has_stubs: true,
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.profile-arm-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.profile-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.profile-i686-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.profile-x86_64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ recovery_available: true,
+ vendor_available: true,
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.profile-x86_64",
+ sdk_version: "minimum",
+ enabled: false,
+ host_supported: true,
+ target: {
+ linux_glibc_x86_64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.profile-i386",
+ sdk_version: "minimum",
+ enabled: false,
+ host_supported: true,
+ target: {
+ linux_glibc_x86: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo-arm-android",
+ sdk_version: "24",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo-i686-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo-x86_64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+ check_elf_files: false, // Bypass circular dependency between libc++
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo-arm-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo-aarch64-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo-i686-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo-x86_64-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo_minimal-arm-android",
+ sdk_version: "24",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+ shared_libs: ["libc", "libdl", "liblog"],
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo_minimal-aarch64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+ shared_libs: ["libc", "libdl", "liblog"],
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo_minimal-i686-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+ shared_libs: ["libc", "libdl", "liblog"],
+}
+
+libclang_rt_prebuilt_library_shared {
+ name: "libclang_rt.scudo_minimal-x86_64-android",
+ sdk_version: "minimum",
+ enabled: false,
+ vendor_available: true,
+ vndk: {
+ enabled: true,
+ },
+ arch: {
+ x86_64: {
+ enabled: true,
+ },
+ },
+ shared_libs: ["libc", "libdl", "liblog"],
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo_minimal-arm-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ arm: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo_minimal-aarch64-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ arm64: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo_minimal-i686-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ arch: {
+ x86: {
+ enabled: true,
+ },
+ },
+}
+
+libclang_rt_prebuilt_library_static {
+ name: "libclang_rt.scudo_minimal-x86_64-android.static",
+ enabled: false,
+ vendor_available: true,
+ sanitize: {
+ never: true,
+ },
+ 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"],
+}
+
+// Export libclang_cxx shared library
+llvm_host_prebuilt_library_shared {
+ name: "libclang_cxx_host",
+ sanitize: {
+ never: true,
+ },
+ compile_multilib: "64",
+ shared_libs: ["libc++_host"],
+}
+
+// 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",
+]