Browse Source
It allows compiling binaries for another android variant on termux. E.g. to compile for arm on aarch64 do: clang -m32 -o 1 1.c -fuse-ld=lld -L/system/lib -B$PREFIX/arm-linux-androideabi/lib Hopefully with the time -L and -B will be eliminatedandroid-5
Vladimir Serbinenko
7 years ago
committed by
Fredrik Fornwall
1 changed files with 34 additions and 0 deletions
@ -0,0 +1,34 @@ |
|||||
|
TERMUX_PKG_HOMEPAGE=https://developer.android.com/tools/sdk/ndk/index.html |
||||
|
TERMUX_SUBPKG_DESCRIPTION="multilib binaries for cross-compilation" |
||||
|
TERMUX_PKG_VERSION=$TERMUX_NDK_VERSION |
||||
|
TERMUX_PKG_NO_DEVELSPLIT=yes |
||||
|
TERMUX_PKG_KEEP_STATIC_LIBRARIES="true" |
||||
|
TERMUX_PKG_PLATFORM_INDEPENDENT=true |
||||
|
|
||||
|
prepare_libs () { |
||||
|
local ARCH="$1" |
||||
|
local SUFFIX="$2" |
||||
|
local NDK_SUFFIX=$SUFFIX |
||||
|
|
||||
|
if [ $ARCH = x86 ] || [ $ARCH = x86_64 ]; then |
||||
|
NDK_SUFFIX=$ARCH |
||||
|
fi |
||||
|
|
||||
|
mkdir -p $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib |
||||
|
local BASEDIR=$NDK/platforms/android-${TERMUX_PKG_API_LEVEL}/arch-$ARCH/usr/lib |
||||
|
if [ $ARCH = x86_64 ] || [ $ARCH = mips64 ]; then BASEDIR+="64"; fi |
||||
|
cp $BASEDIR/*.o $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib |
||||
|
|
||||
|
LIBATOMIC=$NDK/toolchains/${NDK_SUFFIX}-*/prebuilt/linux-*/${SUFFIX}/lib |
||||
|
if [ $ARCH = arm64 ]; then LIBATOMIC+="64"; fi |
||||
|
cp $LIBATOMIC/libatomic.a $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/$SUFFIX/lib/libatomic.a |
||||
|
} |
||||
|
|
||||
|
termux_step_extract_into_massagedir () { |
||||
|
prepare_libs "arm" "arm-linux-androideabi" |
||||
|
prepare_libs "arm64" "aarch64-linux-android" |
||||
|
prepare_libs "x86" "i686-linux-android" |
||||
|
prepare_libs "x86_64" "x86_64-linux-android" |
||||
|
prepare_libs "mips" "mipsel-linux-android" |
||||
|
prepare_libs "mips64" "mips64el-linux-android" |
||||
|
} |
Loading…
Reference in new issue