aboutsummaryrefslogtreecommitdiff
path: root/doc/sphinx/practical-tools
diff options
context:
space:
mode:
Diffstat (limited to 'doc/sphinx/practical-tools')
-rw-r--r--doc/sphinx/practical-tools/coq-commands.rst18
1 files changed, 13 insertions, 5 deletions
diff --git a/doc/sphinx/practical-tools/coq-commands.rst b/doc/sphinx/practical-tools/coq-commands.rst
index 97e7af8cb4..d4a61425e1 100644
--- a/doc/sphinx/practical-tools/coq-commands.rst
+++ b/doc/sphinx/practical-tools/coq-commands.rst
@@ -308,6 +308,14 @@ In addition, ``coq_makefile`` generates for a file ``foo.v`` a target
next, the purpose of this target is to be able to request the minimal
working state for editing interactively the file ``foo.v``.
+.. warning::
+
+ When writing a custom build system, be aware that ``coqdep`` only
+ produces dependencies related to ``.vos`` and ``.vok`` if the
+ ``-vos`` command line flag is passed. This is to maintain
+ compatibility with dune (see `ocaml/dune#2642 on github
+ <https://github.com/ocaml/dune/issues/2842>`_).
+
**Typical compilation of a set of file using a build system.**
Assume a file ``foo.v`` that depends on two files ``f1.v`` and ``f2.v``. The
@@ -354,11 +362,11 @@ within a section.
**Interaction with standard compilation**
When compiling a file ``foo.v`` using ``coqc`` in the standard way (i.e., without
-``-vos`` nor ``-vok``), an empty file ``foo.vos`` is created in addition to the
-regular output file ``foo.vo``. If ``coqc`` is subsequently invoked on some other
-file ``bar.v`` using option ``-vos`` or ``-vok``, and that ``bar.v`` requires
-``foo.v``, if |Coq| finds an empty file ``foo.vos``, then it will load
-``foo.vo`` instead of ``foo.vos``.
+``-vos`` nor ``-vok``), an empty file ``foo.vos`` and an empty file ``foo.vok``
+are created in addition to the regular output file ``foo.vo``.
+If ``coqc`` is subsequently invoked on some other file ``bar.v`` using option
+``-vos`` or ``-vok``, and that ``bar.v`` requires ``foo.v``, if |Coq| finds an
+empty file ``foo.vos``, then it will load ``foo.vo`` instead of ``foo.vos``.
The purpose of this feature is to allow users to benefit from the ``-vos``
option even if they depend on libraries that were compiled in the traditional