diff mbox

update_web_docs_svn: support the JIT docs (PR jit/64257)

Message ID 1422053051-11954-1-git-send-email-dmalcolm@redhat.com
State New
Headers show

Commit Message

David Malcolm Jan. 23, 2015, 10:44 p.m. UTC
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(+)

Comments

Gerald Pfeifer Jan. 26, 2015, 11:43 a.m. UTC | #1
On Friday 2015-01-23 17:44, David Malcolm wrote:
> 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.

You can easily get the preprocess script by checking out wwwdocs,
cf. https://gcc.gnu.org/about.html.

That still will require MetaHTML which, sadly, became an abandoned
FSF project, and will require a hack or two to build, so let's just
go with your patch.

A few notes, though:

> 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).

The "since" should be part of the code, not the ChangeLog.

> 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
> +# The JIT is a special-case, using sphinx rather than texinfo.

special case

> +# The jit Makefile uses "sphinx-build", which is packaged in
> +# Fedora and EPEL 6 within "python-sphinx".

JIT (above) vs jit (here)?

How about saying "...packaged in "python-sphinx" in Fedora and
EPEL 6 and in "python-Sphinx" in openSUSE"?

> +# 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

This looks like a Bash-ism.  Can you use backticks of something
like 

  find ... | while read file; ...

?

> +    cp $file $DOCSDIR/$file

Just "cp $file $DOCSDIR/" ?  This one may be a better of style,
but is easier to tweak in case we need to quote later on, for
example.

Gerald
Mike Stump Jan. 26, 2015, 6:42 p.m. UTC | #2
On Jan 26, 2015, at 3:43 AM, Gerald Pfeifer <gerald@pfeifer.com> wrote:
>> +# 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
> 
> This looks like a Bash-ism.  Can you use back ticks

http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html

$() is standard and preferred over back ticks.  :-)  Life goes on.
diff mbox

Patch

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