summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-30 11:11:10 +0000
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>2014-05-30 11:11:10 +0000
commitc4defeade15939d0aa11c67626ff841b5f028d6e (patch)
tree9ad6839a25a398cbe3369988d710ed298c4435d7
parent99947ba93c995d0d3ad912616a3650193b60c702 (diff)
downloadgcc-c4defeade15939d0aa11c67626ff841b5f028d6e.tar.gz
* generate_libstdcxx_web_docs: New script.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211076 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--maintainer-scripts/ChangeLog4
-rw-r--r--maintainer-scripts/generate_libstdcxx_web_docs56
2 files changed, 60 insertions, 0 deletions
diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog
index a60e93b709b..7205523caa5 100644
--- a/maintainer-scripts/ChangeLog
+++ b/maintainer-scripts/ChangeLog
@@ -1,3 +1,7 @@
+2014-05-30 Jonathan Wakely <jwakely@redhat.com>
+
+ * generate_libstdcxx_web_docs: New script.
+
2014-04-11 Jakub Jelinek <jakub@redhat.com>
* crontab: Enable snapshots from gcc-4_9-branch.
diff --git a/maintainer-scripts/generate_libstdcxx_web_docs b/maintainer-scripts/generate_libstdcxx_web_docs
new file mode 100644
index 00000000000..700e522e25c
--- /dev/null
+++ b/maintainer-scripts/generate_libstdcxx_web_docs
@@ -0,0 +1,56 @@
+#!/bin/bash
+# Generate the libstdc++ onlinedocs for a GCC release
+# i.e. http://gcc.gnu.org/onlinedocs/gcc-x.y.z/libstdc++*
+
+SRCDIR=${1}
+DOCSDIR=${2}
+
+if ! [ $# -eq 2 -a -x "${SRCDIR}/configure" -a -d "${DOCSDIR}" ]
+then
+ echo "Usage: $0 <gcc src dir> <doc output dir>" >&2
+ exit 1
+fi
+
+set -e
+
+# Check we have some of the required tools
+for i in doxygen dot dblatex pdflatex makeindex
+do
+ echo -n "Checking for $i... "
+ which $i
+done
+
+start=$PWD
+WORKDIR=`mktemp -d $PWD/build.XXXXXX`
+DESTDIR=`mktemp -d $PWD/dest.XXXXXX`
+cd $WORKDIR
+disabled_libs=
+for dir in ${SRCDIR}/lib*
+do
+ dir="${dir##*/}"
+ [ $dir == 'libstdc++-v3' ] || disabled_libs="$disabled_libs --disable-$dir"
+done
+set -x
+${SRCDIR}/configure --enable-languages=c,c++ --disable-gcc $disabled_libs --docdir=/docs
+eval `grep '^target=' config.log`
+make configure-target
+make -C $target/libstdc++-v3 doc-install-html doc-install-xml doc-install-pdf DESTDIR=$DESTDIR
+cd $DESTDIR/docs
+mkdir libstdc++
+for which in api manual
+do
+ if [ -f libstdc++-$which-single.xml ] # Only needed for GCC 4.7.x
+ then
+ mv libstdc++-$which-single.xml libstdc++-$which.xml
+ fi
+ gzip --best libstdc++-$which.xml
+ gzip --best libstdc++-$which.pdf
+ mv libstdc++-$which{.html,-html}
+ tar czf libstdc++-$which-html.tar.gz libstdc++-$which-html
+ mv libstdc++-$which-html libstdc++/$which
+done
+mv *.gz libstdc++ $DOCSDIR/
+cd $start
+rm -r $WORKDIR
+rm -r $DESTDIR
+