aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/docs/doxygen
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/docs/doxygen')
-rw-r--r--libstdc++-v3/docs/doxygen/TODO52
-rw-r--r--libstdc++-v3/docs/doxygen/maint.cfg.in155
-rw-r--r--libstdc++-v3/docs/doxygen/run_doxygen16
-rw-r--r--libstdc++-v3/docs/doxygen/user.cfg.in9
4 files changed, 191 insertions, 41 deletions
diff --git a/libstdc++-v3/docs/doxygen/TODO b/libstdc++-v3/docs/doxygen/TODO
new file mode 100644
index 0000000..20f7959
--- /dev/null
+++ b/libstdc++-v3/docs/doxygen/TODO
@@ -0,0 +1,52 @@
+
+The approach I've been using for a given header is to recursively do each
+of the "bits" headers which make up the standard header. So, e.g., while
+there are five headers making up <algorithm>, three of them were already
+documented in the course of doing other headers.
+
+"Untouched" means I've deliberately skipped it for various reasons, or
+haven't gotten to it yet. It /will/ be done (by somebody, eventually.)
+
+
+ Area Still needs to be doxygen-documented
+-----------------------------------------------------------
+
+c17 FINISHED (Nothing in Clause 17 "exists" in terms of code.)
+c18 <limits>, Note A
+c19 Note A
+c20 std_memory.h[20.4], rel_ops (should they be doc'd?), Note A
+c21 Untouched, Note B
+c22 Untouched
+c23 See doxygroups.cc and Note B.
+ stl_alloc.h, stl_uninitialized.h remain from the common files.
+c24 Untouched
+c25 stl_tempbuf.h (small), stl_algo.h (big)
+c26 <complex>, <valarray>, stl_numeric.h[26.4], Note A
+c27 Untouched
+
+backward/ Not scanned by doxygen. Should it be?
+
+ext/ Untouched
+
+__gnu_cxx Extensions such as verbose_terminate_handler are documented
+ but do not appear in output, since the __gnu_cxx namespace is
+ itself undocumented. Should it be? Eeeeeeehhh...
+
+[1.3.5] "implementation-defined behavior: behavior ... that depends
+ on the implementation *and that each implementation shall
+ document*." [my emphasis] Not all implementation choices
+ have been thus described; doxygen is not necessarily the
+ appropriate place for such descriptions, either.
+
+-----------------------------------------------------------
+
+NOTES:
+
+A) So far I have not tried to document any of the <c*> headers. So entities
+such as atexit() are undocumented throughout the library.
+
+B) Huge chunks of containers and strings are described in common "Tables"
+in the standard. How to reproduce this information?
+
+
+vim:ts=4:et:
diff --git a/libstdc++-v3/docs/doxygen/maint.cfg.in b/libstdc++-v3/docs/doxygen/maint.cfg.in
index 71801e6..25ae78b 100644
--- a/libstdc++-v3/docs/doxygen/maint.cfg.in
+++ b/libstdc++-v3/docs/doxygen/maint.cfg.in
@@ -1,4 +1,4 @@
-# Doxyfile 1.2.4
+# Doxyfile 1.2.6
# This file describes the settings to be used by doxygen for a project
#
@@ -9,6 +9,10 @@
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")
+### When doxygen is run, the current directory is the top of
+### the libstdc++-v3 source directory. Keep this in mind while
+### writing relative-path directories.
+
#---------------------------------------------------------------------------
# General configuration options
#---------------------------------------------------------------------------
@@ -16,13 +20,13 @@
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
-PROJECT_NAME = "libstdc++"
+PROJECT_NAME = "libstdc++-v3 Source"
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
-PROJECT_NUMBER = 3
+PROJECT_NUMBER =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@@ -46,8 +50,8 @@ OUTPUT_LANGUAGE = English
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-#EXTRACT_ALL = NO
-EXTRACT_ALL = YES
+EXTRACT_ALL = NO
+#EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
@@ -65,21 +69,21 @@ EXTRACT_STATIC = YES
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
-HIDE_UNDOC_MEMBERS = NO
+HIDE_UNDOC_MEMBERS = YES
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these class will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
-HIDE_UNDOC_CLASSES = NO
+HIDE_UNDOC_CLASSES = YES
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
-BRIEF_MEMBER_DESC = NO
+BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
@@ -118,12 +122,12 @@ INTERNAL_DOCS = NO
# generate a class diagram (in Html and LaTeX) for classes with base or
# super classes. Setting the tag to NO turns the diagrams off.
-CLASS_DIAGRAMS = NO
+CLASS_DIAGRAMS = YES
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
+# be generated. Documented entities will be cross-referenced with these sources.
-SOURCE_BROWSER = NO
+SOURCE_BROWSER = YES
# Setting the INLINE_SOURCES tag to YES will include the body
# of functions and classes directly in the documentation.
@@ -142,7 +146,7 @@ STRIP_CODE_COMMENTS = YES
# in case and if your file system supports case sensitive file names. Windows
# users are advised to set this option to NO.
-CASE_SENSE_NAMES = YES
+CASE_SENSE_NAMES = NO
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
@@ -186,14 +190,14 @@ INLINE_INFO = YES
# alphabetically by member name. If set to NO the members will appear in
# declaration order.
-SORT_MEMBER_DOCS = NO
+SORT_MEMBER_DOCS = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
-#DISTRIBUTE_GROUP_DOC = NO
+DISTRIBUTE_GROUP_DOC = YES
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
@@ -203,19 +207,25 @@ TAB_SIZE = 4
# The ENABLE_SECTIONS tag can be used to enable conditional
# documentation sections, marked by \if sectionname ... \endif.
-ENABLED_SECTIONS =
+ENABLED_SECTIONS = maint
# The GENERATE_TODOLIST tag can be used to enable (YES) or
# disable (NO) the todo list. This list is created by putting \todo
# commands in the documentation.
-GENERATE_TODOLIST = YES
+GENERATE_TODOLIST = NO
# The GENERATE_TESTLIST tag can be used to enable (YES) or
# disable (NO) the test list. This list is created by putting \test
# commands in the documentation.
-GENERATE_TESTLIST = YES
+GENERATE_TESTLIST = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST = YES
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
@@ -224,7 +234,31 @@ GENERATE_TESTLIST = YES
# will result in a user defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
-#ALIASES =
+ALIASES = "maint=\if maint" \
+ "endmaint=\endif"
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consist of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES = 30
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
+# only. Doxygen will then generate output that is more tailored for C.
+# For instance some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = YES
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
@@ -239,7 +273,6 @@ QUIET = YES
# generated by doxygen. Possible values are YES and NO. If left blank
# NO is used.
-### pme Turned off; apparently doxygen can't grok templates
WARNINGS = NO
# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
@@ -259,25 +292,47 @@ WARN_FORMAT = "$file:$line: $text"
# and error messages should be written. If left blank the output is written
# to stderr.
-#WARN_LOGFILE =
+WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
-# The INPUT tag can be used to specify the files and/or directories that contain
+# The INPUT tag can be used to specify the files and/or directories that contain
# documented source files. You may enter file names like "myfile.cpp" or
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = include src libmath libsupc++ libio config
+INPUT = docs/doxygen \
+ libsupc++ \
+ include \
+ src \
+libsupc++/exception libsupc++/new libsupc++/typeinfo include/ext/hash_map \
+include/ext/hash_set include/ext/rope include/ext/slist include/std/algorithm \
+include/std/bitset include/std/cassert include/std/cctype \
+include/std/cerrno include/std/cfloat include/std/ciso646 include/std/climits \
+include/std/clocale include/std/cmath include/std/complex include/std/csetjmp \
+include/std/csignal include/std/cstdarg include/std/cstddef \
+include/std/cstdio include/std/cstdlib include/std/cstring \
+include/std/ctime include/std/cwchar include/std/cwctype include/std/deque \
+include/std/fstream include/std/functional include/std/iomanip \
+include/std/ios include/std/iosfwd include/std/iostream include/std/istream \
+include/std/iterator include/std/limits include/std/list include/std/locale \
+include/std/map include/std/memory include/std/numeric include/std/ostream \
+include/std/queue include/std/set include/std/sstream include/std/stack \
+include/std/stdexcept include/std/streambuf include/std/string \
+include/std/utility include/std/valarray include/std/vector
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
# and *.h) to filter out the source-files in the directories. If left
# blank all files are included.
-FILE_PATTERNS = *.cc *.h c++config
+FILE_PATTERNS = *.doxy \
+ *.cc \
+ *.tcc \
+ *.h \
+ c++config
# The RECURSIVE tag can be used to turn specify whether or not subdirectories
# should be searched for input files as well. Possible values are YES and NO.
@@ -288,13 +343,16 @@ RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
-EXCLUDE =
+
+EXCLUDE = include/c \
+ include/c_shadow \
+ docs/doxygen/stdheader.cc
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS = CVS
# The EXAMPLE_PATH tag can be used to specify one or more files or
# directories that contain example code fragments that are included (see
@@ -328,7 +386,7 @@ INPUT_FILTER =
# INPUT_FILTER) will be used to filter the input files when producing source
# files to browse.
-#FILTER_SOURCE_FILES = NO
+FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
@@ -385,7 +443,7 @@ HTML_FOOTER =
# fine-tune the look of the HTML output. If the tag is left blank doxygen
# will generate a default style sheet
-HTML_STYLESHEET =
+HTML_STYLESHEET = docs/doxygen/style.css
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
@@ -400,30 +458,47 @@ HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set YES to add extra items for group members
+# to the contents of the Html help documentation and to the tree view.
+
+TOC_EXPAND = NO
+
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
-DISABLE_INDEX = NO
+DISABLE_INDEX = YES
# This tag can be used to set the number of enum values (range [1..20])
# that doxygen will group on one line in the generated HTML documentation.
-#ENUM_VALUES_PER_LINE = 4
+ENUM_VALUES_PER_LINE = 4
-# If the GENERATE_TREEVIEW tag is set to YES, a side pannel will be
+# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be
# generated containing a tree-like index structure (just like the one that
# is generated for HTML Help). For this to work a browser that supports
# JavaScript and frames is required (for instance Netscape 4.0+
# or Internet explorer 4.0+).
-GENERATE_TREEVIEW = YES
+GENERATE_TREEVIEW = NO
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
# used to set the initial width (in pixels) of the frame in which the tree
# is shown.
-#TREEVIEW_WIDTH = 250
+TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
@@ -528,7 +603,7 @@ RTF_STYLESHEET_FILE =
# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
# generate man pages
-GENERATE_MAN = NO
+GENERATE_MAN = YES
# The MAN_OUTPUT tag is used to specify where the man pages will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
@@ -603,7 +678,7 @@ EXPAND_AS_DEFINED =
# The TAGFILES tag can be used to specify one or more tagfiles.
-TAGFILES =
+TAGFILES =
# When a file name is specified after GENERATE_TAGFILE, doxygen will create
# a tag file that is based on the input files it reads.
@@ -630,7 +705,7 @@ PERL_PATH = /usr/bin/perl
# toolkit from AT&T and Lucent Bell Labs. The other options in this section
# have no effect if this option is set to NO (the default)
-HAVE_DOT = NO
+HAVE_DOT = YES
# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
# will generate a graph for each documented class showing the direct and
@@ -689,7 +764,13 @@ MAX_DOT_GRAPH_HEIGHT = 1024
# generate a legend page explaining the meaning of the various boxes and
# arrows in the dot generated graphs.
-#GENERATE_LEGEND = YES
+GENERATE_LEGEND = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermedate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::addtions related to the search engine
@@ -738,3 +819,5 @@ EXT_DOC_PATHS =
# End of file
+
+
diff --git a/libstdc++-v3/docs/doxygen/run_doxygen b/libstdc++-v3/docs/doxygen/run_doxygen
index 4563f92..78f2385 100644
--- a/libstdc++-v3/docs/doxygen/run_doxygen
+++ b/libstdc++-v3/docs/doxygen/run_doxygen
@@ -4,7 +4,7 @@
#
# Synopsis: run_doxygen --mode=[user|maint] v3srcdir v3builddir
#
-# Originally hacked together by Phil Edwards <pme@sources.redhat.com>
+# Originally hacked together by Phil Edwards <pme@gcc.gnu.org>
# We can check now that the version of doxygen is >= this variable.
@@ -162,6 +162,20 @@ for f in $problematic; do
done
rm stdheader
+# Some of the pages for generated modules have text that confuses certain
+# implementations of man(1), e.g., Linux's. 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='Containers.3 Sequences.3 Assoc_containers.3'
+for f in $problematic; do
+ sed '/^\.SH NAME/{
+n
+a\
+.SH SYNOPSIS
+ }' $f > TEMP
+ mv TEMP $f
+done
+
cp ${srcdir}/docs/doxygen/Intro.3 .
}
diff --git a/libstdc++-v3/docs/doxygen/user.cfg.in b/libstdc++-v3/docs/doxygen/user.cfg.in
index b9d192a..6274cbd 100644
--- a/libstdc++-v3/docs/doxygen/user.cfg.in
+++ b/libstdc++-v3/docs/doxygen/user.cfg.in
@@ -50,8 +50,8 @@ OUTPUT_LANGUAGE = English
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-#EXTRACT_ALL = NO
-EXTRACT_ALL = YES
+EXTRACT_ALL = NO
+#EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
@@ -125,7 +125,7 @@ INTERNAL_DOCS = NO
CLASS_DIAGRAMS = YES
# If the SOURCE_BROWSER tag is set to YES then a list of source files will
-# be generated. Documented entities will be cross-referenced with these sources.
+# be generated. Documented entities will be cross-referenced with these sources.
SOURCE_BROWSER = YES
@@ -234,7 +234,8 @@ GENERATE_BUGLIST = YES
# will result in a user defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
-ALIASES =
+ALIASES = "maint=\if maint" \
+ "endmaint=\endif"
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
# the initial value of a variable or define consist of for it to appear in