Version française
Home     About     Download     Resources     Contact us    
Browse thread
How to tell ocamlbuild to pass options to ocamldoc?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Romain Bardou <Romain.Bardou@l...>
Subject: Re: [Caml-list] How to tell ocamlbuild to pass options to ocamldoc?
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

I didn't test it though.

	Romain Bardou

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 ============
> 
> 
>