diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 9573899..ea10f74 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [windows-latest, macos-13, macos-14, ubuntu-latest] + os: [windows-latest, macos-14, macos-15, ubuntu-latest] rust: [stable, nightly] steps: - uses: actions-rs/toolchain@v1 diff --git a/Cargo.toml b/Cargo.toml index ea159fa..84207b1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,3 +32,4 @@ check = ["snmalloc-sys/check"] lto = ["snmalloc-sys/lto"] notls = ["snmalloc-sys/notls"] stats = ["snmalloc-sys/stats"] +#nowait-on-target = ["snmalloc-sys/nowait-on-target"] diff --git a/snmalloc-sys/Cargo.toml b/snmalloc-sys/Cargo.toml index d524005..fb286fd 100644 --- a/snmalloc-sys/Cargo.toml +++ b/snmalloc-sys/Cargo.toml @@ -31,3 +31,4 @@ check = [] lto = [] notls = [] stats = [] +#usewait-on-target = [] diff --git a/snmalloc-sys/build.rs b/snmalloc-sys/build.rs index ff657ae..7880aee 100644 --- a/snmalloc-sys/build.rs +++ b/snmalloc-sys/build.rs @@ -120,6 +120,12 @@ fn main() { build.define("SNMALLOC_ENABLE_DYNAMIC_LOADING", "ON"); } + if cfg!(feature = "usewait-on-address") { + build.define("SNMALLOC_USE_WAIT_ON_ADDRESS", "1"); + } else { + build.define("SNMALLOC_USE_WAIT_ON_ADDRESS", "0"); + } + build.compile(target); if target_env == "msvc" { @@ -245,6 +251,12 @@ fn main() { cfg = cfg.define("SNMALLOC_QEMU_WORKAROUND", "ON") } + if cfg!(feature = "usewait-on-address") { + cfg = cfg.define("SNMALLOC_USE_WAIT_ON_ADDRESS", "1") + } else { + cfg = cfg.define("SNMALLOC_USE_WAIT_ON_ADDRESS", "0") + } + let mut dst = cfg.build_target(target).build(); dst.push("./build"); diff --git a/snmalloc-sys/snmalloc b/snmalloc-sys/snmalloc index d537d35..01885f5 160000 --- a/snmalloc-sys/snmalloc +++ b/snmalloc-sys/snmalloc @@ -1 +1 @@ -Subproject commit d537d352683799beea94c0698d85bcfa7f6f4ece +Subproject commit 01885f5a042f1ba7812d18df36b4ec76b0ad8b40