diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-17 17:35:01 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-17 17:35:01 +0000 |
commit | 280274587912fb7cd831410131a5eee7b299c892 (patch) | |
tree | 568b29e1357c6f159c126add62505b493fcbe51a /maintainer-scripts | |
parent | 7ae6f08bbeaa085e4db6129c37d8627a6caf1cc3 (diff) | |
download | gcc-280274587912fb7cd831410131a5eee7b299c892.tar.gz |
* update_web_docs_old: Copy from update_web_docs. Add comment
that this is for GCC 3.0.x and earlier versions.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48112 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'maintainer-scripts')
-rw-r--r-- | maintainer-scripts/ChangeLog | 5 | ||||
-rwxr-xr-x | maintainer-scripts/update_web_docs_old | 178 |
2 files changed, 183 insertions, 0 deletions
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index 0f0b2355ffc..b206bc153ed 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,8 @@ +2001-12-17 Joseph S. Myers <jsm28@cam.ac.uk> + + * update_web_docs_old: Copy from update_web_docs. Add comment + that this is for GCC 3.0.x and earlier versions. + 2001-11-19 Joseph S. Myers <jsm28@cam.ac.uk> * gcc_release: Add /usr/local/bin to path when local. diff --git a/maintainer-scripts/update_web_docs_old b/maintainer-scripts/update_web_docs_old new file mode 100755 index 00000000000..bb778261fb6 --- /dev/null +++ b/maintainer-scripts/update_web_docs_old @@ -0,0 +1,178 @@ +#!/bin/sh -x + +# Generate HTML documentation from GCC Texinfo docs. +# This version is for GCC 3.0.x and earlier versions. + +# Run this from /tmp. +CVSROOT=/cvs/gcc +export CVSROOT + +PATH=/usr/local/bin:$PATH + +WWWBASE=/www/gcc/htdocs +WWWBASE_PREFORMATTED=/www/gcc/htdocs-preformatted +WWWPREPROCESS='/www/gcc/bin/preprocess -r' + +# Process options -rrelease and -ddirectory +RELEASE="" +SUBDIR="" + +while [ $# -gt 0 ]; do + case $1 in + -r*) + if [ -n "$RELEASE" ]; then + echo "Multiple releases specified" >&2 + exit 1 + fi + RELEASE="${1#-r}" + if [ -z "$RELEASE" ]; then + shift + RELEASE="$1" + if [ -z "$RELEASE" ]; then + echo "No release specified with -r" >&2 + exit 1 + fi + fi + ;; + -d*) + if [ -n "$SUBDIR" ]; then + echo "Multiple subdirectories specified" >&2 + exit 1 + fi + SUBDIR="${1#-d}" + if [ -z "$SUBDIR" ]; then + shift + SUBDIR="$1" + if [ -z "$SUBDIR" ]; then + echo "No subdirectory specified with -d" >&2 + exit 1 + fi + fi + ;; + *) + echo "Unknown argument \"$1\"" >&2 + exit 1 + ;; + esac + shift +done + +if [ -n "$RELEASE" ] && [ -z "$SUBDIR" ]; then + echo "Release specified without subdirectory" >&2 + exit 1 +fi + +if [ -z "$SUBDIR" ]; then + DOCSDIR=$WWWBASE/onlinedocs +else + DOCSDIR=$WWWBASE/onlinedocs/$SUBDIR +fi + +if [ ! -d $DOCSDIR ]; then + mkdir $DOCSDIR +fi + +if [ -z "$RELEASE" ]; then + RELEASE=HEAD + DO_THANKS_HTML=y +else + DO_THANKS_HTML=n +fi + +WORKDIR=/tmp/gcc-doc-update.$$ + +/bin/rm -rf $WORKDIR +/bin/mkdir $WORKDIR +cd $WORKDIR + +# Find all the texi files in the repository, except those in directories +# we do not care about (texinfo, etc). +find $CVSROOT/gcc -name \*.texi,v -print | fgrep -v -f/home/gccadmin/scripts/doc_exclude | sed -e s#$CVSROOT/##g -e s#,v##g -e s#Attic/##g > FILES + + +# Checkout all the texi files. +cvs -Q co -r$RELEASE `cat FILES` gcc/gcc/doc/install.texi2html gcc/gcc/texinfo.tex gcc/gcc/doc/texinfo.tex gcc/gcc/doc/include/texinfo.tex + +# Find the directory to pass to -I; this is the one with texinfo.tex +# and fdl.texi. +texitexloc=`find . -name texinfo.tex` +includedir=${texitexloc%/*} + +# Now convert the relevant files from texi to HTML and PostScript. +for file in cpp chill cppinternals gcc gcj g77 gnat-style libiberty \ + objc-features porting; do + filename=`find . -name ${file}.texi` + if [ "${filename}" ]; then + /usr/local/bin/texi2html -glossary -menu -split_chapter -I ${includedir} ${filename} + texi2dvi -I ${includedir} ${filename} </dev/null && dvips -o ${file}.ps ${file}.dvi + fi +done + +# Then build a gzipped copy of each of the resulting .html and .ps files +for file in *.html *.ps; do + cat $file | gzip --best > $file.gz +done + +# On the 15th of the month, wipe all the old files from the +# web server. +today=`date +%d` +if test $today = 15; then + find $DOCSDIR -type f -maxdepth 1 -print | grep -v index.html | xargs rm +fi + +# And copy the resulting html files to the web server +for file in *.html *.ps; do + cat $DOCSDIR/$file | + sed -e '/^<!-- Created on/d' \ + -e '/^by <I>GCC Administrator<\/I> on/d' \ + -e '/^%DVIPSSource:/d' > file1 + cat $file | + sed -e '/^<!-- Created on/d' \ + -e '/^by <I>GCC Administrator<\/I> on/d' \ + -e '/^%DVIPSSource:/d' > file2 + if cmp -s file1 file2; then + : + else + cp $file ${file}.gz $DOCSDIR + fi +done + +news_file=`grep "News About GNU Fortran" $DOCSDIR/g77_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'` +bugs_file=`grep "Known Causes of Trouble with GNU Fortran" $DOCSDIR/g77_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'` +contrib_file=`grep "Contributors to GCC" $DOCSDIR/gcc_toc.html | sed -e '/HREF=.*[^.]/ s#^.*HREF="##g' | sed -e 's%#SEC.*%%g'` + +cd $DOCSDIR + +rm -f g77_news.html +rm -f g77_bugs.html +rm -f g77_news.html.gz +rm -f g77_bugs.html.gz +ln $news_file g77_news.html +ln $bugs_file g77_bugs.html +ln ${news_file}.gz g77_news.html.gz +ln ${bugs_file}.gz g77_bugs.html.gz + +if [ "$DO_THANKS_HTML" = y ]; then + cd $WWWBASE + rm -f thanks.html + rm -f thanks.html.gz + ln onlinedocs/$contrib_file thanks.html + ln onlinedocs/${contrib_file}.gz thanks.html.gz +fi + +# Finally, generate the installation documentation (but only for CVS HEAD). +if [ "$RELEASE" = "HEAD" ]; then + SOURCEDIR=$WORKDIR/gcc/gcc/doc + DESTDIR=$WWWBASE_PREFORMATTED/install + export SOURCEDIR + export DESTDIR + $WORKDIR/gcc/gcc/doc/install.texi2html + + # Preprocess the entire web site, not just the install docs! + echo "Invoking $WWWPREPROCESS" + $WWWPREPROCESS |grep -v '^ Warning: Keeping' +fi + +# Clean up behind us. + +rm -rf $WORKDIR |