|
|
@@ -8,7 +8,8 @@ host_os=`uname -s | tr "[:upper:]" "[:lower:]"`
|
|
|
host_arch=`uname -m`
|
|
|
|
|
|
if [ -f android/armeabi/libluajit.a ] &&
|
|
|
- [ -f android/armeabi-v7a/libluajit.a ]; then
|
|
|
+ [ -f android/armeabi-v7a/libluajit.a ] &&
|
|
|
+ [ -f android/x86/libluajit.a ]; then
|
|
|
echo "LuaJIT Already built"
|
|
|
exit 0
|
|
|
fi
|
|
|
@@ -27,20 +28,37 @@ if [[ x$NDK = "x" ]]; then
|
|
|
fi
|
|
|
|
|
|
NDKABI=9
|
|
|
-NDKVER=$NDK/toolchains/arm-linux-androideabi-4.8
|
|
|
-NDKP=$NDKVER/prebuilt/${host_os}-${host_arch}/bin/arm-linux-androideabi-
|
|
|
-NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
|
|
|
-CFLAGS=""
|
|
|
+
|
|
|
+# 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()
|
|
|
{
|
|
|
- arch="$1"
|
|
|
- ndkarch="$2"
|
|
|
+ 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 TARGET_SYS=Linux TARGET_FLAGS="$NDKF $ndkarch" TARGET_CFLAGS="$CFLAGS" libluajit.a
|
|
|
+ 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
|
|
|
@@ -50,9 +68,12 @@ buildLuaJIT()
|
|
|
cd src
|
|
|
|
|
|
# Android/ARM, armeabi (ARMv5TE soft-float), Android 2.2+ (Froyo)
|
|
|
-buildLuaJIT armeabi
|
|
|
+buildLuaJIT $armeabi armeabi
|
|
|
|
|
|
# Android/ARM, armeabi-v7a (ARMv7 VFP), Android 4.0+ (ICS)
|
|
|
-buildLuaJIT armeabi-v7a "-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -Wl,--fix-cortex-a8"
|
|
|
+buildLuaJIT $armeabiv7a armeabi-v7a "-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -Wl,--fix-cortex-a8"
|
|
|
+
|
|
|
+# Android/x86
|
|
|
+buildLuaJIT $x86 x86
|
|
|
|
|
|
make clean
|