The following patch builds and installs the JIT documentation for
the website (just HTML for now).

It's tricky to test (I don't have a copy of /www/gcc/bin/preprocess),
but I was able to use this to generate sane-looking documentation,
both for the .texi files, and for the JIT documentation.

Tested on Fedora 20, using python-sphinx-1.1.3-9.fc20.noarch.

I believe python-sphinx is in EPEL 6, fwiw.

maintainer-scripts/ChangeLog:
        PR jit/64257
        * update_web_docs_svn: Don't delete gcc/jit/docs,
        since the jit docs are not .tex files (Makefile, .rst and
        .png).  Special-case the building of the JIT docs (using
        sphinx-build).  Special-case copying them up (since they
        contain .css, .js and .png files in addition to .html, and
        have nested subdirectories).
---
 maintainer-scripts/update_web_docs_svn | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/maintainer-scripts/update_web_docs_svn 
b/maintainer-scripts/update_web_docs_svn
index c661220..c7eb890 100755
--- a/maintainer-scripts/update_web_docs_svn
+++ b/maintainer-scripts/update_web_docs_svn
@@ -116,6 +116,7 @@ find gcc -type f \( -name '*.texi' \
   -o -path gcc/gcc/doc/include/texinfo.tex \
   -o -path gcc/gcc/BASE-VER \
   -o -path gcc/gcc/DEV-PHASE \
+  -o -path "gcc/gcc/jit/docs/*" \
   -o -print0 \) | xargs -0 rm -f
 
 # Build a tarball of the sources.
@@ -158,6 +159,15 @@ for file in $MANUALS; do
   fi
 done
 
+# The JIT is a special-case, using sphinx rather than texinfo.
+# The jit Makefile uses "sphinx-build", which is packaged in
+# Fedora and EPEL 6 within "python-sphinx".
+pushd gcc/gcc/jit/docs
+make html
+popd
+cp -a gcc/gcc/jit/docs/_build/html jit
+mkdir -p $DOCSDIR/jit
+
 # Work around makeinfo generated file names and references with
 # "_002d" instead of "-".
 find . -name '*.html' | while read f; do
@@ -204,6 +214,16 @@ for file in */*.html *.ps *.pdf *.tar; do
   fi
 done
 
+# Again, the jit is a special case, with nested subdirectories
+# below "jit", and with some non-HTML files (.png images from us,
+# plus .js and .css supplied by sphinx).
+for file in $(find jit \
+                -name "*.html" -o -name "*.css" \
+                -o -name "*.js" -o -name "*.png"); do
+    mkdir -p $(dirname $DOCSDIR/$file)
+    cp $file $DOCSDIR/$file
+done
+
 cd $DOCSDIR
 
 # Finally, generate the installation documentation
-- 
1.8.5.3

Reply via email to