aboutsummaryrefslogtreecommitdiff
path: root/topbin
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2018-10-09 23:02:28 +0200
committerEmilio Jesus Gallego Arias2019-02-01 15:37:36 +0100
commit103f59ed6b8174ed9359cb11c909f1b2219390c9 (patch)
treed168a704d3ae43128e28c43b8f0cfab5826b8a26 /topbin
parentaa2394d4ee6525b811db1e1eb58573c2f7aa749c (diff)
[toplevel] Split interactive toplevel and compiler binaries.
We make `coqc` a truly standalone binary, whereas `coqtop` is restricted to interactive use. Thus, `coqtop -compile` will emit a warning and call `coqc`. We have also refactored `Coqargs` into a common `Coqargs` module and a compilation-specific module `Coqcargs`. This solves problems related to `coqc` having its own argument parsing, and reduces the number of strange argument combinations a lot.
Diffstat (limited to 'topbin')
-rw-r--r--topbin/coqc_bin.ml13
-rw-r--r--topbin/dune10
2 files changed, 22 insertions, 1 deletions
diff --git a/topbin/coqc_bin.ml b/topbin/coqc_bin.ml
new file mode 100644
index 0000000000..d711c81124
--- /dev/null
+++ b/topbin/coqc_bin.ml
@@ -0,0 +1,13 @@
+(************************************************************************)
+(* * The Coq Proof Assistant / The Coq Development Team *)
+(* v * INRIA, CNRS and contributors - Copyright 1999-2018 *)
+(* <O___,, * (see CREDITS file for the list of authors) *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(* * (see LICENSE file for the text of the license) *)
+(************************************************************************)
+
+(* Main coqc initialization *)
+let _ =
+ Coqc.main ()
diff --git a/topbin/dune b/topbin/dune
index 52f472d149..f42e4d6fc2 100644
--- a/topbin/dune
+++ b/topbin/dune
@@ -20,11 +20,19 @@
(modes byte)
(link_flags -linkall))
+(executable
+ (name coqc_bin)
+ (public_name coqc)
+ (package coq)
+ (modules coqc_bin)
+ (libraries coq.toplevel)
+ (link_flags -linkall))
+
; Workers
(executables
(names coqqueryworker_bin coqtacticworker_bin coqproofworker_bin)
(public_names coqqueryworker.opt coqtacticworker.opt coqproofworker.opt)
(package coq)
- (modules :standard \ coqtop_byte_bin coqtop_bin)
+ (modules :standard \ coqtop_byte_bin coqtop_bin coqc_bin)
(libraries coq.toplevel)
(link_flags -linkall))