From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by sympa.inria.fr (Postfix) with ESMTPS id 07B127EE20 for ; Thu, 15 Nov 2012 13:05:30 +0100 (CET) Received-SPF: None (mail4-smtp-sop.national.inria.fr: no sender authenticity information available from domain of pierreetienne.meunier@gmail.com) identity=pra; client-ip=209.85.212.180; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="pierreetienne.meunier@gmail.com"; x-sender="pierreetienne.meunier@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail4-smtp-sop.national.inria.fr: domain of pierreetienne.meunier@gmail.com designates 209.85.212.180 as permitted sender) identity=mailfrom; client-ip=209.85.212.180; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="pierreetienne.meunier@gmail.com"; x-sender="pierreetienne.meunier@gmail.com"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail4-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@mail-wi0-f180.google.com) identity=helo; client-ip=209.85.212.180; receiver=mail4-smtp-sop.national.inria.fr; envelope-from="pierreetienne.meunier@gmail.com"; x-sender="postmaster@mail-wi0-f180.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Aq0CAHjZpFDRVdS0jWdsb2JhbABEFsMrCCMBAQEBCQkLCRIGI4JfBgEbHgMSEF4RAQUBIogLAQMPBAebA4JvjDOCeIRyChknDVmIdQEFDJFwYQOVfIEchE+Idz+EEg X-IronPort-AV: E=Sophos;i="4.83,255,1352070000"; d="scan'208";a="162579271" Received: from mail-wi0-f180.google.com ([209.85.212.180]) by mail4-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 15 Nov 2012 13:05:29 +0100 Received: by mail-wi0-f180.google.com with SMTP id x18so748370wia.9 for ; Thu, 15 Nov 2012 04:05:29 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; bh=7N25c/BNuLqXcp02VdLR0Kg9PPbaAGAOT1EUtRvjDzY=; b=k6JZvZ9bC5oiO/98dfKMCgn8v3YAA/HI14hOsiWrMXAtImcYRzV5Xv15b+zHiirnOv QB29Bgq9LWPPdCnmGp7HUPNL0bKuOYVYU4XbGAIy54I3lgLVD+ESXUtDcNIIUzG9bM38 Pl0zr/84OgqNGjXfIw+gasPk0hjgnvsEK9T6Uqe35QeDZQkFIxlVayxW46jwZ2Py0eFF QgMB76Es2ZlN68OxoH1V8cS4RYUCbHxj/yCq8O5CYI67ZyA9tVHFmz7udX6iasRGQEwv LrYNvSL9tdskvJpu/dMmwckZ89j6SfzPboSAx+1Ft2RPx+7g6hAurOqMFBIw8Ovpv4A6 up6g== Received: by 10.180.100.97 with SMTP id ex1mr1808135wib.17.1352981129037; Thu, 15 Nov 2012 04:05:29 -0800 (PST) Received: from [192.168.1.44] (msl73-1-82-247-167-128.fbx.proxad.net. [82.247.167.128]) by mx.google.com with ESMTPS id gz3sm15135727wib.2.2012.11.15.04.05.28 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 15 Nov 2012 04:05:28 -0800 (PST) From: Pierre-Etienne Meunier Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Thu, 15 Nov 2012 13:05:26 +0100 Message-Id: <380C67D0-AFB8-471F-84EB-8ED1E92798E7@gmail.com> To: O Caml Mime-Version: 1.0 (Apple Message framework v1085) X-Mailer: Apple Mail (2.1085) Subject: [Caml-list] About ocamlbuild Hi, Several ocamlbuild-related questions: 1 - Is there a simple reason why ocamlbuild is a tool with plugins and not = a library ? It would be much easier to adapt it to other contexts than ocam= l compiling, and to larger projects. In my projects, a myocamlbuild.ml file= must be written most of the time, so I do not understand the point. Another point I see is that I usually spend a non-negligible part of my tim= e writing makefiles and myocamlbuild files. Since I must do it anyway, I'd = like to write all that in pure ocaml, doing argument parsing as I want, add= ing arguments if I want, and even doing some configure steps in ocaml befor= e starting to compile anything. Using output_value to do this (as I did for= http://lama.univ-savoie.fr/~meunier/camlimages for instance) is much easie= r than outputing _tags and .mlpack in subdirectories. Also, it would be nice to allow it to depend on other modules, even of some= files of the project you are compiling. Examples of uses include configura= tion options, versions, etc. 2 - Also, I do not understand why I get the following message: Failure: Included or excluded directories must be implicit (not "../_build"= ). Is it a technical restriction to avoid copying entire filesystems to _build= if the _tags are ill-written, or is there another reason ? 3 - Finally, I find the idea of tags good, for backward compatibility reaso= ns (you do not have to change your code), but not enough. For instance, in = haskell (and some compilers written in ocaml), you can add "tags" at the be= ginning of your files. You would start your ocaml files with comments such = as: (* #OPTIONS -rectypes *) Thanks, Pierre