Browse thread
MinGW port w/o Cygwin?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
| Date: | -- (:) |
| From: | Adrien <camaradetux@g...> |
| Subject: | Re : Re: [Caml-list] Re: MinGW port w/o Cygwin? |
2007/12/20, Kuba Ober <ober.14@osu.edu>: > I guess that Ocaml maintainers should just drop that Cygwin requirement, and > tweak their build process to work "out of the box" with MSYS/MinGW. You shouldn't see cygwin as a _requirement_. Ocaml installation from source (let the binary distributions be a special case) use C. If there is no c compiler installed as it is under all windows installations (I mean right after setup is completed) ocaml simply can't be installed ; the problem is not with ocaml or cygwin but with windows. Cygwin is not a fancy requirement just one of the few ways to get a c compiler under windows. Also mingw without cygwin still lacks a lot of things. Capabilities are there but it seems header files have not been updated in ages and linker flags need to be different (you will often need -lws2_32 for many C apps especially). It is possible to "activate" a *lot* of ocaml features, as seen in config/s.h, (did that for pthreads among others) by expanding mingw header files and adding a few linker flags. Anyway, the result is a big headache for the developper. I perfectly understand the ocaml team is not willing to make a complete mingw/msys port ; it's such a mess. 2007/12/23, "Márk S. Zoltán" <zoltan.s.mark@dravanet.hu>: > I don't think the MinGW-over-Cygwin variant must actually be dropped, > since a pure MSys + MinGW version would be relatively easy to maintain > alongside it. So there would be msvc, cygwin, cygwin/mingw, msys/mingw with different configuration files for each. While such a port would be easy to create it wouldn't be wise to create it imho ; it wouldn't help maintaining and would create bugs along with more work for the ocaml team. Just look at the x86-32/x86-64 arch reunification of the linux kernel (1) for a similar story. http://lwn.net/Articles/243704/ And then one could add a SFU port (Services For Unix) which lets you compile ocaml without problem except that it works so well ocaml thinks it is running under unix and uses forward-slashes as path separators. (everything that ./configure can enable is enabled) (* For the story, as recently as yesterday, I wanted to rsync a slackware-current repository but had lost one of the few proper non-cygwin rsync windows port so I downloaded the source and tried to compile with mingw just to remember last time I tried I spent two hours. I then used sfu, cd'ed in the source directory, ./configure, make, strip and within 90 seconds my rsync build was ready to download. SFU is free though not free as in free speech, but when you've spent hours on msys/mingw, you can accept anything and be really happy with it. *) > As an illustration, pretty much all I ever needed to do is > comment out a code snippet in ccomp.ml (to prevent a responsefile from > being even used, see below) and then build ocaml on MSys according to > the same procedure one would use for MinGW over Cygwin. With v3.10 this > works like a charm. The 256 characters limit is now 4096 in ocaml 3.11 so you don't even need to edit it. But don't think it means inria is readying an msys/mingw port, this was just a side effect and another problems appeared, though it is as trivial to fix. --- Adrien Nader