43 lines
1.2 KiB
OCaml
43 lines
1.2 KiB
OCaml
open Ocamlbuild_plugin
|
|
open Command
|
|
|
|
let os = try Sys.getenv "MTIME_OS" with
|
|
| Not_found -> Ocamlbuild_pack.My_unix.run_and_read "uname -s"
|
|
|
|
let system_support_lib = match os with
|
|
| "Linux\n" -> [A "-cclib"; A "-lrt"]
|
|
| _ -> []
|
|
|
|
let lib s =
|
|
match !Ocamlbuild_plugin.Options.ext_lib with
|
|
| "" -> s ^ ".a"
|
|
| x -> s ^ "." ^ x
|
|
|
|
let () =
|
|
dispatch begin function
|
|
| After_rules ->
|
|
|
|
(* mtime *)
|
|
|
|
ocaml_lib ~tag_name:"use_mtime" ~dir:"src" "src/mtime";
|
|
|
|
(* mtime-clock *)
|
|
|
|
flag_and_dep ["link"; "ocaml"; "link_mtime_clock_stubs"]
|
|
(P (lib "src/clock/libmtime_clock_stubs"));
|
|
|
|
dep ["record_mtime_clock_stubs"]
|
|
[lib "src/clock/libmtime_clock_stubs"];
|
|
|
|
flag ["library"; "ocaml"; "byte"; "record_mtime_clock_stubs"]
|
|
(S ([A "-dllib"; A "-lmtime_clock_stubs"] @ system_support_lib));
|
|
flag ["library"; "ocaml"; "record_mtime_clock_stubs"] (* byt + nat *)
|
|
(S ([A "-cclib"; A "-lmtime_clock_stubs"] @ system_support_lib));
|
|
|
|
ocaml_lib ~tag_name:"use_mtime_clock" ~dir:"src/clock"
|
|
"src/clock/mtime_clock";
|
|
|
|
flag ["link"; "ocaml"; "use_mtime_clock"]
|
|
(S [A "-ccopt"; A "-Lsrc/clock"]);
|
|
| _ -> ()
|
|
end
|