mirror of
https://github.com/love2d/love-android.git
synced 2026-08-12 08:31:04 +02:00
80 lines
2.2 KiB
Bash
Executable File
80 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
#================================================================#
|
|
# Build script based on
|
|
# https://github.com/moai/moai-dev/blob/master/ant/libmoai/jni/luajit/build.sh
|
|
#================================================================#
|
|
|
|
host_os=`uname -s | tr "[:upper:]" "[:lower:]"`
|
|
host_arch=`uname -m`
|
|
|
|
if [ -f android/armeabi/libluajit.a ] &&
|
|
[ -f android/armeabi-v7a/libluajit.a ] &&
|
|
[ -f android/x86/libluajit.a ]; then
|
|
echo "LuaJIT Already built"
|
|
exit 0
|
|
fi
|
|
|
|
NDK_BUILD_LOCATION=${ANDROID_NDK}
|
|
if [[ x$NDK_BUILD_LOCATION = "x" ]]; then
|
|
echo "The Android NDK must be on your path."
|
|
exit 1
|
|
fi
|
|
|
|
NDK="${NDK_BUILD_LOCATION%/ndk-build}"
|
|
|
|
if [[ x$NDK = "x" ]]; then
|
|
echo "The Android NDK must be on your path."
|
|
exit 1
|
|
fi
|
|
|
|
NDKABI=9
|
|
|
|
# Since OSX still has bash 3, we don't have associative arrays, fake them instead
|
|
armeabi=0
|
|
armeabiv7a=1
|
|
x86=2
|
|
|
|
NDKVER[$armeabi]="$NDK/toolchains/arm-linux-androideabi-4.8"
|
|
NDKP[$armeabi]="${NDKVER[$armeabi]}/prebuilt/${host_os}-${host_arch}/bin/arm-linux-androideabi-"
|
|
NDKF[$armeabi]="--sysroot \"$NDK/platforms/android-$NDKABI/arch-arm\""
|
|
CFLAGS[$armeabi]=""
|
|
|
|
NDKVER[$armeabiv7a]="${NDKVER[$armeabi]}"
|
|
NDKP[$armeabiv7a]="${NDKP[$armeabi]}"
|
|
NDKF[$armeabiv7a]="${NDKF[$armeabi]}"
|
|
CFLAGS[$armeabiv7a]="${CFLAGS[$armeabi]}"
|
|
|
|
NDKVER[$x86]="$NDK/toolchains/x86-4.8"
|
|
NDKP[$x86]="${NDKVER[$x86]}/prebuilt/${host_os}-${host_arch}/bin/i686-linux-android-"
|
|
NDKF[$x86]="--sysroot \"$NDK/platforms/android-$NDKABI/arch-x86\""
|
|
CFLAGS[$x86]="-DLUAJIT_NO_LOG2"
|
|
|
|
buildLuaJIT()
|
|
{
|
|
archkey="$1"
|
|
arch="$2"
|
|
ndkarch="$3"
|
|
DESTDIR=../android/$arch
|
|
mkdir -p $DESTDIR 2>/dev/null
|
|
rm "$DESTDIR"/*.a 2>/dev/null
|
|
make clean
|
|
make HOST_CC="gcc -m32" CROSS="${NDKP[$archkey]}" TARGET_SYS=Linux TARGET_FLAGS="${NDKF[$archkey]} $ndkarch" TARGET_CFLAGS="${CFLAGS[$archkey]}" libluajit.a
|
|
|
|
if [ -f libluajit.a ]; then
|
|
mv libluajit.a $DESTDIR/libluajit.a
|
|
fi;
|
|
}
|
|
|
|
cd src
|
|
|
|
# Android/ARM, armeabi (ARMv5TE soft-float), Android 2.2+ (Froyo)
|
|
buildLuaJIT $armeabi armeabi
|
|
|
|
# Android/ARM, armeabi-v7a (ARMv7 VFP), Android 4.0+ (ICS)
|
|
buildLuaJIT $armeabiv7a armeabi-v7a "-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -Wl,--fix-cortex-a8"
|
|
|
|
# Android/x86
|
|
buildLuaJIT $x86 x86
|
|
|
|
make clean
|