Browse Source

LuaJIT build script also builds for x86 and added the binary. First step to optional support of x86 android devices

Martin Felis 10 years ago
parent
commit
7aaeb1485e

BIN
jni/LuaJIT-2.1/android/armeabi-v7a/libluajit.a


BIN
jni/LuaJIT-2.1/android/armeabi/libluajit.a


BIN
jni/LuaJIT-2.1/android/x86/libluajit.a


+ 31 - 10
jni/LuaJIT-2.1/buildandroid.sh

@@ -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