Commit 4312e020 by Benjamin Kosnik Committed by Benjamin Kosnik

[multiple changes]

2008-01-18  Benjamin Kosnik  <bkoz@redhat.com>

	* docs/*: To...
	* doc/*: ...here.
	* testsuite/Makefile.am: Move doc-performance to...
	* Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
	* doc/Makefile.am: Consolidate documentation creation here.
	(doc-doxygen-html): New.
	(doc-doxygen-man): New.
	(doc-performance): New.
	* doc/Makefile.in: New.
	* acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
	* doc/doxygen/guide.html: Edit for unified html configuration.
	* doc/doxygen/mainpage.html: Same.
	* doc/doxygen/run_doxygen: Same, more namespace fixups for man
	generation.
	* doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
	
	* include/tr1_impl/random: Remove maint from doxygen markup.
	* include/tr1_impl/functional: Same.
	* include/std/tuple: Same.
	* include/std/streambuf: Same.
	* include/std/bitset: Same.
	* include/std/limits: Same.
	* include/std/fstream: Same.
	* include/std/istream: Same.
	* include/std/sstream: Same.
	* include/ext/pool_allocator.h: Same.
	* include/ext/rc_string_base.h: Same.
	* include/bits/basic_ios.h: Same.
	* include/bits/stl_list.h: Same.
	* include/bits/stl_map.h: Same.
	* include/bits/locale_classes.h: Same.
	* include/bits/stl_set.h: Same.
	* include/bits/stl_iterator_base_types.h: Same.
	* include/bits/basic_string.h: Same.
	* include/bits/stl_multimap.h: Same.
	* include/bits/stl_vector.h: Same.
	* include/bits/ios_base.h: Same.
	* include/bits/stl_deque.h: Same.
	* include/bits/postypes.h: Same.
	* include/bits/stl_multiset.h: Same.
	* include/bits/stl_algo.h: Same.
	* include/bits/stl_iterator.h: Same.
	* include/bits/stl_tempbuf.h: Same.
	* include/bits/stl_construct.h: Same.
	* include/bits/stl_relops.h: Same.
	* include/tr1/tuple: Same.
	* include/backward/auto_ptr.h: Same.

	* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
	Fixups for line number changes.	
	* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/vector/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/deque/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_1_neg.cc: Same.
	* testsuite/23_containers/list/requirements/dr438/
	constructor_2_neg.cc: Same.
	* testsuite/20_util/auto_ptr/assign_neg.cc: Same.

	* aclocal.m4: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* libmath/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

	* scripts/make_graphs.py: Correct paths for new layout.
	
2008-01-17  Benjamin Kosnik  <bkoz@redhat.com>

	* acinclude.m4 (AC_LC_MESSAGES): Remove serial.
	* linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r131625
parent dccd8596
2008-01-18 Benjamin Kosnik <bkoz@redhat.com>
* docs/*: To...
* doc/*: ...here.
* testsuite/Makefile.am: Move doc-performance to...
* Makefile.am: Add doc to SUBDIRS, move doxygen-* rules to...
* doc/Makefile.am: Consolidate documentation creation here.
(doc-doxygen-html): New.
(doc-doxygen-man): New.
(doc-performance): New.
* doc/Makefile.in: New.
* acinclude.m4 (glibcxx_SUBDIRS): Add doc directory.
* doc/doxygen/guide.html: Edit for unified html configuration.
* doc/doxygen/mainpage.html: Same.
* doc/doxygen/run_doxygen: Same, more namespace fixups for man
generation.
* doc/doxygen/user.cfg.in: Update for doxygen 1.5.4.
* include/tr1_impl/random: Remove maint from doxygen markup.
* include/tr1_impl/functional: Same.
* include/std/tuple: Same.
* include/std/streambuf: Same.
* include/std/bitset: Same.
* include/std/limits: Same.
* include/std/fstream: Same.
* include/std/istream: Same.
* include/std/sstream: Same.
* include/ext/pool_allocator.h: Same.
* include/ext/rc_string_base.h: Same.
* include/bits/basic_ios.h: Same.
* include/bits/stl_list.h: Same.
* include/bits/stl_map.h: Same.
* include/bits/locale_classes.h: Same.
* include/bits/stl_set.h: Same.
* include/bits/stl_iterator_base_types.h: Same.
* include/bits/basic_string.h: Same.
* include/bits/stl_multimap.h: Same.
* include/bits/stl_vector.h: Same.
* include/bits/ios_base.h: Same.
* include/bits/stl_deque.h: Same.
* include/bits/postypes.h: Same.
* include/bits/stl_multiset.h: Same.
* include/bits/stl_algo.h: Same.
* include/bits/stl_iterator.h: Same.
* include/bits/stl_tempbuf.h: Same.
* include/bits/stl_construct.h: Same.
* include/bits/stl_relops.h: Same.
* include/tr1/tuple: Same.
* include/backward/auto_ptr.h: Same.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Fixups for line number changes.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/deque/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_1_neg.cc: Same.
* testsuite/23_containers/list/requirements/dr438/
constructor_2_neg.cc: Same.
* testsuite/20_util/auto_ptr/assign_neg.cc: Same.
* aclocal.m4: Regenerate.
* config.h.in: Regenerate.
* configure: Regenerate.
* Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* libmath/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
* scripts/make_graphs.py: Correct paths for new layout.
2008-01-17 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (AC_LC_MESSAGES): Remove serial.
* linkage.m4 (AC_REPLACE_MATHFUNCS): Same.
* configure: Regenerate.
* aclocal.m4: Regenerate.
2008-01-14 Paolo Carlini <pcarlini@suse.de>
* include/parallel/list_partition.h: Formatting fixes, inline tweaks.
......
## Makefile for the toplevel directory of the GNU C++ Standard library.
##
## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
## Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2008
## Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
......@@ -25,41 +25,20 @@
include $(top_srcdir)/fragment.am
if GLIBCXX_HOSTED
hosted_source = libmath src po testsuite
hosted_source = libmath doc src po testsuite
endif
## Keep this list sync'd with acinclude.m4:GLIBCXX_CONFIGURE.
SUBDIRS = include libsupc++ $(hosted_source)
ACLOCAL_AMFLAGS = -I . -I .. -I ../config
# These rules are messy, but are hella worth it.
doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
builddir=`${PWD_COMMAND}`; \
${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
--host_alias=${host_alias} \
--mode=user $${srcdir} $${builddir})
doxygen-maint:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
builddir=`${PWD_COMMAND}`; \
${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
--host_alias=${host_alias} \
--mode=maint $${srcdir} $${builddir})
doxygen-man:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
builddir=`${PWD_COMMAND}`; \
${SHELL} ${srcdir}/docs/doxygen/run_doxygen \
--host_alias=${host_alias} \
--mode=man $${srcdir} $${builddir})
.PHONY: doxygen doxygen-maint doxygen-man
# Handy forwarding targets.
check-%:
cd testsuite && $(MAKE) $@
doc-%:
cd doc && $(MAKE) $@
# Multilib support.
MAKEOVERRIDES=
......@@ -110,11 +89,3 @@ AM_MAKEFLAGS = \
# Subdir rules rely on $(FLAGS_TO_PASS)
FLAGS_TO_PASS = $(AM_MAKEFLAGS)
# Installation of distribution html documentation not yet supported
# TODO: Write custom install-html rule.
.PHONY: install-html install-pdf
install-html:
# No install-pdf support in automake yet
install-pdf:
......@@ -49,7 +49,7 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [
# Keep these sync'd with the list in Makefile.am. The first provides an
# expandable list at autoconf time; the second provides an expandable list
# (i.e., shell variable) at configure time.
m4_define([glibcxx_SUBDIRS],[include libmath libsupc++ src po testsuite])
m4_define([glibcxx_SUBDIRS],[include libmath libsupc++ src doc po testsuite])
SUBDIRS='glibcxx_SUBDIRS'
# These need to be absolute paths, yet at the same time need to
......@@ -2547,8 +2547,6 @@ AC_DEFUN([GLIBCXX_ENABLE_THREADS], [
# be used in projects which are not available under the GNU Public License
# but which still want to provide support for the GNU gettext functionality.
# Please note that the actual code is *not* freely available.
# serial 1
AC_DEFUN([AC_LC_MESSAGES], [
AC_CHECK_HEADER(locale.h, [
AC_CACHE_CHECK([for LC_MESSAGES], ac_cv_val_LC_MESSAGES,
......
......@@ -147,6 +147,9 @@
/* Define to 1 if you have the `frexpl' function. */
#undef HAVE_FREXPL
/* Define to 1 if you have the <gconf.h> header file. */
#undef HAVE_GCONF_H
/* Define to 1 if you have the <gconv.h> header file. */
#undef HAVE_GCONV_H
......
This source diff could not be displayed because it is too large. You can view the blob instead.
## Makefile for the doc subdirectory of the GNU C++ Standard library.
##
## Copyright (C) 2008 Free Software Foundation, Inc.
##
## This file is part of the libstdc++ version 3 distribution.
## Process this file with automake to produce Makefile.in.
## This file is part of the GNU ISO C++ Library. This library is free
## software; you can redistribute it and/or modify it under the
## terms of the GNU General Public License as published by the
## Free Software Foundation; either version 2, or (at your option)
## any later version.
## This library is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING. If not, write to the Free
## Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
## USA.
include $(top_srcdir)/fragment.am
# These rules are messy, but are hella worth it.
doc-doxygen-html:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
builddir=`cd ..; ${PWD_COMMAND}`; \
${SHELL} ${top_srcdir}/doc/doxygen/run_doxygen \
--host_alias=${host_alias} --mode=html $${srcdir} $${builddir})
doc-doxygen-man:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
builddir=`cd ..; ${PWD_COMMAND}`; \
${SHELL} ${top_srcdir}/doc/doxygen/run_doxygen \
--host_alias=${host_alias} --mode=man $${srcdir} $${builddir})
# Generates the plots and graphs for performance testing.
doc_performance_script=${top_srcdir}/scripts/make_graphs.py
doc-performance:
-@(chmod + ${doc_performance_script}; \
${doc_performance_script} ${top_srcdir} \
${glibcxx_builddir}/testsuite \
${top_srcdir}/testsuite/data/make_graph_htmls.xml \
${top_srcdir}/testsuite/data/make_graph_test_infos.xml local g++)
# No install-pdf, install-html support in automake yet
install-pdf:
install-html:
# Installation of distribution html documentation not yet supported
# TODO: Write custom install-html rule.
.PHONY: install-html install-pdf \
doc-doxygen-html doc-doxygen-man doc-performance
# By adding these files here, automake will remove them for 'make clean'
CLEANFILES =
# To remove directories.
clean-local:
rm -rf man doxygen
......@@ -24,18 +24,17 @@
<hr />
<a name="creating"><h2>Creating the pages</h2></a>
<p>The Makefile rules <code>'make doxygen'</code>,
<code>'make doxygen-maint'</code>, and <code>'make doxygen-man'</code>
in the libstdc++ build directory generate the user-level HTML docs, the
maintainer-level HTML docs, and the man pages, respectively. Prerequisite
tools are Bash 2.x,
<p>The Makefile rules <code>'make doc-doxygen-html'</code>,
and <code>'make doc-doxygen-man'</code> in the libstdc++ build
directory generate the HTML docs, the and the man pages,
respectively. Prerequisite tools are Bash 2.x,
<a href="http://www.doxygen.org/">
<!-- snagged from the generated page -->
<img src="doxygen.png" alt="Doxygen" align=center border=0 width=110 height=53>
</a>, a working version of <code>g++</code> somewhere in the PATH, and
the <a href="http://www.gnu.org/software/coreutils/">GNU coreutils</a>.
In addition, to generate the pretty pictures, the
In addition, to generate the pretty pictures and hierarchy graphs, the
<a href=
"http://www.research.att.com/sw/tools/graphviz/download.html">Graphviz</a>
package will need to be installed.
......
......@@ -25,21 +25,16 @@
<h2>Documentation Overview</h2>
<p class="smallertext">@LEVEL@-level docs, generated @DATE@.</p>
<p class="smallertext">Generated on @DATE@.</p>
<p>There are two types of documentation for libstdc++. One is the
distribution documentation, which can be read online at
<a href="http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html">http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html</a>
or offline from docs/html/documentation.html in the library source
or offline from doc/html/documentation.html in the library source
directory.
</p>
<p>The other type is the source documentation, of which this is the first page.
Both &quot;user-level&quot; and &quot;maintainer-level&quot; source
documentation is produced: user-level docs are for the users of this
library. The maint-level docs are for those interested in the underlying
workings of the library; they include all the user-level docs plus
additional notes and additional classes/functions/etc.
</p>
<p>Here are entry points to all the pages generated by Doxygen:
......@@ -70,7 +65,7 @@
<h2>Generating the documentation</h2>
<p>These HTML pages are automatically generated, along with the man pages.
See <code>docs/doxygen/guide.html</code> in the source tree for how to
See <code>doc/doxygen/guide.html</code> in the source tree for how to
create (and write) the pages.
<h2>License, Copyright, and Other Lawyerly Verbosity</h2>
......
#!/bin/bash
# Runs doxygen and massages the output files.
# Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
# Copyright (C) 2001, 2002, 2003, 2004, 2008 Free Software Foundation, Inc.
#
# Synopsis: run_doxygen --mode=[user|maint|man] --host_alias=<alias> \
# Synopsis: run_doxygen --mode=[html|man] --host_alias=<alias> \
# v3srcdir v3builddir
#
# Originally hacked together by Phil Edwards <pme@gcc.gnu.org>
# We can check now that the version of doxygen is >= this variable.
DOXYVER=1.3.9
DOXYVER=1.5.4
find_doxygen() {
local -r v_required=`echo $DOXYVER | \
......@@ -47,15 +47,11 @@ print_usage() {
Usage: run_doxygen --mode=MODE --host_alias=BUILD_ALIAS [<options>]
<v3-src-dir> <v3-build-dir>
MODE is one of:
user Generate user-level HTML library documentation.
maint Generate maintainers' HTML documentation (lots more;
exposes non-public members, etc).
html Generate user-level HTML library documentation.
man Generate user-level man pages.
BUILD_ALIAS is the GCC build alias set at configure time.
more options when i think of them
Note: Requires Doxygen ${DOXYVER} or later; get it at
ftp://ftp.stack.nl/pub/users/dimitri/doxygen-${DOXYVER}.src.tar.gz
......@@ -86,7 +82,7 @@ parse_options() {
srcdir=$o
elif test $outdir = unset; then
builddir=${o}
outdir=${o}/docs/doxygen
outdir=${o}/doc/doxygen
else
echo run_doxygen error: Too many arguments 1>&2
exit 1
......@@ -121,16 +117,10 @@ if test $srcdir = unset || test $outdir = unset || test $mode = unset || test $h
fi
case x"$mode" in
xuser)
do_html=true
LEVELtext='User'
generate_tagfile="$outdir/html_$mode/libstdc++.tag"
;;
xmaint)
xhtml)
do_html=true
enabled_sections=maint
LEVELtext='Maintainer'
generate_tagfile="$outdir/html_$mode/libstdc++.tag"
generate_tagfile="$outdir/html/libstdc++.tag"
;;
xman)
do_man=true
......@@ -140,7 +130,6 @@ case x"$mode" in
exit 1 ;;
esac
#rm -rf $outdir
mkdir -p $outdir
chmod u+w $outdir
......@@ -157,12 +146,12 @@ fi
-e "s=@srcdir@=${srcdir}=g" \
-e "s=@builddir@=${builddir}=g" \
-e "s=@host_alias@=${host_alias}=g" \
-e "s=@html_output_dir@=html_${mode}=" \
-e "s=@html_output_dir@=html=" \
-e "s=@enabled_sections@=${enabled_sections}=" \
-e "s=@do_html@=${do_html}=" \
-e "s=@do_man@=${do_man}=" \
-e "s=@generate_tagfile@=${generate_tagfile}=" \
${srcdir}/docs/doxygen/user.cfg.in > ${outdir}/${mode}.cfg
${srcdir}/doc/doxygen/user.cfg.in > ${outdir}/${mode}.cfg
echo :: NOTE that this may take some time...
echo doxygen ${outdir}/${mode}.cfg
doxygen ${outdir}/${mode}.cfg
......@@ -172,15 +161,14 @@ ret=$?
test $ret -ne 0 && exit $ret
if $do_html; then
cd ${outdir}/html_${mode}
cd ${outdir}/html
#doxytag -t libstdc++.tag . > /dev/null 2>&1
sed -e '/<path>/d' libstdc++.tag > TEMP
mv TEMP libstdc++.tag
sed -e "s=@LEVEL@=${LEVELtext}=" \
-e "s=@DATE@=${DATEtext}=" \
${srcdir}/docs/doxygen/mainpage.html > index.html
sed -e "s=@DATE@=${DATEtext}=" \
${srcdir}/doc/doxygen/mainpage.html > index.html
# The following bit of line noise changes annoying
# std::foo < typename _Ugly1, typename _Ugly2, .... _DefaultUgly17 >
......@@ -196,10 +184,10 @@ if $do_html; then
mv TEMP $f
done
cp ${srcdir}/docs/doxygen/tables.html tables.html
cp ${srcdir}/doc/doxygen/tables.html tables.html
echo ::
echo :: HTML pages begin with
echo :: ${outdir}/html_${mode}/index.html
echo :: ${outdir}/html/index.html
fi
# Mess with the man pages. We don't need documentation of the internal
......@@ -224,7 +212,7 @@ mv s20_3_2_arithmetic.3 Arithmetic_functors.3
mv s20_3_3_comparisons.3 Comparison_functors.3
mv s20_3_4_logical.3 Logical_functors.3
mv s20_3_5_negators.3 Negation_functors.3
mv s20_3_6_binder.3 Binder_functors.3
#mv s20_3_6_binder.3 Binder_functors.3
mv s20_3_7_adaptors.3 Func_ptr_functors.3
mv s20_3_8_memadaptors.3 Member_ptr_functors.3
mv iterator_tags.3 Iterator_types.3
......@@ -244,7 +232,7 @@ rm -f *.h.3 *config* *.cc.3 *.tcc.3 *_t.3
# enough to rewrite all this, feel free. This only gets run once a century,
# and I'm off getting coffee then anyhow, so I didn't care enough to make
# this super-fast.
g++ ${srcdir}/docs/doxygen/stdheader.cc -o ./stdheader
g++ ${srcdir}/doc/doxygen/stdheader.cc -o ./stdheader
problematic=`egrep -l '#include <.*_.*>' [a-z]*.3`
for f in $problematic; do
# this is also slow, but safe and easy to debug
......@@ -279,10 +267,22 @@ for f in $problematic; do
mv TEMP $f
done
cp ${srcdir}/docs/doxygen/Intro.3 C++Intro.3
cp ${srcdir}/doc/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?
# First, deal with nested namespaces.
for f in *__detail_*; do
newname=`echo $f | sed 's/__detail_/__detail::/'`
mv $f $newname
done
for f in *__parallel_*; do
newname=`echo $f | sed 's/__parallel_/__parallel::/'`
mv $f $newname
done
# Then, clean up other top-level namespaces.
for f in std_tr1_*; do
newname=`echo $f | sed 's/^std_tr1_/std::tr1::/'`
mv $f $newname
......@@ -295,8 +295,16 @@ for f in __gnu_cxx_*; do
newname=`echo $f | sed 's/^__gnu_cxx_/__gnu_cxx::/'`
mv $f $newname
done
for f in __gnu_debug_*; do
newname=`echo $f | sed 's/^__gnu_debug_/__gnu_debug::/'`
mv $f $newname
done
for f in __gnu_parallel_*; do
newname=`echo $f | sed 's/^__gnu_parallel_/__gnu_parallel::/'`
mv $f $newname
done
# Generic reoval bits, where there are things in the generated man
# Generic removal bits, where there are things in the generated man
# pages that need to be killed.
for f in *_libstdc__-v3_*; do
rm $f
......@@ -324,5 +332,3 @@ fi
echo ::
exit 0
# vim:ts=4:et:
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment