luajit-iOS.sh 1.9 KB

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