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.0 required=5.0 tests=none autolearn=disabled version=3.1.3 Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by yquem.inria.fr (Postfix) with ESMTP id 473FBBC69 for ; Tue, 15 Jan 2008 14:38:13 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAIZFjEfBL1AZh2dsb2JhbACQBwEBAQgKKZsE X-IronPort-AV: E=Sophos;i="4.24,287,1196636400"; d="scan'208";a="7820408" Received: from gw.exalead.com (HELO exalead.com) ([193.47.80.25]) by mail3-smtp-sop.national.inria.fr with ESMTP; 15 Jan 2008 14:38:12 +0100 Received: from [192.168.204.148] (madpc064.exalead.com [192.168.204.148]) (authenticated bits=0) by exalead.com (8.14.0/8.14.0) with ESMTP id m0FDc2gt001272; Tue, 15 Jan 2008 14:38:08 +0100 Message-ID: <478CB73A.2030706@exalead.com> Date: Tue, 15 Jan 2008 14:38:02 +0100 From: Berke Durak User-Agent: Thunderbird 1.5.0.10 (X11/20070221) MIME-Version: 1.0 To: =?ISO-8859-1?Q?B=FCnzli_Daniel?= Cc: caml-list caml-list Subject: Re: [Caml-list] On module distribution References: <92920466-3BCE-4A9F-9742-3396B07006F7@erratique.ch> In-Reply-To: <92920466-3BCE-4A9F-9742-3396B07006F7@erratique.ch> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit X-Spam: no; 0.00; berke:01 durak:01 berke:01 durak:01 bunzli:01 dependencies:01 ocaml:01 stubs:01 dependencies:01 unices:01 ocamlfind:01 ocamlfind:01 compilation:01 syntax:01 byte:01 Bünzli Daniel a écrit : > 3. Manage packages per project (vs. per machine) to make project > dependencies explicit. Thus a single command can install you the (OCaml > + C stubs only) dependencies of your project on a fresh system. If your > project is a package itself, it facilitates its packaging . > > 4. Rely on ocamlbuild to do the hard work. Grosso modo in the way > described here [3], which may be unrealistic for big projects, but on > unices ressource consumption could be mitigated by making hard links to > a cache maintained per user or machine (inspired by ideas in this > message [4]). I'm not a big fan of hardlinking external stuff into the _build directory. I think we should rather add to Ocamlbuild a module for calling ocamlfind, parsing its output, etc. This way ocamlbuild plugins could easily call ocamlfind, be it for configuration or compilation. Pursuing the ocamlbuild philosophy of having a simple solution for simple problems, a built-in tag syntax and associated rules should allow such simple (e.g. regular) projects to easily use a package registered in ocamlfind. I'm thinking of a tag use_ocamlfind(PROJECTNAME) so that you could write: : use_ocamlfind(pcre), use_ocamlfind(mysql) Of course you still need to register those packages in ocamlfind. As Ocaml binaries are brittle, a solution for compiling from source such as Godi is welcome. However Godi needs to be kept up-to-date with respect to the Ocaml distribution... it is currently only available for 3.09! -- Berke DURAK