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 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id D4823BBC1 for ; Thu, 6 Mar 2008 16:47:05 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAJ2gz0eGnQCBhmdsb2JhbACQeAEBAQgEBgcIGJsG X-IronPort-AV: E=Sophos;i="4.25,456,1199660400"; d="scan'208";a="9048438" Received: from shiva.jussieu.fr ([134.157.0.129]) by mail1-smtp-roc.national.inria.fr with ESMTP; 06 Mar 2008 16:47:05 +0100 Received: from hydrogene.pps.jussieu.fr (hydrogene.pps.jussieu.fr [134.157.168.1]) by shiva.jussieu.fr (8.14.2/jtpda-5.4) with ESMTP id m26FkQkR039522 for ; Thu, 6 Mar 2008 16:46:28 +0100 (CET) X-Ids:168 Received: from hydrogene.pps.jussieu.fr (localhost.localdomain [127.0.0.1]) by hydrogene.pps.jussieu.fr (8.13.4/jtpda-5.4) with ESMTP id m26FkP8G006105 for ; Thu, 6 Mar 2008 16:46:25 +0100 Received: (from abate@localhost) by hydrogene.pps.jussieu.fr (8.13.4/8.13.2/Submit) id m26FkPt2006104 for caml-list@yquem.inria.fr; Thu, 6 Mar 2008 16:46:25 +0100 Date: Thu, 6 Mar 2008 16:46:25 +0100 From: Pietro Abate To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Ocamlbuild with findlib + camlp4 Message-ID: <20080306154625.GA5148@uranium.pps.jussieu.fr> References: <47CEB768.10508@lri.fr> <318509.18876.qm@web54603.mail.re2.yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <318509.18876.qm@web54603.mail.re2.yahoo.com> X-Operating-System: GNU/Linux User-Agent: Mutt/1.5.9i X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-3.0 (shiva.jussieu.fr [134.157.0.168]); Thu, 06 Mar 2008 16:46:28 +0100 (CET) X-Virus-Scanned: ClamAV 0.92/6153/Thu Mar 6 14:59:13 2008 on shiva.jussieu.fr X-Virus-Status: Clean X-Miltered: at jchkmail.jussieu.fr with ID 47D011D3.009 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 47D011D3.009/134.157.168.1/hydrogene.pps.jussieu.fr/hydrogene.pps.jussieu.fr/ X-j-chkmail-Score: MSGID : 47D011D3.009 on jchkmail.jussieu.fr : j-chkmail score : . : R=. U=. O=. B=0.089 -> S=0.089 X-j-chkmail-Status: Ham X-Spam: no; 0.00; findlib:01 camlp:01 syntax:01 camlp:01 ocamlfind:01 ocamlfind:01 -package:01 ocamlc:01 ocamlc:01 ocamlopt:01 ocamlopt:01 ocaml:01 -linkpkg:01 ocaml:01 cmo:01 On Thu, Mar 06, 2008 at 03:31:53PM +0000, Dario Teixeira wrote: > Any thoughts on how this could be achieved? (I'm not even sure if > Ocamlbuild's tags can be parameterised). This would go a long way > towards simplifying the use of syntax extensions that we've been > discussing in the OSR thread. not tested, but I've a piece of code that has a similar mix... what's about: _tags: : camlp4o, pgocaml.statements and (almost verbatim from camlp4 docs) myocamlbuild.ml: ----------------- open Ocamlbuild_plugin;; open Command;; let packages = "extlib,lwt,ocsigen,pgocaml";; let ocamlfind x = S[A"ocamlfind"; x; A"-package"; A packages];; dispatch begin function | Before_options -> Options.ocamlc := ocamlfind& A"ocamlc"; Options.ocamlopt := ocamlfind& A"ocamlopt"; | After_rules -> flag ["ocaml"; "link"] (A"-linkpkg") flag ["ocaml"; "pp"; "pgocaml.statements"] (A"pgocaml.statements.cmo"); dep ["ocaml"; "ocamldep"; "pgocaml.statements"] ["pgocaml.statements.cmo"]; | _ -> () | _ -> () end;; --------------------- not an expert ... :) p