Ok, thanks for the explanations.

As for the ocamldoc package, would a META file along these lines do the trick?

# Specification for the "ocamldoc" library
requires = "compiler-libs"
version = "[distributed with Ocaml]"
description = "ocamldoc support library"
directory= "^ocamldoc"
archive(byte) = "ocamldoc.cma"
archive(native) = "ocamldoc.cmxa"

Le 18/12/2015 18:06, Gabriel Scherer a écrit :
> So I just tried¹, and the failure is as follows: > > $ ocamlbuild -tag use_ocamldoc test.cmxs > + /home/gasche/.opam/4.02.3/bin/ocamlopt.opt -shared -I +ocamldoc ocamldoc.cmxa test.cmx -o test.cmxs > File "_none_", line 1: > Error: Cannot find file ocamldoc.cmxa > > It looks like the tag use_ocamldoc expects a file ocamldoc.cmxa to exist, providing library support for ocamldoc plugins, and it does not seem to exist -- it seems that the preferred way to use ocamldoc plugins is to use "ocamldoc.opt -g foo.cmxs", with ocamldoc libraries already linked inside ocamldoc.opt. So just using > >   ocamlbuild -cflags -I,+ocamldoc test.cmxs > > works and seems to do what you expect. > > It goes without saying that this is not a perfect long-term solution, as it assumes that ocamldoc libraries are distributed with the stdlib. It would be cleaner to have an ocamldoc package for them (just like ocamlbuild has a dummy ocamlfind package indicating the location of its library files), but it seems that this is not currently the case. It would be nice (but not super-high priority) to have such a dummy package in ocamlfind in the future, so that you can just do > >   ocamlbuild -use-ocamlfind -package ocamldoc test.cmxs > > ¹: The most time-consuming part was finding the code of a ocamldoc plugin to compile, as the documentation examples are incomplete. Next time, feel free to provide a tarball with a minimal example to reproduce. > > On Fri, Dec 18, 2015 at 5:14 PM, Armaël Guéneau <armael.gueneau@ens-lyon.fr> wrote: > >     Hi list, > >     I'm wondering how one should compile ocamldoc custom generators using >     ocamlbuild. > >     First, the ocamlbuild manual >     (https://github.com/gasche/manual-ocamlbuild/blob/master/manual.md#basic-tags-) >     says that the [use_ocamldoc] tag is deprecated; and that a corresponding >     ocamlfind package should be used instead. Is there such a package for ocamldoc? >     I did not found one. > >     Then, I did not manage to build the plugin into .cma/.cmxs files directly using >     ocamlbuild. My command line was something along these lines: > >        ocamlbuild -use-ocamlfind -tag use_ocamldoc -package compiler-libs plugin.cmxs > >     When trying to build plugin.cma/plugin.cmxs, ocamlbuild complained that "Cannot >     find file ocamldoc.cma/ocamldoc.cmxa" (respectively). However, I can build >     plugin.cmo/plugin.cmx using the same command line, then create the .cma/.cmxs >     manually using ocamlc/ocamlopt - which I ended up doing. > >     Is there a better way to do so? If the whole process can be improved (how?), I >     would be happy to write the required patches/documentation. > >     — Armaël > >