aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/docs/doxygen/run_doxygen
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/docs/doxygen/run_doxygen')
-rw-r--r--libstdc++-v3/docs/doxygen/run_doxygen59
1 files changed, 52 insertions, 7 deletions
diff --git a/libstdc++-v3/docs/doxygen/run_doxygen b/libstdc++-v3/docs/doxygen/run_doxygen
index 6a0806ce410..248625a47b6 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,7 +131,6 @@ test $do_man = yes && {
chmod -R u+w $outdir/man/man3/ext
}
-set -e
(
set -e
cd $builddir
@@ -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:]_]*\)&lt; .* &gt;=\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:
-