aboutsummaryrefslogtreecommitdiff
path: root/dev
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2020-06-22 17:52:18 +0200
committerEmilio Jesus Gallego Arias2021-03-03 16:06:14 +0100
commitab98d847d237af3cd0e46edef42218be65cfc98f (patch)
tree91d26077257724e2eeefe1bf39e24f24d34070be /dev
parentef22a5aaf1728d840341d31befd67dd90c5b2e0e (diff)
[build] Split stdlib to it's own opam package.
We introduce a new package structure for Coq: - `coq-core`: Coq's OCaml tools code and plugins - `coq-stdlib`: Coq's stdlib [.vo files] - `coq`: meta-package that pulls `coq-{core,stdlib}` This has several advantages, in particular it allows to install Coq without the stdlib which is useful in several scenarios, it also open the door towards a versioning of the stdlib at the package level. The main user-visible change is that Coq's ML development files now live in `$lib/coq-core`, for compatibility in the regular build we install a symlink and support both setups for a while. Note that plugin developers and even `coq_makefile` should actually rely on `ocamlfind` to locate Coq's OCaml libs as to be more robust. There is a transient state where we actually look for both `$coqlib/plugins` and `$coqlib/../coq-core/plugins` as to support the non-ocamlfind plus custom variables. This will be much improved once #13617 is merged (which requires this PR first), then, we will introduce a `coq.boot` library so finally `coqdep`, `coqchk`, etc... can share the same path setup code. IMHO the plan should work fine.
Diffstat (limited to 'dev')
-rw-r--r--dev/dune50
-rw-r--r--dev/shim/dune2
-rw-r--r--dev/tools/coqdev.el2
3 files changed, 27 insertions, 27 deletions
diff --git a/dev/dune b/dev/dune
index ae801f9e83..9da06a3fab 100644
--- a/dev/dune
+++ b/dev/dune
@@ -1,11 +1,11 @@
(library
(name top_printers)
- (public_name coq.top_printers)
+ (public_name coq-core.top_printers)
(synopsis "Coq's Debug Printers")
(wrapped false)
(modules top_printers)
(optional)
- (libraries coq.toplevel coq.plugins.ltac))
+ (libraries coq-core.toplevel coq-core.plugins.ltac))
(rule
(targets dune-dbg)
@@ -17,27 +17,27 @@
; We require all the OCaml libs to be in place and searchable
; by OCamlfind, this is a bit of a hack but until Dune gets
; proper ocamldebug support we have to live with that.
- %{lib:coq.config:config.cma}
- %{lib:coq.clib:clib.cma}
- %{lib:coq.lib:lib.cma}
- %{lib:coq.kernel:kernel.cma}
- %{lib:coq.vm:byterun.cma}
- %{lib:coq.vm:../../stublibs/dllbyterun_stubs.so}
- %{lib:coq.library:library.cma}
- %{lib:coq.engine:engine.cma}
- %{lib:coq.pretyping:pretyping.cma}
- %{lib:coq.gramlib:gramlib.cma}
- %{lib:coq.interp:interp.cma}
- %{lib:coq.proofs:proofs.cma}
- %{lib:coq.parsing:parsing.cma}
- %{lib:coq.printing:printing.cma}
- %{lib:coq.tactics:tactics.cma}
- %{lib:coq.vernac:vernac.cma}
- %{lib:coq.stm:stm.cma}
- %{lib:coq.sysinit:sysinit.cma}
- %{lib:coq.toplevel:toplevel.cma}
- %{lib:coq.plugins.ltac:ltac_plugin.cma}
- %{lib:coq.top_printers:top_printers.cmi}
- %{lib:coq.top_printers:top_printers.cma}
- %{lib:coq.top_printers:../META})
+ %{lib:coq-core.config:config.cma}
+ %{lib:coq-core.clib:clib.cma}
+ %{lib:coq-core.lib:lib.cma}
+ %{lib:coq-core.kernel:kernel.cma}
+ %{lib:coq-core.vm:byterun.cma}
+ %{lib:coq-core.vm:../../stublibs/dllbyterun_stubs.so}
+ %{lib:coq-core.library:library.cma}
+ %{lib:coq-core.engine:engine.cma}
+ %{lib:coq-core.pretyping:pretyping.cma}
+ %{lib:coq-core.gramlib:gramlib.cma}
+ %{lib:coq-core.interp:interp.cma}
+ %{lib:coq-core.proofs:proofs.cma}
+ %{lib:coq-core.parsing:parsing.cma}
+ %{lib:coq-core.printing:printing.cma}
+ %{lib:coq-core.tactics:tactics.cma}
+ %{lib:coq-core.vernac:vernac.cma}
+ %{lib:coq-core.stm:stm.cma}
+ %{lib:coq-core.sysinit:sysinit.cma}
+ %{lib:coq-core.toplevel:toplevel.cma}
+ %{lib:coq-core.plugins.ltac:ltac_plugin.cma}
+ %{lib:coq-core.top_printers:top_printers.cmi}
+ %{lib:coq-core.top_printers:top_printers.cma}
+ %{lib:coq-core.top_printers:../META})
(action (copy dune-dbg.in dune-dbg)))
diff --git a/dev/shim/dune b/dev/shim/dune
index 8006c629ed..e4cc7699f0 100644
--- a/dev/shim/dune
+++ b/dev/shim/dune
@@ -26,7 +26,7 @@
(targets coqbyte-prelude)
(deps
%{bin:coqtop.byte}
- %{lib:coq.kernel:../../stublibs/dllbyterun_stubs.so}
+ %{lib:coq-core.kernel:../../stublibs/dllbyterun_stubs.so}
%{project_root}/theories/Init/Prelude.vo)
(action
(with-stdout-to %{targets}
diff --git a/dev/tools/coqdev.el b/dev/tools/coqdev.el
index 5f9f326750..d4f599484f 100644
--- a/dev/tools/coqdev.el
+++ b/dev/tools/coqdev.el
@@ -33,7 +33,7 @@
(defun coqdev-default-directory ()
"Return the Coq repository containing `default-directory'."
- (let ((dir (locate-dominating-file default-directory "META.coq.in")))
+ (let ((dir (locate-dominating-file default-directory "META.coq-core.in")))
(when dir (expand-file-name dir))))
(defun coqdev-setup-compile-command ()