From 3ec67de0513c1d7e5f41f7f17e8251122a0cc9d2 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Tue, 16 Sep 2014 10:10:25 -0700 Subject: [PATCH] Exclude libstdc++ from linked libraries. Also explicitly add libstdc++ includes for necessary targets. Change-Id: If712ba0ae7908d8147a69e29da5c453a183d6540 --- libc/Android.mk | 28 ++++++++++++++++++++++++---- libdl/Android.mk | 1 + 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/libc/Android.mk b/libc/Android.mk index 56e98768b..0f828ed7c 100644 --- a/libc/Android.mk +++ b/libc/Android.mk @@ -600,6 +600,7 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_stack_protector LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -638,6 +639,7 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) $(LOCAL_PATH)/tzcode/ LOCAL_MODULE := libc_tzcode LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -680,6 +682,7 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_dns LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -709,6 +712,7 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_freebsd LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -740,6 +744,7 @@ LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_netbsd LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -778,6 +783,7 @@ LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_openbsd LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -817,6 +823,7 @@ LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_gdtoa LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -840,10 +847,11 @@ endif LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) +LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include LOCAL_MODULE := libc_bionic LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -863,10 +871,11 @@ LOCAL_CFLAGS := $(libc_common_cflags) \ LOCAL_CONLYFLAGS := $(libc_common_conlyflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) -LOCAL_C_INCLUDES := $(libc_common_c_includes) +LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include LOCAL_MODULE := libc_cxa LOCAL_CLANG := true # GCC refuses to hide new/delete LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := include $(BUILD_STATIC_LIBRARY) @@ -885,6 +894,7 @@ endif LOCAL_MODULE := libc_syscalls LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := include $(BUILD_STATIC_LIBRARY) @@ -904,6 +914,7 @@ LOCAL_MODULE := libc_aeabi LOCAL_CLANG := $(use_clang) LOCAL_CFLAGS := $(libc_common_cflags) -fno-builtin LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := include $(BUILD_STATIC_LIBRARY) @@ -941,6 +952,7 @@ ifneq ($(MALLOC_IMPL),dlmalloc) LOCAL_WHOLE_STATIC_LIBRARIES += libjemalloc endif +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := # TODO: split out the asflags. @@ -980,6 +992,7 @@ LOCAL_MODULE := libc_nomalloc LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_WHOLE_STATIC_LIBRARIES := libc_common +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -1001,6 +1014,7 @@ LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_C_INCLUDES := $(libc_common_c_includes) LOCAL_MODULE := libc_malloc LOCAL_CLANG := $(use_clang) +LOCAL_CXX_STL := none LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) include $(BUILD_STATIC_LIBRARY) @@ -1026,6 +1040,7 @@ LOCAL_MODULE := libc LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_WHOLE_STATIC_LIBRARIES := libc_common +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := $(eval $(call patch-up-arch-specific-flags,LOCAL_CFLAGS,libc_common_cflags)) @@ -1068,6 +1083,7 @@ LOCAL_STRIP_MODULE := keep_symbols LOCAL_SHARED_LIBRARIES := libdl LOCAL_WHOLE_STATIC_LIBRARIES := libc_common +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := # We'd really like to do this for all architectures, but since this wasn't done @@ -1127,6 +1143,7 @@ LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SHARED_LIBRARIES := libc libdl +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := # Only need this for arm since libc++ uses its own unwind code that # doesn't mix with the other default unwind code. @@ -1163,6 +1180,7 @@ LOCAL_CLANG := $(use_clang) LOCAL_ADDITIONAL_DEPENDENCIES := $(libc_common_additional_dependencies) LOCAL_SHARED_LIBRARIES := libc libdl +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := # Don't install on release build @@ -1183,12 +1201,13 @@ libstdcxx_common_src_files := \ bionic/libc_logging.cpp \ include $(CLEAR_VARS) -LOCAL_C_INCLUDES := $(libc_common_c_includes) +LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include LOCAL_CFLAGS := $(libc_common_cflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_SRC_FILES := $(libstdcxx_common_src_files) LOCAL_MODULE:= libstdc++ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := libc include $(BUILD_SHARED_LIBRARY) @@ -1196,12 +1215,13 @@ include $(BUILD_SHARED_LIBRARY) # libstdc++.a # ======================================================== include $(CLEAR_VARS) -LOCAL_C_INCLUDES := $(libc_common_c_includes) +LOCAL_C_INCLUDES := $(libc_common_c_includes) bionic/libstdc++/include LOCAL_CFLAGS := $(libc_common_cflags) LOCAL_CPPFLAGS := $(libc_common_cppflags) LOCAL_SRC_FILES := $(libstdcxx_common_src_files) LOCAL_MODULE:= libstdc++ LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk +LOCAL_CXX_STL := none LOCAL_SYSTEM_SHARED_LIBRARIES := libc include $(BUILD_STATIC_LIBRARY) diff --git a/libdl/Android.mk b/libdl/Android.mk index cb1cb7d28..448d1b797 100644 --- a/libdl/Android.mk +++ b/libdl/Android.mk @@ -23,6 +23,7 @@ LOCAL_LDFLAGS_x86_64 := $(LOCAL_LDFLAGS_x86) LOCAL_SRC_FILES:= libdl.c LOCAL_CFLAGS := -Wall -Wextra -Wunused -Werror +LOCAL_CXX_STL := none LOCAL_MODULE := libdl LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk