Browse thread
How to tell ocamlbuild to pass options to ocamldoc?
-
Andrej Bauer
-
Paolo Donadeo
-
Romain Bardou
- Nicolas Pouillard
-
Romain Bardou
-
Paolo Donadeo
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2008-03-03 (12:25) |
From: | Nicolas Pouillard <nicolas.pouillard@g...> |
Subject: | Re: [Caml-list] How to tell ocamlbuild to pass options to ocamldoc? |
Excerpts from Romain Bardou's message of Mon Mar 03 09:05:24 +0100 2008: > I didn't find any tag for the -keep-code flag. So indeed, I guess you > need a plugin. I would suggest adding the flag for tags "ocaml" and > "doc" (other useful tags are: interf, implem, extension:html, > extension:tex and so on, docfile, docdir). > > Something like this: > > open Ocamlbuild_plugin;; > > dispatch begin function > | After_rules -> > flag ["ocaml"; "doc"] "-keep-code" > end Thanks Romain, You can also be less global by adding a new tag "keep_code": ============== open Ocamlbuild_plugin;; dispatch begin function | After_rules -> flag ["ocaml"; "doc"; "keep_code"] "-keep-code" end ============== And then in your _tags <foo.ml>: keep_code Cheers, > Paolo Donadeo a écrit : > >> Perhaps I am just blind, but I was unable to figure out after poking > >> around for a while, how to tell ocamlbuild that it should pass the > >> -keep-code flag to ocamldoc. I suspect I need to put something in _tags, > >> but what? (I am an ocamlbuild newbie.) > > > > I don't know if this is the best way, but I use the myocamlbuild > > module to pass arguments to ocamlfind and ocamldoc, it just works. > > > > An example: > > > > =============== myocamlbuild.ml =============== > > open Ocamlbuild_plugin;; > > open Command;; > > > > let (|>) x f = f x > > > > let packages = > > [ > > "cryptokit"; > > "extlib"; > > "netcgi2"; > > "netcgi2-plex"; > > "nethttpd"; > > "netplex"; > > "netstring"; > > "oUnit"; > > "pxp-engine"; > > "pxp-lex-iso88591"; > > "str"; > > "unix" > > ] |> String.concat ",";; > > > > let ocamlfind cmd = S[A"ocamlfind"; A cmd; A"-package"; A packages];; > > > > flag ["ocaml"; "link"] (A"-linkpkg");; > > > > let ocamldoc = > > S[A"ocamlfind"; > > A"ocamldoc"; > > A"-package"; > > A packages; > > A"-stars"; > > A"-colorize-code"; > > A"-intro"; A"../documentation/doc_index.txt"; > > A"-css-style"; A"../documentation/style.css"; > > A"-t"; A"The Ex-nunc System"; > > ];; > > > > dispatch begin function > > | After_options -> > > Options.ocamldoc := ocamldoc; > > Options.ocamlc := ocamlfind "ocamlc"; > > Options.ocamlopt := ocamlfind "ocamlopt"; > > | _ -> () > > end > > =========== END OF myocamlbuild.ml ============ > > > > > > > -- Nicolas Pouillard aka Ertai