blob: 7d55b74e4932ad93657ccdc23132c54652a17db7 [file] [log] [blame]
# Copyright John Maddock 2008. 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)
import os ;
import common ;
import doxygen ;
using quickbook ;
import modules ;
path-constant images_location : html ;
#
# Accumulators docs are dependent upon
# latex dvips and ps being in your PATH.
# This is true for most Unix installs, but
# not on Win32, where you will need to install
# MkTex and Ghostscript and add these tools
# to your path.
#
make latex.check : : @check-latex ;
actions check-latex
{
latex -version > latex.version
}
make dvips.check : : @check-dvips ;
actions check-dvips
{
dvips -version > dvips.version
}
make gs.check : : @check-gs ;
import os ;
if [ os.name ] = "NT"
{
actions check-gs
{
gswin32c -version > gs.version
}
}
else
{
actions check-gs
{
gs -version > gs.version
}
}
# Use Doxygen to emit a tagfile with the definition of depends_on<>. That
# tagfile will be used by Doxygen below when generating the Statistics Library
# Reference. This is all so that the Doxygen-generated documentation for the
# features shows the dependency relationships between them.
doxygen tagfile
:
../../boost/accumulators/framework/depends_on.hpp
../../boost/accumulators/framework/extractor.hpp
:
<doxygen:param>MACRO_EXPANSION=YES
<doxygen:param>EXPAND_ONLY_PREDEF=YES
<doxygen:param>GENERATE_TAGFILE=accumulators.tag
<doxygen:param>"PREDEFINED=\"BOOST_ACCUMULATORS_DOXYGEN_INVOKED=1\" \\
\"BOOST_PP_REPEAT_FROM_TO(a,b,c,d)=\" \\
\"BOOST_PP_ENUM_PARAMS(a,b)=b ## 1, b ## 2, ...\""
<dependency>latex.check
<dependency>dvips.check
<dependency>gs.check
;
# Generate the HTML form of the stats documentation, as this causes Doxygen to
# generate .png images for the LaTeX formulas embedded in the doc comments.
doxygen statsdoc.html
:
weighted_tail_quantile.hpp
:
<dependency>latex.check
<dependency>dvips.check
<dependency>gs.check
;
if [ os.name ] = NT
{
CP = copy /y ;
MKDIR = mkdir ;
FROM = \\..\\..\\..\\html\\statsdoc\\*.png ;
TOHTML = .\\html\\images\\accumulators ;
TOPDF = \\images\\accumulators ;
}
else
{
CP = cp ;
MKDIR = mkdir -p ;
FROM = /../../html/statsdoc/*.png ;
TOHTML = ./html/images/accumulators ;
TOPDF = /images/accumulators ;
}
actions copy-latex-pngs
{
$(MKDIR) $(TOHTML)
$(MKDIR) $(<:D)$(TOPDF)
$(CP) $(<:D)$(FROM) $(TOHTML)
$(CP) $(<:D)$(FROM) $(<:D)$(TOPDF)
echo "Stamped" > "$(<)"
}
# This causes the png files built above to be copied into the
# html/images/accumulators directory.
make statsdoclatex.tag
: statsdoc.html
: @copy-latex-pngs
;
doxygen statsdoc
:
weighted_tail_quantile.hpp
:
<doxygen:param>EXTRACT_ALL=YES
<doxygen:param>"PREDEFINED=\"BOOST_ACCUMULATORS_DOXYGEN_INVOKED=1\" \\
\"BOOST_PP_REPEAT_FROM_TO(a,b,c,d)=\" \\
\"BOOST_PP_REPEAT(a,b,c)=\" \\
\"BOOST_PARAMETER_KEYWORD(a,b)=\\
namespace a { struct b {}; } \\
boost::parameter::keyword<a::b> const b;\" \\
\"BOOST_PP_ENUM_PARAMS(a,b)=b ## 1, b ## 2, ...\""
<doxygen:param>HIDE_UNDOC_MEMBERS=NO
<doxygen:param>EXTRACT_PRIVATE=NO
<doxygen:param>ENABLE_PREPROCESSING=YES
<doxygen:param>MACRO_EXPANSION=YES
<doxygen:param>EXPAND_ONLY_PREDEF=YES
<doxygen:param>SEARCH_INCLUDES=NO
<doxygen:param>TAGFILES=accumulators.tag
<xsl:param>boost.doxygen.header.prefix=doc
<xsl:param>boost.doxygen.formuladir=images/accumulators/
<reftitle>"Statistics Library Reference"
<dependency>tagfile
<dependency>statsdoclatex.tag
<dependency>latex.check
<dependency>dvips.check
<dependency>gs.check
;
if htmlhelp in [ modules.peek : ARGV ]
{
#
# Start with a rule to convert htmlhelp project into
# compiled help file:
#
make htmlhelp/htmlhelp.chm : standalone : @hhc ;
actions ignore hhc
{
hhc htmlhelp/htmlhelp.hhp
}
#
# These install rules copy our images into a subdirectory of the created
# htmlhelp project directory: unfortunately hhc.exe will only embed
# images in a subdirectory of the project root.
#
install htmlhelp1 : [ glob html/images/*.png ] : <location>htmlhelp/images ;
install htmlhelp1a : [ glob html/images/*.svg ] : <location>htmlhelp/images ;
install htmlhelp2 : [ glob html/images/accumulators/*.png ] : <dependency>statsdoc <location>htmlhelp/images/accumulators ;
install htmlhelp3 : [ glob ../src/images/*.png ] : <dependency>statsdoc <location>htmlhelp/images ;
install htmlhelp4 : [ glob ../src/images/callouts/*.png ] : <dependency>statsdoc <location>htmlhelp/images/callouts ;
}
xml test : test.qbk ;
boostbook standalone
:
test
:
<dependency>statsdoc
<format>htmlhelp:<dependency>htmlhelp1
<format>htmlhelp:<dependency>htmlhelp1a
<format>htmlhelp:<dependency>htmlhelp2
<format>htmlhelp:<dependency>htmlhelp3
<format>htmlhelp:<dependency>htmlhelp4
# HTML options first:
#======================================================================
<xsl:param>toc.max.depth=2
<xsl:param>toc.section.depth=2
<xsl:param>chunk.section.depth=1
<xsl:param>boost.root=../../..
<xsl:param>navig.graphics=1
# PDF Options:
#======================================================================
<format>pdf:<xsl:param>img.src.path=$(images_location)/
<format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/test/html
# HTML Help Options:
#======================================================================
#<format>htmlhelp:<xsl:param>img.src.path=../html
<format>htmlhelp:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/test/html
<format>htmlhelp:<xsl:param>htmlhelp.chm=test.chm
;
install pdf-install : standalone : <location>. <install-type>PDF ;