aboutsummaryrefslogtreecommitdiff
path: root/maintainer-scripts
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2014-05-30 11:11:10 +0000
committerJonathan Wakely <jwakely@redhat.com>2014-05-30 11:11:10 +0000
commit04d018c0cba8ace54d7f326c13475c5b86e0500c (patch)
tree9ad6839a25a398cbe3369988d710ed298c4435d7 /maintainer-scripts
parentf533bb948b7be66b9578b74e6ff5a6b654f15883 (diff)
* generate_libstdcxx_web_docs: New script.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@211076 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'maintainer-scripts')
-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
+