buildandroid.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #!/bin/bash
  2. #================================================================#
  3. # Build script based on
  4. # https://github.com/moai/moai-dev/blob/master/ant/libmoai/jni/luajit/build.sh
  5. #================================================================#
  6. host_os=`uname -s | tr "[:upper:]" "[:lower:]"`
  7. host_arch=`uname -m`
  8. if [ -f android/armeabi/libluajit.a ] &&
  9. [ -f android/armeabi-v7a/libluajit.a ]; then
  10. echo "LuaJIT Already built"
  11. exit 0
  12. fi
  13. NDK_BUILD_LOCATION=${ANDROID_NDK}
  14. if [[ x$NDK_BUILD_LOCATION = "x" ]]; then
  15. echo "The Android NDK must be on your path."
  16. exit 1
  17. fi
  18. NDK="${NDK_BUILD_LOCATION%/ndk-build}"
  19. if [[ x$NDK = "x" ]]; then
  20. echo "The Android NDK must be on your path."
  21. exit 1
  22. fi
  23. NDKABI=8
  24. NDKVER=$NDK/toolchains/arm-linux-androideabi-4.6
  25. NDKP=$NDKVER/prebuilt/${host_os}-${host_arch}/bin/arm-linux-androideabi-
  26. NDKF="--sysroot $NDK/platforms/android-$NDKABI/arch-arm"
  27. CFLAGS=""
  28. buildLuaJIT()
  29. {
  30. arch="$1"
  31. ndkarch="$2"
  32. DESTDIR=../android/$arch
  33. mkdir -p $DESTDIR 2>/dev/null
  34. rm "$DESTDIR"/*.a 2>/dev/null
  35. make clean
  36. make HOST_CC="gcc -m32" CROSS=$NDKP TARGET_SYS=Linux TARGET_FLAGS="$NDKF $ndkarch" TARGET_CFLAGS="$CFLAGS" libluajit.a
  37. if [ -f libluajit.a ]; then
  38. mv libluajit.a $DESTDIR/libluajit.a
  39. fi;
  40. }
  41. cd src
  42. # Android/ARM, armeabi (ARMv5TE soft-float), Android 2.2+ (Froyo)
  43. buildLuaJIT armeabi
  44. # Android/ARM, armeabi-v7a (ARMv7 VFP), Android 4.0+ (ICS)
  45. buildLuaJIT armeabi-v7a "-march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -Wl,--fix-cortex-a8"
  46. make clean