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=AWL,DNS_FROM_RFC_POST, DNS_FROM_SECURITYSAGE,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 mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id E5BF8BBAF for ; Sat, 8 Nov 2008 16:50:20 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgYEADNEFUnAXQIngWdsb2JhbACMQIdhAQEWIqgajCyDWA X-IronPort-AV: E=Sophos;i="4.33,568,1220220000"; d="scan'208";a="19743466" Received: from concorde.inria.fr ([192.93.2.39]) by mail1-smtp-roc.national.inria.fr with ESMTP; 08 Nov 2008 16:50:20 +0100 Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id mA8FoKm2008038 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Sat, 8 Nov 2008 16:50:20 +0100 X-IronPort-AV: E=Sophos;i="4.33,568,1220220000"; d="scan'208";a="19743463" Received: from peray.inria.fr (HELO ausone.inria.fr) ([128.93.8.98]) by mail1-relais-roc.national.inria.fr with SMTP; 08 Nov 2008 16:50:18 +0100 Received: by ausone.inria.fr (sSMTP sendmail emulation); Sat, _d Nov 2008 16:49:24 +0100 From: "Nicolas Pouillard" Content-Type: text/plain; charset=UTF-8 Cc: caml-list Subject: Re: [Caml-list] ocamlbuild vs INCLUDE: how to copy snippets into _build/ ? To: Stefano Zacchiroli References: <20081108150940.GA24353@usha.takhisis.invalid> In-Reply-To: <20081108150940.GA24353@usha.takhisis.invalid> Date: Sat, 08 Nov 2008 16:49:24 +0100 Message-Id: <1226159223-sup-3570@ausone.local> User-Agent: Sup/git X-Miltered: at concorde with ID 4915B53C.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; snippets:01 camlp:01 syntax:01 camlp:01 mli:01 subdir:01 mli:01 foo:01 exited:01 ocaml:01 toolchain:01 snippets:01 foo:01 caml-list:01 namely:02 Excerpts from Stefano Zacchiroli's message of Sat Nov 08 16:09:40 +0100 2008: > I'm using ocamlbuild and camlp4oof to exploit the INCLUDE syntax > extension, that is have camlp4 expand in the obvious way stuff like: > > INCLUDE "some/relative/path/snippet.mli" > > The path passed to INCLUDE is relative to the including file, but with > ocamlbuild I've a problem. Namely, the snippet is not copied inside > the appropriate subdir of _build, and camlp4 correctly fails with > something like: > > File "some/relative/path/snippet.mli", line 52, characters 0-3: > I/O error: "some/relative/path/snippet.mli: No such file or directory" > Preprocessing error on file src/foo/bar/including.mli > Command exited with code 2. > > The snippet is not otherwise processed by the OCaml toolchain, it is > just meant to be INCLUDEd. > > How can I tell ocamlbuild to copy into the _build/ directory my > snippets? > > My reading of the manual doesn't hint me to any useful tag ... Try to have something like open Ocamlbuild_plugin dispatch begin function | After_rules -> dep ["file:src/foo/bar/including.mli"] ["some/relative/path/snippet.mli"] end to your myocamlbuild.ml -- Nicolas Pouillard aka Ertai