CYGPATH_W = @CYGPATH_W@
C_INCLUDE_DIR = @C_INCLUDE_DIR@
DBLATEX = @DBLATEX@
-DBTOEPUB = @DBTOEPUB@
DEBUG_FLAGS = @DEBUG_FLAGS@
DEFS = @DEFS@
DOT = @DOT@
LIBICONV = @LIBICONV@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
-LIBSUPCXX_PICFLAGS = @LIBSUPCXX_PICFLAGS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PDFLATEX = @PDFLATEX@
+PIC_CXXFLAGS = @PIC_CXXFLAGS@
RANLIB = @RANLIB@
-RUBY = @RUBY@
SECTION_FLAGS = @SECTION_FLAGS@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
SED = @SED@
glibcxx_localedir = @glibcxx_localedir@
glibcxx_prefixdir = @glibcxx_prefixdir@
glibcxx_srcdir = @glibcxx_srcdir@
-glibcxx_thread_h = @glibcxx_thread_h@
glibcxx_toolexecdir = @glibcxx_toolexecdir@
glibcxx_toolexeclibdir = @glibcxx_toolexeclibdir@
gxx_include_dir = @gxx_include_dir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+python_mod_dir = @python_mod_dir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
+toplevel_builddir = @toplevel_builddir@
toplevel_srcdir = @toplevel_srcdir@
# May be used by various substitution variables.
STAMP = echo timestamp >
toolexecdir = $(glibcxx_toolexecdir)
toolexeclibdir = $(glibcxx_toolexeclibdir)
+@ENABLE_WERROR_FALSE@WERROR_FLAG =
+@ENABLE_WERROR_TRUE@WERROR_FLAG = $(WERROR)
# These bits are all figured out from configure. Look in acinclude.m4
# or configure.ac to see how they are set. See GLIBCXX_EXPORT_FLAGS.
$(SECTION_FLAGS) $(EXTRA_CXX_FLAGS) -frandom-seed=$@
WARN_CXXFLAGS = \
- $(WARN_FLAGS) $(WERROR) -fdiagnostics-show-location=once
+ $(WARN_FLAGS) $(WERROR_FLAG) -fdiagnostics-show-location=once
# -I/-D flags to pass when compiling.
${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_cxx2011.xml \
${xml_dir}/manual/status_cxxtr1.xml \
${xml_dir}/manual/status_cxxtr24733.xml \
${xml_dir}/manual/strings.xml \
${xml_sources_manual} \
${xml_sources_extra}
-image_dir = ${xml_dir}/images
-xml_images = \
- ${image_dir}/confdeps.png \
- ${image_dir}/pbds_balls_and_bins.png \
- ${image_dir}/pbds_binary_priority_queue_random_int_push_timing_test_local.png \
- ${image_dir}/pbds_cc_hash_random_int_find_timing_test_local.png \
- ${image_dir}/pbds_cc_hash_random_int_subscript_timing_test_find_local.png \
- ${image_dir}/pbds_cc_hash_random_int_subscript_timing_test_insert_local.png \
- ${image_dir}/pbds_container_tag_hierarchy.png \
- ${image_dir}/pbds_different_underlying_dss_1.png \
- ${image_dir}/pbds_different_underlying_dss_2.png \
- ${image_dir}/pbds_embedded_lists_1.png \
- ${image_dir}/pbds_embedded_lists_2.png \
- ${image_dir}/pbds_embedded_lists_3.png \
- ${image_dir}/pbds_exception_hierarchy.png \
- ${image_dir}/pbds_gp_hash_random_int_find_timing_test_local.png \
- ${image_dir}/pbds_gp_hash_random_int_subscript_timing_test_find_local.png \
- ${image_dir}/pbds_gp_hash_random_int_subscript_timing_test_insert_local.png \
- ${image_dir}/pbds_hash_policy_cd.png \
- ${image_dir}/pbds_hash_random_int_erase_mem_usage_test_local.png \
- ${image_dir}/pbds_hash_ranged_hash_range_hashing_fns.png \
- ${image_dir}/pbds_hash_range_hashing_seq_diagram2.png \
- ${image_dir}/pbds_hash_range_hashing_seq_diagram.png \
- ${image_dir}/pbds_hash_zlob_random_int_find_timing_test_local.png \
- ${image_dir}/pbds_insert_resize_sequence_diagram1.png \
- ${image_dir}/pbds_insert_resize_sequence_diagram2.png \
- ${image_dir}/pbds_insert_resize_sequence_diagram3.png \
- ${image_dir}/pbds_invalidation_guarantee_erase.png \
- ${image_dir}/pbds_invalidation_tag_hierarchy.png \
- ${image_dir}/pbds_list_update.png \
- ${image_dir}/pbds_multimap_text_find_timing_test_large_s2p_hash_local.png \
- ${image_dir}/pbds_multimap_text_find_timing_test_large_s2p_tree_local.png \
- ${image_dir}/pbds_multimap_text_find_timing_test_small_s2p_hash_local.png \
- ${image_dir}/pbds_multimap_text_find_timing_test_small_s2p_tree_local.png \
- ${image_dir}/pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png \
- ${image_dir}/pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png \
- ${image_dir}/pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png \
- ${image_dir}/pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png \
- ${image_dir}/pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png \
- ${image_dir}/pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png \
- ${image_dir}/pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png \
- ${image_dir}/pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png \
- ${image_dir}/pbds_node_invariants.png \
- ${image_dir}/pbds_pairing_priority_queue_text_push_pop_timing_test_local.png \
- ${image_dir}/pbds_pairing_priority_queue_text_push_timing_test_local.png \
- ${image_dir}/pbds_pat_trie.png \
- ${image_dir}/pbds_point_iterator_hierarchy.png \
- ${image_dir}/pbds_point_iterators_range_ops_1.png \
- ${image_dir}/pbds_point_iterators_range_ops_2.png \
- ${image_dir}/pbds_priority_queue_different_underlying_dss.png \
- ${image_dir}/pbds_priority_queue_random_int_push_pop_timing_test_local.png \
- ${image_dir}/pbds_priority_queue_random_int_push_timing_test_local.png \
- ${image_dir}/pbds_priority_queue_tag_hierarchy.png \
- ${image_dir}/pbds_priority_queue_text_join_timing_test_local.png \
- ${image_dir}/pbds_priority_queue_text_modify_down_timing_test_local.png \
- ${image_dir}/pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png \
- ${image_dir}/pbds_priority_queue_text_modify_up_timing_test_local.png \
- ${image_dir}/pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png \
- ${image_dir}/pbds_priority_queue_text_pop_mem_usage_test_local.png \
- ${image_dir}/pbds_priority_queue_text_push_pop_timing_test_local.png \
- ${image_dir}/pbds_priority_queue_text_push_timing_test_local.png \
- ${image_dir}/pbds_rationale_null_node_updator.png \
- ${image_dir}/pbds_resize_policy_cd.png \
- ${image_dir}/pbds_restoring_node_invariants.png \
- ${image_dir}/pbds_simple_list.png \
- ${image_dir}/pbds_text_find_timing_test_hash_local.png \
- ${image_dir}/pbds_text_find_timing_test_tree_like_local.png \
- ${image_dir}/pbds_tree_node_invalidations.png \
- ${image_dir}/pbds_tree_node_invariants.png \
- ${image_dir}/pbds_tree_node_updator_policy_cd.png \
- ${image_dir}/pbds_tree_order_statistics_timing_test_local.png \
- ${image_dir}/pbds_tree_split_join_timing_test_local.png \
- ${image_dir}/pbds_tree_text_insert_timing_test_node_tree_local.png \
- ${image_dir}/pbds_tree_text_insert_timing_test_pat_trie_local.png \
- ${image_dir}/pbds_tree_text_insert_timing_test_vector_tree_local.png \
- ${image_dir}/pbds_tree_text_lor_find_timing_test_local.png \
- ${image_dir}/pbds_trie_node_updator_policy_cd.png \
- ${image_dir}/pbds_update_seq_diagram.png
-
+xml_image_dir = ${xml_dir}/images
+xml_image_basic = \
+ ${xml_image_dir}/confdeps.png \
+ ${xml_image_dir}/pbds_balls_and_bins.png \
+ ${xml_image_dir}/pbds_container_tag_hierarchy.png \
+ ${xml_image_dir}/pbds_different_underlying_dss_1.png \
+ ${xml_image_dir}/pbds_different_underlying_dss_2.png \
+ ${xml_image_dir}/pbds_embedded_lists_1.png \
+ ${xml_image_dir}/pbds_embedded_lists_2.png \
+ ${xml_image_dir}/pbds_embedded_lists_3.png \
+ ${xml_image_dir}/pbds_exception_hierarchy.png \
+ ${xml_image_dir}/pbds_hash_policy_cd.png \
+ ${xml_image_dir}/pbds_hash_ranged_hash_range_hashing_fns.png \
+ ${xml_image_dir}/pbds_hash_range_hashing_seq_diagram2.png \
+ ${xml_image_dir}/pbds_hash_range_hashing_seq_diagram.png \
+ ${xml_image_dir}/pbds_insert_resize_sequence_diagram1.png \
+ ${xml_image_dir}/pbds_insert_resize_sequence_diagram2.png \
+ ${xml_image_dir}/pbds_insert_resize_sequence_diagram3.png \
+ ${xml_image_dir}/pbds_invalidation_guarantee_erase.png \
+ ${xml_image_dir}/pbds_invalidation_tag_hierarchy.png \
+ ${xml_image_dir}/pbds_list_update.png \
+ ${xml_image_dir}/pbds_node_invariants.png \
+ ${xml_image_dir}/pbds_pat_trie.png \
+ ${xml_image_dir}/pbds_point_iterator_hierarchy.png \
+ ${xml_image_dir}/pbds_point_iterators_range_ops_1.png \
+ ${xml_image_dir}/pbds_point_iterators_range_ops_2.png \
+ ${xml_image_dir}/pbds_priority_queue_different_underlying_dss.png \
+ ${xml_image_dir}/pbds_priority_queue_tag_hierarchy.png \
+ ${xml_image_dir}/pbds_rationale_null_node_updator.png \
+ ${xml_image_dir}/pbds_resize_policy_cd.png \
+ ${xml_image_dir}/pbds_restoring_node_invariants.png \
+ ${xml_image_dir}/pbds_simple_list.png \
+ ${xml_image_dir}/pbds_tree_node_invalidations.png \
+ ${xml_image_dir}/pbds_tree_node_invariants.png \
+ ${xml_image_dir}/pbds_tree_node_updator_policy_cd.png \
+ ${xml_image_dir}/pbds_trie_node_updator_policy_cd.png \
+ ${xml_image_dir}/pbds_update_seq_diagram.png
+
+xml_image_generated = \
+ ${xml_image_dir}/pbds_binary_priority_queue_int_push_pop.png \
+ ${xml_image_dir}/pbds_binary_priority_queue_int_push.png \
+ ${xml_image_dir}/pbds_ccgp_hash_int_subscript_insert.png \
+ ${xml_image_dir}/pbds_cc_hash_int_find.png \
+ ${xml_image_dir}/pbds_cc_hash_int_subscript_find.png \
+ ${xml_image_dir}/pbds_cc_hash_int_subscript_insert.png \
+ ${xml_image_dir}/pbds_gp_hash_int_find.png \
+ ${xml_image_dir}/pbds_gp_hash_int_subscript_find.png \
+ ${xml_image_dir}/pbds_gp_hash_int_subscript_insert.png \
+ ${xml_image_dir}/pbds_hash_int_erase_mem.png \
+ ${xml_image_dir}/pbds_hash_text_find.png \
+ ${xml_image_dir}/pbds_hash_zlob_int_find.png \
+ ${xml_image_dir}/pbds_multimap_text_find_large_s2p_hash.png \
+ ${xml_image_dir}/pbds_multimap_text_find_large_s2p_tree.png \
+ ${xml_image_dir}/pbds_multimap_text_find_small_s2p_hash.png \
+ ${xml_image_dir}/pbds_multimap_text_find_small_s2p_tree.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_large_s2p_hash.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_large_s2p_tree.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_mem_large_s2p_hash.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_mem_large_s2p_tree.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_mem_small_s2p_hash.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_mem_small_s2p_tree.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_small_s2p_hash.png \
+ ${xml_image_dir}/pbds_multimap_text_insert_small_s2p_tree.png \
+ ${xml_image_dir}/pbds_pairing_priority_queue_text_modify_down_thin.png \
+ ${xml_image_dir}/pbds_pairing_priority_queue_text_modify_up_thin.png \
+ ${xml_image_dir}/pbds_pairing_priority_queue_text_push_pop.png \
+ ${xml_image_dir}/pbds_pairing_priority_queue_text_push.png \
+ ${xml_image_dir}/pbds_priority_queue_int_push_pop.png \
+ ${xml_image_dir}/pbds_priority_queue_int_push.png \
+ ${xml_image_dir}/pbds_priority_queue_text_join.png \
+ ${xml_image_dir}/pbds_priority_queue_text_modify_down.png \
+ ${xml_image_dir}/pbds_priority_queue_text_modify_up.png \
+ ${xml_image_dir}/pbds_priority_queue_text_pop_mem.png \
+ ${xml_image_dir}/pbds_priority_queue_text_push_pop.png \
+ ${xml_image_dir}/pbds_priority_queue_text_push.png \
+ ${xml_image_dir}/pbds_tree_int_find.png \
+ ${xml_image_dir}/pbds_tree_order_statistics.png \
+ ${xml_image_dir}/pbds_tree_split_join.png \
+ ${xml_image_dir}/pbds_tree_text_find.png \
+ ${xml_image_dir}/pbds_tree_text_insert_node.png \
+ ${xml_image_dir}/pbds_tree_text_insert_trie.png \
+ ${xml_image_dir}/pbds_tree_text_insert_vector.png \
+ ${xml_image_dir}/pbds_tree_text_lor_find.png
+
+xml_images = ${xml_image_basic} ${xml_image_generated}
xml_extradir = ${glibcxx_srcdir}/doc/html/ext
xml_extra = \
${xml_extradir}/lwg-active.html \
${xml_extradir}/lwg-closed.html \
- ${xml_extradir}/lwg-defects.html
+ ${xml_extradir}/lwg-defects.html
xml_noinst = \
${xml_dir}/book.txml \
${xml_dir}/chapter.txml \
${xml_dir}/class.txml \
- ${image_dir}/confdeps.dot \
- ${image_dir}/confdeps.pdf
+ ${xml_image_dir}/confdeps.dot \
+ ${xml_image_dir}/confdeps.pdf
XSLT_FLAGS = --nonet --xinclude
XSLT_PARAM = --param toc.section.depth 4
#XSL_STYLE_DIR = /usr/share/xml/docbook/stylesheet/docbook-xsl-ns
#XSL_STYLE_DIR = /usr/share/sgml/docbook/xsl-ns-stylesheets
XSL_FO_STYLE = $(XSL_STYLE_DIR)/fo/docbook.xsl
-XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/chunk.xsl
-XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/xhtml-1_1/docbook.xsl
-XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub/docbook.xsl
+XSL_HTML_STYLE = $(XSL_STYLE_DIR)/xhtml/chunk.xsl
+XSL_HTML_SINGLE_STYLE = $(XSL_STYLE_DIR)/html/docbook.xsl
+XSL_EPUB_STYLE = $(XSL_STYLE_DIR)/epub3/chunk.xsl
+XSL_LOCAL_STYLE = ${glibcxx_builddir}/doc/xsl/customization.xsl
LINT_FLAGS = --debug --xinclude --noent --noblanks --noout
SCHEMA_FLAGS = http://www.docbook.org/xml/5.0/dtd/docbook.dtd
#SCHEMA_FLAGS = --nonet /usr/share/xml/docbook5/schema/dtd/5.0/docbook.dtd
set_xml = ${docbook_outdir}/xml/libstdc++-set-single.xml
# HTML, all one page
+# NB: Have to generate customization XSL for UTF-8 output.
manual_html = ${docbook_outdir}/html/libstdc++-manual-single.html
# PDF, via dblatex
manual_pdf = ${docbook_outdir}/pdf/libstdc++-manual.pdf
-DBLATEX_FLAGS = --dump --verbose --pdf
+DBLATEX_FLAGS = --dump --verbose --pdf
# TEXINFO, via docbook2X
# NB: Both experimental and tempermental
--string-param explicit-node-names=true
-# EPUB, via dbtoepub + ruby
+# EPUB version 3
+# http://sourceforge.net/projects/docbook/files/epub3/
+# Can verify document with epubcheck
manual_epub = ${docbook_outdir}/epub/libstdc++-manual.epub
# Performance doc and graph configuration.
# Assumes pychart, beautiful soup installed.
-# Generates the plots and graphs for performance testing.
-# XXX this needs to be re-worked to create only the SVG charts
-doc_performance_script = ${top_srcdir}/scripts/make_graphs.py
+# Generates the plots/graph imagery for performance testing.
+doc_performance_script = ${top_srcdir}/scripts/make_graph.py
# By adding these files here, automake will remove them for 'make clean'
CLEANFILES = *.log stamp*
${docbook_outdir}/epub:
mkdir -p ${docbook_outdir}/epub
+ mkdir -p ${docbook_outdir}/epub/OEBPS/images
${docbook_outdir}/fo:
mkdir -p ${docbook_outdir}/fo
${docbook_outdir}/html:
mkdir -p ${docbook_outdir}/html
+ mkdir -p ${docbook_outdir}/html/ext
mkdir -p ${docbook_outdir}/html/images
- mkdir -p ${docbook_outdir}/html/manual/ext
+ mkdir -p ${docbook_outdir}/html/manual
${docbook_outdir}/pdf:
mkdir -p ${docbook_outdir}/pdf
${top_srcdir}/doc/xml/manual/spine.xml > ${manual_xml};
$(XMLLINT) $(XMLLINT_FLAGS) \
${top_srcdir}/doc/xml/spine.xml > ${set_xml};
- if [ ! -d "${docbook_outdir}/xml/images" ]; then \
- $(LN_S) ${top_srcdir}/doc/xml/images ${docbook_outdir}/xml/; \
- fi
$(STAMP) stamp-xml-single-docbook
doc-xml-single-docbook: stamp-xml-single-docbook
$(STAMP) stamp-html-docbook-images
stamp-html-docbook-lwg: stamp-html-docbook $(xml_extra)
- $(INSTALL_DATA) $(xml_extra) ${docbook_outdir}/html/manual/ext
+ $(INSTALL_DATA) $(xml_extra) ${docbook_outdir}/html/ext
$(STAMP) stamp-html-docbook-lwg
stamp-html-docbook-data: stamp-html-docbook-images stamp-html-docbook-lwg
$(STAMP) stamp-html-docbook-data
-# HTML, index plus chapters
+# HTML, "chunked" into index plus chapters as separate pages
stamp-html-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html files..."
$(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${docbook_outdir}/html/ \
- $(XSL_HTML_STYLE) ${top_srcdir}/doc/xml/spine.xml
+ --stringparam chunker.output.encoding UTF-8 \
+ $(XSL_HTML_STYLE) \
+ ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-html-docbook
doc-html-docbook: stamp-html-docbook-data
stamp-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html single file..."
$(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) -o ${manual_html} \
- $(XSL_HTML_SINGLE_STYLE) ${top_srcdir}/doc/xml/spine.xml
+ ${XSL_LOCAL_STYLE} \
+ ${top_srcdir}/doc/xml/spine.xml
$(STAMP) stamp-html-single-docbook
doc-html-single-docbook: stamp-html-single-docbook
doc-info-docbook: stamp-info-docbook
stamp-epub-docbook: stamp-xml-single-docbook ${docbook_outdir}/epub
@echo "Generating epub files..."
- ${XSL_STYLE_DIR}/epub/bin/dbtoepub -v -d -o ${manual_epub} ${set_xml}
+ if [ ! -d "${docbook_outdir}/images" ]; then \
+ $(LN_S) ${top_srcdir}/doc/xml/images ${docbook_outdir}/; \
+ fi
+ $(XSLTPROC) $(XSLT_PARAM) $(XSLT_FLAGS) \
+ --stringparam base.dir "${docbook_outdir}/epub/OEBPS/" \
+ $(XSL_EPUB_STYLE) ${top_srcdir}/doc/xml/spine.xml
+ $(INSTALL_DATA) $(xml_images) ${docbook_outdir}/epub/OEBPS/images
+ zip -X0 ${manual_epub} ${docbook_outdir}/epub/mimetype
+ zip -r -X9 ${manual_epub} ${docbook_outdir}/epub/META-INF ${docbook_outdir}/epub/OEBPS
$(STAMP) stamp-epub-docbook
doc-epub-docbook: stamp-epub-docbook
-doc-html-performance:
+doc-svg-performance: ${docbook_outdir}/xml
-@(chmod + ${doc_performance_script}; \
- ${doc_performance_script} ${top_srcdir} \
+ ${doc_performance_script} \
+ ${top_srcdir}/testsuite/data/make_graph_test_infos.xml \
${glibcxx_builddir}/testsuite \
- ${top_srcdir}/testsuite/data/make_graph_htmls.xml \
- ${top_srcdir}/testsuite/data/make_graph_test_infos.xml local g++)
+ ${glibcxx_builddir}/doc/docbook/xml/images)
.PHONY: doc-doxygen-html doc-doxygen-man doc-performance