diff options
Diffstat (limited to 'libstdc++-v3/docs/doxygen/run_doxygen')
-rw-r--r-- | libstdc++-v3/docs/doxygen/run_doxygen | 63 |
1 files changed, 54 insertions, 9 deletions
diff --git a/libstdc++-v3/docs/doxygen/run_doxygen b/libstdc++-v3/docs/doxygen/run_doxygen index 6a0806ce410..76b51110dff 100644 --- a/libstdc++-v3/docs/doxygen/run_doxygen +++ b/libstdc++-v3/docs/doxygen/run_doxygen @@ -1,7 +1,7 @@ #!/bin/sh # Runs doxygen and massages the output files. -# Copyright (C) 2001, 2002 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. # # Synopsis: run_doxygen --mode=[user|maint|man] v3srcdir v3builddir # @@ -131,12 +131,11 @@ test $do_man = yes && { chmod -R u+w $outdir/man/man3/ext } -set -e ( set -e cd $builddir - sed -e "s=@outdir@=${outdir}=" \ - -e "s=@srcdir@=${srcdir}=" \ + sed -e "s=@outdir@=${outdir}=g" \ + -e "s=@srcdir@=${srcdir}=g" \ -e "s=@html_output_dir@=html_${mode}=" \ -e "s=@enabled_sections@=${enabled_sections}=" \ -e "s=@do_html@=${do_html}=" \ @@ -147,15 +146,29 @@ set -e $doxygen ${outdir}/${mode}.cfg echo :: Finished, exit code was $? ) -set +e +ret=$? +test $ret -ne 0 && exit $ret test $do_html = yes && { + cd ${outdir}/html_${mode} sed -e "s=@LEVEL@=${LEVELtext}=" \ -e "s=@DATE@=${DATEtext}=" \ - ${srcdir}/docs/doxygen/mainpage.html > ${outdir}/html_${mode}/index.html - cd ${outdir}/html_${mode} + ${srcdir}/docs/doxygen/mainpage.html > index.html + + # The following bit of line noise changes annoying + # std::foo < typename _Ugly1, typename _Ugly2, .... _DefaultUgly17 > + # to user-friendly + # std::foo + # in the major "Compound List" page. sed -e 's=\(::[[:alnum:]_]*\)< .* >=\1=' annotated.html > annstrip.html mv annstrip.html annotated.html + + # Work around a bug in doxygen 1.3. + for f in class*html struct*html; do + sed '1,10s!^<title> Template!<title>Template !' $f > TEMP + mv TEMP $f + done + cp ${srcdir}/docs/doxygen/tables.html tables.html echo :: echo :: HTML pages begin with @@ -231,7 +244,40 @@ a\ mv TEMP $f done -cp ${srcdir}/docs/doxygen/Intro.3 . +# Also, break this (generated) line up. It's ugly as sin. +problematic=`grep -l '[^^]Definition at line' *.3` +for f in $problematic; do + sed 's/Definition at line/\ +.PP\ +&/' $f > TEMP + mv TEMP $f +done + +cp ${srcdir}/docs/doxygen/Intro.3 C++Intro.3 + +# Why didn't I do this at the start? Were rabid weasels eating my brain? +# Who the fsck would "man std_vector" when the class isn't named that? +for f in std_*; do + newname=`echo $f | sed 's/^std_/std::/'` + mv $f $newname +done +for f in __gnu_cxx_*; do + newname=`echo $f | sed 's/^__gnu_cxx_/__gnu_cxx::/'` + mv $f $newname +done +for f in *__policy_*; do + newname=`echo $f | sed 's/__policy_/__policy::/'` + mv $f $newname +done + +# Also, for some reason, typedefs don't get their own man pages. Sigh. +for f in ios streambuf istream ostream iostream stringbuf \ + istringstream ostringstream stringstream filebuf ifstream \ + ofstream fstream string; +do + echo ".so man3/std::basic_${f}.3" > std::${f}.3 + echo ".so man3/std::basic_${f}.3" > std::w${f}.3 +done echo :: echo :: Man pages in ${outdir}/man @@ -243,4 +289,3 @@ echo :: exit 0 # vim:ts=4:et: - |