On 12/13/2011 10:53 AM, Adrien wrote:
On 13/12/2011, Alain Frisch<[email protected]> wrote:
As Xavier said, it would be great to find someone who'd like to join the
core dev team in order to improve support for Windows. Anyone interested?
In my experience, OCaml is working mostly fine on Windows. I can see
some issues but nothing huge. Do you have some examples?
It is very good to hear about some successful experiences with OCaml
under Windows!
Needless to say, but at LexiFi we are also very happy with OCaml under
Windows.
That said, the situation probably needs to be improved in order to
attract a larger audience. Many users complain about not being able to
install and use OCaml under Windows in reasonable amount of time. And
the binary packages for Windows tend to lack behind official releases of
OCaml.
As a concrete problem, until a few days ago, the mingw port could not be
used with recent versions of Cygwin without some small hacks (like
copying manually /bin/gcc-3.exe into gcc.exe, and passing more
directories to flexlink). No big deal, but it can discourage beginners.
A more serious issue is the lack of support for ocamlfind, GODI, and
many libraries around for Windows. Also, ocamlbuild does not play very
nicely with Windows. A related point: the assumption is generally made
that OCaml developpers under Windows need to have a running Cygwin
installation. This is a huge barrier to entry. It would take some time
to address this, but there is really no reason why ocamlbuild, for
instance, should rely on an external Unix-like shell
(I believe the only reason today is to rely on bash for quoting
arguments!). And it is not difficult to adapt the build system for most
libraries to avoid any dependency on Unix-like tools (using either
ocamlbuild or omake). It just takes time to do so (and to maintain the
result).
For the native compiler, we need an external toolchain, but this is not
a huge issue. With some little amount of work, one could support a
standalone msys/mingw (as opposed to mingw compilers packaged in
Cygwin), and it would be interesting to come up with a minimal mingw
distribution (only with a C compiler, assembler, etc, as required by
ocamlopt) that could be packaged together with OCaml. On the MSVC side,
everything needed for the MSVC port (C compiler, linker, assembler,
supporting headers and libraries) is found in a single free download
from Microsoft.
I can also mention that with some work, one could come up with a
standalone version of ocamlopt that does not require any external tool
to produce .cmxs plugins (we have done that at LexiFi, by replacing the
assembler code emitter with a direct binary code generator; and by
extending flexdll to produce dlls without an external linker). Getting
rid of the external toolchain to produce standalone programs is more
difficult: to create the .exe, one needs some libraries and object
files; a solution could be to do the same as for bytecode, that is,
having a generic driver which loads user code concatenated to it. But
being able to generate .cmxs without any external tool already make it
possible to distribute OCaml native applications (packaged with
ocamlopt) that the users can extend with OCaml plugins.
> I guess most
of the work would be to move forward instead of being stuck in the
current situation.
Can you elaborate? What are the most important issues in the current
situation?
Alain
--
Caml-list mailing list. Subscription management and archives:
https://sympa-roc.inria.fr/wws/info/caml-list
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs