From 66e30a772395423d124ac84c16ddf384d6c3bc10 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Thu, 25 Mar 2021 01:00:10 -0700 Subject: [PATCH] Build libc++ ourselves --- .gitmodules | 3 +++ native/jni/Application.mk | 2 +- native/jni/external/Android.mk | 1 + native/jni/external/libcxx | 1 + native/jni/external/systemproperties/Android.mk | 1 + native/jni/utils/Android.mk | 2 ++ 6 files changed, 9 insertions(+), 1 deletion(-) create mode 160000 native/jni/external/libcxx diff --git a/.gitmodules b/.gitmodules index e3d6dbe945aa..116c03523d69 100644 --- a/.gitmodules +++ b/.gitmodules @@ -28,6 +28,9 @@ [submodule "xhook"] path = native/jni/external/xhook url = https://github.com/iqiyi/xHook.git +[submodule "libcxx"] + path = native/jni/external/libcxx + url = https://github.com/topjohnwu/libcxx.git [submodule "termux-elf-cleaner"] path = tools/termux-elf-cleaner url = https://github.com/termux/termux-elf-cleaner.git diff --git a/native/jni/Application.mk b/native/jni/Application.mk index 6b0f807f963f..b75a00efd3f3 100644 --- a/native/jni/Application.mk +++ b/native/jni/Application.mk @@ -3,7 +3,7 @@ APP_CFLAGS := -Wall -Oz -fomit-frame-pointer -flto \ -D__MVSTR=${MAGISK_VERSION} -D__MCODE=${MAGISK_VER_CODE} APP_LDFLAGS := -flto APP_CPPFLAGS := -std=c++17 -APP_STL := c++_static +APP_STL := none APP_PLATFORM := android-16 ifdef MAGISK_DEBUG diff --git a/native/jni/external/Android.mk b/native/jni/external/Android.mk index fa827ff2a49e..3003a93756b0 100644 --- a/native/jni/external/Android.mk +++ b/native/jni/external/Android.mk @@ -374,3 +374,4 @@ include $(BUILD_STATIC_LIBRARY) CWD := $(LOCAL_PATH) include $(CWD)/systemproperties/Android.mk include $(CWD)/mincrypt/Android.mk +include $(CWD)/libcxx/Android.mk diff --git a/native/jni/external/libcxx b/native/jni/external/libcxx new file mode 160000 index 000000000000..cca5298bc3fb --- /dev/null +++ b/native/jni/external/libcxx @@ -0,0 +1 @@ +Subproject commit cca5298bc3fbb19b607008925b10acd0ee06e03d diff --git a/native/jni/external/systemproperties/Android.mk b/native/jni/external/systemproperties/Android.mk index 39815831077f..ccffa273246b 100644 --- a/native/jni/external/systemproperties/Android.mk +++ b/native/jni/external/systemproperties/Android.mk @@ -4,6 +4,7 @@ include $(CLEAR_VARS) LOCAL_MODULE:= libsystemproperties LOCAL_C_INCLUDES := $(LOCAL_PATH)/include LOCAL_EXPORT_C_INCLUDES := $(LOCAL_C_INCLUDES) +LOCAL_STATIC_LIBRARIES := libcxx LOCAL_SRC_FILES := \ context_node.cpp \ contexts_serialized.cpp \ diff --git a/native/jni/utils/Android.mk b/native/jni/utils/Android.mk index d0bcf23ce9be..bfda5436c9bc 100644 --- a/native/jni/utils/Android.mk +++ b/native/jni/utils/Android.mk @@ -4,6 +4,8 @@ include $(CLEAR_VARS) LOCAL_MODULE:= libutils LOCAL_C_INCLUDES := jni/include $(LOCAL_PATH)/include LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include +LOCAL_EXPORT_STATIC_LIBRARIES := libcxx +LOCAL_STATIC_LIBRARIES := libcxx LOCAL_SRC_FILES := \ missing.cpp \ new.cpp \