Commits

camlspotter  committed 268fcad

compile.ml => my_compile.ml, to avoid a link warning

  • Participants
  • Parent commits 6390ee8
  • Branches 4.01.0-integrated

Comments (0)

Files changed (4)

File retype/.depend

 untypeast.cmi :
-compile.cmo : untypeast.cmi pprintast.cmo
-compile.cmx : untypeast.cmx pprintast.cmx
-main.cmo : compile.cmo
-main.cmx : compile.cmx
-pprintast.cmo :
-pprintast.cmx :
+main.cmo : my_compile.cmo
+main.cmx : my_compile.cmx
+my_compile.cmo : untypeast.cmi
+my_compile.cmx : untypeast.cmx
 untypeast.cmo : untypeast.cmi
 untypeast.cmx : untypeast.cmi

File retype/Makefile

 # Requires unix!
 COMPFLAGS= $(INCLUDES_DEP) -I +unix
 
-MODULES= untypeast compile main
+MODULES= untypeast my_compile main
 
 OBJS=		$(addsuffix .cmo, $(MODULES))
 
 	rm -f retype
 
 main.ml: ../ocaml/driver/main.ml
-	cp $< $@
+	sed -e 's/Compile\./My_compile./g' $< > $@
 
 untypeast.ml: ../ocaml/tools/untypeast.ml
 	cp $< $@
 untypeast.mli: ../ocaml/tools/untypeast.mli
 	cp $< $@
 
-beforedepend:: main.ml untypeast.ml untypeast.mli pprintast.ml
+beforedepend:: main.ml untypeast.ml untypeast.mli
 
 clean::
-	rm -f main.ml untypeast.ml untypeast.mli pprintast.ml
+	rm -f main.ml untypeast.ml untypeast.mli
 
 # generic rules :
 #################

File retype/compile.ml

-(***********************************************************************)
-(*                                                                     *)
-(*                                OCaml                                *)
-(*                                                                     *)
-(*            Xavier Leroy, projet Cristal, INRIA Rocquencourt         *)
-(*                                                                     *)
-(*  Copyright 2002 Institut National de Recherche en Informatique et   *)
-(*  en Automatique.  All rights reserved.  This file is distributed    *)
-(*  under the terms of the Q Public License version 1.0.               *)
-(*                                                                     *)
-(***********************************************************************)
-
-(* The batch compiler *)
-
-open Misc
-open Config
-open Format
-open Typedtree
-open Compenv
-
-(* Compile a .mli file *)
-
-let interface ppf sourcefile outputprefix =
-  Location.input_name := sourcefile;
-  Compmisc.init_path false;
-  let modulename =
-    String.capitalize(Filename.basename(chop_extension_if_any sourcefile)) in
-  check_unit_name ppf sourcefile modulename;
-  Env.set_unit_name modulename;
-  let inputfile = Pparse.preprocess sourcefile in
-  let initial_env = Compmisc.initial_env () in
-  try
-    let ast =
-      Pparse.file ppf inputfile Parse.interface ast_intf_magic_number in
-    if !Clflags.dump_parsetree then fprintf ppf "%a@." Printast.interface ast;
-    if !Clflags.dump_source then fprintf ppf "%a@." Pprintast.signature ast;
-    let tsg = Typemod.transl_signature initial_env ast in
-    if !Clflags.dump_typedtree then fprintf ppf "%a@." Printtyped.interface tsg;
-    let sg = tsg.sig_type in
-    if !Clflags.print_types then
-      Printtyp.wrap_printing_env initial_env (fun () ->
-        fprintf std_formatter "%a@."
-          Printtyp.signature (Typemod.simplify_signature sg));
-    ignore (Includemod.signatures initial_env sg sg);
-    Typecore.force_delayed_checks ();
-    Warnings.check_fatal ();
-    if not !Clflags.print_types then begin
-      let sg = Env.save_signature sg modulename (outputprefix ^ ".cmi") in
-      Typemod.save_signature modulename tsg outputprefix sourcefile
-        initial_env sg ;
-    end;
-    Pparse.remove_preprocessed inputfile
-  with e ->
-    Pparse.remove_preprocessed inputfile;
-    raise e
-
-(* Compile a .ml file *)
-
-let print_if ppf flag printer arg =
-  if !flag then fprintf ppf "%a@." printer arg;
-  arg
-
-let (++) x f = f x
-
-let implementation ppf sourcefile outputprefix =
-  Location.input_name := sourcefile;
-  Compmisc.init_path false;
-  let modulename =
-    String.capitalize(Filename.basename(chop_extension_if_any sourcefile)) in
-  check_unit_name ppf sourcefile modulename;
-  Env.set_unit_name modulename;
-  let inputfile = Pparse.preprocess sourcefile in
-  let env = Compmisc.initial_env() in
-  if !Clflags.print_types then begin
-    try ignore(
-      Pparse.file ppf inputfile Parse.implementation ast_impl_magic_number
-      ++ print_if ppf Clflags.dump_parsetree Printast.implementation
-      ++ print_if ppf Clflags.dump_source Pprintast.structure
-      ++ Typemod.type_implementation sourcefile outputprefix modulename env
-      ++ print_if ppf Clflags.dump_typedtree
-           Printtyped.implementation_with_coercion);
-      Warnings.check_fatal ();
-      Pparse.remove_preprocessed inputfile;
-      Stypes.dump (Some (outputprefix ^ ".annot"));
-    with x ->
-      Pparse.remove_preprocessed inputfile;
-      Stypes.dump (Some (outputprefix ^ ".annot"));
-      raise x
-  end else begin
-    let objfile = outputprefix ^ ".cmo" in
-    let oc = open_out_bin objfile in
-    try
-      Pparse.file ppf inputfile Parse.implementation ast_impl_magic_number
-      ++ print_if ppf Clflags.dump_parsetree Printast.implementation
-      ++ print_if ppf Clflags.dump_source Pprintast.structure
-      ++ Typemod.type_implementation sourcefile outputprefix modulename env
-      ++ print_if ppf Clflags.dump_typedtree
-                  Printtyped.implementation_with_coercion
-
-      ++ (fun (str, _) -> 
-        let ptree =  Untypeast.untype_structure str in
-        Format.eprintf "%a@." Pprintast.structure ptree;
-        ptree)
-      ++ Typemod.type_implementation sourcefile outputprefix modulename env
-
-      ++ Translmod.transl_implementation modulename
-      ++ print_if ppf Clflags.dump_rawlambda Printlambda.lambda
-      ++ Simplif.simplify_lambda
-      ++ print_if ppf Clflags.dump_lambda Printlambda.lambda
-      ++ Bytegen.compile_implementation modulename
-      ++ print_if ppf Clflags.dump_instr Printinstr.instrlist
-      ++ Emitcode.to_file oc modulename;
-      Warnings.check_fatal ();
-      close_out oc;
-      Pparse.remove_preprocessed inputfile;
-      Stypes.dump (Some (outputprefix ^ ".annot"));
-    with x ->
-      close_out oc;
-      remove_file objfile;
-      Pparse.remove_preprocessed inputfile;
-      Stypes.dump (Some (outputprefix ^ ".annot"));
-      raise x
-  end
-
-let c_file name =
-  Location.input_name := name;
-  if Ccomp.compile_file name <> 0 then exit 2

File retype/my_compile.ml

+(***********************************************************************)
+(*                                                                     *)
+(*                                OCaml                                *)
+(*                                                                     *)
+(*            Xavier Leroy, projet Cristal, INRIA Rocquencourt         *)
+(*                                                                     *)
+(*  Copyright 2002 Institut National de Recherche en Informatique et   *)
+(*  en Automatique.  All rights reserved.  This file is distributed    *)
+(*  under the terms of the Q Public License version 1.0.               *)
+(*                                                                     *)
+(***********************************************************************)
+
+(* The batch compiler *)
+
+open Misc
+open Config
+open Format
+open Typedtree
+open Compenv
+
+(* Compile a .mli file *)
+
+let interface ppf sourcefile outputprefix =
+  Location.input_name := sourcefile;
+  Compmisc.init_path false;
+  let modulename =
+    String.capitalize(Filename.basename(chop_extension_if_any sourcefile)) in
+  check_unit_name ppf sourcefile modulename;
+  Env.set_unit_name modulename;
+  let inputfile = Pparse.preprocess sourcefile in
+  let initial_env = Compmisc.initial_env () in
+  try
+    let ast =
+      Pparse.file ppf inputfile Parse.interface ast_intf_magic_number in
+    if !Clflags.dump_parsetree then fprintf ppf "%a@." Printast.interface ast;
+    if !Clflags.dump_source then fprintf ppf "%a@." Pprintast.signature ast;
+    let tsg = Typemod.transl_signature initial_env ast in
+    if !Clflags.dump_typedtree then fprintf ppf "%a@." Printtyped.interface tsg;
+    let sg = tsg.sig_type in
+    if !Clflags.print_types then
+      Printtyp.wrap_printing_env initial_env (fun () ->
+        fprintf std_formatter "%a@."
+          Printtyp.signature (Typemod.simplify_signature sg));
+    ignore (Includemod.signatures initial_env sg sg);
+    Typecore.force_delayed_checks ();
+    Warnings.check_fatal ();
+    if not !Clflags.print_types then begin
+      let sg = Env.save_signature sg modulename (outputprefix ^ ".cmi") in
+      Typemod.save_signature modulename tsg outputprefix sourcefile
+        initial_env sg ;
+    end;
+    Pparse.remove_preprocessed inputfile
+  with e ->
+    Pparse.remove_preprocessed inputfile;
+    raise e
+
+(* Compile a .ml file *)
+
+let print_if ppf flag printer arg =
+  if !flag then fprintf ppf "%a@." printer arg;
+  arg
+
+let (++) x f = f x
+
+let implementation ppf sourcefile outputprefix =
+  Location.input_name := sourcefile;
+  Compmisc.init_path false;
+  let modulename =
+    String.capitalize(Filename.basename(chop_extension_if_any sourcefile)) in
+  check_unit_name ppf sourcefile modulename;
+  Env.set_unit_name modulename;
+  let inputfile = Pparse.preprocess sourcefile in
+  let env = Compmisc.initial_env() in
+  if !Clflags.print_types then begin
+    try ignore(
+      Pparse.file ppf inputfile Parse.implementation ast_impl_magic_number
+      ++ print_if ppf Clflags.dump_parsetree Printast.implementation
+      ++ print_if ppf Clflags.dump_source Pprintast.structure
+      ++ Typemod.type_implementation sourcefile outputprefix modulename env
+      ++ print_if ppf Clflags.dump_typedtree
+           Printtyped.implementation_with_coercion);
+      Warnings.check_fatal ();
+      Pparse.remove_preprocessed inputfile;
+      Stypes.dump (Some (outputprefix ^ ".annot"));
+    with x ->
+      Pparse.remove_preprocessed inputfile;
+      Stypes.dump (Some (outputprefix ^ ".annot"));
+      raise x
+  end else begin
+    let objfile = outputprefix ^ ".cmo" in
+    let oc = open_out_bin objfile in
+    try
+      Pparse.file ppf inputfile Parse.implementation ast_impl_magic_number
+      ++ print_if ppf Clflags.dump_parsetree Printast.implementation
+      ++ print_if ppf Clflags.dump_source Pprintast.structure
+      ++ Typemod.type_implementation sourcefile outputprefix modulename env
+      ++ print_if ppf Clflags.dump_typedtree
+                  Printtyped.implementation_with_coercion
+
+      ++ (fun (str, _) -> 
+        let ptree =  Untypeast.untype_structure str in
+        Format.eprintf "%a@." Pprintast.structure ptree;
+        ptree)
+      ++ Typemod.type_implementation sourcefile outputprefix modulename env
+
+      ++ Translmod.transl_implementation modulename
+      ++ print_if ppf Clflags.dump_rawlambda Printlambda.lambda
+      ++ Simplif.simplify_lambda
+      ++ print_if ppf Clflags.dump_lambda Printlambda.lambda
+      ++ Bytegen.compile_implementation modulename
+      ++ print_if ppf Clflags.dump_instr Printinstr.instrlist
+      ++ Emitcode.to_file oc modulename;
+      Warnings.check_fatal ();
+      close_out oc;
+      Pparse.remove_preprocessed inputfile;
+      Stypes.dump (Some (outputprefix ^ ".annot"));
+    with x ->
+      close_out oc;
+      remove_file objfile;
+      Pparse.remove_preprocessed inputfile;
+      Stypes.dump (Some (outputprefix ^ ".annot"));
+      raise x
+  end
+
+let c_file name =
+  Location.input_name := name;
+  if Ccomp.compile_file name <> 0 then exit 2