Add a 'trace' mode (must be enabled at build time) that saves the
[tatoo.git] / myocamlbuild.ml
index d198faa..5ce02af 100644 (file)
@@ -26,10 +26,13 @@ let macro_flags = [
 
 let () = dispatch begin
   function
-    | Before_rules ->
-        set_flags [["ocaml";"compile"]; ["ocaml";"ocamldep"] ] macro_flags;
+    | Before_rules -> ()
+    | After_rules ->
+        set_flags [["ocaml";"compile"]; ["ocaml"; "ocamldep"] ] macro_flags;
         pflag [ "ocaml"; "compile" ] "warning"   (fun s -> (S[ A"-w"; A s]));
         flag [ "ocaml"; "compile"; "debug" ] (S[ A"-g"; A"-ppopt"; A"-DDEBUG"]);
+        flag [ "ocaml"; "compile"; "htmltrace" ] (S[ A"-ppopt"; A"-DHTMLTRACE"]);
+        flag [ "ocaml"; "ocamldep"; "htmltrace" ] (S[ A"-ppopt"; A"-DHTMLTRACE"]);
         flag [ "ocaml"; "link"; "debug" ] (A"-g");
         flag [ "ocaml"; "compile"; "profile"] (S[A"-ppopt"; A"-DPROFILE"]);
         flag [ "ocaml"; "compile"; "profile"; "native"] (A"-p");
@@ -37,5 +40,14 @@ let () = dispatch begin
         pflag [ "ocaml"; "compile"; "native" ] "inline" (fun i -> (S[ A"-inline"; A i ]));
         pflag [ "ocaml"; "compile" ] "unsafe" (fun s -> (if s = "true" then S[A"-ppopt";A "-unsafe"] else N));
 
+
+         rule "Java compilation"
+        ~prod:"%.class"
+        ~dep:"%.java"
+        begin fun env _build ->
+          let java = env "%.java" in
+          let tags = tags_of_pathname java ++ "compile" in
+          Cmd( S[ A"javac" ; P java; T tags ])
+        end
     | _ -> ()
 end