aboutsummaryrefslogtreecommitdiff
path: root/doc/sphinx/practical-tools
diff options
context:
space:
mode:
authorPierre Roux2020-12-28 12:48:25 +0100
committerPierre Roux2020-12-29 17:55:49 +0100
commit8a0986f84965e61239d00e9be48d713e60308863 (patch)
treefad03417be56cc8d5626e0e2ba9c77517c365cd0 /doc/sphinx/practical-tools
parentd8ba0f81c026d073c5271b7eda8ae22ce11105fe (diff)
Document the -native-compiler option
Diffstat (limited to 'doc/sphinx/practical-tools')
-rw-r--r--doc/sphinx/practical-tools/coq-commands.rst65
1 files changed, 65 insertions, 0 deletions
diff --git a/doc/sphinx/practical-tools/coq-commands.rst b/doc/sphinx/practical-tools/coq-commands.rst
index d20a82e6c0..06a196e951 100644
--- a/doc/sphinx/practical-tools/coq-commands.rst
+++ b/doc/sphinx/practical-tools/coq-commands.rst
@@ -219,6 +219,71 @@ and ``coqtop``, unless stated otherwise:
:-batch: Exit just after argument parsing. Available for ``coqtop`` only.
:-verbose: Output the content of the input file as it is compiled.
This option is available for ``coqc`` only.
+:-native-compiler (yes|no|ondemand): Enable the :tacn:`native_compute`
+ reduction machine and precompilation to ``.cmxs`` files for future use
+ by :tacn:`native_compute`.
+ Setting ``yes`` enables :tacn:`native_compute`; it also causes Coq
+ to precompile the native code for future use; all dependencies need
+ to have been precompiled beforehand. Setting ``no`` disables
+ :tacn:`native_compute` which defaults back to :tacn:`vm_compute`; no files are precompiled.
+ Setting ``ondemand`` enables :tacn:`native_compute`
+ but disables precompilation; all missing dependencies will be recompiled
+ every time :tacn:`native_compute` is called.
+
+ .. _native-compiler-options:
+
+ .. versionchanged:: 8.13
+
+ The default value is set at configure time,
+ ``-config`` can be used to retrieve it.
+ All this can be summarized in the following table:
+
+ .. list-table::
+ :header-rows: 1
+
+ * - ``configure``
+ - ``coqc``
+ - ``native_compute``
+ - outcome
+ - requirements
+ * - yes
+ - yes (default)
+ - native_compute
+ - ``.cmxs``
+ - ``.cmxs`` of deps
+ * - yes
+ - no
+ - vm_compute
+ - none
+ - none
+ * - yes
+ - ondemand
+ - native_compute
+ - none
+ - none
+ * - no
+ - yes, no, ondemand
+ - vm_compute
+ - none
+ - none
+ * - ondemand
+ - yes
+ - native_compute
+ - ``.cmxs``
+ - ``.cmxs`` of deps
+ * - ondemand
+ - no
+ - vm_compute
+ - none
+ - none
+ * - ondemand
+ - ondemand (default)
+ - native_compute
+ - none
+ - none
+
+:-native-output-dir: Set the directory in which to put the aforementioned
+ ``.cmxs`` for :tacn:`native_compute`. Defaults to ``.coq-native``.
:-vos: Indicate Coq to skip the processing of opaque proofs
(i.e., proofs ending with :cmd:`Qed` or :cmd:`Admitted`), output a ``.vos`` files
instead of a ``.vo`` file, and to load ``.vos`` files instead of ``.vo`` files