aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorEmilio Jesus Gallego Arias2018-09-19 02:50:29 +0200
committerEmilio Jesus Gallego Arias2018-12-13 15:40:38 +0100
commitddb3fae72826c0da3ba449be4ebc72e44c1ace16 (patch)
tree8f0f6cb37ef357537d39e0d5e285011fc218d69e /doc
parent228f0d929bb5098d58cd285fde42bb08d70c6ee8 (diff)
[dune] [doc] Support for building the reference manual with Dune.
This is a reduced version of #8503 as to provide a way to build the reference manual with Dune. Dune 1.6 supports (experimentally) directories as targets, thus we introduce a rule that will call `sphinx` to build the manual. This only provides build, however generation of `.install` rules is not done, it will be hopefully addressed in #8503. Note that we set `expire: 1 month` for all the artifacts we build with Dune. IMHO this makes most sense as not to abuse Gitlab's hosting, however of course we could consider a different deployment strategy if wanted.
Diffstat (limited to 'doc')
-rw-r--r--doc/dune24
-rw-r--r--doc/sphinx/dune1
-rw-r--r--doc/tools/coqrst/coqdoc/main.py2
3 files changed, 26 insertions, 1 deletions
diff --git a/doc/dune b/doc/dune
new file mode 100644
index 0000000000..54ffa87205
--- /dev/null
+++ b/doc/dune
@@ -0,0 +1,24 @@
+(rule
+ (targets sphinx_build)
+ (deps
+ ; We could use finer dependencies here so the build is faster:
+ ;
+ ; - vo files: generated by sphinx after parsing the doc, promoted,
+ ; - Static files:
+ ; + %{bin:coqdoc} etc...
+ ; + config/coq_config.py
+ ; + tools/coqdoc/coqdoc.css
+ (package coq)
+ (source_tree sphinx)
+ (source_tree tools))
+ (action (run sphinx-build -j4 -b html -d sphinx_build/doctrees sphinx sphinx_build/html)))
+
+(alias
+ (name refman-html)
+ (deps sphinx_build))
+
+; The install target still needs more work.
+; (install
+; (section doc)
+; (package coq-refman)
+; (files sphinx_build))
diff --git a/doc/sphinx/dune b/doc/sphinx/dune
new file mode 100644
index 0000000000..fff025c919
--- /dev/null
+++ b/doc/sphinx/dune
@@ -0,0 +1 @@
+(dirs :standard _static)
diff --git a/doc/tools/coqrst/coqdoc/main.py b/doc/tools/coqrst/coqdoc/main.py
index 57adcb287c..1de9890992 100644
--- a/doc/tools/coqrst/coqdoc/main.py
+++ b/doc/tools/coqrst/coqdoc/main.py
@@ -35,7 +35,7 @@ COQDOC_HEADER = "".join("(** remove printing {} *)".format(s) for s in COQDOC_SY
def coqdoc(coq_code, coqdoc_bin=None):
"""Get the output of coqdoc on coq_code."""
- coqdoc_bin = coqdoc_bin or os.path.join(os.getenv("COQBIN"), "coqdoc")
+ coqdoc_bin = coqdoc_bin or os.path.join(os.getenv("COQBIN", ""), "coqdoc")
fd, filename = mkstemp(prefix="coqdoc-", suffix=".v")
if platform.system().startswith("CYGWIN"):
# coqdoc currently doesn't accept cygwin style paths in the form "/cygdrive/c/..."