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=1.8 required=5.0 tests=AWL,DNS_FROM_RFC_POST, 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 mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 1ABA1BB84 for ; Thu, 12 Feb 2009 17:01:57 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AoQCAD/Xk0nRVdwLkGdsb2JhbACUEj8BAQEBCQkMBxEDrwaBCI9DAQMBA4QUBoI3 X-IronPort-AV: E=Sophos;i="4.38,197,1233529200"; d="scan'208";a="21018513" Received: from mail-fx0-f11.google.com ([209.85.220.11]) by mail2-smtp-roc.national.inria.fr with ESMTP; 12 Feb 2009 17:01:56 +0100 Received: by fxm4 with SMTP id 4so3340608fxm.9 for ; Thu, 12 Feb 2009 08:01:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:content-type:cc:subject:from :to:references:in-reply-to:date:message-id:user-agent; bh=IoM7Kx0nlNFIYAI9KLG2jQSU8/ZYo4MSIBrL+2wGYXY=; b=kDB9uXSffHrsL10a4vGV3XXrgcSCtT1MWjUxKV89FZzwUx8aotqRrIzhxnlpNr7cf3 9kIKp7Q4GgYxt5omoAEErWLcvs81gD8uWQx9SMbqNE9g1uYaYmm4JGQg/4J2pvjq8M0W DjRNiBhqbY5gr/QAMg0miyBSoDbS7sePmhVwY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=content-type:cc:subject:from:to:references:in-reply-to:date :message-id:user-agent; b=eVYD8U2O4izzWnhwJcEtrgdixmiyWNtgEpSsZPQ6Vgy5+xx6WusZdDrQO/NIIdWXrM YquDPg3xFXPgntSnnl43gDKGzVkSTtWTQKgnRc7optzmcb7GULn2l+I3M5QVEQhvPMGF 9llcYvq/Rjko2/UL54WkePGZAZxRuR9IC6KoY= Received: by 10.103.160.10 with SMTP id m10mr449135muo.50.1234454503386; Thu, 12 Feb 2009 08:01:43 -0800 (PST) Received: from localhost (ausone.inria.fr [128.93.8.95]) by mx.google.com with ESMTPS id k1sm20940666ugf.55.2009.02.12.08.01.41 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 12 Feb 2009 08:01:42 -0800 (PST) Content-Type: text/plain; charset=UTF-8 Cc: caml-list Subject: Re: [Caml-list] Ocamlbuild question From: Nicolas Pouillard To: Matthieu Dubuget References: <499350A3.2040203@gmail.com> In-Reply-To: <499350A3.2040203@gmail.com> Date: Thu, 12 Feb 2009 17:00:36 +0100 Message-Id: <1234454366-sup-8627@ausone.inria.fr> User-Agent: Sup/git X-Spam: no; 0.00; matthieu:01 findlib:01 findlib:01 cmx:01 dependencies:01 ocamlfind:01 ocamlopt:01 -linkpkg:01 -package:01 -package:01 cmx:01 dependencies:01 2009:98 wrote:01 faq:01 Excerpts from Matthieu Dubuget's message of Wed Feb 11 23:26:43 +0100 2009: > Hello, > > I'm trying to manage "internal" camlfind packages. I use "internal" with > the same meanning than in ocamlbuild documentation when speaking about > libraries. > > I want my camlfind packages to be re-installed if one of their > dependency was modified. For this, I wrote a simple rule, based on > %.iocamlfind files containing the files to install into findlib > directory. This rule also produces a stamp file : %.oocamlfind. > > I also want my camlfind package to be installed if they are needed by > another rule. For this, I do: dep ["pkg_"^nm][nm ^ ".oocamlfind"] for > each internal package. > > It seems to work ok: Suppose that package toto requires package tutu. > When I ask ocamlbuild toto.oocamlfind, the packages tutu is re-built if > needed. And if I modify one file of tutu, and then ask ocamlbuild to > generate toto.oocamlbuild, tutu is re-built and installed into findlib > directories. fine. > > BUT, when I'm producing a %.native from %.cmx, my dependencies (ie > %.oocamlfind files) are inserted in the command line... > > Here is an example: > ocamlfind ocamlopt -linkpkg -package mtsvrac -package log > logtest/test.cmx mtsvrac.oocamlfind log.oocamlfind -o logtest/test.native > > mtsvrac.oocamlfind and log.oocamlfind where added to the dependencies of > logtest/test.native. > > What would be the right solution to avoid this problem? > Is there something like a "dependency that should not be linked?" Hello, You should try to tag your .oocamlfind file with the dont_link_with tag. (this point certainly needs an entry in the FAQ...) Best regards, -- Nicolas Pouillard