aboutsummaryrefslogtreecommitdiff
path: root/sources
diff options
context:
space:
mode:
authorDan Albert <danalbert@google.com>2017-06-30 11:47:52 -0700
committerDan Albert <danalbert@google.com>2017-06-30 12:51:01 -0700
commit39a94a921cb8fcf070e4c6aa3681c7a384608857 (patch)
tree1ce1c3fc73365a9f33ecddaf0a3046d81b87fba5 /sources
parenta6c33d13e7812ea40419d84e878b7a527cd98a5a (diff)
downloadndk-39a94a921cb8fcf070e4c6aa3681c7a384608857.tar.gz
Remove musl ctype code.
All we need from this is iswblank, for which we can trivially provide our own definition. Test: ./run_tests.py Bug: https://github.com/android-ndk/ndk/issues/300 Change-Id: I47ff80c27e0d475b7275c2c791a7ce1841b1a1ed
Diffstat (limited to 'sources')
-rw-r--r--sources/android/support/Android.mk75
-rw-r--r--sources/android/support/include/wctype.h65
-rw-r--r--sources/android/support/src/iswblank.cpp33
-rw-r--r--sources/android/support/src/musl-ctype/alpha.h125
-rw-r--r--sources/android/support/src/musl-ctype/iswalnum.c7
-rw-r--r--sources/android/support/src/musl-ctype/iswalpha.c14
-rw-r--r--sources/android/support/src/musl-ctype/iswblank.c8
-rw-r--r--sources/android/support/src/musl-ctype/iswcntrl.c10
-rw-r--r--sources/android/support/src/musl-ctype/iswctype.c63
-rw-r--r--sources/android/support/src/musl-ctype/iswdigit.c9
-rw-r--r--sources/android/support/src/musl-ctype/iswgraph.c7
-rw-r--r--sources/android/support/src/musl-ctype/iswlower.c6
-rw-r--r--sources/android/support/src/musl-ctype/iswprint.c19
-rw-r--r--sources/android/support/src/musl-ctype/iswpunct.c12
-rw-r--r--sources/android/support/src/musl-ctype/iswspace.c18
-rw-r--r--sources/android/support/src/musl-ctype/iswupper.c6
-rw-r--r--sources/android/support/src/musl-ctype/iswxdigit.c7
-rw-r--r--sources/android/support/src/musl-ctype/isxdigit.c6
-rw-r--r--sources/android/support/src/musl-ctype/nonspacing.h62
-rw-r--r--sources/android/support/src/musl-ctype/punct.h109
-rw-r--r--sources/android/support/src/musl-ctype/wcswidth.c8
-rw-r--r--sources/android/support/src/musl-ctype/wcwidth.c29
-rw-r--r--sources/android/support/src/musl-ctype/wide.h42
23 files changed, 70 insertions, 670 deletions
diff --git a/sources/android/support/Android.mk b/sources/android/support/Android.mk
index 74342b067..fa0fd0a63 100644
--- a/sources/android/support/Android.mk
+++ b/sources/android/support/Android.mk
@@ -1,6 +1,6 @@
LOCAL_PATH := $(call my-dir)
-android_support_c_includes := $(LOCAL_PATH)/include
+android_support_export_c_includes := $(LOCAL_PATH)/include
ifneq ($(filter $(NDK_KNOWN_DEVICE_ABI64S),$(TARGET_ARCH_ABI)),)
is_lp64 := true
@@ -8,6 +8,20 @@ else
is_lp64 :=
endif
+ifneq ($(LIBCXX_FORCE_REBUILD),true) # Using prebuilt
+
+LIBCXX_LIBS := ../../cxx-stl/llvm-libc++/libs/$(TARGET_ARCH_ABI)
+
+include $(CLEAR_VARS)
+LOCAL_MODULE := android_support
+LOCAL_SRC_FILES := $(LIBCXX_LIBS)/lib$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
+LOCAL_EXPORT_C_INCLUDES := $(android_support_export_c_includes)
+include $(PREBUILT_STATIC_LIBRARY)
+
+else # Building
+
+android_support_c_includes := $(android_support_export_c_includes)
+
ifeq ($(is_lp64),true)
# 64-bit ABIs
android_support_sources := \
@@ -16,8 +30,23 @@ android_support_sources := \
else
# 32-bit ABIs
+BIONIC_PATH := ../../../../bionic
+
+android_support_c_includes += $(BIONIC_PATH)/libc
+
android_support_sources := \
+ $(BIONIC_PATH)/libc/bionic/c32rtomb.cpp \
+ $(BIONIC_PATH)/libc/bionic/mbrtoc32.cpp \
+ $(BIONIC_PATH)/libc/bionic/mbstate.cpp \
+ $(BIONIC_PATH)/libc/bionic/wchar.cpp \
+ $(BIONIC_PATH)/libc/upstream-openbsd/lib/libc/locale/mbtowc.c \
src/_Exit.cpp \
+ src/iswblank.cpp \
+ src/posix_memalign.cpp \
+ src/swprintf.cpp \
+
+# These are old sources that should be purged/rewritten/taken from bionic.
+android_support_sources += \
src/locale/duplocale.c \
src/locale/freelocale.c \
src/locale/localeconv.c \
@@ -28,27 +57,10 @@ android_support_sources := \
src/msun/e_log2.c \
src/msun/e_log2f.c \
src/msun/s_nan.c \
- src/musl-ctype/iswalnum.c \
- src/musl-ctype/iswalpha.c \
- src/musl-ctype/iswblank.c \
- src/musl-ctype/iswcntrl.c \
- src/musl-ctype/iswctype.c \
- src/musl-ctype/iswdigit.c \
- src/musl-ctype/iswgraph.c \
- src/musl-ctype/iswlower.c \
- src/musl-ctype/iswprint.c \
- src/musl-ctype/iswpunct.c \
- src/musl-ctype/iswspace.c \
- src/musl-ctype/iswupper.c \
- src/musl-ctype/iswxdigit.c \
- src/musl-ctype/wcswidth.c \
- src/musl-ctype/wcwidth.c \
src/musl-math/frexp.c \
src/musl-math/frexpf.c \
src/musl-math/frexpl.c \
- src/posix_memalign.cpp \
src/stdlib_support.c \
- src/swprintf.cpp \
src/wchar_support.c \
src/wcstox/floatscan.c \
src/wcstox/intscan.c \
@@ -68,20 +80,6 @@ endif
endif # 64-/32-bit ABIs
-ifneq ($(LIBCXX_FORCE_REBUILD),true) # Using prebuilt
-
-LIBCXX_LIBS := ../../cxx-stl/llvm-libc++/libs/$(TARGET_ARCH_ABI)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := android_support
-LOCAL_SRC_FILES := $(LIBCXX_LIBS)/lib$(LOCAL_MODULE)$(TARGET_LIB_EXTENSION)
-LOCAL_EXPORT_C_INCLUDES := $(android_support_c_includes)
-include $(PREBUILT_STATIC_LIBRARY)
-
-else # Building
-
-BIONIC_PATH := ../../../../bionic
-
# This is only available as a static library for now.
include $(CLEAR_VARS)
LOCAL_MODULE := android_support
@@ -110,18 +108,7 @@ LOCAL_CFLAGS += \
-Wno-shift-negative-value
endif
-LOCAL_EXPORT_C_INCLUDES := $(android_support_c_includes)
-
-ifneq ($(is_lp64),true)
-LOCAL_SRC_FILES += \
- $(BIONIC_PATH)/libc/bionic/c32rtomb.cpp \
- $(BIONIC_PATH)/libc/bionic/mbstate.cpp \
- $(BIONIC_PATH)/libc/bionic/mbrtoc32.cpp \
- $(BIONIC_PATH)/libc/bionic/wchar.cpp \
- $(BIONIC_PATH)/libc/upstream-openbsd/lib/libc/locale/mbtowc.c \
-
-LOCAL_C_INCLUDES += $(BIONIC_PATH)/libc
-endif
+LOCAL_EXPORT_C_INCLUDES := $(android_support_export_c_includes)
include $(BUILD_STATIC_LIBRARY)
diff --git a/sources/android/support/include/wctype.h b/sources/android/support/include/wctype.h
index 9cde37bb7..23f033032 100644
--- a/sources/android/support/include/wctype.h
+++ b/sources/android/support/include/wctype.h
@@ -25,69 +25,16 @@
#ifndef NDK_ANDROID_SUPPORT_WCTYPE_H
#define NDK_ANDROID_SUPPORT_WCTYPE_H
-/* Please read note in wchar.h to see why the C library version of this
- * file is not included through #include_next here.
- */
-#if defined(__LP64__)
-
-# include_next <wctype.h>
-
-#else
-
-# include <xlocale.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef __WINT_TYPE__ wint_t;
-typedef const void* wctrans_t;
-typedef long wctype_t;
-
-#define WEOF ((wint_t)(-1))
-
-int iswalnum(wint_t);
-int iswalpha(wint_t);
-int iswblank(wint_t);
-int iswcntrl(wint_t);
-int iswdigit(wint_t);
-int iswgraph(wint_t);
-int iswlower(wint_t);
-int iswprint(wint_t);
-int iswpunct(wint_t);
-int iswspace(wint_t);
-int iswupper(wint_t);
-int iswxdigit(wint_t);
-int iswctype(wint_t, wctype_t);
-wint_t towctrans(wint_t, wctrans_t);
-wint_t towlower(wint_t);
-wint_t towupper(wint_t);
-wctrans_t wctrans(const char *);
-wctype_t wctype(const char *);
+#include_next <wctype.h>
-int iswalnum_l(wint_t, locale_t);
-int iswgraph_l(wint_t, locale_t);
-int iswctype_l(wint_t, wctype_t, locale_t);
+__BEGIN_DECLS
-wint_t towctrans_l(wint_t, wctrans_t, locale_t);
-wctrans_t wctrans_l(const char *, locale_t);
-wctype_t wctype_l(const char *, locale_t);
+#if __ANDROID_API__ < __ANDROID_API_L__
-int iswalpha_l(wint_t, locale_t);
-int iswblank_l(wint_t, locale_t);
-int iswcntrl_l(wint_t, locale_t);
-int iswdigit_l(wint_t, locale_t);
-int iswlower_l(wint_t, locale_t);
-int iswprint_l(wint_t, locale_t);
-int iswpunct_l(wint_t, locale_t);
-int iswspace_l(wint_t, locale_t);
-int iswupper_l(wint_t, locale_t);
-int iswxdigit_l(wint_t, locale_t);
+int iswblank(wint_t);
-#ifdef __cplusplus
-} // extern "C"
#endif
-#endif // !__LP64__
+__END_DECLS
-#endif // NDK_ANDROID_SUPPORT_WCTYPE_H
+#endif /* NDK_ANDROID_SUPPORT_WCTYPE_H */
diff --git a/sources/android/support/src/iswblank.cpp b/sources/android/support/src/iswblank.cpp
new file mode 100644
index 000000000..f51d1886a
--- /dev/null
+++ b/sources/android/support/src/iswblank.cpp
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+#include <ctype.h>
+#include <wctype.h>
+
+int iswblank(wint_t ch) {
+ return isblank(ch);
+}
diff --git a/sources/android/support/src/musl-ctype/alpha.h b/sources/android/support/src/musl-ctype/alpha.h
deleted file mode 100644
index b318c827f..000000000
--- a/sources/android/support/src/musl-ctype/alpha.h
+++ /dev/null
@@ -1,125 +0,0 @@
-18,17,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,17,34,35,36,17,37,38,39,40,
-41,42,43,44,17,45,46,47,16,16,48,16,16,16,16,16,16,16,49,50,51,16,52,53,16,16,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,54,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,55,17,17,17,17,56,17,57,58,59,60,61,62,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,63,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,64,65,17,66,67,68,69,70,71,72,
-73,16,16,16,74,75,76,77,78,16,16,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,
-16,16,17,17,17,82,83,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,84,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,85,16,
-16,16,16,86,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,87,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-88,89,90,91,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-92,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,0,0,0,0,0,0,0,0,254,255,255,7,254,255,255,7,0,0,0,0,0,4,32,4,
-255,255,127,255,255,255,127,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,195,255,3,0,31,80,0,0,0,0,
-0,0,0,0,0,0,32,0,0,0,0,0,223,60,64,215,255,255,251,255,255,255,255,255,255,
-255,255,255,191,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,3,252,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,0,254,255,255,255,127,2,254,255,255,255,255,0,0,0,0,0,255,191,182,
-0,255,255,255,7,7,0,0,0,255,7,255,255,255,255,255,255,255,254,255,195,255,255,
-255,255,255,255,255,255,255,255,255,255,239,31,254,225,255,159,0,0,255,255,
-255,255,255,255,0,224,255,255,255,255,255,255,255,255,255,255,255,255,3,0,255,
-255,255,255,255,7,48,4,255,255,255,252,255,31,0,0,255,255,255,1,0,0,0,0,0,0,0,
-0,253,31,0,0,0,0,0,0,240,3,255,127,255,255,255,255,255,255,255,239,255,223,
-225,255,207,255,254,254,238,159,249,255,255,253,197,227,159,89,128,176,207,
-255,3,0,238,135,249,255,255,253,109,195,135,25,2,94,192,255,63,0,238,191,251,
-255,255,253,237,227,191,27,1,0,207,255,0,0,238,159,249,255,255,253,237,227,
-159,25,192,176,207,255,2,0,236,199,61,214,24,199,255,195,199,29,129,0,192,255,
-0,0,238,223,253,255,255,253,239,227,223,29,96,3,207,255,0,0,236,223,253,255,
-255,253,239,227,223,29,96,64,207,255,6,0,236,223,253,255,255,255,255,231,223,
-93,128,0,207,255,0,252,236,255,127,252,255,255,251,47,127,128,95,255,0,0,12,0,
-254,255,255,255,255,127,255,7,63,32,255,3,0,0,0,0,150,37,240,254,174,236,255,
-59,95,32,255,243,0,0,0,0,1,0,0,0,255,3,0,0,255,254,255,255,255,31,254,255,3,
-255,255,254,255,255,255,31,0,0,0,0,0,0,0,0,255,255,255,255,255,255,127,249,
-255,3,255,255,231,193,255,255,127,64,255,51,255,255,255,255,191,32,255,255,
-255,255,255,247,255,255,255,255,255,255,255,255,255,61,127,61,255,255,255,255,
-255,61,255,255,255,255,61,127,61,255,127,255,255,255,255,255,255,255,61,255,
-255,255,255,255,255,255,255,135,0,0,0,0,255,255,0,0,255,255,255,255,255,255,
-255,255,255,255,31,0,254,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,159,255,255,254,255,255,7,255,
-255,255,255,255,255,255,255,255,199,1,0,255,223,15,0,255,255,15,0,255,255,15,
-0,255,223,13,0,255,255,255,255,255,255,207,255,255,1,128,16,255,3,0,0,0,0,255,
-3,255,255,255,255,255,255,255,255,255,255,255,0,255,255,255,255,255,7,255,255,
-255,255,255,255,255,255,63,0,255,255,255,31,255,15,255,1,192,255,255,255,255,
-63,31,0,255,255,255,255,255,15,255,255,255,3,255,3,0,0,0,0,255,255,255,15,255,
-255,255,255,255,255,255,127,254,255,31,0,255,3,255,3,128,0,0,0,0,0,0,0,0,0,0,
-0,255,255,255,255,255,255,239,255,239,15,255,3,0,0,0,0,255,255,255,255,255,
-243,255,255,255,255,255,255,191,255,3,0,255,255,255,255,255,255,63,0,255,227,
-255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,222,111,0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,0,0,0,0,0,0,0,0,255,255,63,63,255,255,255,255,63,63,255,170,255,255,255,
-63,255,255,255,255,255,255,223,95,220,31,207,15,255,31,220,31,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,2,128,0,0,255,31,0,0,0,0,0,0,0,0,0,0,0,0,132,252,47,62,80,189,255,
-243,224,67,0,0,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,255,255,255,255,255,255,3,0,0,255,255,255,
-255,255,127,255,255,255,255,255,127,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,31,120,12,0,255,255,255,255,191,32,255,255,255,255,
-255,255,255,128,0,0,255,255,127,0,127,127,127,127,127,127,127,127,255,255,255,
-255,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,
-0,254,3,62,31,254,255,255,255,255,255,255,255,255,255,127,224,254,255,255,255,
-255,255,255,255,255,255,255,247,224,255,255,255,255,63,254,255,255,255,255,
-255,255,255,255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-63,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,255,
-255,255,255,255,63,255,31,255,255,255,15,0,0,255,255,255,255,255,127,240,143,
-255,255,255,128,255,255,255,255,255,255,255,255,255,255,0,0,0,0,128,255,252,
-255,255,255,255,255,255,255,255,255,255,255,255,121,15,0,255,7,0,0,0,0,0,0,0,
-0,0,255,187,247,255,255,255,0,0,0,255,255,255,255,255,255,15,0,255,255,255,
-255,255,255,255,255,15,0,255,3,0,0,252,8,255,255,255,255,255,7,255,255,255,
-255,7,0,255,255,255,31,255,255,255,255,255,255,247,255,0,128,255,3,0,0,0,0,
-255,255,255,255,255,255,127,0,255,63,255,3,255,255,127,4,255,255,255,255,255,
-255,255,127,5,0,0,56,255,255,60,0,126,126,126,0,127,127,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,255,255,255,255,255,7,255,3,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,127,248,255,255,255,
-255,255,15,255,255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,
-255,255,255,255,255,255,255,255,255,255,3,0,0,0,0,127,0,248,224,255,253,127,
-95,219,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,248,255,
-255,255,255,255,255,255,255,255,255,255,255,63,0,0,255,255,255,255,255,255,
-255,255,252,255,255,255,255,255,255,0,0,0,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,223,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,0,
-0,255,3,254,255,255,7,254,255,255,7,192,255,255,255,255,255,255,255,255,255,
-255,127,252,252,252,28,0,0,0,0,255,239,255,255,127,255,255,183,255,63,255,63,
-0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,
-0,0,0,0,255,255,255,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,31,255,255,255,255,255,255,1,0,0,0,0,0,
-255,255,255,127,0,0,255,255,255,7,0,0,0,0,0,0,255,255,255,63,255,255,255,255,
-15,255,62,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,63,255,3,0,0,0,0,0,0,0,0,0,0,63,253,255,255,255,255,191,
-145,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,63,0,255,255,
-255,3,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,192,0,0,0,0,0,0,0,0,111,240,
-239,254,255,255,15,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-255,255,255,255,255,255,63,0,255,255,63,0,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,255,255,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,255,255,255,255,255,255,255,255,63,0,0,0,192,255,0,0,252,255,255,
-255,255,255,255,1,0,0,255,255,255,1,255,3,255,255,255,255,255,255,199,255,0,0,
-0,0,0,0,0,0,255,255,255,255,255,255,255,255,30,0,255,3,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,63,0,255,3,0,0,0,0,0,0,255,255,255,
-255,255,255,255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,255,255,255,255,255,255,255,255,255,255,255,255,7,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,255,255,255,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,255,255,255,255,255,255,255,255,31,0,255,255,255,255,255,127,0,0,
-248,255,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,
-255,255,255,255,223,100,222,255,235,239,255,255,255,255,255,255,255,191,231,
-223,223,255,255,255,123,95,252,253,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,63,255,255,255,253,255,255,
-247,255,255,255,247,255,255,223,255,255,255,223,255,255,127,255,255,255,127,
-255,255,255,253,255,255,255,253,255,255,247,207,255,255,255,255,255,255,239,
-255,255,255,150,254,247,10,132,234,150,170,150,247,247,94,255,251,255,15,238,
-251,255,15,0,0,0,0,0,0,0,0,
diff --git a/sources/android/support/src/musl-ctype/iswalnum.c b/sources/android/support/src/musl-ctype/iswalnum.c
deleted file mode 100644
index 35dbe02cf..000000000
--- a/sources/android/support/src/musl-ctype/iswalnum.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <wchar.h>
-#include <wctype.h>
-
-int iswalnum(wint_t wc)
-{
- return iswdigit(wc) || iswalpha(wc);
-}
diff --git a/sources/android/support/src/musl-ctype/iswalpha.c b/sources/android/support/src/musl-ctype/iswalpha.c
deleted file mode 100644
index d558faef4..000000000
--- a/sources/android/support/src/musl-ctype/iswalpha.c
+++ /dev/null
@@ -1,14 +0,0 @@
-#include <wctype.h>
-
-static const unsigned char table[] = {
-#include "alpha.h"
-};
-
-int iswalpha(wint_t wc)
-{
- if (wc<0x20000U)
- return (table[table[wc>>8]*32+((wc&255)>>3)]>>(wc&7))&1;
- if (wc<0x2fffeU)
- return 1;
- return 0;
-}
diff --git a/sources/android/support/src/musl-ctype/iswblank.c b/sources/android/support/src/musl-ctype/iswblank.c
deleted file mode 100644
index bc6196f29..000000000
--- a/sources/android/support/src/musl-ctype/iswblank.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <wchar.h>
-#include <wctype.h>
-#include <ctype.h>
-
-int iswblank(wint_t wc)
-{
- return isblank(wc);
-}
diff --git a/sources/android/support/src/musl-ctype/iswcntrl.c b/sources/android/support/src/musl-ctype/iswcntrl.c
deleted file mode 100644
index 93942b087..000000000
--- a/sources/android/support/src/musl-ctype/iswcntrl.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <wchar.h>
-#include <wctype.h>
-
-int iswcntrl(wint_t wc)
-{
- return (unsigned)wc < 32
- || (unsigned)(wc-0x7f) < 33
- || (unsigned)(wc-0x2028) < 2
- || (unsigned)(wc-0xfff9) < 3;
-}
diff --git a/sources/android/support/src/musl-ctype/iswctype.c b/sources/android/support/src/musl-ctype/iswctype.c
deleted file mode 100644
index d917975b9..000000000
--- a/sources/android/support/src/musl-ctype/iswctype.c
+++ /dev/null
@@ -1,63 +0,0 @@
-#include <wchar.h>
-#include <wctype.h>
-#include <string.h>
-
-#define WCTYPE_ALNUM 1
-#define WCTYPE_ALPHA 2
-#define WCTYPE_BLANK 3
-#define WCTYPE_CNTRL 4
-#define WCTYPE_DIGIT 5
-#define WCTYPE_GRAPH 6
-#define WCTYPE_LOWER 7
-#define WCTYPE_PRINT 8
-#define WCTYPE_PUNCT 9
-#define WCTYPE_SPACE 10
-#define WCTYPE_UPPER 11
-#define WCTYPE_XDIGIT 12
-
-int iswctype(wint_t wc, wctype_t type)
-{
- switch (type) {
- case WCTYPE_ALNUM:
- return iswalnum(wc);
- case WCTYPE_ALPHA:
- return iswalpha(wc);
- case WCTYPE_BLANK:
- return iswblank(wc);
- case WCTYPE_CNTRL:
- return iswcntrl(wc);
- case WCTYPE_DIGIT:
- return iswdigit(wc);
- case WCTYPE_GRAPH:
- return iswgraph(wc);
- case WCTYPE_LOWER:
- return iswlower(wc);
- case WCTYPE_PRINT:
- return iswprint(wc);
- case WCTYPE_PUNCT:
- return iswpunct(wc);
- case WCTYPE_SPACE:
- return iswspace(wc);
- case WCTYPE_UPPER:
- return iswupper(wc);
- case WCTYPE_XDIGIT:
- return iswxdigit(wc);
- }
- return 0;
-}
-
-wctype_t wctype(const char *s)
-{
- int i;
- const char *p;
- /* order must match! */
- static const char names[] =
- "alnum\0" "alpha\0" "blank\0"
- "cntrl\0" "digit\0" "graph\0"
- "lower\0" "print\0" "punct\0"
- "space\0" "upper\0" "xdigit";
- for (i=1, p=names; *p; i++, p+=6)
- if (*s == *p && !strcmp(s, p))
- return i;
- return 0;
-}
diff --git a/sources/android/support/src/musl-ctype/iswdigit.c b/sources/android/support/src/musl-ctype/iswdigit.c
deleted file mode 100644
index 0487145fa..000000000
--- a/sources/android/support/src/musl-ctype/iswdigit.c
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <wchar.h>
-#include <wctype.h>
-
-#undef iswdigit
-
-int iswdigit(wint_t wc)
-{
- return (unsigned)wc-'0' < 10;
-}
diff --git a/sources/android/support/src/musl-ctype/iswgraph.c b/sources/android/support/src/musl-ctype/iswgraph.c
deleted file mode 100644
index fdc978535..000000000
--- a/sources/android/support/src/musl-ctype/iswgraph.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <wctype.h>
-
-int iswgraph(wint_t wc)
-{
- /* ISO C defines this function as: */
- return !iswspace(wc) && iswprint(wc);
-}
diff --git a/sources/android/support/src/musl-ctype/iswlower.c b/sources/android/support/src/musl-ctype/iswlower.c
deleted file mode 100644
index 438fe26a5..000000000
--- a/sources/android/support/src/musl-ctype/iswlower.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <wctype.h>
-
-int iswlower(wint_t wc)
-{
- return towupper(wc) != wc || wc == 0xdf;
-}
diff --git a/sources/android/support/src/musl-ctype/iswprint.c b/sources/android/support/src/musl-ctype/iswprint.c
deleted file mode 100644
index 333f19c2b..000000000
--- a/sources/android/support/src/musl-ctype/iswprint.c
+++ /dev/null
@@ -1,19 +0,0 @@
-#include <wctype.h>
-
-/* Consider all legal codepoints as printable except for:
- * - C0 and C1 control characters
- * - U+2028 and U+2029 (line/para break)
- * - U+FFF9 through U+FFFB (interlinear annotation controls)
- * The following code is optimized heavily to make hot paths for the
- * expected printable characters. */
-
-int iswprint(wint_t wc)
-{
- if (wc < 0xffU)
- return (wc+1 & 0x7f) >= 0x21;
- if (wc < 0x2028U || wc-0x202aU < 0xd800-0x202a || wc-0xe000U < 0xfff9-0xe000)
- return 1;
- if (wc-0xfffcU > 0x10ffff-0xfffc || (wc&0xfffe)==0xfffe)
- return 0;
- return 1;
-}
diff --git a/sources/android/support/src/musl-ctype/iswpunct.c b/sources/android/support/src/musl-ctype/iswpunct.c
deleted file mode 100644
index 16e8703b5..000000000
--- a/sources/android/support/src/musl-ctype/iswpunct.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <wctype.h>
-
-static const unsigned char table[] = {
-#include "punct.h"
-};
-
-int iswpunct(wint_t wc)
-{
- if (wc<0x20000U)
- return (table[table[wc>>8]*32+((wc&255)>>3)]>>(wc&7))&1;
- return 0;
-}
diff --git a/sources/android/support/src/musl-ctype/iswspace.c b/sources/android/support/src/musl-ctype/iswspace.c
deleted file mode 100644
index b0c0ae18c..000000000
--- a/sources/android/support/src/musl-ctype/iswspace.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <wchar.h>
-#include <wctype.h>
-#include <ctype.h>
-
-/* Our definition of whitespace is the Unicode White_Space property,
- * minus non-breaking spaces (U+00A0, U+2007, and U+202F) and script-
- * specific characters with non-blank glyphs (U+1680 and U+180E). */
-
-int iswspace(wint_t wc)
-{
- static const wchar_t spaces[] = {
- ' ', '\t', '\n', '\r', 11, 12, 0x0085,
- 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005,
- 0x2006, 0x2008, 0x2009, 0x200a,
- 0x2028, 0x2029, 0x205f, 0x3000, 0
- };
- return wc && wcschr(spaces, wc);
-}
diff --git a/sources/android/support/src/musl-ctype/iswupper.c b/sources/android/support/src/musl-ctype/iswupper.c
deleted file mode 100644
index eae59a75d..000000000
--- a/sources/android/support/src/musl-ctype/iswupper.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <wctype.h>
-
-int iswupper(wint_t wc)
-{
- return towlower(wc) != wc;
-}
diff --git a/sources/android/support/src/musl-ctype/iswxdigit.c b/sources/android/support/src/musl-ctype/iswxdigit.c
deleted file mode 100644
index 229a469f0..000000000
--- a/sources/android/support/src/musl-ctype/iswxdigit.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#include <wchar.h>
-#include <wctype.h>
-
-int iswxdigit(wint_t wc)
-{
- return (unsigned)(wc-'0') < 10 || (unsigned)((wc|32)-'a') < 6;
-}
diff --git a/sources/android/support/src/musl-ctype/isxdigit.c b/sources/android/support/src/musl-ctype/isxdigit.c
deleted file mode 100644
index ae68a3dc9..000000000
--- a/sources/android/support/src/musl-ctype/isxdigit.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include <ctype.h>
-
-int isxdigit(int c)
-{
- return isdigit(c) || ((unsigned)c|32)-'a' < 6;
-}
diff --git a/sources/android/support/src/musl-ctype/nonspacing.h b/sources/android/support/src/musl-ctype/nonspacing.h
deleted file mode 100644
index 4c25ef517..000000000
--- a/sources/android/support/src/musl-ctype/nonspacing.h
+++ /dev/null
@@ -1,62 +0,0 @@
-16,16,16,18,19,20,21,22,23,24,25,26,27,28,29,30,31,16,16,32,16,16,16,33,34,35,
-36,37,38,39,16,16,40,16,16,16,16,16,16,16,16,16,16,16,41,42,16,16,43,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,44,16,45,46,47,48,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,49,16,16,50,51,16,52,16,16,
-16,16,16,16,16,16,53,16,16,16,16,16,54,55,16,16,16,16,56,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,57,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,59,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,3,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,191,
-182,0,0,0,0,0,0,0,31,0,255,7,0,0,0,0,0,248,255,255,0,0,1,0,0,0,0,0,0,0,0,0,0,
-0,192,191,159,61,0,0,0,128,2,0,0,0,255,255,255,7,0,0,0,0,0,0,0,0,0,0,192,255,
-1,0,0,0,0,0,0,248,15,0,0,0,192,251,239,62,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,240,255,255,127,7,0,0,0,0,0,0,20,254,33,254,0,12,0,0,0,2,0,0,0,0,0,
-0,16,30,32,0,0,12,0,0,0,6,0,0,0,0,0,0,16,134,57,2,0,0,0,35,0,6,0,0,0,0,0,0,16,
-190,33,0,0,12,0,0,0,2,0,0,0,0,0,0,144,30,32,64,0,12,0,0,0,4,0,0,0,0,0,0,0,1,
-32,0,0,0,0,0,0,0,0,0,0,0,0,0,192,193,61,96,0,12,0,0,0,0,0,0,0,0,0,0,144,64,48,
-0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,32,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,4,92,0,0,0,
-0,0,0,0,0,0,0,0,242,7,128,127,0,0,0,0,0,0,0,0,0,0,0,0,242,27,0,63,0,0,0,0,0,0,
-0,0,0,3,0,0,160,2,0,0,0,0,0,0,254,127,223,224,255,254,255,255,255,31,64,0,0,0,
-0,0,0,0,0,0,0,0,0,224,253,102,0,0,0,195,1,0,30,0,100,32,0,32,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-28,0,0,0,28,0,0,0,12,0,0,0,12,0,0,0,0,0,0,0,176,63,64,254,15,32,0,0,0,0,0,56,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,1,4,
-14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,1,0,0,0,0,0,0,64,
-127,229,31,248,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,208,23,4,0,0,
-0,0,248,15,0,3,0,0,0,60,11,0,0,0,0,0,0,64,163,3,0,0,0,0,0,0,240,207,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,247,255,253,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,255,255,255,255,127,0,0,240,0,248,0,0,0,124,0,0,0,0,0,0,31,
-252,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,
-0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,247,63,0,0,0,128,0,0,0,0,0,
-0,0,0,0,0,3,0,68,8,0,0,96,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,255,
-255,3,0,0,0,0,0,192,63,0,0,128,255,3,0,0,0,0,0,7,0,0,0,0,0,200,19,0,0,0,0,0,0,
-0,0,0,0,0,0,0,126,102,0,8,16,0,0,0,0,0,0,0,0,0,0,0,0,157,193,2,0,0,0,0,48,64,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,33,0,0,0,0,0,64,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,0,0,127,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,32,110,240,0,0,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,255,127,0,0,0,0,0,0,0,3,0,0,0,0,0,120,38,0,0,
-0,0,0,0,0,0,7,0,0,0,128,239,31,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,192,127,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,191,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,128,3,248,255,231,15,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
diff --git a/sources/android/support/src/musl-ctype/punct.h b/sources/android/support/src/musl-ctype/punct.h
deleted file mode 100644
index 466e6b330..000000000
--- a/sources/android/support/src/musl-ctype/punct.h
+++ /dev/null
@@ -1,109 +0,0 @@
-18,16,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,16,16,34,35,16,36,37,38,39,
-40,41,42,43,16,44,45,46,17,47,48,17,17,49,17,17,17,50,51,52,53,54,55,56,57,17,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,58,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,59,16,60,61,62,63,64,65,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,66,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,67,16,16,68,16,69,70,71,16,72,16,73,
-16,16,16,16,74,75,76,77,16,16,78,16,79,80,16,16,16,16,81,16,16,16,16,16,16,16,
-16,16,16,16,16,16,82,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,83,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,84,85,86,87,
-16,16,88,89,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-90,16,91,92,93,94,95,96,97,98,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,0,0,0,0,254,255,0,252,1,0,0,248,1,0,0,120,0,0,0,0,255,251,223,
-251,0,0,128,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,
-252,255,224,175,255,255,255,255,255,255,255,255,255,255,223,255,255,255,255,
-255,32,64,176,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-252,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,134,254,
-255,255,255,0,64,73,0,0,0,0,0,24,0,223,255,0,200,0,0,0,0,0,0,0,1,0,60,0,0,0,0,
-0,0,0,0,0,0,0,0,16,224,1,30,0,96,255,191,0,0,0,0,0,0,255,7,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,248,207,3,0,0,0,3,0,32,255,127,0,0,0,78,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,0,0,0,16,0,32,30,0,48,0,1,0,0,0,0,0,0,0,0,16,
-0,32,0,0,0,0,252,15,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,32,0,
-0,0,0,3,0,0,0,0,0,0,0,0,16,0,32,0,0,0,0,253,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,
-255,7,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,255,0,0,0,0,0,0,0,16,0,32,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,32,0,0,0,0,63,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,16,0,0,0,0,0,0,
-128,0,128,192,223,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,254,255,255,
-255,0,252,255,255,0,0,0,0,0,0,0,0,252,0,0,0,0,0,0,192,255,223,255,7,0,0,0,0,0,
-0,0,0,0,0,128,6,0,252,0,0,24,62,0,0,128,191,0,204,0,0,0,0,0,0,0,0,0,0,0,8,0,0,
-0,0,0,0,0,0,0,0,0,96,255,255,255,31,0,0,255,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,96,0,0,1,0,0,24,0,0,0,0,0,0,0,0,0,56,0,0,0,0,16,0,0,0,112,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,48,0,0,254,127,47,0,0,255,3,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,49,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,196,255,255,255,255,0,0,0,192,0,0,0,0,0,0,0,0,1,0,224,159,0,0,0,0,
-127,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,16,0,0,252,255,255,255,31,0,0,0,0,
-0,12,0,0,0,0,0,0,64,0,12,240,0,0,0,0,0,0,192,248,0,0,0,0,0,0,0,192,0,0,0,0,0,
-0,0,0,255,0,255,255,255,33,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,255,255,255,255,127,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-160,3,224,0,224,0,224,0,96,128,248,255,255,255,252,255,255,255,255,255,127,31,
-252,241,127,255,127,0,0,255,255,255,3,0,0,255,255,255,255,1,0,123,3,208,193,
-175,66,0,12,31,188,255,255,0,0,0,0,0,2,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,255,
-255,255,127,0,0,0,255,7,0,0,255,255,255,255,255,255,255,255,255,255,63,0,0,0,
-0,0,0,252,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,31,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,135,3,254,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,1,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,
-127,255,15,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,255,255,255,255,255,
-255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,30,255,255,255,1,252,
-193,224,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,255,255,0,0,0,0,255,255,255,255,15,0,0,0,255,255,255,127,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,
-255,255,255,255,127,0,0,0,0,0,0,192,0,224,0,0,0,0,0,0,0,0,0,0,0,128,15,112,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255,255,127,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,68,8,0,0,0,15,255,3,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,
-16,192,0,0,255,255,3,7,0,0,0,0,0,248,0,0,0,0,8,128,0,0,0,0,0,0,0,0,0,0,8,0,
-255,63,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,128,11,0,0,0,0,0,0,0,128,2,
-0,0,192,0,0,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,
-0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,2,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,252,255,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,255,255,255,3,127,0,255,255,255,255,247,
-255,127,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,254,255,0,252,1,0,0,248,1,0,
-0,248,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,127,0,48,135,255,255,255,255,255,
-143,255,0,0,0,0,0,0,224,255,255,7,255,15,0,0,0,0,0,0,255,255,255,255,255,63,0,
-0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,128,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,143,0,0,0,128,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,255,0,255,1,
-0,0,0,224,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,0,0,0,255,0,0,0,
-255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,127,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,63,252,255,63,0,0,0,3,0,0,0,
-0,0,0,254,3,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-225,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,63,0,255,255,255,255,127,254,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,0,
-255,255,255,255,255,255,255,255,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,255,255,255,255,255,255,255,255,255,255,127,0,255,255,3,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,8,0,0,0,
-8,0,0,32,0,0,0,32,0,0,128,0,0,0,128,0,0,0,2,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,255,255,255,255,255,
-15,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,127,254,127,254,
-255,254,255,0,0,0,0,255,7,255,255,255,127,255,255,255,255,255,255,255,15,255,
-255,255,255,255,7,0,0,0,0,0,0,0,0,192,255,255,255,7,0,255,255,255,255,255,7,
-255,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,1,0,191,255,
-255,255,255,255,255,255,255,31,255,255,15,0,255,255,255,255,223,7,0,0,255,255,
-1,0,255,255,255,255,255,255,255,127,253,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,30,255,255,255,255,255,
-255,255,63,15,0,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,255,
-255,255,255,255,255,255,225,255,0,0,0,0,0,0,255,255,255,255,255,255,255,255,
-63,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
diff --git a/sources/android/support/src/musl-ctype/wcswidth.c b/sources/android/support/src/musl-ctype/wcswidth.c
deleted file mode 100644
index 5c8a5a4da..000000000
--- a/sources/android/support/src/musl-ctype/wcswidth.c
+++ /dev/null
@@ -1,8 +0,0 @@
-#include <wchar.h>
-
-int wcswidth(const wchar_t *wcs, size_t n)
-{
- int l=0, k=0;
- for (; n-- && *wcs && (k = wcwidth(*wcs)) >= 0; l+=k, wcs++);
- return (k < 0) ? k : l;
-}
diff --git a/sources/android/support/src/musl-ctype/wcwidth.c b/sources/android/support/src/musl-ctype/wcwidth.c
deleted file mode 100644
index 49c40eea8..000000000
--- a/sources/android/support/src/musl-ctype/wcwidth.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <wchar.h>
-
-static const unsigned char table[] = {
-#include "nonspacing.h"
-};
-
-static const unsigned char wtable[] = {
-#include "wide.h"
-};
-
-int wcwidth(wchar_t wc)
-{
- if (wc < 0xffU)
- return (wc+1 & 0x7f) >= 0x21 ? 1 : wc ? -1 : 0;
- if ((wc & 0xfffeffffU) < 0xfffe) {
- if ((table[table[wc>>8]*32+((wc&255)>>3)]>>(wc&7))&1)
- return 0;
- if ((wtable[wtable[wc>>8]*32+((wc&255)>>3)]>>(wc&7))&1)
- return 2;
- return 1;
- }
- if ((wc & 0xfffe) == 0xfffe)
- return -1;
- if (wc-0x20000U < 0x20000)
- return 2;
- if (wc == 0xe0001 || wc-0xe0020U < 0x5f || wc-0xe0100 < 0xef)
- return 0;
- return 1;
-}
diff --git a/sources/android/support/src/musl-ctype/wide.h b/sources/android/support/src/musl-ctype/wide.h
deleted file mode 100644
index 125d0ce39..000000000
--- a/sources/android/support/src/musl-ctype/wide.h
+++ /dev/null
@@ -1,42 +0,0 @@
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,19,16,16,16,16,16,16,16,16,16,16,20,21,22,23,24,17,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,25,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,17,26,16,16,16,16,27,16,16,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,
-17,17,17,17,17,17,17,28,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,16,16,16,29,30,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,31,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
-16,16,16,16,32,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,
-0,248,0,0,0,0,0,0,0,0,0,0,252,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,251,255,255,255,
-255,255,255,255,255,255,255,15,0,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,63,0,0,0,255,15,
-255,255,255,255,255,255,255,127,254,255,255,255,255,255,255,255,255,255,127,
-254,255,255,255,255,255,255,255,255,255,255,255,255,224,255,255,255,255,63,
-254,255,255,255,255,255,255,255,255,255,255,127,255,255,255,255,255,7,255,255,
-255,255,15,0,255,255,255,255,255,127,255,255,255,255,255,0,255,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,127,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,
-255,255,255,255,255,255,31,255,255,255,255,255,255,127,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,255,255,255,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,
-255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,15,0,255,
-255,127,248,255,255,255,255,255,15,0,0,255,3,0,0,255,255,255,255,247,255,127,
-15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,255,255,255,255,255,255,
-255,255,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,255,255,255,255,255,7,255,1,3,0,0,
-0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,