X-Git-Url: https://git.distorted.org.uk/~mdw/termux-packages/blobdiff_plain/09c4ed7316c895ce69715f4b1f7ddb222c6de12d..76c752bf040b272d2904446d0116e525fe1f811c:/packages/libgnustl/build.sh diff --git a/packages/libgnustl/build.sh b/packages/libgnustl/build.sh index 64e5de8e..435de340 100644 --- a/packages/libgnustl/build.sh +++ b/packages/libgnustl/build.sh @@ -2,18 +2,20 @@ TERMUX_PKG_HOMEPAGE=http://gcc.gnu.org/onlinedocs/libstdc++/ TERMUX_PKG_DESCRIPTION="The GNU Standard C++ Library (a.k.a. libstdc++-v3), necessary on android since the system libstdc++.so is stripped down" TERMUX_PKG_VERSION=$TERMUX_NDK_VERSION TERMUX_PKG_REVISION=1 -# Since every C++ package links against this by default (due -# to the libstdc++.so -> libgnustl_shared.so setup in -# build-package.sh) this package is considered essential, -# and other packages does not need to declare explicit -# dependency on it. -TERMUX_PKG_ESSENTIAL=yes -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" }