caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Matthieu Dubuget <matthieu.dubuget@gmail.com>
To: Nicolas Pouillard <nicolas.pouillard@gmail.com>, caml-list@inria.fr
Subject: Re: [Caml-list] Ocamlbuild question
Date: Thu, 12 Feb 2009 18:32:11 +0100	[thread overview]
Message-ID: <49945D1B.1060507@gmail.com> (raw)
In-Reply-To: <1234454366-sup-8627@ausone.inria.fr>

Nicolas Pouillard a écrit :
> 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,
>
>   

It seems not to work – at least with ocaml 3.10.2 from godi.

 I have:

>> ocamlbuild -show-tags mtsvrac.oocamlfind
>> Tags for "mtsvrac.oocamlfind":
>> {. dont_link_with, extension:oocamlfind, file:mtsvrac.oocamlfind, quiet,
>>   traverse .}
>> Finished, 0 targets (0 cached) in 00:00:00.

and still

>> ocamlopt.opt: don't know what to do with mtsvrac.oocamlfind.

I will check at home with 3.11

Thanks

Salutations

Matt




  reply	other threads:[~2009-02-12 17:32 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-11 22:26 Matthieu Dubuget
2009-02-12 16:00 ` [Caml-list] " Nicolas Pouillard
2009-02-12 17:32   ` Matthieu Dubuget [this message]
2009-02-12 18:33     ` Matthieu Dubuget
2009-02-13 10:56       ` Matthieu Dubuget
2009-02-13 16:06         ` Matthieu Dubuget
2009-02-16 13:07           ` Matthieu Dubuget
2011-05-19 10:50 Matthieu Dubuget
2011-05-19 11:34 ` Gabriel Scherer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49945D1B.1060507@gmail.com \
    --to=matthieu.dubuget@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=nicolas.pouillard@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).