Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: def0993a80
Fetching contributors…

Cannot retrieve contributors at this time

46 lines (35 sloc) 1.351 kb
(* $Id: topfind_rd1.p 178 2012-07-09 09:20:31Z gerd $ -*- tuareg -*- *)
(* For Ocaml-3.03 and up, so you can do: #use "topfind" and get a
* working findlib toploop.
*)
#directory "@SITELIB@/findlib";;
(* OCaml-4.00 requires to have #directory before we load anything *)
#directory "+compiler-libs";;
(* For OCaml-4.00. This directory will be later removed from path *)
(* First test whether findlib_top is already loaded. If not, load it now.
* The test works by executing the toplevel phrase "Topfind.reset" and
* checking whether this causes an error.
*)
let exec_test s =
let l = Lexing.from_string s in
let ph = !Toploop.parse_toplevel_phrase l in
let fmt = Format.make_formatter (fun _ _ _ -> ()) (fun _ -> ()) in
try
Toploop.execute_phrase false fmt ph
with
_ -> false
in
if not(exec_test "Topfind.reset;;") then (
Topdirs.dir_load Format.err_formatter "@SITELIB@/findlib/findlib.cma";
Topdirs.dir_load Format.err_formatter "@SITELIB@/findlib/findlib_top.cma";
);;
#remove_directory "+compiler-libs";;
(* Old: *)
(* #load "@SITELIB@/findlib/findlib.cma";; *)
(* #load "@SITELIB@/findlib/findlib_top.cma";; *)
(* The following is always executed. It is harmless if findlib was already
* initialized
*)
Topfind.add_predicates [ "byte"; "toploop" ];
Topfind.don't_load ["findlib"];
Topfind.announce();;
Jump to Line
Something went wrong with that request. Please try again.