diff --git a/maintainer-scripts/ChangeLog b/maintainer-scripts/ChangeLog index a60e93b709b7..7205523caa51 100644 --- a/maintainer-scripts/ChangeLog +++ b/maintainer-scripts/ChangeLog @@ -1,3 +1,7 @@ +2014-05-30 Jonathan Wakely + + * generate_libstdcxx_web_docs: New script. + 2014-04-11 Jakub Jelinek * 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 000000000000..700e522e25c4 --- /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 " >&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 +