From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=AWL,SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 36F6FBC69 for ; Sun, 23 Dec 2007 17:33:33 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAMYcbkfRVca5kmdsb2JhbACQCgEBAQEHBAQpk1aEWA X-IronPort-AV: E=Sophos;i="4.24,201,1196636400"; d="scan'208";a="20650403" Received: from rv-out-0910.google.com ([209.85.198.185]) by mail4-smtp-sop.national.inria.fr with ESMTP; 23 Dec 2007 17:33:31 +0100 Received: by rv-out-0910.google.com with SMTP id k20so857227rvb.3 for ; Sun, 23 Dec 2007 08:33:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=ji3iGrPfH3QhmjDLasaQfW79Lku78/D3kuMnUSLATdU=; b=P2arlWLWnhDvSUgX5efNcGIgMtO6ZzA/ZOPg6RuPWU2/Q//U/EPnvEc7sP8eS1Uk7sOuyh7w1sMsWrJca/PCf1cgQtfhbxDZQLRIgBkKv3nuq2gruZU0sZFmCT0V6oFzrHdkHRqWR1oVNtu8rrT/NjM6TfG3hvVK1k2+HV2w3vU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=VnWdqliIp/+bF4vwiyHaAvgrFFUP4saR6QYCWfPXYP833/GMRXBqHzYPOk2p5i1kKvU/S0WCgWSmDVoOE8kRCNiUiZpi/q89n/MehPS2wOesxD6mYUaLfoaQgxs49gRH52RrhKFJqBiVn2CSID8A+z9+ZDv4X4t1ib9c3c21j3U= Received: by 10.141.172.6 with SMTP id z6mr1895824rvo.80.1198427608535; Sun, 23 Dec 2007 08:33:28 -0800 (PST) Received: by 10.140.131.10 with HTTP; Sun, 23 Dec 2007 08:33:28 -0800 (PST) Message-ID: <666572260712230833j79ea3f41vc3649b6b3e17940f@mail.gmail.com> Date: Sun, 23 Dec 2007 17:33:28 +0100 From: Adrien To: "=?ISO-8859-1?Q?\"M=E1rk_S._Zolt=E1n\"?=" Subject: Re : Re: [Caml-list] Re: MinGW port w/o Cygwin? Cc: "Caml Mailing List" In-Reply-To: <476E7CA1.6000501@dravanet.hu> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <200712200930.29585.ober.14@osu.edu> <87sl1xgzkp.fsf@pps.jussieu.fr> <200712201518.20487.ober.14@osu.edu> <90823c940712210606h24f7617eh4e20745cd3e4782a@mail.gmail.com> <476E7CA1.6000501@dravanet.hu> X-Spam: no; 0.00; mingw:01 cygwin:01 ocaml:01 cygwin:01 mingw:01 ocaml:01 compiler:01 compiler:01 lacks:01 flags:01 flags:01 separators:01 ccomp:01 4096:01 trivial:01 2007/12/20, Kuba Ober : > 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=E1rk S. Zolt=E1n" : > 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