From 2778411b6cc31ff804655753c2dee3efe78ad413 Mon Sep 17 00:00:00 2001 From: Ogulcan Celik Date: Fri, 11 Sep 2026 15:35:35 +0300 Subject: chore: add one-time windows cross-check setup --- CONTRIBUTING.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'CONTRIBUTING.md') diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cc772265..4be44fed 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -119,6 +119,23 @@ just ci The checks must pass. Make sure the tests exercise the reported failure and would fail without the fix. +Maintainers also run `just check`, which includes Windows cross-compilation on +Linux/macOS. Set up that target once: + +```bash +cargo install xwin --locked +just setup-windows-cross +``` + +`xwin` downloads Microsoft's Windows SDK and CRT directly and prompts for license +acceptance. No Windows machine is needed. For noninteractive setup, pass +`just setup-windows-cross --accept-license` only after accepting that license. +The SDK is stored in `~/.local/share/herdr/windows-cross/` and reused across +worktrees; subsequent `just check` and `just windows-lint` runs use it automatically. +An existing SDK can be selected with `LIBGHOSTTY_VT_WINDOWS_LIBC`, pointing to its +Zig libc configuration file. Ordinary native Linux/macOS builds do not need this +setup. Native Windows builds use the SDK installed with Visual Studio Build Tools. + ### Handle documentation correctly For normal code changes, do not edit the root `README.md`, root `CHANGELOG.md`, `docs/preview/`, `docs/versions/`, or release payloads under `distribution/`. -- cgit v1.2.3