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=0.2 required=5.0 tests=AWL autolearn=disabled version=3.1.3 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 85A53BBAF for ; Tue, 14 Oct 2008 11:42:07 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AscDAFMG9EjAXQIniGdsb2JhbACTIj4BAQEVIqFFbSeHIwECAQOBaQ X-IronPort-AV: E=Sophos;i="4.33,408,1220220000"; d="scan'208";a="16060936" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 14 Oct 2008 11:42:07 +0200 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m9E9g1d2012714 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Tue, 14 Oct 2008 11:42:06 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsUBAL8G9EjRVcbglGdsb2JhbACTIj4BAQEBCQkMBxEDoUJtJ4cjAQIBA4Fp X-IronPort-AV: E=Sophos;i="4.33,408,1220220000"; d="scan'208";a="18079351" Received: from rv-out-0506.google.com ([209.85.198.224]) by mail3-smtp-sop.national.inria.fr with ESMTP; 14 Oct 2008 11:41:46 +0200 Received: by rv-out-0506.google.com with SMTP id k40so3866843rvb.57 for ; Tue, 14 Oct 2008 02:41:44 -0700 (PDT) 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=8AtWXGohHIA/cRVVabTDF30HqsAX6JJaIp862CWecNU=; b=edv/RAvrPpklGMxBJ3mFkF+KHAr+d5ibAw0Z1z0kHM9FPhrqSqcj1jdRy2pw8TrezT oO0V1xzcAxspFiIdukS/QkdKkYWYUyGTuKvzYr1FxmRw4bSsjXfucj7Xv6MtRep/UfQ6 /JqcNhKMpRr39cwpDj/C68FjNsF1tFoZrsuzE= 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=nXAjIZsKhhpuSUd3o5uY6hipCJqAaq9q0Toh2+iPZqMqRUBXWIIa2ZqMuYySSg/Gbt FFtaoa+Gm/kEsquyACwdd/y1aMHjpmj5vpCbVnXclv99ipmX6nVyingdK/uUgKJsUngS HiTxSE8PU2M0vCvjpg/vwiAOT/XWGg79pGzvU= Received: by 10.141.48.10 with SMTP id a10mr4675408rvk.4.1223977303909; Tue, 14 Oct 2008 02:41:43 -0700 (PDT) Received: by 10.141.82.18 with HTTP; Tue, 14 Oct 2008 02:41:43 -0700 (PDT) Message-ID: <666572260810140241p5d7b8ee2ofafebec229e9bce2@mail.gmail.com> Date: Tue, 14 Oct 2008 11:41:43 +0200 From: Adrien To: "=?ISO-8859-1?Q?Daniel_B=FCnzli?=" Subject: Re : [Caml-list] Road to native windows OCaml... Cc: "OCaml Mailing List" In-Reply-To: <548B4D09-6EFF-4805-83E2-D1F413706EE5@erratique.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <200810131935.53365.kuba@mareimbrium.org> <548B4D09-6EFF-4805-83E2-D1F413706EE5@erratique.ch> X-Miltered: at concorde with ID 48F46969.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; ocaml:01 bunzli:01 buenzli:01 cygwin:01 ocaml-:01 cygwin:01 mldonkey:01 runtime:01 mingw:01 gtk:01 toplevel:01 ocaml:01 gtk:01 mingw:01 gcc:01 2008/10/14, Daniel B=FCnzli : > > Le 14 oct. 08 =E0 09:59, David Allsopp a =E9crit : > >> Can I ask what the motivation is for this (out of interest, not >> criticism)? > > Maybe because if you want to distribute executables using cygwin you > have to release your code under a GPL compatible license [1]. > > Daniel > > [1] http://caml.inria.fr/pub/distrib/ocaml-3.10/notes/README.win32 I would give another explanation : cygwin is big and slow. A base cygwin install is at least 1GB (when fully configured, after carefully reviewing *each* package), a regular one is 2GB. XP itself is not that big, I've not seen many applications that big, only CAD ones. Cygwin is also slow, though it will probably not impact a student use (networking is slower due to the translation, I have mldonkey in mind). ./configure are also painfully slow, the need to run several small commands where startup time is more important than runtime gives cygwin no chance [1]. On the other hand, mingw on its own is about 80MB. If you add a few things, it will weight at most 200MB which is 10 times smaller than the cygwin solution. I forgot to mention that cygwin has some dead packages. Look at the gtk package, it hasn't been updated in 6 ( six ) years ! But there's something that is worth being mentionned : cross-compilation. Of course it won't help if you want to use the toplevel under windows but it definitely helps when building for windows. A few months ago I got interested in webkit, especially webkit-gtk. Webkit is one of the most advanced web content rendering engine available, it is a big application which takes longer to compile than ocaml, produces a library that is about 10MB (and 300MB with debug enabled). It has a "native" windows version ("port" is the usual terminology but would be misleading here) and a gtk one (and qt, wx, java). I wanted to have webkit-gtk under windows but don't really like COM and VS-specific things which the native version uses. Msys/mingw has been a failure, autotools gave me headaches and I gave up when it started asking me for perl. Cygwin has been about the same, autotools hell and gtk problems. Then I tried cross-compilation, I had to change about ten lines in the whole webkit sourcecode, specifiy a few libraries to link with, nothing more. No autotools problems, no pkg-config hell, no unbearable shell, fully-functionnal perl, most recent versions of gcc/g++ and friends. This produced a well-working webkit-gtk library the first time it compiled (there's a *gtk* bug on xp though, vista unaffected). Sure it can be compiled while staying on windows, it just takes months (I helped somebody who succeeded) and does not even work correctly ! [2] Please ocaml gods, give us a cross-compiler or at least tell us the plans regarding cross-compilation. :) [1] no article but I experimented and in time needed by configure, it is linux < mac osx < msys/mingw < cygwin/mingw. ./configure runs take about 10 to 20 more time under cygwin than under linux and only about 4 more time under msys. It gets quickly painful, 2 seconds per configure line when there will be 300 lines is hard to stand. [2] http://funpidgin.sourceforge.net/2008-08-20/megarian-webkit-sort-of-wor= ks-on-windows-now --- Adrien Nader > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs >