From: bkoz Date: Thu, 4 Mar 2010 02:55:08 +0000 (+0000) Subject: 2010-03-03 Benjamin Kosnik X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=commitdiff_plain;h=f0b332457362b13ff1fb83c2a98e68637cc4c7c7 2010-03-03 Benjamin Kosnik * 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 --- 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 + + * 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 Jonathan Wakely 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 GNU coreutils. (GNU versions of find, xargs, and possibly sed and grep are used, just because the GNU versions make - things very easy.) + things very easy.) To generate the pretty pictures and hierarchy graphs, the - Graphviz - package will need to be installed. + Graphviz package + will need to be installed. For PDF + output, + pdflatex is required. @@ -940,7 +942,7 @@ indicate a place that may require attention for multi-thread safety. Generating the Doxygen Files 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. @@ -952,6 +954,10 @@ indicate a place that may require attention for multi-thread safety. + make doc-pdf-doxygen + + + make doc-man-doxygen @@ -1199,13 +1205,14 @@ indicate a place that may require attention for multi-thread safety. For PDF output, something that transforms valid XML to PDF is - required. Possible solutions include xmlto, - Apache - FOP, or prince. Other options are - listed on the DocBook web pages. Please + required. Possible solutions include + dblatex, + xmlto, or prince. Other + options are listed on the DocBook + web pages. Please consult the libstdc++@gcc.gnu.org list when - preparing printed manuals for current best practice and suggestions. + preparing printed manuals for current best practice and + suggestions. @@ -1499,20 +1506,6 @@ xmllint --noout --valid xml/index.xml make doc-pdf - - - 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. - - - - make doc-html-combine - - - - make doc-pdf-combine - 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 @@ + + + + + + + + + + ISO C++ + + + library + + + atomic + + + + + + Atomics + <indexterm><primary>Atomics</primary></indexterm> + + + + Facilities for atomic operations. + + + + + API Reference + + + All items are declared in the standard header + file atomic. + + + + Set of typedefs that map int to + atomic_int, and so on for all builtin + integral types. Global enumeration memory_order to + control memory ordering. Also includes + atomic, a class template with member + functions such as load and + store that is instantiable such that + atomic_int is the base class of + atomic<int>. + + + + Full API details. + + + + + + + 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 @@ + + + + + + + + + + ISO C++ + + + library + + + mutex + + + thread + + + future + + + condition_variable + + + + + + Concurrency + <indexterm><primary>Concurrency</primary></indexterm> + + + + Facilities for concurrent operation, and control thereof. + + + + + + API Reference + + + All items are declared in one of four standard header files. + + + + In header mutex, class + template mutex and variants, + class once_flag, and class + template unique_lock. + + + + In header condition_variable, + classes condition_variable + and condition_variable_any. + + + + In header thread, + class thread and + namespace this_thread. + + + + In header future, class + template future and class + template shared_future, class + template promise, + and packaged_task. + + + + Full API details. + + + + + + + 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 @@ Exceptions - - Exception Classes + + API Reference All exception objects are defined in one of the standard header files: exception, @@ -44,12 +44,18 @@ Derived from this are several classes that may have a string member: a full hierarchy can be - found in the source documentation. + found in the source documentation. - + + + Full API details. + + + + - Adding Data to Exceptions + Adding Data to <classname>exception</classname> 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"> + + + + + + + + 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= \ +# Synopsis: run_doxygen --mode=[html|latex|man|xml] --host_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 <] - + 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!^ 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