Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add flexdll.0.35-flexdll.0.43 and winpthreads.20240209-1 #25512

Merged
merged 2 commits into from
Mar 18, 2024

Conversation

dra27
Copy link
Member

@dra27 dra27 commented Mar 15, 2024

This I think is the last prequisite before opening the "main" PR updating the compiler packages for Windows support.

Both of these packages provide sources needed in addition to the compiler's own sources when compiling on Windows. Windows OCaml has required FlexDLL since OCaml 3.11, but it had to be installed separately. Adding to the complexity, the main part of FlexDLL is written in OCaml. Since OCaml 4.03.0, it has been possible to build OCaml and FlexDLL simultaneously, but the compiler does not distribute the required sources, and those what this flexdll package provides (this required support in FlexDLL was first added in 0.35, which is the reason for the older releases going back no further - these are the only releases there can have ever been).

OCaml 5.3.0 will introduce a requirement for the MSVC ports of OCaml in a very similar way with the winpthreads library.

These packages simply install required sources to the share directory of the switch which are then picked up by the configure script of OCaml (using it's --with-flexdll and --with-winpthreads-msvc options). The packages are not constrained to Windows as the opam packages aren't particularly Windows-specific (and, indeed, at some point cross-compilers will certain want the FlexDLL sources).

flexdll 0.35-0.43 are already released, which is why they reference flexdll.install from the master branch of the repository. When it's released, FlexDLL 0.44's tarball will include the .install file.

Installs the sources of flexdll for use by the compiler packages when
building on Windows.

These are all the releases of FlexDLL which can be used in
"bootstrapping" mode with OCaml.
@dra27
Copy link
Member Author

dra27 commented Mar 15, 2024

Obviously OCaml 5.3.0 is not yet even branched, but the winpthreads package is already needed for ocaml-variants.5.3.0+trunk, and I have a proposed back-port of the MSVC port to 5.2.0 I propose to make available in the same way as the +tsan variants.

Installs the sources of winpthreads for use by the compiler packages
when building MSVC OCaml 5.3+.
@dra27 dra27 force-pushed the flexdll-winpthreads branch from c532995 to 23c798c Compare March 15, 2024 21:15
@dra27
Copy link
Member Author

dra27 commented Mar 15, 2024

The packages are not constrained to Windows as the opam packages aren't particularly Windows-specific (and, indeed, at some point cross-compilers will certain want the FlexDLL sources).

How embarrassing, I only tested these packages on Windows 😉 It turns out the winpthreads package is Windows-specific, which I've updated it to reflect!

@mseri mseri merged commit 7390082 into ocaml:master Mar 18, 2024
2 checks passed
@mseri
Copy link
Member

mseri commented Mar 18, 2024

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants