Windows support for package management
This issue collects all the issues that need to be addressed in order to support dune package management on windows:
- [ ] https://github.com/ocaml/dune/issues/11160
- [ ] https://github.com/ocaml/dune/issues/11159
- [x] https://github.com/ocaml/dune/issues/11158
- [ ] https://github.com/ocaml/dune/issues/11174
- [ ] https://github.com/ocaml/dune/issues/12429
- [ ] https://github.com/ocaml/dune/issues/10176
- [ ] https://github.com/ocaml/dune/issues/12430
- [ ] https://github.com/ocaml/dune/issues/12431
- [ ] https://github.com/ocaml/dune/issues/12432
- [ ] https://github.com/ocaml/dune/issues/12433
Additionally, we'll need to make some changes to the binary distribution to support windows:
- [ ] https://github.com/ocaml-dune/binary-distribution/issues/139
- [ ] https://github.com/ocaml-dune/binary-distribution/issues/140
- [ ] https://github.com/ocaml-dune/binary-distribution/issues/141
We'll also need to start building the ocamllsp and ocamlformat packages for windows:
- [ ] https://github.com/ocaml-dune/ocaml-binary-packages/issues/18
IMO, the first step in Windows support is deciding what toolchain we support. I think we could start with one (MSVC or Mingw) because the two toolchains bring a lot of diverging challenges. I left a comment here regarding a possible first step.
I recently got a couple of packages building on Windows with Dune package management (the packages were ocamlformat and ocaml-lsp-server). It required working around several issues. I've made this repo with simple reproduction cases for each of the problems I ran into.