1:please run at terminal:
注意IOSVER和SIMVER必须和自己实际环境一致
LUAJIT=./LuaJIT-2.0.0 DEVDIR=`xcode-select -print-path`/Platforms IOSVER=iPhoneOS6.0.sdk SIMVER=iPhoneSimulator6.0.sdk IOSDIR=$DEVDIR/iPhoneOS.platform/Developer SIMDIR=$DEVDIR/iPhoneSimulator.platform/Developer IOSBIN=$IOSDIR/usr/bin/ SIMBIN=$SIMDIR/usr/bin/ BUILD_DIR=$LUAJIT/build rm -rf $BUILD_DIR mkdir -p $BUILD_DIR rm *.a 1>/dev/null 2>/dev/null ISDKF="-arch armv7 -isysroot $IOSDIR/SDKs/$IOSVER" make -j -C $LUAJIT HOST_CC="gcc -m32 -arch i386" CROSS=$IOSBIN TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS clean make -j -C $LUAJIT HOST_CC="gcc -m32 -arch i386" CROSS=$IOSBIN TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS mv $LUAJIT/src/libluajit.a $BUILD_DIR/libluajitA7.a ISDKF="-arch armv7s -isysroot $IOSDIR/SDKs/$IOSVER" make -j -C $LUAJIT HOST_CC="gcc -m32 -arch i386" CROSS=$IOSBIN TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS clean make -j -C $LUAJIT HOST_CC="gcc -m32 -arch i386" CROSS=$IOSBIN TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS mv $LUAJIT/src/libluajit.a $BUILD_DIR/libluajitA7s.a ISDKF="-arch armv6 -isysroot $IOSDIR/SDKs/$IOSVER" make -j -C $LUAJIT HOST_CC="gcc -m32 -arch i386" CROSS=$IOSBIN TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS clean make -j -C $LUAJIT HOST_CC="gcc -m32 -arch i386" CROSS=$IOSBIN TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS mv $LUAJIT/src/libluajit.a $BUILD_DIR/libluajitA6.a make -j -C $LUAJIT HOST_CFLAGS="-arch i386" HOST_LDFLAGS="-arch i386" TARGET_SYS=iOS TARGET=x86 clean make -j -C $LUAJIT HOST_CFLAGS="-arch i386" HOST_LDFLAGS="-arch i386" TARGET_SYS=iOS TARGET=x86 amalg CROSS=$SIMBIN TARGET_FLAGS="-isysroot $SIMDIR/SDKs/$SIMVER -arch i386" mv $LUAJIT/src/libluajit.a $BUILD_DIR/libluajit32.a libtool -o $BUILD_DIR/libluajit2.a $BUILD_DIR/*.a 2> /dev/null
2: please add libluajit2.a into ios project.
The libluajit2.a is in LuaJIT2.0.0/build folder.
3: The luajit header files:
mkdir -p $BUILD_DIR/Headers cp $LUAJIT/src/lua.h $BUILD_DIR/Headers cp $LUAJIT/src/lauxlib.h $BUILD_DIR/Headers cp $LUAJIT/src/lualib.h $BUILD_DIR/Headers cp $LUAJIT/src/luajit.h $BUILD_DIR/Headers cp $LUAJIT/src/lua.hpp $BUILD_DIR/Headers cp $LUAJIT/src/luaconf.h $BUILD_DIR/Headers
4:效果
luajit在IOS只对解释器进行了优化,编译器由于权限问题,不能运行。从我测试结果来看,使用luajit后效果还是比较明显的,对比测试可以明显感觉到速度变快了