Mercurial > hg > CbC > CbC_gcc
diff maintainer-scripts/generate_libstdcxx_web_docs @ 111:04ced10e8804
gcc 7
author | kono |
---|---|
date | Fri, 27 Oct 2017 22:46:09 +0900 |
parents | |
children | 1830386684a0 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/maintainer-scripts/generate_libstdcxx_web_docs Fri Oct 27 22:46:09 2017 +0900 @@ -0,0 +1,59 @@ +#!/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=$(realpath ${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 +# If the following step fails with an error like +# ! LaTeX Error: File `xtab.sty' not found. +# then you need to install the relevant TeX package e.g. texlive-xtab +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 +