Merge pull request #23 from hexedtech/fix/lua-macos-build

fix: lua macos build
This commit is contained in:
əlemi 2024-09-25 22:42:56 +02:00 committed by GitHub
commit eb797f6074
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 12 additions and 45 deletions

View file

@ -20,19 +20,16 @@ jobs:
target: linux-gnu target: linux-gnu
pre: lib pre: lib
ext: so ext: so
buildcmd: cargo build --release --features=luajit
- runner: windows-latest - runner: windows-latest
arch: x86_64 arch: x86_64
target: windows-msvc target: windows-msvc
pre: pre:
ext: dll ext: dll
buildcmd: cargo build --release --features=luajit
- runner: macos-latest - runner: macos-latest
arch: aarch64 arch: aarch64
target: darwin target: darwin
pre: lib pre: lib
ext: dylib ext: dylib
buildcmd: cargo rustc --release --features=luajit -- -C link-arg=-undefined -C link-arg=dynamic_lookup
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@ -41,7 +38,7 @@ jobs:
- uses: arduino/setup-protoc@v3 - uses: arduino/setup-protoc@v3
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
- run: ${{ matrix.platform.buildcmd }} - run: cargo build --release --features=luajit
- id: previoustag - id: previoustag
uses: "WyriHaximus/github-action-get-previous-tag@v1" uses: "WyriHaximus/github-action-get-previous-tag@v1"
with: with:

View file

@ -2,10 +2,8 @@ name: test
on: on:
push: push:
branches:
- dev
pull_request: pull_request:
types: [review_requested, synchronize] types: [synchronize, review_requested]
env: env:
CARGO_TERM_COLOR: always CARGO_TERM_COLOR: always
@ -27,38 +25,6 @@ jobs:
- java - java
- js - js
- py - py
toolchain:
- stable
- beta
- nightly
steps:
- uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
- run: cargo build --release --verbose --features=${{ matrix.features }}
# TODO to build lua bindings on macos, we need to tweak the compile command to expose symbols
# since i can't add conditional steps to above task, i have to separate off lua from the rest...
build-lua:
runs-on: ${{ matrix.platform.runner }}
strategy:
fail-fast: false
matrix:
platform:
- runner: ubuntu-latest
action: build
extra:
- runner: windows-latest
action: build
extra:
- runner: macos-latest
action: rustc
extra: -- -C link-arg=-undefined -C link-arg=dynamic_lookup
features:
- luajit - luajit
- lua54 - lua54
toolchain: toolchain:
@ -73,17 +39,13 @@ jobs:
- uses: dtolnay/rust-toolchain@master - uses: dtolnay/rust-toolchain@master
with: with:
toolchain: ${{ matrix.toolchain }} toolchain: ${{ matrix.toolchain }}
- run: cargo ${{ matrix.platform.action }} --release --verbose --features=${{ matrix.features }} ${{ matrix.platform.extra }} - run: cargo build --release --verbose --features=${{ matrix.features }}
test: test:
runs-on: ${{ matrix.runner }} runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
runner:
- ubuntu-latest
- windows-latest
- macos-latest
toolchain: toolchain:
- stable - stable
- beta - beta

View file

@ -15,4 +15,12 @@ fn main() {
{ {
pyo3_build_config::add_extension_module_link_args(); pyo3_build_config::add_extension_module_link_args();
} }
#[cfg(feature = "lua")]
{
if let Ok("macos") = std::env::var("CARGO_CFG_TARGET_OS").as_deref() {
println!("cargo:rustc-cdylib-link-arg=-undefined");
println!("cargo:rustc-cdylib-link-arg=dynamic_lookup");
}
}
} }