[wg-windows] Status of the OCaml Installer for Windows: the way forward?

Jonathan Protzenko jonathan.protzenko at gmail.com
Fri May 29 20:02:34 BST 2015


Dear OCaml-on-Windows aficionados,

I thought I'd give a quick update on the status of my installer and more 
generally the way I see things moving forward in the OCaml for Windows 
ecosystem.

About the installer: it hasn't been updated for a while. I'll issue a 
new release shortly. I'll drop the ActiveTCL step (no stable URL, causes 
problems) and I'll also drop Emacs (I don't think anyone uses that setup 
for real).

About the way forward: there's two assumptions that I'd like to bring to 
this mailing-list.
- Most OCaml packages need / assume a Unix-ish environment to build.
- Binary packages are likely not going to happen soon.

Therefore, what is urgently needed is:
i) an installer that brings you the bare minimum (ocaml, flexdll, plus 
perhaps camlp4, ocamlfind and batteries), and
ii) a unix-ish environment to make sure tools like ocamlbuild find the 
required utilities such as "bash" that they (infortunately) require in 
order to run, and
iii) a way to distribute the toolchain (the assembler, a.k.a. 
i686-mingw-w64-as) required by ocaml (more precisely, by flexdll),
iv) a package manager that can take it from there and fetch/compile the 
rest.

The installer I provide satisfies i). Since it installs Cygwin, ii) and 
iii) are satisfied as well, because cygwin packages the /native/ 
compilers from the mingw64 project. The only remaining pain point is 
iv), and for that I really think we need OPAM to work out of the box on 
Windows.

Once OPAM works superbly well, we won't need the installer anymore, because:
- OPAM will be distributed as a statically-linked binary, that
- takes care of installing even the OCaml compiler itself, and
- is capable of installing the remaining binaries, as long as
- the user operates in a cygwin environment so as to get bash, sed, and 
the toolchain from mingw.

Please keep in mind that we're only talking of Cygwin as a way to get a 
Unix-ish environment. In the scenario outlined above, the OCaml 
compilers are, and generate, native windows programs.

Of course, that's a very biased point of view, but I'd be happy to hear 
other's thoughts as to what exactly this doesn't fit their needs!

Best,

Jonathan


More information about the wg-windows mailing list