Files
love-apple-dependencies/iOS/luajit-iOS.sh
T
Sasha Szpakowski 5eb5811ada iOS: move LuaJIT build script into this repository
Update it for new folder structure.
2023-11-26 14:22:56 -04:00

60 lines
1.9 KiB
Bash
Executable File

# 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