diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-04 02:55:08 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-03-04 02:55:08 +0000 |
commit | f0b332457362b13ff1fb83c2a98e68637cc4c7c7 (patch) | |
tree | 6fe79f2c9f8f83b222b4c4e7514d057df3f5db6d /libstdc++-v3 | |
parent | 83506191a0490d787200b492bd1a73b962675666 (diff) | |
download | gcc-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/ChangeLog | 15 | ||||
-rw-r--r-- | libstdc++-v3/doc/Makefile.am | 172 | ||||
-rw-r--r-- | libstdc++-v3/doc/Makefile.in | 172 | ||||
-rw-r--r-- | libstdc++-v3/doc/doxygen/user.cfg.in | 12 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/appendix_contributing.xml | 41 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/atomics.xml | 61 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/concurrency.xml | 85 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/diagnostics.xml | 16 | ||||
-rw-r--r-- | libstdc++-v3/doc/xml/manual/spine.xml | 10 | ||||
-rw-r--r-- | libstdc++-v3/scripts/run_doxygen | 125 |
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<int></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:]_]*\)< .* >=\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 |