Replace the Hashtbl.t used for mapping nodes to state-sets by an
[tatoo.git] / myocamlbuild.ml
index 41730a6..0ea5ff0 100644 (file)
@@ -26,8 +26,10 @@ let macro_flags = [
 
 let () = dispatch begin
   function
-    | Before_rules ->
+    | 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"; "link"; "debug" ] (A"-g");
         flag [ "ocaml"; "compile"; "profile"] (S[A"-ppopt"; A"-DPROFILE"]);
@@ -36,5 +38,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