这个仓库用于打包 macOS 可用的 Lua 5.4.8 通用库(x86_64 + arm64),目标是给 Flutter Dart FFI 或其他框架直接引入,不负责 Flutter 业务实现。
Android 版本见android-lua-lib
ios 版本见 iOS-LuaFramework
- 从 Lua 官方源码
5.4.8构建两套架构产物:x86_64(Intel Mac)arm64(Apple Silicon)
- 使用
lipo合并成单个通用库(Universal Binary) - 输出内容:
lib/liblua.5.4.8.dyliblib/liblua.5.4.dylib -> liblua.5.4.8.dyliblib/liblua.dylib -> liblua.5.4.dyliblib/liblua.ainclude/*.h
- macOS
- Xcode Command Line Tools(提供
clang/lipo) curl,tar,make
./scripts/build_universal_lua.sh默认输出目录:
dist/Lua-5.4.8-macos-universal
可选环境变量:
LUA_VERSION:默认5.4.8MIN_MACOS:默认11.0WORKDIR:默认$(pwd)/.buildOUTDIR:默认$(pwd)/dist/Lua-${LUA_VERSION}-macos-universalJOBS:默认 CPU 核心数
示例:
MIN_MACOS=10.13 OUTDIR=$PWD/out ./scripts/build_universal_lua.sh仓库已提供工作流:
.github/workflows/build-macos-universal.yml
触发方式:
- 手动触发:
workflow_dispatch - Push 到
main/master/work - Push tag(
v*)
CI 会自动完成:
- 构建 Lua 5.4.8 的
x86_64与arm64通用库 - 验证产物架构(
lipo -archs) - 打包
dist/Lua-5.4.8-macos-universal.tar.gz - 上传为 Actions Artifact(可直接下载)
lipo -archs dist/Lua-5.4.8-macos-universal/lib/liblua.5.4.8.dylib预期输出应包含:
x86_64 arm64