luajit-iOS.sh 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. mkdir -p include/luajit
  2. mkdir -p libraries/luajit
  3. if [ ! -d luajit-git ]; then
  4. git clone https://github.com/LuaJIT/LuaJIT.git luajit-git
  5. fi
  6. cd luajit-git
  7. git pull --no-rebase
  8. git checkout v2.1
  9. export MACOSX_DEPLOYMENT_TARGET=10.7
  10. # iOS device binaries
  11. # LuaJIT does not support building for armv7 on modern macOS versions.
  12. ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
  13. ICC=$(xcrun --sdk iphoneos --find clang)
  14. ISDKF="-arch arm64 -isysroot $ISDKP -mios-version-min=8.0"
  15. make clean TARGET_SYS=iOS
  16. make -j8 CC="clang" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
  17. cp src/libluajit.a ../libraries/luajit/libluajit_arm64_device.a
  18. # iOS simulator binaries
  19. ISDKP=$(xcrun --sdk iphonesimulator --show-sdk-path)
  20. ICC=$(xcrun --sdk iphonesimulator --find clang)
  21. ISDKF="-arch x86_64 -isysroot $ISDKP -mios-simulator-version-min=8.0"
  22. make clean TARGET_SYS=iOS
  23. make -j8 CC="clang" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
  24. cp src/libluajit.a ../libraries/luajit/libluajit_x86_64_sim.a
  25. ISDKF="-arch arm64 -isysroot $ISDKP -mios-simulator-version-min=8.0"
  26. make clean TARGET_SYS=iOS
  27. make -j8 CC="clang" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
  28. cp src/libluajit.a ../libraries/luajit/libluajit_arm64_sim.a
  29. # copy includes
  30. cp src/lua.hpp ../include/luajit
  31. cp src/lauxlib.h ../include/luajit
  32. cp src/lua.h ../include/luajit
  33. cp src/luaconf.h ../include/luajit
  34. cp src/lualib.h ../include/luajit
  35. cp src/luajit.h ../include/luajit
  36. # combine lib
  37. cd ../libraries/luajit
  38. lipo -create -output libluajit_device.a libluajit_arm64_device.a
  39. lipo -create -output libluajit_sim.a libluajit_x86_64_sim.a libluajit_arm64_sim.a
  40. # create xcframework with all platforms
  41. rm -rf Lua.xcframework
  42. xcodebuild -create-xcframework -library libluajit_device.a -headers ../../include/luajit -library libluajit_sim.a -headers ../../include/luajit -output Lua.xcframework