ci: add a Windows/MinGW configure-green CI job (Windows port, phase 0) - #7
Merged
Conversation
First step of the Windows port. Adds a `build-windows` job that sets up the MSYS2 / MinGW-w64 toolchain on windows-latest and runs `meson setup`, proving meson.build configures cleanly on Windows before any source is ported. Compilation and unit tests join this job as the winsock/libc shims land; for now it deliberately stops at configure. Also gate -D_GNU_SOURCE to the POSIX platforms: it is meaningless on Windows/MinGW (whose headers key off different feature macros) and is the only unconditional Linux-ism that would otherwise leak into the Windows build. MinGW is the initial target (the fastest path to green Windows CI); an MSVC leg comes later. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0173iuaRnvQmnkAznCanShnF Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
First step of porting SeerODBC to Windows. This lays the CI groundwork before any source is touched.
What this does
build-windowsCI job onwindows-latestusing the MSYS2 / MinGW-w64 toolchain. It installs gcc/meson/ninja/pkgconf/openssl/libiconv and runsmeson setup— provingmeson.buildconfigures cleanly on Windows before a single line of source is ported.-D_GNU_SOURCEoff Windows in the top-levelmeson.build. It's meaningful on glibc (harmless on macOS's BSD libc) but meaningless on MinGW, whose headers key off different feature macros. This was the only unconditional Linux-ism.Scope / why configure-only
This is deliberately configure-green only. Compilation and unit tests join this same job incrementally as the winsock2 / libc shims land in later phases:
src/common,src/tns) compiles — winsock/libc shimssrc/odbc) —SQLWCHAR-is-UTF-16,.defexport,seerodbc.dllConfigDSN) + installer registrationMinGW is the initial target (fastest path to a green Windows CI); an MSVC leg follows later.
Verification
meson setup+meson compile+meson testunchanged: 9 pass / 0 fail / 4 self-gated skips (the_GNU_SOURCEgate still applies on Linux, so behavior is identical).build,build-macos,build-windows,integration.🤖 Generated with Claude Code