PageRenderTime 31ms CodeModel.GetById 27ms app.highlight 1ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/doc/test/Jamfile.v2

http://hadesmem.googlecode.com/
text | 207 lines | 181 code | 26 blank | 0 comment | 0 complexity | 8e4138f1793b69ffe2f7cb5a5243e0c3 MD5 | raw file
  1# Copyright John Maddock 2008. Use, modification, and distribution are
  2# subject to the Boost Software License, Version 1.0. (See accompanying
  3# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4
  5import os ;
  6import common ;
  7import doxygen ;
  8using quickbook ;
  9import modules ;
 10
 11path-constant images_location : html ;
 12
 13#
 14# Accumulators docs are dependent upon
 15# latex dvips and ps being in your PATH.
 16# This is true for most Unix installs, but
 17# not on Win32, where you will need to install
 18# MkTex and Ghostscript and add these tools
 19# to your path.
 20#
 21make latex.check : : @check-latex ;
 22actions check-latex
 23{
 24    latex -version > latex.version
 25}
 26
 27make dvips.check : : @check-dvips ;
 28actions check-dvips
 29{
 30    dvips -version > dvips.version
 31}
 32
 33make gs.check : : @check-gs ;
 34
 35import os ;
 36
 37if [ os.name ] = "NT"
 38{
 39   actions check-gs
 40   {
 41       gswin32c -version > gs.version
 42   }
 43}
 44else
 45{
 46   actions check-gs
 47   {
 48       gs -version > gs.version
 49   }
 50}
 51
 52
 53# Use Doxygen to emit a tagfile with the definition of depends_on<>. That
 54# tagfile will be used by Doxygen below when generating the Statistics Library
 55# Reference. This is all so that the Doxygen-generated documentation for the
 56# features shows the dependency relationships between them.
 57doxygen tagfile
 58    :
 59        ../../boost/accumulators/framework/depends_on.hpp
 60        ../../boost/accumulators/framework/extractor.hpp
 61    :
 62        <doxygen:param>MACRO_EXPANSION=YES
 63        <doxygen:param>EXPAND_ONLY_PREDEF=YES
 64        <doxygen:param>GENERATE_TAGFILE=accumulators.tag
 65        <doxygen:param>"PREDEFINED=\"BOOST_ACCUMULATORS_DOXYGEN_INVOKED=1\" \\
 66                                   \"BOOST_PP_REPEAT_FROM_TO(a,b,c,d)=\" \\
 67                                   \"BOOST_PP_ENUM_PARAMS(a,b)=b ## 1, b ## 2, ...\""
 68        <dependency>latex.check
 69        <dependency>dvips.check
 70        <dependency>gs.check
 71    ;
 72
 73# Generate the HTML form of the stats documentation, as this causes Doxygen to
 74# generate .png images for the LaTeX formulas embedded in the doc comments.
 75doxygen statsdoc.html
 76    :
 77        weighted_tail_quantile.hpp
 78    :
 79        <dependency>latex.check
 80        <dependency>dvips.check
 81        <dependency>gs.check
 82    ;
 83
 84if [ os.name ] = NT
 85{
 86    CP = copy /y ;
 87    MKDIR = mkdir ;
 88    FROM = \\..\\..\\..\\html\\statsdoc\\*.png ;
 89    TOHTML = .\\html\\images\\accumulators ;
 90    TOPDF = \\images\\accumulators ;
 91}
 92else
 93{
 94    CP = cp ;
 95    MKDIR = mkdir -p ;
 96    FROM = /../../html/statsdoc/*.png ;
 97    TOHTML = ./html/images/accumulators ;
 98    TOPDF = /images/accumulators ;
 99}
100
101actions copy-latex-pngs
102{
103    $(MKDIR) $(TOHTML)
104    $(MKDIR) $(<:D)$(TOPDF)
105    $(CP) $(<:D)$(FROM) $(TOHTML)
106    $(CP) $(<:D)$(FROM) $(<:D)$(TOPDF)
107    echo "Stamped" > "$(<)"
108}
109
110# This causes the png files built above to be copied into the
111# html/images/accumulators directory.
112make statsdoclatex.tag
113    : statsdoc.html
114    : @copy-latex-pngs
115    ;
116
117doxygen statsdoc
118    :
119        weighted_tail_quantile.hpp
120    :
121        <doxygen:param>EXTRACT_ALL=YES
122        <doxygen:param>"PREDEFINED=\"BOOST_ACCUMULATORS_DOXYGEN_INVOKED=1\" \\
123                                   \"BOOST_PP_REPEAT_FROM_TO(a,b,c,d)=\" \\
124                                   \"BOOST_PP_REPEAT(a,b,c)=\" \\
125                                   \"BOOST_PARAMETER_KEYWORD(a,b)=\\
126                                         namespace a { struct b {}; } \\
127                                         boost::parameter::keyword<a::b> const b;\" \\
128                                   \"BOOST_PP_ENUM_PARAMS(a,b)=b ## 1, b ## 2, ...\""
129        <doxygen:param>HIDE_UNDOC_MEMBERS=NO
130        <doxygen:param>EXTRACT_PRIVATE=NO
131        <doxygen:param>ENABLE_PREPROCESSING=YES
132        <doxygen:param>MACRO_EXPANSION=YES
133        <doxygen:param>EXPAND_ONLY_PREDEF=YES
134        <doxygen:param>SEARCH_INCLUDES=NO
135        <doxygen:param>TAGFILES=accumulators.tag
136        <xsl:param>boost.doxygen.header.prefix=doc
137        <xsl:param>boost.doxygen.formuladir=images/accumulators/
138        <reftitle>"Statistics Library Reference"
139        <dependency>tagfile
140        <dependency>statsdoclatex.tag
141        <dependency>latex.check
142        <dependency>dvips.check
143        <dependency>gs.check
144    ;
145
146if htmlhelp in [ modules.peek : ARGV ]
147{
148	#
149	# Start with a rule to convert htmlhelp project into
150	# compiled help file:
151	#
152	make htmlhelp/htmlhelp.chm : standalone : @hhc ;
153	actions ignore hhc
154	{
155		hhc htmlhelp/htmlhelp.hhp
156	}
157	#
158	# These install rules copy our images into a subdirectory of the created
159	# htmlhelp project directory: unfortunately hhc.exe will only embed
160	# images in a subdirectory of the project root.
161	#
162	install htmlhelp1 : [ glob html/images/*.png ] : <location>htmlhelp/images ;
163	install htmlhelp1a : [ glob html/images/*.svg ] : <location>htmlhelp/images ;
164	install htmlhelp2 : [ glob html/images/accumulators/*.png ] : <dependency>statsdoc <location>htmlhelp/images/accumulators ;
165	install htmlhelp3 : [ glob ../src/images/*.png ] : <dependency>statsdoc <location>htmlhelp/images ;
166	install htmlhelp4 : [ glob ../src/images/callouts/*.png ] : <dependency>statsdoc <location>htmlhelp/images/callouts ;
167}
168
169xml test : test.qbk ;
170boostbook standalone
171    :
172        test
173    :
174        <dependency>statsdoc
175        <format>htmlhelp:<dependency>htmlhelp1
176        <format>htmlhelp:<dependency>htmlhelp1a
177        <format>htmlhelp:<dependency>htmlhelp2
178        <format>htmlhelp:<dependency>htmlhelp3
179        <format>htmlhelp:<dependency>htmlhelp4
180
181        # HTML options first:
182        #======================================================================
183
184        <xsl:param>toc.max.depth=2
185        <xsl:param>toc.section.depth=2
186        <xsl:param>chunk.section.depth=1
187        <xsl:param>boost.root=../../..
188        <xsl:param>navig.graphics=1
189
190
191        # PDF Options:
192        #======================================================================
193        <format>pdf:<xsl:param>img.src.path=$(images_location)/
194        <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/test/html
195
196        # HTML Help Options:
197        #======================================================================
198        #<format>htmlhelp:<xsl:param>img.src.path=../html
199        <format>htmlhelp:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/test/html
200        <format>htmlhelp:<xsl:param>htmlhelp.chm=test.chm
201    ;
202
203
204install pdf-install : standalone : <location>. <install-type>PDF ;
205
206
207