aboutsummaryrefslogtreecommitdiff
path: root/CONTRIBUTING.md
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-09-11 15:35:35 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-09-11 15:35:35 +0300
commit2778411b6cc31ff804655753c2dee3efe78ad413 (patch)
tree9955c3b5d7ff40cd552e0b2b84d402aceaa3539c /CONTRIBUTING.md
parent03457913816b0e22e5fb7de5c83d199ee5ae7c51 (diff)
chore: add one-time windows cross-check setup
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r--CONTRIBUTING.md17
1 files changed, 17 insertions, 0 deletions
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/`.