
# Copyright John Maddock 2011. Use, modification, and distribution are
# subject to the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

using quickbook ;
using auto-index ;

path-constant images_location : html ;
path-constant here : . ;

xml multiprecision : multiprecision.qbk ;

boostbook standalone
    :
        multiprecision
    :
        # Path for links to Boost:
        <xsl:param>boost.root=../../../..

        # Some general style settings:
        <xsl:param>table.footnote.number.format=1
        <xsl:param>footnote.number.format=1
        #<xsl:param>html.stylesheet=../../../../doc/src/boostbook.css

        # HTML options first:
        # Use graphics not text for navigation:
        <xsl:param>navig.graphics=1
        # How far down we chunk nested sections, basically all of them:
        <xsl:param>chunk.section.depth=10
        # Don't put the first section on the same page as the TOC:
        <xsl:param>chunk.first.sections=10
        # How far down sections get TOC's
        <xsl:param>toc.section.depth=10
        # Max depth in each TOC:
        <xsl:param>toc.max.depth=4
        # How far down we go with TOC's
        #<xsl:param>generate.section.toc.level=10
        # Index on type:
        <xsl:param>index.on.type=1
        <xsl:param>html.stylesheet=multiprecision.css # Local variant for multiprecision,
        # extending 'standard' BOOST_ROOT/doc/src/boostbook.css with
        # @import url('../../../../doc/src/boostbook.css');
        # in location multiprecision/doc/html/multiprecision.css


        # PDF Options:
        # TOC Generation: this is needed for FOP-0.9 and later:
        <xsl:param>fop1.extensions=0
        <format>pdf:<xsl:param>xep.extensions=1
        # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9!
        <format>pdf:<xsl:param>fop.extensions=0
        <format>pdf:<xsl:param>fop1.extensions=0
        # No indent on body text:
        <format>pdf:<xsl:param>body.start.indent=0pt
        # Margin size:
        <format>pdf:<xsl:param>page.margin.inner=0.5in
        # Margin size:
        <format>pdf:<xsl:param>page.margin.outer=0.5in
        # Paper type = A4
        <format>pdf:<xsl:param>paper.type=A4
        # Yes, we want graphics for admonishments:
        <xsl:param>admon.graphics=1
        # Set these for PDF generation *only*:
        # default PNG graphics are awful in PDF form,
        # better use SVGs instead:
        <format>pdf:<xsl:param>admon.graphics.extension=".svg"
        <format>pdf:<xsl:param>use.role.for.mediaobject=1
        <format>pdf:<xsl:param>preferred.mediaobject.role=print
        <format>pdf:<xsl:param>img.src.path=$(images_location)/
        <format>pdf:<xsl:param>draft.mode="no"
        # This is copied from math but doesn't look right for here?
        <format>pdf:<xsl:param>boost.url.prefix=http\://www.boost.org/doc/libs/release/libs/math/doc/sf_and_dist/html

# Experimental - use SVG for html to improve image quality.
#  .SVG files are roughly twice the .png size and so a bit gross.
# This also changes the admonitions icons.
#       <format>html:<xsl:param>admon.graphics.extension=".svg"
        <format>html:<xsl:param>use.role.for.mediaobject=1
        <format>html:<xsl:param>preferred.mediaobject.role=print
     #   <format>html:<xsl:param>img.src.path=$(images_location)/ isn't right for html.
        <format>html:<xsl:param>draft.mode="no"
        <format>html:<xsl:param>boost.url.prefix=http\://www.boost.org/doc/libs/release/libs/multiprecision/doc/html

        # Index generation:
        <auto-index>on
        <auto-index-script>$(here)/index.idx
        <auto-index-prefix>$(here)/../include
        <auto-index-verbose>on
        <format>html:<auto-index-internal>on
        <quickbook-define>enable_index
        <format>pdf:<xsl:param>index.on.type=1
    ;

install pdfinstall : standalone : <location>. <install-type>PDF <name>multiprecision.pdf ;

###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : standalone ;
explicit boostrelease ;
