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=2.8 required=5.0 tests=DNS_FROM_RFC_POST,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr 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 1E0F1BBAF for ; Sun, 6 Sep 2009 09:47:31 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aq8BANIFo0rRVdK2kGdsb2JhbACRfoh/PwEBAQEJCQwHEwOqP4EnjnkBAwIEhBQFgVRi X-IronPort-AV: E=Sophos;i="4.44,341,1249250400"; d="scan'208";a="46082581" Received: from mail-yx0-f182.google.com ([209.85.210.182]) by mail4-smtp-sop.national.inria.fr with ESMTP; 06 Sep 2009 09:47:30 +0200 Received: by yxe12 with SMTP id 12so4352407yxe.1 for ; Sun, 06 Sep 2009 00:47:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=Bxiclouah1+0J/97IhdE1n797dbqPFPYSdEk8ILM4kY=; b=h1aEDjQJamo4VcVJMzlfDZO14U4Wxd4lwhDiJbIfA2pdc0EOX4Y9IRJKwSaDSp61ry Em6OZiH6mNPZQNAOiWICSma0wCwT1GzkzIzPqr/Vki3OxqPoKAceioFvUpRB4YL9kUUd Ew3gR3x64914X2025j8ED6Agiyp93ca8yMvjU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=BkStVUbYajLbc3RQfkO6yg0tAqX4AipWTGmX31hCPFjjgQFY51YwLBCsZo+HF3r0CG GrY4bPgMWWlNn/jFrGjoOcLlmLoufMkoPH2gALlQP2Z8IthOHzUC2NprXaJLlbDf9KM/ S98YIo5Nz0vKQ+4ayesHBEwdc7vkt5ZAD4+V0= MIME-Version: 1.0 Received: by 10.101.39.6 with SMTP id r6mr4312182anj.166.1252223249210; Sun, 06 Sep 2009 00:47:29 -0700 (PDT) In-Reply-To: References: <4A9FBF04.1060608@gmail.com> <20090904105505.055ec82e@attale.agematis.loc> <4AA0DEB4.6020307@glondu.net> <7d8707de0909040326x37d455cdi9f480b2b5da96b20@mail.gmail.com> <20090904141008.GC22690@annexia.org> <3a360f590909040738g5b481822q1c25d69548233bbb@mail.gmail.com> <4AA1EEB7.9020601@gulfsat.mg> <001901ca2e0d$89f619a0$9de24ce0$@metastack.com> Date: Sun, 6 Sep 2009 10:47:29 +0300 Message-ID: Subject: Fwd: [Caml-list] Why don't you use batteries? From: dmitry grebeniuk To: caml-list@yquem.inria.fr Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; grebeniuk:01 redistribute:01 cygwin:01 ocaml:01 mingw:01 patching:01 ocamlnet:01 mingw:01 dependencies:01 camlzip:01 camomile:01 findlib:01 lablgtk:01 ocamlnet:01 pcre-ocaml:01 2009/9/5 David Allsopp : > I'm not sure that one is allowed to redistribute the Microsoft C compiler= s > directly without a license, but packaging MSYS or the relevant parts of > Cygwin along with OCaml and Batteries would create an installer somewhere > between 150-300MB which compared to the 16GB of trial software I download= ed > from the Microsoft website the other day is not that bad. =C2=A0That's what I'm doing for my local needs, approximately. =C2=A0First = of all, I have an infrastructure to build so called "packages". =C2=A0global configure script (allows to choose installation prefix, library paths), a lot of patches, platform-specific build scripts, some dependency-stuff. =C2=A0Patches allow me to hardcode paths in some places (ugly, but it works). =C2=A0I'm building it under platforms that are interesting for me, for now it's only mingw/win32 and ubuntu, maybe I'll build under freebsd later. =C2=A0I'm enjoying the pleasure of patching everything: for example, I made ocamlnet (fastcgi part) working on mingw. =C2=A0"Packages" are building and working both under mingw and linux. (working as far as I have tested -- using "test" targets when available, or using the library in my code). =C2=A0The selection of packages is incomplete, but that's the packages I'm using and its dependencies: camltemplate camlzip camomile cryptokit deriving extlib findlib json-static lablgtk2 lwt menhir objsize ocaml-bitstring ocaml-sqlite3 ocaml-ssl ocamlgraph ocamlnet omake ounit pa_do pa_safeuse pcre-ocaml sexplib type-conv ulex xmlm. =C2=A0(there are no batteries for now) =C2=A0Then, some revisions of my project become binary. =C2=A0I'm making 4 zip-archives under windows: 1. base installation of mingw, msys, tcl/tk, gtk+ in standard places (c:\mingw, etc), 2. archive that adds unpacked .tar.gz with mingw C libraries, 3. archive that contains compiled ocaml + findlib, 4. archive with other ocaml libraries. =C2=A0So, installing fresh ocaml and libraries under fresh win32 is just unpacking 4 zip-archives in c:\ , and adding something like "call c:\ocaml\set-vars.bat" or ". c:/ocaml/set-vars.sh" in build script. =C2=A0I don't distribute it mainly because of the following reasons. =C2=A0= 1. License questions for binary builds. =C2=A0For my local needs I can do whatever I want, until it doesn't leave my host and nobody sees it. (so, guys, you haven't seen all what I've described before) =C2=A02. The complexity of building the system from sources under windows: approx 17 files to download, some of them you install, others you unpack (.tar.gz, .tar.bz2, not very comfortable for windows). =C2=A03. I don't want to support cygwin (I'm even not installing it at all), and I don't support msvc and win64 architectures (I don't need it for now). =C2=A0Maybe the reason#1 can be solved by building ocaml compiler without my local patches and reading licenses carefully.