Skip to content

fix(tools): compile the tile57 CLI for Windows (gate the POSIX-only -…#1

Merged
beetlebugorg merged 1 commit into
mainfrom
fix/windows-cross-compile
Jul 6, 2026
Merged

fix(tools): compile the tile57 CLI for Windows (gate the POSIX-only -…#1
beetlebugorg merged 1 commit into
mainfrom
fix/windows-cross-compile

Conversation

@beetlebugorg

Copy link
Copy Markdown
Owner

…-tui)

The interactive ascii --tui / explore --tui loops enter raw mode via std.posix termios, whose type is void on Windows — so raw.lflag.ICANON failed to compile and broke zig build for x86_64/aarch64-windows-gnu. That in turn broke chartplotter's release cross-build: libtile57.a compiles fine, but the bundled tile57 CLI exe (built by the same default zig build) did not.

Gate each TUI body behind a comptime builtin.os.tag == .windows early return — the same idiom common.zig's terminalSize already uses — so the POSIX-only code is analysed out on Windows and the CLI compiles for every release target. --tui prints "not supported on Windows" there; batch render paths are unaffected.

Also add engine CI (was docs-only): native build + zig build test, plus a cross-compile matrix over linux/windows amd64/arm64, so a target that fails to build is caught in the engine repo rather than only downstream at chartplotter release time.

…-tui)

The interactive `ascii --tui` / `explore --tui` loops enter raw mode via
std.posix termios, whose type is `void` on Windows — so `raw.lflag.ICANON`
failed to compile and broke `zig build` for x86_64/aarch64-windows-gnu. That
in turn broke chartplotter's release cross-build: libtile57.a compiles fine,
but the bundled `tile57` CLI exe (built by the same default `zig build`) did not.

Gate each TUI body behind a comptime `builtin.os.tag == .windows` early return
— the same idiom common.zig's terminalSize already uses — so the POSIX-only
code is analysed out on Windows and the CLI compiles for every release target.
`--tui` prints "not supported on Windows" there; batch render paths are
unaffected.

Also add engine CI (was docs-only): native build + `zig build test`, plus a
cross-compile matrix over linux/windows amd64/arm64, so a target that fails to
build is caught in the engine repo rather than only downstream at chartplotter
release time.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@beetlebugorg beetlebugorg force-pushed the fix/windows-cross-compile branch from 1b02d24 to b3da4e8 Compare July 6, 2026 15:09
@beetlebugorg beetlebugorg merged commit a2022b6 into main Jul 6, 2026
5 checks passed
@beetlebugorg beetlebugorg deleted the fix/windows-cross-compile branch July 6, 2026 15:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant