Move selection of C++ STL into the build system.
Preparing for migration from stlport to libc++. STL selection is done
with LOCAL_CXX_STL (valid values are default, none, libc++,
libc++_static, stlport, stlport_static, bionic).
The selection of the STL is as follows:
if LOCAL_CXX_STL == 'default'
ifdef LOCAL_SDK_VERSION
Use whatever STL the other NDK options have selected.
else
Use bionic's libstdc++ for target, GNU libstdc++ for host. This
is compatible with the existing build options.
endif
else
if LOCAL_CXX_STL == 'stlport'
Use stlport.
else if LOCAL_CXX_STL == 'libc++'
Use libc++.
else if LOCAL_CXX_STL == ''
Don't use any STL.
endif
endif
Bug: 15193147
Change-Id: If712ba0ae7908d8147a69e29da5c453a183d6540
diff --git a/core/combo/TARGET_linux-arm.mk b/core/combo/TARGET_linux-arm.mk
index 7c7f1f4..c9a34e7 100644
--- a/core/combo/TARGET_linux-arm.mk
+++ b/core/combo/TARGET_linux-arm.mk
@@ -153,7 +153,6 @@
libc_root := bionic/libc
libm_root := bionic/libm
-libstdc++_root := bionic/libstdc++
## on some hosts, the target cross-compiler is not available so do not run this command
@@ -176,7 +175,6 @@
$(combo_2nd_arch_prefix)TARGET_C_INCLUDES := \
$(libc_root)/arch-arm/include \
$(libc_root)/include \
- $(libstdc++_root)/include \
$(KERNEL_HEADERS) \
$(libm_root)/include \
$(libm_root)/include/arm \
@@ -190,7 +188,7 @@
$(combo_2nd_arch_prefix)TARGET_STRIP_MODULE:=true
-$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
+$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
$(combo_2nd_arch_prefix)TARGET_CUSTOM_LD_COMMAND := true
diff --git a/core/combo/TARGET_linux-arm64.mk b/core/combo/TARGET_linux-arm64.mk
index 3cef5e5..82eb7fd 100644
--- a/core/combo/TARGET_linux-arm64.mk
+++ b/core/combo/TARGET_linux-arm64.mk
@@ -126,7 +126,6 @@
libc_root := bionic/libc
libm_root := bionic/libm
-libstdc++_root := bionic/libstdc++
TARGET_LIBGCC := $(shell $(TARGET_CC) $(TARGET_GLOBAL_CFLAGS) \
-print-libgcc-file-name)
@@ -140,7 +139,6 @@
TARGET_C_INCLUDES := \
$(libc_root)/arch-arm64/include \
$(libc_root)/include \
- $(libstdc++_root)/include \
$(KERNEL_HEADERS) \
$(libm_root)/include \
$(libm_root)/include/arm64 \
@@ -154,7 +152,7 @@
TARGET_STRIP_MODULE:=true
-TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
+TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
TARGET_CUSTOM_LD_COMMAND := true
diff --git a/core/combo/TARGET_linux-mips.mk b/core/combo/TARGET_linux-mips.mk
index 5ec537a..92ad21a 100644
--- a/core/combo/TARGET_linux-mips.mk
+++ b/core/combo/TARGET_linux-mips.mk
@@ -121,7 +121,6 @@
libc_root := bionic/libc
libm_root := bionic/libm
-libstdc++_root := bionic/libstdc++
## on some hosts, the target cross-compiler is not available so do not run this command
@@ -148,7 +147,6 @@
$(combo_2nd_arch_prefix)TARGET_C_INCLUDES := \
$(libc_root)/arch-mips/include \
$(libc_root)/include \
- $(libstdc++_root)/include \
$(KERNEL_HEADERS) \
$(libm_root)/include \
$(libm_root)/include/mips \
@@ -162,7 +160,7 @@
$(combo_2nd_arch_prefix)TARGET_STRIP_MODULE:=true
-$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
+$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
$(combo_2nd_arch_prefix)TARGET_CUSTOM_LD_COMMAND := true
diff --git a/core/combo/TARGET_linux-mips64.mk b/core/combo/TARGET_linux-mips64.mk
index a2e64c5..3435814 100644
--- a/core/combo/TARGET_linux-mips64.mk
+++ b/core/combo/TARGET_linux-mips64.mk
@@ -121,7 +121,6 @@
libc_root := bionic/libc
libm_root := bionic/libm
-libstdc++_root := bionic/libstdc++
libthread_db_root := bionic/libthread_db
@@ -150,7 +149,6 @@
TARGET_C_INCLUDES := \
$(libc_root)/arch-mips64/include \
$(libc_root)/include \
- $(libstdc++_root)/include \
$(KERNEL_HEADERS) \
$(libm_root)/include \
$(libm_root)/include/mips \
diff --git a/core/combo/TARGET_linux-x86.mk b/core/combo/TARGET_linux-x86.mk
index c17a8ef..6e5f5ac 100644
--- a/core/combo/TARGET_linux-x86.mk
+++ b/core/combo/TARGET_linux-x86.mk
@@ -70,7 +70,6 @@
libc_root := bionic/libc
libm_root := bionic/libm
-libstdc++_root := bionic/libstdc++
KERNEL_HEADERS_COMMON := $(libc_root)/kernel/uapi
KERNEL_HEADERS_ARCH := $(libc_root)/kernel/uapi/asm-x86 # x86 covers both x86 and x86_64.
@@ -130,7 +129,6 @@
$(combo_2nd_arch_prefix)TARGET_C_INCLUDES := \
$(libc_root)/arch-x86/include \
$(libc_root)/include \
- $(libstdc++_root)/include \
$(KERNEL_HEADERS) \
$(libm_root)/include \
$(libm_root)/include/i387 \
@@ -144,7 +142,7 @@
$(combo_2nd_arch_prefix)TARGET_STRIP_MODULE:=true
-$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
+$(combo_2nd_arch_prefix)TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
$(combo_2nd_arch_prefix)TARGET_CUSTOM_LD_COMMAND := true
define $(combo_2nd_arch_prefix)transform-o-to-shared-lib-inner
diff --git a/core/combo/TARGET_linux-x86_64.mk b/core/combo/TARGET_linux-x86_64.mk
index 905dfff..0fb8795 100644
--- a/core/combo/TARGET_linux-x86_64.mk
+++ b/core/combo/TARGET_linux-x86_64.mk
@@ -70,7 +70,6 @@
libc_root := bionic/libc
libm_root := bionic/libm
-libstdc++_root := bionic/libstdc++
KERNEL_HEADERS_COMMON := $(libc_root)/kernel/uapi
KERNEL_HEADERS_ARCH := $(libc_root)/kernel/uapi/asm-x86 # x86 covers both x86 and x86_64.
@@ -135,7 +134,6 @@
TARGET_C_INCLUDES := \
$(libc_root)/arch-x86_64/include \
$(libc_root)/include \
- $(libstdc++_root)/include \
$(KERNEL_HEADERS) \
$(libm_root)/include \
$(libm_root)/include/amd64 \
@@ -149,7 +147,7 @@
TARGET_STRIP_MODULE:=true
-TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libstdc++ libm
+TARGET_DEFAULT_SYSTEM_SHARED_LIBRARIES := libc libm
TARGET_CUSTOM_LD_COMMAND := true
define transform-o-to-shared-lib-inner