summaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-04 02:55:08 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2010-03-04 02:55:08 +0000
commitf0b332457362b13ff1fb83c2a98e68637cc4c7c7 (patch)
tree6fe79f2c9f8f83b222b4c4e7514d057df3f5db6d /libstdc++-v3
parent83506191a0490d787200b492bd1a73b962675666 (diff)
downloadgcc-f0b332457362b13ff1fb83c2a98e68637cc4c7c7.tar.gz
2010-03-03 Benjamin Kosnik <bkoz@redhat.com>
* doc/Makefile.am: Re-organize xml sources. (doc-latex-doxygen): New. (doc-pdf-doxygen): New. (stamp-xml-doxygen, stamp-latex-doxygen): New. * doc/Makefile.in: Regenerate. * doc/doxygen/user.cfg.in: Add support here. * doc/xml/manual/appendix_contributing.xml: Add specifics. * doc/xml/manual/concurrency.xml: New. * doc/xml/manual/atomics.xml: New. * doc/xml/manual/spine.xml: Adjust. * doc/xml/manual/diagnostics.xml: Adjust. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157214 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog15
-rw-r--r--libstdc++-v3/doc/Makefile.am172
-rw-r--r--libstdc++-v3/doc/Makefile.in172
-rw-r--r--libstdc++-v3/doc/doxygen/user.cfg.in12
-rw-r--r--libstdc++-v3/doc/xml/manual/appendix_contributing.xml41
-rw-r--r--libstdc++-v3/doc/xml/manual/atomics.xml61
-rw-r--r--libstdc++-v3/doc/xml/manual/concurrency.xml85
-rw-r--r--libstdc++-v3/doc/xml/manual/diagnostics.xml16
-rw-r--r--libstdc++-v3/doc/xml/manual/spine.xml10
-rw-r--r--libstdc++-v3/scripts/run_doxygen125
10 files changed, 496 insertions, 213 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index c70bcf9486a..c97dbf074f9 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,18 @@
+2010-03-03 Benjamin Kosnik <bkoz@redhat.com>
+
+ * doc/Makefile.am: Re-organize xml sources.
+ (doc-latex-doxygen): New.
+ (doc-pdf-doxygen): New.
+ (stamp-xml-doxygen, stamp-latex-doxygen): New.
+ * doc/Makefile.in: Regenerate.
+ * doc/doxygen/user.cfg.in: Add support here.
+ * doc/xml/manual/appendix_contributing.xml: Add specifics.
+
+ * doc/xml/manual/concurrency.xml: New.
+ * doc/xml/manual/atomics.xml: New.
+ * doc/xml/manual/spine.xml: Adjust.
+ * doc/xml/manual/diagnostics.xml: Adjust.
+
2010-03-03 Paolo Carlini <paolo.carlini@oracle.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
diff --git a/libstdc++-v3/doc/Makefile.am b/libstdc++-v3/doc/Makefile.am
index 6c7f960b85e..52ac78da8c0 100644
--- a/libstdc++-v3/doc/Makefile.am
+++ b/libstdc++-v3/doc/Makefile.am
@@ -41,7 +41,7 @@ doc-html: doc-html-docbook
# Doxygen configuration
-# Assumes doxygen, graphviz (with dot) installed
+# Assumes doxygen, graphviz (with dot), pdflatex installed
doxygen_script=${top_srcdir}/scripts/run_doxygen
doxygen_outdir = ${glibcxx_builddir}/doc/doxygen
doc-html-doxygen:
@@ -56,85 +56,129 @@ doc-man-doxygen:
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=man $${srcdir} $${builddir} YES)
-doc-xml-doxygen:
+doc-xml-doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
builddir=`cd ..; ${PWD_COMMAND}`; \
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO)
-doc-xml-single-doxygen:
+doc-xml-single-doxygen: doc-xml-doxygen
@echo "Generating doxygen xml single file..."
$(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \
- ${doxygen_outdir}/xml/spine.xml > ${doxygen_outdir}/xml/all.xml;
+ ${doxygen_outdir}/xml/index.xml > ${doxygen_outdir}/xml/api-spine.xml;
+doc-latex-doxygen:
+ -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
+ builddir=`cd ..; ${PWD_COMMAND}`; \
+ ${SHELL} ${doxygen_script} \
+ --host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO)
+
+# Chance of loooooonnggg wait time when creating this file.
+doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
+
+doc-pdf-doxygen: stamp-latex-doxygen
+ -(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;)
+ echo "Generating doxygen pdf file...";
+ if [ -f ${doxygen_pdf} ]; then \
+ echo "... ${doxygen_pdf}"; \
+ else \
+ echo "... error"; \
+ exit 12; \
+ fi
+
+stamp-xml-doxygen:
+ @if [ ! -f stamp-xml-doxygen ]; then \
+ $(MAKE) doc-xml-single-doxygen; \
+ fi
+ $(STAMP) stamp-xml-doxygen
+
+stamp-latex-doxygen:
+ @if [ ! -f stamp-latex-doxygen ]; then \
+ $(MAKE) doc-latex-doxygen; \
+ fi
+ $(STAMP) stamp-latex-doxygen
# Docbook configuration.
# Assumes
# libxslt
+# dblatex
+# pdflatex
# docbook-style-xsl
-# emacs-nxml-mode
+# emacs-nxml-mode
# xmlto passivetex
docbook_outdir = ${glibcxx_builddir}/doc/docbook
-xml_srcdir = ${glibcxx_srcdir}/doc/xml
-xml_sources = \
- ${xml_srcdir}/spine.xml \
- ${xml_srcdir}/authors.xml \
- ${xml_srcdir}/manual/abi.xml \
- ${xml_srcdir}/manual/algorithms.xml \
- ${xml_srcdir}/manual/allocator.xml \
- ${xml_srcdir}/manual/auto_ptr.xml \
- ${xml_srcdir}/manual/backwards_compatibility.xml \
- ${xml_srcdir}/manual/bitmap_allocator.xml \
- ${xml_srcdir}/manual/build_hacking.xml \
- ${xml_srcdir}/manual/codecvt.xml \
- ${xml_srcdir}/manual/concurrency_extensions.xml \
- ${xml_srcdir}/manual/configure.xml \
- ${xml_srcdir}/manual/containers.xml \
- ${xml_srcdir}/manual/ctype.xml \
- ${xml_srcdir}/manual/debug_mode.xml \
- ${xml_srcdir}/manual/debug.xml \
- ${xml_srcdir}/manual/diagnostics.xml \
- ${xml_srcdir}/manual/evolution.xml \
- ${xml_srcdir}/manual/extensions.xml \
- ${xml_srcdir}/manual/internals.xml \
- ${xml_srcdir}/manual/intro.xml \
- ${xml_srcdir}/manual/io.xml \
- ${xml_srcdir}/manual/iterators.xml \
- ${xml_srcdir}/manual/locale.xml \
- ${xml_srcdir}/manual/localization.xml \
- ${xml_srcdir}/manual/messages.xml \
- ${xml_srcdir}/manual/mt_allocator.xml \
- ${xml_srcdir}/manual/numerics.xml \
- ${xml_srcdir}/manual/parallel_mode.xml \
- ${xml_srcdir}/manual/prerequisites.xml \
- ${xml_srcdir}/manual/profile_mode.xml \
- ${xml_srcdir}/manual/internals.xml \
- ${xml_srcdir}/manual/shared_ptr.xml \
- ${xml_srcdir}/manual/spine.xml \
- ${xml_srcdir}/manual/status_cxx1998.xml \
- ${xml_srcdir}/manual/status_cxx200x.xml \
- ${xml_srcdir}/manual/status_cxxtr1.xml \
- ${xml_srcdir}/manual/status_cxxtr24733.xml \
- ${xml_srcdir}/manual/strings.xml \
- ${xml_srcdir}/manual/support.xml \
- ${xml_srcdir}/manual/test.xml \
- ${xml_srcdir}/manual/using.xml \
- ${xml_srcdir}/manual/using_exceptions.xml \
- ${xml_srcdir}/manual/utilities.xml \
- ${xml_srcdir}/manual/appendix_free.xml \
- ${xml_srcdir}/manual/appendix_contributing.xml \
- ${xml_srcdir}/manual/appendix_porting.xml \
- ${xml_srcdir}/api.xml \
- ${xml_srcdir}/faq.xml
+xml_dir = ${glibcxx_srcdir}/doc/xml
+
+xml_sources_basic = \
+ ${xml_dir}/spine.xml \
+ ${xml_dir}/authors.xml \
+ ${xml_dir}/api.xml \
+ ${xml_dir}/faq.xml
+
+xml_sources_manual = \
+ ${xml_dir}/manual/abi.xml \
+ ${xml_dir}/manual/algorithms.xml \
+ ${xml_dir}/manual/allocator.xml \
+ ${xml_dir}/manual/auto_ptr.xml \
+ ${xml_dir}/manual/atomics.xml \
+ ${xml_dir}/manual/backwards_compatibility.xml \
+ ${xml_dir}/manual/bitmap_allocator.xml \
+ ${xml_dir}/manual/build_hacking.xml \
+ ${xml_dir}/manual/codecvt.xml \
+ ${xml_dir}/manual/concurrency.xml \
+ ${xml_dir}/manual/concurrency_extensions.xml \
+ ${xml_dir}/manual/configure.xml \
+ ${xml_dir}/manual/containers.xml \
+ ${xml_dir}/manual/ctype.xml \
+ ${xml_dir}/manual/debug_mode.xml \
+ ${xml_dir}/manual/debug.xml \
+ ${xml_dir}/manual/diagnostics.xml \
+ ${xml_dir}/manual/evolution.xml \
+ ${xml_dir}/manual/extensions.xml \
+ ${xml_dir}/manual/internals.xml \
+ ${xml_dir}/manual/intro.xml \
+ ${xml_dir}/manual/io.xml \
+ ${xml_dir}/manual/iterators.xml \
+ ${xml_dir}/manual/locale.xml \
+ ${xml_dir}/manual/localization.xml \
+ ${xml_dir}/manual/messages.xml \
+ ${xml_dir}/manual/mt_allocator.xml \
+ ${xml_dir}/manual/numerics.xml \
+ ${xml_dir}/manual/parallel_mode.xml \
+ ${xml_dir}/manual/prerequisites.xml \
+ ${xml_dir}/manual/profile_mode.xml \
+ ${xml_dir}/manual/shared_ptr.xml \
+ ${xml_dir}/manual/spine.xml \
+ ${xml_dir}/manual/status_cxx1998.xml \
+ ${xml_dir}/manual/status_cxx200x.xml \
+ ${xml_dir}/manual/status_cxxtr1.xml \
+ ${xml_dir}/manual/status_cxxtr24733.xml \
+ ${xml_dir}/manual/strings.xml \
+ ${xml_dir}/manual/support.xml \
+ ${xml_dir}/manual/test.xml \
+ ${xml_dir}/manual/using.xml \
+ ${xml_dir}/manual/using_exceptions.xml \
+ ${xml_dir}/manual/utilities.xml \
+ ${xml_dir}/manual/appendix_free.xml \
+ ${xml_dir}/manual/appendix_contributing.xml \
+ ${xml_dir}/manual/appendix_porting.xml
xml_sources_extra = \
- ${xml_srcdir}/gnu/fdl-1.2.xml \
- ${xml_srcdir}/gnu/gpl-2.0.xml
+ ${xml_dir}/gnu/fdl-1.2.xml \
+ ${xml_dir}/gnu/gpl-2.0.xml
+
+xml_sources = \
+ ${xml_sources_basic} \
+ ${xml_sources_manual} \
+ ${xml_sources_extra}
xml_noinst = \
- ${xml_srcdir}/book.txml \
- ${xml_srcdir}/chapter.txml \
- ${xml_srcdir}/class.txml
+ ${xml_dir}/book.txml \
+ ${xml_dir}/chapter.txml \
+ ${xml_dir}/class.txml \
+ ${xsl_dir}/doxygen2boostbook.xsl \
+ ${xsl_dir}/boostbook2docbook.xsl \
+ ${xsl_dir}/lookup.xsl
XSLTPROC = xsltproc
@@ -159,7 +203,7 @@ ${docbook_outdir}/xml:
# Validate existing XML structure.
XMLLINT = xmllint
-#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
+#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
#LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent
LINT_FLAGS = --postvalid --debug --xinclude --noent --noblanks --nonet --noout
VALID_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
@@ -196,7 +240,7 @@ doc-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
# fop
FOP = fop
FOP_FLAGS = -d -r
-doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
+doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
@echo "Generating pdf fop files from xml..."
$(FOP) $(FOP_FLAGS) -xml ${top_srcdir}/doc/xml/spine.xml \
-xsl $(XSL_FO_STYLE) -pdf ${docbook_outdir}/pdf/spine.pdf
@@ -256,4 +300,4 @@ CLEANFILES = *.log
# To remove directories.
clean-local:
- rm -rf man html pdf fo xml doxygen docbook
+ rm -rf man html pdf fo xml doxygen docbook stamp*
diff --git a/libstdc++-v3/doc/Makefile.in b/libstdc++-v3/doc/Makefile.in
index 6ec54206626..40548cd8b4f 100644
--- a/libstdc++-v3/doc/Makefile.in
+++ b/libstdc++-v3/doc/Makefile.in
@@ -264,77 +264,93 @@ WARN_CXXFLAGS = \
AM_CPPFLAGS = $(GLIBCXX_INCLUDES)
# Doxygen configuration
-# Assumes doxygen, graphviz (with dot) installed
+# Assumes doxygen, graphviz (with dot), pdflatex installed
doxygen_script = ${top_srcdir}/scripts/run_doxygen
doxygen_outdir = ${glibcxx_builddir}/doc/doxygen
+# Chance of loooooonnggg wait time when creating this file.
+doxygen_pdf = ${doxygen_outdir}/latex/refman.pdf
+
# Docbook configuration.
# Assumes
# libxslt
+# dblatex
+# pdflatex
# docbook-style-xsl
-# emacs-nxml-mode
+# emacs-nxml-mode
# xmlto passivetex
docbook_outdir = ${glibcxx_builddir}/doc/docbook
-xml_srcdir = ${glibcxx_srcdir}/doc/xml
-xml_sources = \
- ${xml_srcdir}/spine.xml \
- ${xml_srcdir}/authors.xml \
- ${xml_srcdir}/manual/abi.xml \
- ${xml_srcdir}/manual/algorithms.xml \
- ${xml_srcdir}/manual/allocator.xml \
- ${xml_srcdir}/manual/auto_ptr.xml \
- ${xml_srcdir}/manual/backwards_compatibility.xml \
- ${xml_srcdir}/manual/bitmap_allocator.xml \
- ${xml_srcdir}/manual/build_hacking.xml \
- ${xml_srcdir}/manual/codecvt.xml \
- ${xml_srcdir}/manual/concurrency_extensions.xml \
- ${xml_srcdir}/manual/configure.xml \
- ${xml_srcdir}/manual/containers.xml \
- ${xml_srcdir}/manual/ctype.xml \
- ${xml_srcdir}/manual/debug_mode.xml \
- ${xml_srcdir}/manual/debug.xml \
- ${xml_srcdir}/manual/diagnostics.xml \
- ${xml_srcdir}/manual/evolution.xml \
- ${xml_srcdir}/manual/extensions.xml \
- ${xml_srcdir}/manual/internals.xml \
- ${xml_srcdir}/manual/intro.xml \
- ${xml_srcdir}/manual/io.xml \
- ${xml_srcdir}/manual/iterators.xml \
- ${xml_srcdir}/manual/locale.xml \
- ${xml_srcdir}/manual/localization.xml \
- ${xml_srcdir}/manual/messages.xml \
- ${xml_srcdir}/manual/mt_allocator.xml \
- ${xml_srcdir}/manual/numerics.xml \
- ${xml_srcdir}/manual/parallel_mode.xml \
- ${xml_srcdir}/manual/prerequisites.xml \
- ${xml_srcdir}/manual/profile_mode.xml \
- ${xml_srcdir}/manual/internals.xml \
- ${xml_srcdir}/manual/shared_ptr.xml \
- ${xml_srcdir}/manual/spine.xml \
- ${xml_srcdir}/manual/status_cxx1998.xml \
- ${xml_srcdir}/manual/status_cxx200x.xml \
- ${xml_srcdir}/manual/status_cxxtr1.xml \
- ${xml_srcdir}/manual/status_cxxtr24733.xml \
- ${xml_srcdir}/manual/strings.xml \
- ${xml_srcdir}/manual/support.xml \
- ${xml_srcdir}/manual/test.xml \
- ${xml_srcdir}/manual/using.xml \
- ${xml_srcdir}/manual/using_exceptions.xml \
- ${xml_srcdir}/manual/utilities.xml \
- ${xml_srcdir}/manual/appendix_free.xml \
- ${xml_srcdir}/manual/appendix_contributing.xml \
- ${xml_srcdir}/manual/appendix_porting.xml \
- ${xml_srcdir}/api.xml \
- ${xml_srcdir}/faq.xml
+xml_dir = ${glibcxx_srcdir}/doc/xml
+xml_sources_basic = \
+ ${xml_dir}/spine.xml \
+ ${xml_dir}/authors.xml \
+ ${xml_dir}/api.xml \
+ ${xml_dir}/faq.xml
+
+xml_sources_manual = \
+ ${xml_dir}/manual/abi.xml \
+ ${xml_dir}/manual/algorithms.xml \
+ ${xml_dir}/manual/allocator.xml \
+ ${xml_dir}/manual/auto_ptr.xml \
+ ${xml_dir}/manual/atomics.xml \
+ ${xml_dir}/manual/backwards_compatibility.xml \
+ ${xml_dir}/manual/bitmap_allocator.xml \
+ ${xml_dir}/manual/build_hacking.xml \
+ ${xml_dir}/manual/codecvt.xml \
+ ${xml_dir}/manual/concurrency.xml \
+ ${xml_dir}/manual/concurrency_extensions.xml \
+ ${xml_dir}/manual/configure.xml \
+ ${xml_dir}/manual/containers.xml \
+ ${xml_dir}/manual/ctype.xml \
+ ${xml_dir}/manual/debug_mode.xml \
+ ${xml_dir}/manual/debug.xml \
+ ${xml_dir}/manual/diagnostics.xml \
+ ${xml_dir}/manual/evolution.xml \
+ ${xml_dir}/manual/extensions.xml \
+ ${xml_dir}/manual/internals.xml \
+ ${xml_dir}/manual/intro.xml \
+ ${xml_dir}/manual/io.xml \
+ ${xml_dir}/manual/iterators.xml \
+ ${xml_dir}/manual/locale.xml \
+ ${xml_dir}/manual/localization.xml \
+ ${xml_dir}/manual/messages.xml \
+ ${xml_dir}/manual/mt_allocator.xml \
+ ${xml_dir}/manual/numerics.xml \
+ ${xml_dir}/manual/parallel_mode.xml \
+ ${xml_dir}/manual/prerequisites.xml \
+ ${xml_dir}/manual/profile_mode.xml \
+ ${xml_dir}/manual/shared_ptr.xml \
+ ${xml_dir}/manual/spine.xml \
+ ${xml_dir}/manual/status_cxx1998.xml \
+ ${xml_dir}/manual/status_cxx200x.xml \
+ ${xml_dir}/manual/status_cxxtr1.xml \
+ ${xml_dir}/manual/status_cxxtr24733.xml \
+ ${xml_dir}/manual/strings.xml \
+ ${xml_dir}/manual/support.xml \
+ ${xml_dir}/manual/test.xml \
+ ${xml_dir}/manual/using.xml \
+ ${xml_dir}/manual/using_exceptions.xml \
+ ${xml_dir}/manual/utilities.xml \
+ ${xml_dir}/manual/appendix_free.xml \
+ ${xml_dir}/manual/appendix_contributing.xml \
+ ${xml_dir}/manual/appendix_porting.xml
xml_sources_extra = \
- ${xml_srcdir}/gnu/fdl-1.2.xml \
- ${xml_srcdir}/gnu/gpl-2.0.xml
+ ${xml_dir}/gnu/fdl-1.2.xml \
+ ${xml_dir}/gnu/gpl-2.0.xml
+
+xml_sources = \
+ ${xml_sources_basic} \
+ ${xml_sources_manual} \
+ ${xml_sources_extra}
xml_noinst = \
- ${xml_srcdir}/book.txml \
- ${xml_srcdir}/chapter.txml \
- ${xml_srcdir}/class.txml
+ ${xml_dir}/book.txml \
+ ${xml_dir}/chapter.txml \
+ ${xml_dir}/class.txml \
+ ${xsl_dir}/doxygen2boostbook.xsl \
+ ${xsl_dir}/boostbook2docbook.xsl \
+ ${xsl_dir}/lookup.xsl
XSLTPROC = xsltproc
XSLTPROC_FLAGS = --nonet --xinclude
@@ -346,7 +362,7 @@ XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml/docbook.xsl
# Validate existing XML structure.
XMLLINT = xmllint
-#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
+#LINT_FLAGS = --debug --nonet --xinclude --nsclean --postvalid --nowarning
#LINT_FLAGS = --noblanks --noout --xinclude --postvalid --noent
LINT_FLAGS = --postvalid --debug --xinclude --noent --noblanks --nonet --noout
VALID_FLAGS = --dtdvalid http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd
@@ -598,16 +614,44 @@ doc-man-doxygen:
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=man $${srcdir} $${builddir} YES)
-doc-xml-doxygen:
+doc-xml-doxygen:
-(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
builddir=`cd ..; ${PWD_COMMAND}`; \
${SHELL} ${doxygen_script} \
--host_alias=${host_alias} --mode=xml $${srcdir} $${builddir} NO)
-doc-xml-single-doxygen:
+doc-xml-single-doxygen: doc-xml-doxygen
@echo "Generating doxygen xml single file..."
$(XSLTPROC) ${doxygen_outdir}/xml/combine.xslt \
- ${doxygen_outdir}/xml/spine.xml > ${doxygen_outdir}/xml/all.xml;
+ ${doxygen_outdir}/xml/index.xml > ${doxygen_outdir}/xml/api-spine.xml;
+
+doc-latex-doxygen:
+ -(srcdir=`cd ${top_srcdir}; ${PWD_COMMAND}`; \
+ builddir=`cd ..; ${PWD_COMMAND}`; \
+ ${SHELL} ${doxygen_script} \
+ --host_alias=${host_alias} --mode=latex $${srcdir} $${builddir} NO)
+
+doc-pdf-doxygen: stamp-latex-doxygen
+ -(cd ${doxygen_outdir}/latex && $(MAKE) -i pdf;)
+ echo "Generating doxygen pdf file...";
+ if [ -f ${doxygen_pdf} ]; then \
+ echo "... ${doxygen_pdf}"; \
+ else \
+ echo "... error"; \
+ exit 12; \
+ fi
+
+stamp-xml-doxygen:
+ @if [ ! -f stamp-xml-doxygen ]; then \
+ $(MAKE) doc-xml-single-doxygen; \
+ fi
+ $(STAMP) stamp-xml-doxygen
+
+stamp-latex-doxygen:
+ @if [ ! -f stamp-latex-doxygen ]; then \
+ $(MAKE) doc-latex-doxygen; \
+ fi
+ $(STAMP) stamp-latex-doxygen
${docbook_outdir}/html:
mkdir -p ${docbook_outdir}/html
@@ -647,7 +691,7 @@ doc-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
@echo "Generating FO files..."
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/spine.fo \
$(XSL_FO_STYLE) ${top_srcdir}/doc/xml/spine.xml
-doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
+doc-pdf-fop-xml-docbook: $(xml_sources) ${glibcxx_builddir}/doc/pdf
@echo "Generating pdf fop files from xml..."
$(FOP) $(FOP_FLAGS) -xml ${top_srcdir}/doc/xml/spine.xml \
-xsl $(XSL_FO_STYLE) -pdf ${docbook_outdir}/pdf/spine.pdf
@@ -679,7 +723,7 @@ doc-html-performance:
# To remove directories.
clean-local:
- rm -rf man html pdf fo xml doxygen docbook
+ rm -rf man html pdf fo xml doxygen docbook stamp*
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in
index 6ad3309a703..197c642e321 100644
--- a/libstdc++-v3/doc/doxygen/user.cfg.in
+++ b/libstdc++-v3/doc/doxygen/user.cfg.in
@@ -1169,7 +1169,7 @@ SEARCHENGINE = NO
# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
# generate Latex output.
-GENERATE_LATEX = NO
+GENERATE_LATEX = @do_latex@
# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
# If a relative path is entered the value of OUTPUT_DIRECTORY will be
@@ -1180,7 +1180,7 @@ LATEX_OUTPUT = latex
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
# invoked. If left blank `latex' will be used as the default command name.
-LATEX_CMD_NAME = latex
+LATEX_CMD_NAME = pdflatex
# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
# generate index for LaTeX. If left blank `makeindex' will be used as the
@@ -1217,13 +1217,13 @@ LATEX_HEADER =
# contain links (just like the HTML output) instead of page references
# This makes the output suitable for online browsing using a pdf viewer.
-PDF_HYPERLINKS = NO
+PDF_HYPERLINKS = YES
# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
# plain latex in the generated Makefile. Set this option to YES to get a
# higher quality PDF documentation.
-USE_PDFLATEX = NO
+USE_PDFLATEX = YES
# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the
# \\batchmode. command to the generated LaTeX files. This will
@@ -1231,13 +1231,13 @@ USE_PDFLATEX = NO
# the user for help. This option is also used when generating
# formulas in HTML.
-LATEX_BATCHMODE = NO
+LATEX_BATCHMODE = YES
# If LATEX_HIDE_INDICES is set to YES then doxygen will not
# include the index chapters (such as File Index, Compound Index, etc.)
# in the output.
-LATEX_HIDE_INDICES = NO
+LATEX_HIDE_INDICES = YES
# If LATEX_SOURCE_CODE is set to YES then doxygen will include source
# code with syntax highlighting in the LaTeX output. Note that which
diff --git a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
index 331f1408a35..279e7038a9b 100644
--- a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
+++ b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml
@@ -925,14 +925,16 @@ indicate a place that may require attention for multi-thread safety.
the <ulink url="http://www.gnu.org/software/coreutils/">GNU
coreutils</ulink>. (GNU versions of find, xargs, and possibly
sed and grep are used, just because the GNU versions make
- things very easy.)
+ things very easy.)
</para>
<para>
To generate the pretty pictures and hierarchy
graphs, the
- <ulink url="http://www.graphviz.org">Graphviz</ulink>
- package will need to be installed.
+ <ulink url="http://www.graphviz.org">Graphviz</ulink> package
+ will need to be installed. For PDF
+ output, <ulink url="http://www.tug.org/applications/pdftex/">
+ pdflatex</ulink> is required.
</para>
</sect3>
@@ -940,7 +942,7 @@ indicate a place that may require attention for multi-thread safety.
<title>Generating the Doxygen Files</title>
<para>
The following Makefile rules run Doxygen to generate HTML
- docs, XML docs, and the man pages.
+ docs, XML docs, PDF docs, and the man pages.
</para>
<para>
@@ -952,6 +954,10 @@ indicate a place that may require attention for multi-thread safety.
</para>
<para>
+ <screen><userinput>make doc-pdf-doxygen</userinput></screen>
+ </para>
+
+ <para>
<screen><userinput>make doc-man-doxygen</userinput></screen>
</para>
@@ -1199,13 +1205,14 @@ indicate a place that may require attention for multi-thread safety.
<para>
For PDF output, something that transforms valid XML to PDF is
- required. Possible solutions include <command>xmlto</command>,
- <ulink url="http://xmlgraphics.apache.org/fop/">Apache
- FOP</ulink>, or <command>prince</command>. Other options are
- listed on the DocBook web <ulink
- url="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</ulink>. Please
+ required. Possible solutions include
+ <ulink url="http://dblatex.sourceforge.net">dblatex</ulink>,
+ <command>xmlto</command>, or <command>prince</command>. Other
+ options are listed on the DocBook
+ web <ulink url="http://wiki.docbook.org/topic/DocBookPublishingTools">pages</ulink>. Please
consult the <email>libstdc++@gcc.gnu.org</email> list when
- preparing printed manuals for current best practice and suggestions.
+ preparing printed manuals for current best practice and
+ suggestions.
</para>
<para>
@@ -1499,20 +1506,6 @@ xmllint --noout --valid <filename>xml/index.xml</filename>
<para>
<screen><userinput>make doc-pdf</userinput></screen>
</para>
-
- <para>
- The following Makefile rules generate (in order): an HTML
- version of all the DocBook documentation with links into an
- local Doxygen cache, and a PDF version of the same.
- </para>
-
- <para>
- <screen><userinput>make doc-html-combine</userinput></screen>
- </para>
-
- <para>
- <screen><userinput>make doc-pdf-combine</userinput></screen>
- </para>
</sect3>
</sect2>
</sect1>
diff --git a/libstdc++-v3/doc/xml/manual/atomics.xml b/libstdc++-v3/doc/xml/manual/atomics.xml
new file mode 100644
index 00000000000..345b2b7f6c1
--- /dev/null
+++ b/libstdc++-v3/doc/xml/manual/atomics.xml
@@ -0,0 +1,61 @@
+<?xml version='1.0'?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+[ ]>
+
+<chapter id="std.atomics" xreflabel="Atomics">
+<?dbhtml filename="atomics.html"?>
+
+<chapterinfo>
+ <keywordset>
+ <keyword>
+ ISO C++
+ </keyword>
+ <keyword>
+ library
+ </keyword>
+ <keyword>
+ atomic
+ </keyword>
+ </keywordset>
+</chapterinfo>
+
+<title>
+ Atomics
+ <indexterm><primary>Atomics</primary></indexterm>
+</title>
+
+<para>
+ Facilities for atomic operations.
+</para>
+
+<!-- Sect1 01 : API -->
+<sect1 id="std.atomics.api">
+ <title>API Reference</title>
+
+ <para>
+ All items are declared in the standard header
+ file <filename>atomic</filename>.
+ </para>
+
+ <para>
+ Set of typedefs that map <type>int</type> to
+ <classname>atomic_int</classname>, and so on for all builtin
+ integral types. Global enumeration <type>memory_order</type> to
+ control memory ordering. Also includes
+ <classname>atomic</classname>, a class template with member
+ functions such as <function>load</function> and
+ <function>store</function> that is instantiable such that
+ <classname>atomic_int</classname> is the base class of
+ <classname>atomic&lt;int&gt;</classname>.
+ </para>
+
+ <para>
+ Full API details.
+ </para>
+
+ <!-- Doxygen XML: api/group__atomics.xml -->
+
+</sect1>
+
+</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/concurrency.xml b/libstdc++-v3/doc/xml/manual/concurrency.xml
new file mode 100644
index 00000000000..f6a7366ff0d
--- /dev/null
+++ b/libstdc++-v3/doc/xml/manual/concurrency.xml
@@ -0,0 +1,85 @@
+<?xml version='1.0'?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"
+[ ]>
+
+<chapter id="std.concurrency" xreflabel="Concurrency">
+<?dbhtml filename="concurrency.html"?>
+
+<chapterinfo>
+ <keywordset>
+ <keyword>
+ ISO C++
+ </keyword>
+ <keyword>
+ library
+ </keyword>
+ <keyword>
+ mutex
+ </keyword>
+ <keyword>
+ thread
+ </keyword>
+ <keyword>
+ future
+ </keyword>
+ <keyword>
+ condition_variable
+ </keyword>
+ </keywordset>
+</chapterinfo>
+
+<title>
+ Concurrency
+ <indexterm><primary>Concurrency</primary></indexterm>
+</title>
+
+<para>
+ Facilities for concurrent operation, and control thereof.
+</para>
+
+
+<!-- Sect1 01 : API -->
+<sect1 id="std.concurrency.api">
+ <title>API Reference</title>
+
+ <para>
+ All items are declared in one of four standard header files.
+ </para>
+
+ <para>
+ In header <filename>mutex</filename>, class
+ template <classname>mutex</classname> and variants,
+ class <classname>once_flag</classname>, and class
+ template <classname>unique_lock</classname>.
+ </para>
+
+ <para>
+ In header <filename>condition_variable</filename>,
+ classes <classname>condition_variable</classname>
+ and <classname>condition_variable_any</classname>.
+ </para>
+
+ <para>
+ In header <filename>thread</filename>,
+ class <classname>thread</classname> and
+ namespace <code>this_thread</code>.
+ </para>
+
+ <para>
+ In header <filename>future</filename>, class
+ template <classname>future</classname> and class
+ template <classname>shared_future</classname>, class
+ template <classname>promise</classname>,
+ and <classname>packaged_task</classname>.
+ </para>
+
+ <para>
+ Full API details.
+ </para>
+
+ <!-- Doxygen XML: api/group__concurrency.xml -->
+
+</sect1>
+
+</chapter>
diff --git a/libstdc++-v3/doc/xml/manual/diagnostics.xml b/libstdc++-v3/doc/xml/manual/diagnostics.xml
index 6e638c90865..271477e3712 100644
--- a/libstdc++-v3/doc/xml/manual/diagnostics.xml
+++ b/libstdc++-v3/doc/xml/manual/diagnostics.xml
@@ -26,8 +26,8 @@
<?dbhtml filename="exceptions.html"?>
<title>Exceptions</title>
- <sect2 id="std.diagnostics.exceptions.hierarchy" xreflabel="Exception Classes">
- <title>Exception Classes</title>
+ <sect2 id="std.diagnostics.exceptions.api">
+ <title>API Reference</title>
<para>
All exception objects are defined in one of the standard header
files: <filename>exception</filename>,
@@ -44,12 +44,18 @@
<para>
Derived from this are several classes that may have a
<classname>string</classname> member: a full hierarchy can be
- found in the <ulink url="http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/a00460.html">source documentation</ulink>.
+ found in the source documentation.
</para>
-
+
+ <para>
+ Full API details.
+ </para>
+
+ <!-- Doxygen XML: api/group__exceptions.xml -->
+
</sect2>
<sect2 id="std.diagnostics.exceptions.data" xreflabel="Adding Data to Exceptions">
- <title>Adding Data to Exceptions</title>
+ <title>Adding Data to <classname>exception</classname></title>
<para>
The standard exception classes carry with them a single string as
data (usually describing what went wrong or where the 'throw' took
diff --git a/libstdc++-v3/doc/xml/manual/spine.xml b/libstdc++-v3/doc/xml/manual/spine.xml
index b63029dc7f6..1c806ca18b8 100644
--- a/libstdc++-v3/doc/xml/manual/spine.xml
+++ b/libstdc++-v3/doc/xml/manual/spine.xml
@@ -85,6 +85,16 @@
parse="xml" href="io.xml">
</xi:include>
+<!-- Chapter 11 : Atomics -->
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ parse="xml" href="atomics.xml">
+</xi:include>
+
+<!-- Chapter 12 : Concurrency -->
+<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ parse="xml" href="concurrency.xml">
+</xi:include>
+
</part>
<!-- Part 03 : Extensions -->
diff --git a/libstdc++-v3/scripts/run_doxygen b/libstdc++-v3/scripts/run_doxygen
index 9ea93b9d818..39a2e95ad89 100644
--- a/libstdc++-v3/scripts/run_doxygen
+++ b/libstdc++-v3/scripts/run_doxygen
@@ -1,10 +1,10 @@
#!/bin/bash
# Runs doxygen and massages the output files.
-# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009
+# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2010
# Free Software Foundation, Inc.
#
-# Synopsis: run_doxygen --mode=[html|man|xml] --host_alias=<alias> \
+# Synopsis: run_doxygen --mode=[html|latex|man|xml] --host_alias=<alias> \
# v3srcdir \
# v3builddir \
# shortname
@@ -17,7 +17,7 @@ DOXYVER=1.6.1
find_doxygen() {
local -r v_required=`echo $DOXYVER | \
- awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'`
+ awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'`
local testing_version doxygen maybedoxy v_found
# thank you goat book
set `IFS=:; X="$PATH:/usr/local/bin:/bin:/usr/bin"; echo $X`
@@ -28,16 +28,16 @@ find_doxygen() {
test -f "$maybedoxy" && testing_version=`$maybedoxy --version`
if test -n "$testing_version"; then
v_found=`echo $testing_version | \
- awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'`
+ awk -F. '{if(NF<3)$3=0;print ($1*100+$2)*100+$3}'`
if test $v_found -ge $v_required; then
- doxygen="$maybedoxy"
- break
+ doxygen="$maybedoxy"
+ break
fi
fi
done
if test -z "$doxygen"; then
- echo run_doxygen error: Could not find Doxygen $DOXYVER in path. 1>&2
- print_usage
+ echo run_doxygen error: Could not find Doxygen $DOXYVER in path. 1>&2
+ print_usage
fi
# We need to use other tools from the same package/version.
echo :: Using Doxygen tools from ${dir}.
@@ -48,11 +48,12 @@ find_doxygen() {
print_usage() {
cat 1>&2 <<EOF
Usage: run_doxygen --mode=MODE --host_alias=BUILD_ALIAS [<options>]
- <v3-src-dir> <v3-build-dir> <shortnamesp>
+ <v3-src-dir> <v3-build-dir> <shortnamesp>
MODE is one of:
- html Generate user-level HTML library documentation.
- man Generate user-level man pages.
- xml Generate user-level XML pages.
+ html Generate user-level HTML library documentation.
+ man Generate user-level man pages.
+ xml Generate user-level XML pages.
+ latex Generate user-level LaTeX pages.
BUILD_ALIAS is the GCC build alias set at configure time.
@@ -75,25 +76,25 @@ parse_options() {
case "$o" in
--mode=*)
- mode=$arg ;;
+ mode=$arg ;;
--host_alias=*)
- host_alias=$arg ;;
+ host_alias=$arg ;;
--mode | --host_alias | --help | -h)
- print_usage ;;
+ print_usage ;;
*)
- # this turned out to be a mess, maybe change to --srcdir=, etc
- if test $srcdir = unset; then
- srcdir=$o
- elif test $outdir = unset; then
- builddir=${o}
- outdir=${o}/doc/doxygen
- elif test $shortname = unset; then
- shortname=$o
- else
- echo run_doxygen error: Too many arguments 1>&2
- exit 1
- fi
- ;;
+ # this turned out to be a mess, maybe change to --srcdir=, etc
+ if test $srcdir = unset; then
+ srcdir=$o
+ elif test $outdir = unset; then
+ builddir=${o}
+ outdir=${o}/doc/doxygen
+ elif test $shortname = unset; then
+ shortname=$o
+ else
+ echo run_doxygen error: Too many arguments 1>&2
+ exit 1
+ fi
+ ;;
esac
done
}
@@ -106,8 +107,9 @@ srcdir=unset
outdir=unset
shortname=unset
do_html=false
-do_man=false
-do_xml=false
+do_man=false
+do_xml=false
+do_latex=false
enabled_sections=
generate_tagfile=
DATEtext=`date '+%Y-%m-%d'`
@@ -130,6 +132,10 @@ case x"$mode" in
enabled_sections=maint
generate_tagfile="$outdir/html/libstdc++.tag"
;;
+ xlatex)
+ do_latex=true
+ enabled_sections=maint
+ ;;
xman)
do_man=true
;;
@@ -156,12 +162,6 @@ esac
mkdir -p $outdir
chmod u+w $outdir
-# work around a stupid doxygen bug
-if $do_man; then
- mkdir -p $outdir/man/man3/ext
- chmod -R u+w $outdir/man/man3/ext
-fi
-
if $do_xml; then
mkdir -p $outdir/xml
fi
@@ -176,6 +176,34 @@ fi
-e "s=@host_alias@=${host_alias}=g" \
-e "s=@enabled_sections@=${enabled_sections}=" \
-e "s=@do_html@=${do_html}=" \
+ -e "s=@do_latex@=${do_latex}=" \
+ -e "s=@do_man@=${do_man}=" \
+ -e "s=@do_xml@=${do_xml}=" \
+ -e "s=@generate_tagfile@=${generate_tagfile}=" \
+ ${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
+ echo :: Finished, exit code was $?
+)
+ret=$?
+test $ret -ne 0 && exit $ret
+
+if $do_latex; then
+ mkdir -p $outdir/latex
+fi
+
+(
+ set -e
+ cd $builddir
+ sed -e "s=@outdir@=${outdir}=g" \
+ -e "s=@srcdir@=${srcdir}=g" \
+ -e "s=@shortname@=${shortname}=g" \
+ -e "s=@builddir@=${builddir}=g" \
+ -e "s=@host_alias@=${host_alias}=g" \
+ -e "s=@enabled_sections@=${enabled_sections}=" \
+ -e "s=@do_html@=${do_html}=" \
+ -e "s=@do_latex@=${do_latex}=" \
-e "s=@do_man@=${do_man}=" \
-e "s=@do_xml@=${do_xml}=" \
-e "s=@generate_tagfile@=${generate_tagfile}=" \
@@ -183,7 +211,14 @@ fi
echo :: NOTE that this may take some time...
echo doxygen ${outdir}/${mode}.cfg
doxygen ${outdir}/${mode}.cfg
+
+ # Also drop in the header file and style sheet
+ cd ${outdir}/${mode}
+ doxygen -w latex header.tex doxygen.sty
echo :: Finished, exit code was $?
+ echo ::
+ echo :: LaTeX pages begin with
+ echo :: ${outdir}/latex/refman.tex
)
ret=$?
test $ret -ne 0 && exit $ret
@@ -206,13 +241,6 @@ if $do_html; then
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
- for f in class*html; do
- sed '1,10s!^<title> Template!<title>Template !' $f > TEMP
- mv TEMP $f
- done
-
cp ${srcdir}/doc/doxygen/tables.html tables.html
echo ::
echo :: HTML pages begin with
@@ -229,9 +257,6 @@ echo ::
echo :: Fixing up the man pages...
cd $outdir/man/man3
-# here's the other end of the "stupid doxygen bug" mentioned above
-rm -rf ext
-
# File names with embedded spaces (EVIL!) need to be....? renamed or removed?
find . -name "* *" -print0 | xargs -0r rm # requires GNU tools
@@ -370,18 +395,18 @@ done
# 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
+ rm $f
done
for f in *_src_*; do
- rm $f
+ rm $f
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;
+ 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