Jamfile.v2 6.4 KB

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