minor
[sqlgg.git] / src / myocamlbuild.ml
blobb0d22f9d0425fadfa193b4023cab7a281d3a88f9
1 open Ocamlbuild_plugin
2 open Command
4 module C = Myocamlbuild_config
6 ;;
8 let () =
9 let bracket res destroy k = let x = (try k res with e -> destroy res; raise e) in destroy res; x in
10 let get_line r d = bracket r d input_line in
12 bracket (open_out "version.ml") close_out (fun out ->
13 let revision =
14 try
15 get_line (Unix.open_process_in "git describe --always") (Unix.close_process_in)
16 with
17 _ -> (try get_line (open_in "version.id") close_in with _ -> "<unknown>")
19 Printf.fprintf out "let id=\"%s\"\n" (String.escaped revision)
24 dispatch begin function
25 | After_rules ->
27 let extlib_dir = C.lib "extlib" in
29 ocaml_lib ~extern:true ~dir:extlib_dir "extLib";
30 ocaml_lib ~extern:true ~dir:(C.lib "deriving") "deriving";
31 ocaml_lib ~extern:true ~dir:(C.lib "oUnit") "oUnit";
33 flag ["ocaml"; "doc"; "use_extLib"] (S[A"-I"; A extlib_dir]);
35 | _ -> ()
36 end