# DP: Install libstdc++ man pages with suffix .3cxx instead of .3

--- a/src/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/src/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -1968,7 +1968,7 @@ MAN_OUTPUT             = man
 # The default value is: .3.
 # This tag requires that the tag GENERATE_MAN is set to YES.
 
-MAN_EXTENSION          = .3
+MAN_EXTENSION          = .3cxx
 
 # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it
 # will generate one additional man file for each entity documented in the real
--- a/src/libstdc++-v3/scripts/run_doxygen
+++ b/src/libstdc++-v3/scripts/run_doxygen
@@ -243,6 +243,9 @@ fi
 if $do_man; then
 echo ::
 echo :: Fixing up the man pages...
+mkdir -p $outdir/man/man3
+mv $outdir/man/man3cxx/* $outdir/man/man3/
+rmdir $outdir/man/man3cxx
 cd $outdir/man/man3
 
 # File names with embedded spaces (EVIL!) need to be....?  renamed or removed?
@@ -264,7 +267,7 @@ rm -f *.h.3 *.hpp.3 *config* *.cc.3 *.tc
 # and I'm off getting coffee then anyhow, so I didn't care enough to make
 # this super-fast.
 g++ ${srcdir}/doc/doxygen/stdheader.cc -o ./stdheader
-problematic=`egrep -l '#include <.*_.*>' [a-z]*.3`
+problematic=`egrep -l '#include <.*_.*>' [a-z]*.3 [a-z]*.3cxx`
 for f in $problematic; do
     # this is also slow, but safe and easy to debug
     oldh=`sed -n '/fC#include </s/.*<\(.*\)>.*/\1/p' $f`
@@ -277,7 +280,7 @@ rm stdheader
 # Some of the pages for generated modules have text that confuses certain
 # implementations of man(1), e.g. on GNU/Linux.  We need to have another
 # top-level *roff tag to /stop/ the .SH NAME entry.
-problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3`
+problematic=`egrep --files-without-match '^\.SH SYNOPSIS' [A-Z]*.3cxx`
 #problematic='Containers.3 Sequences.3 Assoc_containers.3 Iterator_types.3'
 
 for f in $problematic; do
@@ -291,7 +294,7 @@ a\
 done
 
 # Also, break this (generated) line up.  It's ugly as sin.
-problematic=`grep -l '[^^]Definition at line' *.3`
+problematic=`grep -l '[^^]Definition at line' *.3 *.3cxx`
 for f in $problematic; do
     sed 's/Definition at line/\
 .PP\
@@ -408,8 +411,8 @@ for f in ios streambuf istream ostream i
 	 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
+    echo ".so man3/std::basic_${f}.3cxx" > std::${f}.3cxx
+    echo ".so man3/std::basic_${f}.3cxx" > std::w${f}.3cxx
 done
 
 echo ::
