ndk-multilib: add libcompiler-rt files for cross-compile
This commit is contained in:
parent
548e73d771
commit
965fa55ee2
|
@ -3,7 +3,7 @@ TERMUX_PKG_DESCRIPTION="Multilib binaries for cross-compilation"
|
|||
TERMUX_PKG_LICENSE="NCSA"
|
||||
TERMUX_PKG_MAINTAINER="@termux"
|
||||
TERMUX_PKG_VERSION=$TERMUX_NDK_VERSION
|
||||
TERMUX_PKG_REVISION=1
|
||||
TERMUX_PKG_REVISION=2
|
||||
TERMUX_PKG_SKIP_SRC_EXTRACT=true
|
||||
TERMUX_PKG_PLATFORM_INDEPENDENT=true
|
||||
TERMUX_PKG_NO_STATICSPLIT=true
|
||||
|
@ -37,6 +37,20 @@ prepare_libs() {
|
|||
fi
|
||||
|
||||
cp $LIBATOMIC/libatomic.a $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib/
|
||||
|
||||
cp $LIBATOMIC/libunwind.a $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib/
|
||||
}
|
||||
|
||||
add_cross_compiler_rt() {
|
||||
RT_PREFIX=$NDK/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/*/lib/linux
|
||||
RT_OPT_DIR=$TERMUX_PREFIX/opt/ndk-multilib/cross-compiler-rt
|
||||
LIBLLVM_VERSION=$(. $TERMUX_SCRIPTDIR/packages/libllvm/build.sh; echo $TERMUX_PKG_VERSION)
|
||||
RT_PATH=$TERMUX_PREFIX/lib/clang/$LIBLLVM_VERSION/lib/android
|
||||
mkdir -p $TERMUX_PKG_MASSAGEDIR/$RT_OPT_DIR
|
||||
cp $RT_PREFIX/* $TERMUX_PKG_MASSAGEDIR/$RT_OPT_DIR || true
|
||||
# Reserve this folder to make its existance be handled by dpkg.
|
||||
mkdir -p $TERMUX_PKG_MASSAGEDIR/$RT_PATH
|
||||
touch $TERMUX_PKG_MASSAGEDIR/$RT_PATH/.keep-ndk-multilib
|
||||
}
|
||||
|
||||
termux_step_extract_into_massagedir() {
|
||||
|
@ -44,4 +58,28 @@ termux_step_extract_into_massagedir() {
|
|||
prepare_libs "arm64" "aarch64-linux-android"
|
||||
prepare_libs "x86" "i686-linux-android"
|
||||
prepare_libs "x86_64" "x86_64-linux-android"
|
||||
add_cross_compiler_rt
|
||||
}
|
||||
|
||||
termux_step_create_debscripts() {
|
||||
# Install the symlinks.
|
||||
cat <<- POSTINST_EOF > ./postinst
|
||||
#!$TERMUX_PREFIX/bin/sh
|
||||
echo "Installing symlinks to $RT_PATH..."
|
||||
find $RT_OPT_DIR -type f ! -name "libclang_rt*\$(dpkg --print-architecture)*" -exec ln -sf "{}" $RT_PATH \;
|
||||
exit 0
|
||||
POSTINST_EOF
|
||||
|
||||
# Uninstall the symlinks.
|
||||
cat <<- PRERM_EOF > ./prerm
|
||||
#!$TERMUX_PREFIX/bin/sh
|
||||
if [ "$TERMUX_PACKAGE_FORMAT" != "pacman" ] && [ "\$1" != "remove" ]; then
|
||||
exit 0
|
||||
fi
|
||||
echo "Uninstalling symlinks..."
|
||||
find $RT_PATH -type l ! -name "libclang_rt*\$(dpkg --print-architecture)*" -exec rm -rf "{}" \;
|
||||
exit 0
|
||||
PRERM_EOF
|
||||
|
||||
chmod 0755 postinst prerm
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue