From 09659b1dbe24296229ad92cb52e73af28c95177f Mon Sep 17 00:00:00 2001 From: Jeremie Dimino Date: Tue, 31 Jul 2012 17:09:40 +0200 Subject: [PATCH] install utop-full with access to compiler libraries Ignore-this: 2612df285dd4900ca4eb4af08d5a4d93 darcs-hash:20120731150940-c41ad-2e08c11a1830ad058e1a856b31b2d74a87350dca --- _oasis | 18 ++++++++++++++++++ man/utop-full.1 | 46 ++++++++++++++++++++++++++++++++++++++++++++++ myocamlbuild.ml | 19 ++++++++++++------- 3 files changed, 76 insertions(+), 7 deletions(-) create mode 100644 man/utop-full.1 diff --git a/_oasis b/_oasis index c9ce38d..2e54a5a 100644 --- a/_oasis +++ b/_oasis @@ -65,6 +65,14 @@ Executable utop BuildDepends: utop, findlib, lambda-term, lwt.syntax, threads DataFiles: utop.el ($datadir/emacs/site-lisp) +Executable "utop-full" + Install: true + Path: src/top + CompiledObject: byte + MainIs: uTop_top_full.ml + BuildDepends: utop, findlib, lambda-term, lwt.syntax, threads + DataFiles: utop.el ($datadir/emacs/site-lisp) + # +-------------------------------------------------------------------+ # | Doc | # +-------------------------------------------------------------------+ @@ -93,6 +101,16 @@ Document "utop-man" DataFiles: man/utop.1.gz InstallDir: $mandir/man1 +Document "utop-full-man" + Type: custom (0.3) + Title: Man page for utop + Install: true + BuildTools: gzip + XCustom: $gzip -c man/utop-full.1 > man/utop-full.1.gz + XCustomClean: $rm man/utop-full.1.gz + DataFiles: man/utop-full.1.gz + InstallDir: $mandir/man1 + Document "utoprc-man" Type: custom (0.3) Title: Man page for utoprc diff --git a/man/utop-full.1 b/man/utop-full.1 new file mode 100644 index 0000000..eaff95a --- /dev/null +++ b/man/utop-full.1 @@ -0,0 +1,46 @@ +\" utop.1 +\" ------ +\" Copyright : (c) 2011, Jeremie Dimino +\" Licence : BSD3 +\" +\" This file is a part of utop. + +.TH UTOP-FULL 1 "August 2011" + +.SH NAME +utop-full \- Universal toplevel for OCaml + +.SH SYNOPSIS +.B utop +[ +.I options +] +[ +.I object-files +] +[ +.I script-file +] + +.SH DESCRIPTION + +.B utop-full +is the same as +.B utop (1) +except that compiler libraries are available. + +.SH OPTIONS +Same as +.BR utop (1). + +.SH FILES +Same as +.BR utop (1). + +.SH AUTHOR +Jérémie Dimino + +.SH "SEE ALSO" +.BR utoprc (5), +.BR lambda-term-inputrc (5), +.BR ocaml (1). diff --git a/myocamlbuild.ml b/myocamlbuild.ml index 05da762..5f27fb6 100644 --- a/myocamlbuild.ml +++ b/myocamlbuild.ml @@ -54,9 +54,9 @@ let () = (* Expunge compiler modules *) rule "toplevel expunge" - ~dep:"%.top" - ~prod:"%.byte" - (fun env _ -> + ~dep:"src/top/uTop_top.top" + ~prod:"src/top/uTop_top.byte" + (fun _ _ -> (* Build the list of explicit dependencies. *) let packages = Tags.fold @@ -65,7 +65,7 @@ let () = String.after tag 4 :: packages else packages) - (tags_of_pathname (env "%.byte")) + (tags_of_pathname "src/top/uTop_top.byte") [] in (* Build the list of dependencies. *) @@ -93,8 +93,13 @@ let () = let modules = StringSet.add "Toploop" modules in let modules = StringSet.add "Topmain" modules in Cmd (S [A (stdlib / "expunge"); - A (env "%.top"); - A (env "%.byte"); - A "UTop"; A "UTop_private"; S(List.map (fun x -> A x) (StringSet.elements modules))])) + A "src/top/uTop_top.top"; + A "src/top/uTop_top.byte"; + A "UTop"; A "UTop_private"; S(List.map (fun x -> A x) (StringSet.elements modules))])); + + rule "full toplevel (not expunged)" + ~dep:"src/top/uTop_top.top" + ~prod:"src/top/uTop_top_full.byte" + (fun _ _ -> cp "src/top/uTop_top.top" "src/top/uTop_top_full.byte") | _ -> ())