#!/bin/bash # Cross-compile peerspeak to x86_64-pc-windows-gnu (run inside the peerspeak-win distrobox). # Produces a statically-linked, self-contained .exe (no extra DLLs) for the # Windows installer in packaging/windows/. Requires the rust-src component and # the x86_64-pc-windows-gnu target; invoke with build-std for the static link: # RUSTC_BOOTSTRAP=1 ./win-cross-build.sh -Z build-std=std,panic_abort set -euo pipefail cd "$(dirname "$0")" export CARGO_TARGET_X86_64_PC_WINDOWS_GNU_LINKER=x86_64-w64-mingw32-gcc export CC_x86_64_pc_windows_gnu=x86_64-w64-mingw32-gcc export CXX_x86_64_pc_windows_gnu=x86_64-w64-mingw32-g++ export AR_x86_64_pc_windows_gnu=x86_64-w64-mingw32-ar # Bundled libopus declares cmake_minimum_required < 3.5; cmake 4.x refuses it. export CMAKE_POLICY_VERSION_MINIMUM=3.5 cargo build --release --target x86_64-pc-windows-gnu --bin peerspeak "$@"