OSDN Git Service

2010-03-03 Benjamin Kosnik <bkoz@redhat.com>
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Mar 2010 02:55:08 +0000 (02:55 +0000)
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 4 Mar 2010 02:55:08 +0000 (02:55 +0000)
* 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

libstdc++-v3/ChangeLog
libstdc++-v3/doc/Makefile.am
libstdc++-v3/doc/Makefile.in
libstdc++-v3/doc/doxygen/user.cfg.in
libstdc++-v3/doc/xml/manual/appendix_contributing.xml
libstdc++-v3/doc/xml/manual/atomics.xml [new file with mode: 0644]
libstdc++-v3/doc/xml/manual/concurrency.xml [new file with mode: 0644]
libstdc++-v3/doc/xml/manual/diagnostics.xml
libstdc++-v3/doc/xml/manual/spine.xml
libstdc++-v3/scripts/run_doxygen

index c70bcf9..c97dbf0 100644 (file)
@@ -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>
 
index 6c7f960..52ac78d 100644 (file)
@@ -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*
index 6ec5420..40548cd 100644 (file)
@@ -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.
index 6ad3309..197c642 100644 (file)
@@ -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
index 331f140..279e703 100644 (file)
@@ -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 (file)
index 0000000..345b2b7
--- /dev/null
@@ -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 (file)
index 0000000..f6a7366
--- /dev/null
@@ -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>
index 6e638c9..271477e 100644 (file)
@@ -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>,
     <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
index b63029d..1c806ca 100644 (file)
            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 -->
index 9ea93b9..39a2e95 100644 (file)
@@ -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