Files
multiprecision/doc/Jamfile.v2
René Ferdinand Rivera Morell 6df8e19f00 Add support for modular build structure. (#632)
* Make the library modular usable.

* Switch to library requirements instead of source. As source puts extra source in install targets.

* Add missing import-search for cconfig/predef checks.

* Add requires-b2 check to top-level build file.

* Bump B2 require to 5.2

* Change all <source> references to <library>.

* Update copyright dates.

* Move inter-lib dependencies to a project variable and into the build targets.

* Adjust doc build to avoid boost-root references.

* Update build deps.

* Change Boost Test build refs to work with both old and modular test lib targets.

* Adjust CI for changes to the inspect tool. Also simplify the build and test to avoid future config problems as it can mor easily adjust to future CI changes.

* Use latest CI image to get a modern C++ compiler rthat doesn't ICE, we hope.

* Current CircleCI images need sudo to install packages.

* Undo search-lib change.

---------

Co-authored-by: Matt Borland <matt@mattborland.com>
2025-06-10 10:21:15 -04:00

102 lines
4.1 KiB
Plaintext

# 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 ;