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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 5BDECBC6B for ; Mon, 11 Feb 2008 22:23:18 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ao8CAIRLsEeAArkpbGdsb2JhbACBWY5hCwQGBwkZmR8 X-IronPort-AV: E=Sophos;i="4.25,335,1199660400"; d="scan'208";a="7180800" Received: from concorde.inria.fr ([192.93.2.39]) by mail2-smtp-roc.national.inria.fr with ESMTP; 11 Feb 2008 22:23:18 +0100 Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id m1BLNEZj023594 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=OK) for ; Mon, 11 Feb 2008 22:23:18 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Ao8CAIRLsEeAArkpbGdsb2JhbACBWY5hCwQGBwkZmR8 X-IronPort-AV: E=Sophos;i="4.25,335,1199660400"; d="scan'208";a="7180799" Received: from chokecherry.srv.cs.cmu.edu ([128.2.185.41]) by mail2-smtp-roc.national.inria.fr with ESMTP; 11 Feb 2008 22:23:17 +0100 Received: from stratocaster.home (c-24-3-147-134.hsd1.mn.comcast.net [24.3.147.134]) (authenticated bits=0) by chokecherry.srv.cs.cmu.edu (8.13.6/8.13.6) with ESMTP id m1BLNFTf022634 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Mon, 11 Feb 2008 16:23:16 -0500 (EST) Received: from ecc by stratocaster.home with local (Exim 4.68) (envelope-from ) id 1JOg7P-0003Tl-LC for caml-list@inria.fr; Mon, 11 Feb 2008 16:23:15 -0500 Date: Mon, 11 Feb 2008 16:23:15 -0500 From: Eric Cooper To: caml-list@inria.fr Subject: how can I use just a portion of another source directory with ocamlbuild? Message-ID: <20080211212315.GA12565@stratocaster.home> Mail-Followup-To: caml-list@inria.fr MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.17+20080114 (2008-01-14) X-Miltered: at concorde with ID 47B0BCC2.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; re-use:01 compilation:01 symlinks:01 apis:03 depends:04 modify:05 uses:07 i'm:09 real:10 file:11 file:11 directory:11 directory:11 source:12 but:14 I would like to re-use a file dir/a.ml from another project. This file depends on dir/b.ml. Assume I can't modify the contents of dir/ in any way. I need to provide a new implementation of just b.ml for my project. If I just use : include then the compilation of a.ml uses dir/b.ml instead of my ./b.ml. I can make it work by symlinking dir/a.ml, but in my real project there are lots of these files and the project directory gets very cluttered with symlinks. I'm sure there must be a better way, but I couldn't find much documentation on how to use the plugin APIs. -- Eric Cooper e c c @ c m u . e d u