# `ci/winstub/` — empty Windows import-lib stub `libsynchronization.a` here is an **empty `ar` archive** (8 bytes: `!\n`), referenced by `.cargo/config.toml` via `-L native=ci/winstub` for the Windows release targets. ## Why The D1 release matrix cross-compiles Windows binaries from Linux with `cargo zigbuild` (see `docs/ci/adr/`). Rust's `std` links `-lsynchronization` for its `WaitOnAddress`-based thread parking. That import library is normally provided by Rust's `rust-mingw` "self-contained" component — which `rust-overlay` does not ship — and Zig's bundled mingw doesn't carry it either, so the link fails with: ``` error: unable to find dynamic system library 'synchronization' ``` The functions it would import (`WaitOnAddress`, `WakeByAddressSingle`, `WakeByAddressAll`) are **forwarded by `kernel32.dll`**, which is already linked, so they resolve at link and run time without a real `synchronization` import library. An **empty** stub is therefore sufficient: it satisfies the `-l` lookup and contributes no symbols. ## Regenerating ``` zig ar rcs ci/winstub/libsynchronization.a ```