opam-repository icon indicating copy to clipboard operation
opam-repository copied to clipboard

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

Open dra27 opened this issue 1 year ago • 2 comments

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.

dra27 avatar Mar 15 '24 16:03 dra27