-termux_step_post_massage () {
- # We take the library here after massage step to
- # avoid stripping the library after running termux-elf-cleaner,
- # which causes a broken library (program compiled on the
- # device linking to the library will segfault, at least on aarch64).
- mkdir lib
- cp $TERMUX_PREFIX/lib/libgnustl_shared.so lib/
+termux_step_extract_into_massagedir() {
+ if [ "$TERMUX_ARCH" = arm ]; then
+ local _STL_LIBFILE=$NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/libgnustl_shared.so
+ elif [ "$TERMUX_ARCH" = i686 ]; then
+ local _STL_LIBFILE=$NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_shared.so
+ elif [ "$TERMUX_ARCH" = aarch64 ]; then
+ local _STL_LIBFILE=$NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/libgnustl_shared.so
+ elif [ "$TERMUX_ARCH" = x86_64 ]; then
+ local _STL_LIBFILE=$NDK/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/libgnustl_shared.so
+ else
+ termux_error_exit "Unsupported arch"
+ fi
+
+ mkdir -p "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib"
+ cp "$_STL_LIBFILE" "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib"