Revert "Revert "Switch NDK libc++ from prebuilts/ndk to prebuilt..."

Revert submission 3198506-revert-3195358-ndk-libcxx-UOZAIZERUU

Reason for revert: reland topic

Reverted changes: /q/submissionid:3198506-revert-3195358-ndk-libcxx-UOZAIZERUU

Bug: http://b/332594828
Test: treehugger
Change-Id: I36c9f825cccd02fdd5fc1cd67e5123fc9f84f6b1
This commit is contained in:
Ryan Prichard
2024-07-30 01:58:54 +00:00
parent 27cd53422f
commit 6699bee8b9
7 changed files with 26 additions and 10 deletions

View File

@@ -205,8 +205,6 @@ ifneq ($(LOCAL_SDK_VERSION),)
my_api_level := $(my_ndk_api) my_api_level := $(my_ndk_api)
endif endif
my_ndk_source_root := \
$(HISTORICAL_NDK_VERSIONS_ROOT)/$(LOCAL_NDK_VERSION)/sources
my_built_ndk := $(SOONG_OUT_DIR)/ndk my_built_ndk := $(SOONG_OUT_DIR)/ndk
my_ndk_triple := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_NDK_TRIPLE) my_ndk_triple := $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_NDK_TRIPLE)
my_ndk_sysroot_include := \ my_ndk_sysroot_include := \
@@ -239,16 +237,18 @@ ifneq ($(LOCAL_SDK_VERSION),)
endif endif
ifeq (system,$(LOCAL_NDK_STL_VARIANT)) ifeq (system,$(LOCAL_NDK_STL_VARIANT))
my_ndk_source_root := \
$(HISTORICAL_NDK_VERSIONS_ROOT)/$(LOCAL_NDK_VERSION)/sources
my_ndk_stl_include_path := $(my_ndk_source_root)/cxx-stl/system/include my_ndk_stl_include_path := $(my_ndk_source_root)/cxx-stl/system/include
my_system_shared_libraries += libstdc++ my_system_shared_libraries += libstdc++
else ifneq (,$(filter c++_%, $(LOCAL_NDK_STL_VARIANT))) else ifneq (,$(filter c++_%, $(LOCAL_NDK_STL_VARIANT)))
my_ndk_stl_include_path := \ my_llvm_dir := $(LLVM_PREBUILTS_BASE)/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)
$(my_ndk_source_root)/cxx-stl/llvm-libc++/include my_libcxx_arch_dir := $(my_llvm_dir)/android_libc++/ndk/$($(LOCAL_2ND_ARCH_VAR_PREFIX)PREBUILT_LIBCXX_ARCH_DIR)
my_ndk_stl_include_path += \
$(my_ndk_source_root)/cxx-stl/llvm-libc++abi/include
my_libcxx_libdir := \ # Include the target-specific __config_site file followed by the generic libc++ headers.
$(my_ndk_source_root)/cxx-stl/llvm-libc++/libs/$(my_cpu_variant) my_ndk_stl_include_path := $(my_libcxx_arch_dir)/include/c++/v1
my_ndk_stl_include_path += $(my_llvm_dir)/include/c++/v1
my_libcxx_libdir := $(my_libcxx_arch_dir)/lib
ifeq (c++_static,$(LOCAL_NDK_STL_VARIANT)) ifeq (c++_static,$(LOCAL_NDK_STL_VARIANT))
my_ndk_stl_static_lib := \ my_ndk_stl_static_lib := \
@@ -258,7 +258,7 @@ ifneq ($(LOCAL_SDK_VERSION),)
my_ndk_stl_shared_lib_fullpath := $(my_libcxx_libdir)/libc++_shared.so my_ndk_stl_shared_lib_fullpath := $(my_libcxx_libdir)/libc++_shared.so
endif endif
my_ndk_stl_static_lib += $(my_libcxx_libdir)/libunwind.a my_ndk_stl_static_lib += $($(LOCAL_2ND_ARCH_VAR_PREFIX)TARGET_LIBUNWIND)
my_ldlibs += -ldl my_ldlibs += -ldl
else # LOCAL_NDK_STL_VARIANT must be none else # LOCAL_NDK_STL_VARIANT must be none
# Do nothing. # Do nothing.

View File

@@ -4,7 +4,10 @@ $(clang_2nd_arch_prefix)RS_COMPAT_TRIPLE := armv7-none-linux-gnueabi
$(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-arm-android.a $(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-arm-android.a
$(clang_2nd_arch_prefix)TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-arm-android.a $(clang_2nd_arch_prefix)TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-arm-android.a
$(clang_2nd_arch_prefix)TARGET_LIBUNWIND := $(LLVM_RTLIB_PATH)/arm/libunwind.a
# Address sanitizer clang config # Address sanitizer clang config
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan $(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan $(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan
$(clang_2nd_arch_prefix)PREBUILT_LIBCXX_ARCH_DIR := arm

View File

@@ -4,7 +4,10 @@ RS_COMPAT_TRIPLE := aarch64-linux-android
TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-aarch64-android.a TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-aarch64-android.a
TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-aarch64-android.a TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-aarch64-android.a
TARGET_LIBUNWIND := $(LLVM_RTLIB_PATH)/aarch64/libunwind.a
# Address sanitizer clang config # Address sanitizer clang config
ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan64 ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan64
ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan64 ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan64
PREBUILT_LIBCXX_ARCH_DIR := aarch64

View File

@@ -4,7 +4,10 @@ RS_COMPAT_TRIPLE := riscv64-linux-android
TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-riscv64-android.a TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-riscv64-android.a
TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-riscv64-android.a TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-riscv64-android.a
TARGET_LIBUNWIND := $(LLVM_RTLIB_PATH)/riscv64/libunwind.a
# Address sanitizer clang config # Address sanitizer clang config
ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan64 ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan64
ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan64 ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan64
PREBUILT_LIBCXX_ARCH_DIR := riscv64

View File

@@ -4,7 +4,10 @@ $(clang_2nd_arch_prefix)RS_COMPAT_TRIPLE := i686-linux-android
$(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-i686-android.a $(clang_2nd_arch_prefix)TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-i686-android.a
$(clang_2nd_arch_prefix)TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-i686-android.a $(clang_2nd_arch_prefix)TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-i686-android.a
$(clang_2nd_arch_prefix)TARGET_LIBUNWIND := $(LLVM_RTLIB_PATH)/i386/libunwind.a
# Address sanitizer clang config # Address sanitizer clang config
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan $(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan
$(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan $(clang_2nd_arch_prefix)ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan
$(clang_2nd_arch_prefix)PREBUILT_LIBCXX_ARCH_DIR := i386

View File

@@ -4,7 +4,10 @@ RS_COMPAT_TRIPLE := x86_64-linux-android
TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-x86_64-android.a TARGET_LIBPROFILE_RT := $(LLVM_RTLIB_PATH)/libclang_rt.profile-x86_64-android.a
TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-x86_64-android.a TARGET_LIBCRT_BUILTINS := $(LLVM_RTLIB_PATH)/libclang_rt.builtins-x86_64-android.a
TARGET_LIBUNWIND := $(LLVM_RTLIB_PATH)/x86_64/libunwind.a
# Address sanitizer clang config # Address sanitizer clang config
ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan64 ADDRESS_SANITIZER_LINKER := /system/bin/linker_asan64
ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan64 ADDRESS_SANITIZER_LINKER_FILE := /system/bin/bootstrap/linker_asan64
PREBUILT_LIBCXX_ARCH_DIR := x86_64

View File

@@ -38,8 +38,9 @@ ifdef my_embed_jni
$(error LOCAL_SDK_VERSION must be defined with LOCAL_NDK_STL_VARIANT, \ $(error LOCAL_SDK_VERSION must be defined with LOCAL_NDK_STL_VARIANT, \
LOCAL_PACKAGE_NAME=$(LOCAL_PACKAGE_NAME)) LOCAL_PACKAGE_NAME=$(LOCAL_PACKAGE_NAME))
endif endif
my_libcxx_arch := $($(LOCAL_2ND_ARCH_VAR_PREFIX)PREBUILT_LIBCXX_ARCH_DIR)
my_jni_shared_libraries += \ my_jni_shared_libraries += \
$(HISTORICAL_NDK_VERSIONS_ROOT)/$(LOCAL_NDK_VERSION)/sources/cxx-stl/llvm-libc++/libs/$(TARGET_$(my_2nd_arch_prefix)CPU_ABI)/libc++_shared.so $(LLVM_PREBUILTS_BASE)/$(BUILD_OS)-x86/$(LLVM_PREBUILTS_VERSION)/android_libc++/ndk/$(my_libcxx_arch)/lib/libc++_shared.so
endif endif
# Set the abi directory used by the local JNI shared libraries. # Set the abi directory used by the local JNI shared libraries.