Browse Source

iOS: move LuaJIT build script into this repository

Update it for new folder structure.
Sasha Szpakowski 2 years ago
parent
commit
5eb5811ada
2 changed files with 61 additions and 0 deletions
  1. 2 0
      .gitignore
  2. 59 0
      iOS/luajit-iOS.sh

+ 2 - 0
.gitignore

@@ -1 +1,3 @@
 /macOS/Sources
 /macOS/Sources
+/iOS/Sources
+**/.DS_Store

+ 59 - 0
iOS/luajit-iOS.sh

@@ -0,0 +1,59 @@
+# mkdir -p Sources/LuaJIT
+
+git clone https://github.com/LuaJIT/LuaJIT.git Sources/LuaJIT
+cd Sources/LuaJIT
+git pull --no-rebase
+git checkout v2.1
+
+mkdir tmpbuild
+
+export MACOSX_DEPLOYMENT_TARGET=10.9
+
+# iOS device binaries
+# LuaJIT does not support building for armv7 on modern macOS versions.
+
+ISDKP=$(xcrun --sdk iphoneos --show-sdk-path)
+ICC=$(xcrun --sdk iphoneos --find clang)
+
+ISDKF="-arch arm64 -isysroot $ISDKP -mios-version-min=8.0"
+make clean TARGET_SYS=iOS
+make -j8 CC="clang" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
+cp src/libluajit.a tmpbuild/libluajit_arm64_device.a
+
+
+# iOS simulator binaries
+
+ISDKP=$(xcrun --sdk iphonesimulator --show-sdk-path)
+ICC=$(xcrun --sdk iphonesimulator --find clang)
+
+ISDKF="-arch x86_64 -isysroot $ISDKP -mios-simulator-version-min=8.0"
+make clean TARGET_SYS=iOS
+make -j8 CC="clang" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
+cp src/libluajit.a tmpbuild/libluajit_x86_64_sim.a
+
+ISDKF="-arch arm64 -isysroot $ISDKP -mios-simulator-version-min=8.0"
+make clean TARGET_SYS=iOS
+make -j8 CC="clang" CROSS="$(dirname $ICC)/" TARGET_FLAGS="$ISDKF" TARGET_SYS=iOS
+cp src/libluajit.a tmpbuild/libluajit_arm64_sim.a
+
+# copy includes
+mkdir tmpbuild/include
+
+cp src/lua.hpp tmpbuild/include
+cp src/lauxlib.h tmpbuild/include
+cp src/lua.h tmpbuild/include
+cp src/luaconf.h tmpbuild/include
+cp src/lualib.h tmpbuild/include
+cp src/luajit.h tmpbuild/include
+
+# combine lib
+lipo -create -output tmpbuild/libluajit_device.a tmpbuild/libluajit_arm64_device.a
+lipo -create -output tmpbuild/libluajit_sim.a tmpbuild/libluajit_x86_64_sim.a tmpbuild/libluajit_arm64_sim.a
+
+# create xcframework with all platforms
+rm -rf tmpbuild/Lua.xcframework
+xcodebuild -create-xcframework -library tmpbuild/libluajit_device.a -headers tmpbuild/include -library tmpbuild/libluajit_sim.a -headers tmpbuild/include -output tmpbuild/Lua.xcframework
+
+cd ../../
+rm -rf libraries/Lua.xcframework
+cp -R Sources/LuaJIT/tmpbuild/Lua.xcframework libraries