English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
ocamlbuild: generating documentation
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-11-23 (14:43)
From: Nicolas Pouillard <nicolas.pouillard@g...>
Subject: Re: [Caml-list] ocamlbuild: generating documentation
Excerpts from hmf's message of Wed Nov 21 17:00:57 +0100 2007:
> Hi,
> Nicolas Pouillard wrote:
> > Excerpts from hmf's message of Wed Nov 21 15:41:12 +0100 2007:
> >> Hello,
> > Hello,
> > 
> >> I am attempting to use the document generation option provided by
> >> ocamlbuild. The manual states that ocamlbuild will "collect all the
> >> documentation for the interfaces (which will be built if necessary").
> >>
> >> Questions:
> >> 1. How can I change this so that both *.ml and *.mli file are be used?
> > 
> > If  I well remember in OCaml-3.10.0 only mli files are took in account. 
> Yes, my tests shows this.
> > In the CVS version ml files are used when no mli can be built.
> > 
> What do you mean "can't be built"?
It's a little stronger than "doesn't exists".

> I assume you can always generate a
> *.mli given *.ml, correct?
Yes and no, "ocamlc -i" try to do this but there's no correction guarantee.
In  ocamlbuild  we've  not  put  a rule ".ml->.mli" because it will use it too
often. However we have a ".ml->.inferred.mli" rule.

> Are you referring to other types of sources
> such as *.mly?
Yes for instance.

> Can the behaviour be changed? If I am not mistaken ocamldoc can merge
> *.ml and *.mli files so I think it may be easy enough to allow this.
Yes  you can look at ocamlbuild/ocaml_{specific,tools}.ml and then add rule to
your myocamlbuild.ml that will depend on both the ml and the mli.
Don't forget to give ~insert:`top to your rule to give it the highest priority.

Nicolas Pouillard aka Ertai