Skip to content

Conversation

@jmid
Copy link
Member

@jmid jmid commented Sep 12, 2025

This PR

Previously, the conf-cairo-file would install a Cygwin package https://cygwin.com/packages/summary/libcairo-devel.html (and thus depending on cygwin1.dll) rather than a MinGW package, allowing us to build standalone, native Windows executables.

Recall: Windows is supported in multiple forms (also summarized in our wiki-page: https://github.com/ocaml/opam-repository/wiki/Depexts-os-distribution---os-family-values):

  • MinGW - which allows to produce native Windows executables and can be installed either through
    • Cygwin (os = "win32" & os-distribution = "cygwin") or
    • MSys2 (os = "win32" & os-distribution = "msys2")
  • Cygwin (os = "cygwin" & os-distribution = "cygwin") which produces executables that require Cygwin
  • cygwinports (os = "win32" & os-distribution = "cygwinports") is the old, now discontinued approach based on a dedicated Windows opam-repo
  • ...

Previously, CI would be green since the Cygwin package exists and installs cleanly - when matching the Cygwin-hosted MinGW environment we currently test in the GitHub actions CI workflow. The CI didn't catch the subtle, unwanted cygwin1.dll dependency introduced though... 🤷

The MinGW packages installed are

and the Cygwin package in question is

We don't have CI support for testing pure Cygwin (non-MinGW) ATM, but as in the previous PRs I've tested the two others with a self PR: jmid#13

@smorimoto smorimoto merged commit d3957be into ocaml:master Sep 12, 2025
2 of 3 checks passed
@jmid jmid deleted the mingw-cairo-support branch September 14, 2025 19:54
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.

2 participants