aboutsummaryrefslogtreecommitdiffhomepage
path: root/toplevel/coqtop.ml
diff options
context:
space:
mode:
authorGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-08 18:53:05 +0000
committerGravatar gareuselesinge <gareuselesinge@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-08-08 18:53:05 +0000
commitbab9baefceedda169095ddcc16df47d35b2f6af3 (patch)
tree5652faa8dfcf8e885a30fed07b7b7c17b264d679 /toplevel/coqtop.ml
parentc81254903e1e50a2305cd48ccfb673d9737afc48 (diff)
stm: (initial) support for -coq-slaves
Stm contains many TODO items to improve the thing, but it should be already possible to play with it (but not use it in production). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16684 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel/coqtop.ml')
-rw-r--r--toplevel/coqtop.ml13
1 files changed, 13 insertions, 0 deletions
diff --git a/toplevel/coqtop.ml b/toplevel/coqtop.ml
index 394cce6ce..26e3081bb 100644
--- a/toplevel/coqtop.ml
+++ b/toplevel/coqtop.ml
@@ -302,6 +302,14 @@ let parse_args arglist =
Flags.make_term_color false;
parse ("-emacs" :: rem)
+ | "-coq-slaves" :: "off" :: rem -> Flags.coq_slave_mode := -1; parse rem
+ | "-coq-slaves" :: "on" :: rem -> Flags.coq_slave_mode := 0; parse rem
+
+ | "-coq-slaves" :: n :: rem -> (* internal use *)
+ assert (int_of_string n > 0);
+ Flags.coq_slave_mode := int_of_string n;
+ parse rem
+
| "-unicode" :: rem -> add_require "Utf8_core"; parse rem
| "-coqlib" :: d :: rem -> Flags.coqlib_spec:=true; Flags.coqlib:=d; parse rem
@@ -374,6 +382,9 @@ let init arglist =
if !Flags.ide_slave then begin
Flags.make_silent true;
Ide_slave.init_stdout ()
+ end else if !Flags.coq_slave_mode > 0 then begin
+ Flags.make_silent true;
+ Stm.slave_init_stdout ()
end;
if_verbose print_header ();
init_load_path ();
@@ -421,6 +432,8 @@ let start () =
Dumpglob.noglob () in
if !Flags.ide_slave then
Ide_slave.loop ()
+ else if !Flags.coq_slave_mode > 0 then
+ Stm.slave_main_loop ()
else
Toplevel.loop();
(* Initialise and launch the Ocaml toplevel *)