1 2# Boost.circular_buffer library documentation Jamfile.v2 3# 4# Copyright Paul A. Bristow 2013. 5# Copyright Jan Gaspar 2003-2008. 6 7# Use, modification and distribution is subject to 8# the Boost Software License, Version 1.0. 9# (See accompanying file LICENSE_1_0.txt 10# or copy at http://www.boost.org/LICENSE_1_0.txt) 11 12path-constant nav_images : html/images/ ; # png and svg images for home, next, note, tip... 13path-constant images_location : html/images ; # location of my SVG and PNG images referenced by Quickbook. 14path-constant pdf_images_location : .. ; # location of SVG and PNG images referenced by pdf. 15path-constant here : . ; # location of /doc folder. 16 17# echo "nav_images = " $(nav_images) ; # "nav_images = I:\boost-trunk\libs\circular_buffer\doc\html\images 18# echo "images_location = " $(images_location) ; # images_location = I:\boost-trunk\libs\circular_buffer\doc\html\images 19# echo "pdf_images_location = " $(pdf_images_location) # 20import modules ; 21using auto-index ; 22using doxygen ; # Required if you want to use Doxygen. 23using quickbook ; 24 25 26doxygen autodoc 27 : 28 # List all the files individually (RECURSIVE=NO ). 29 [ glob ../../../boost/circular_buffer.hpp ] 30 [ glob ../../../boost/circular_buffer/base.hpp ] 31 [ glob ../../../boost/circular_buffer/space_optimized.hpp ] 32 33 : 34 # Pass some setting parameters to Doxygen. 35 <doxygen:param>WARNINGS=YES # Default NO, but useful to see warnings, especially in a logfile. 36 # It is also wise to to set a warnings logfile like this: 37 <doxygen:param>WARN_LOGFILE=AutoDoxywarnings.log # This may not be empty (usually not a good sign!), depending on options chosen. 38 # Much better to send message to a logfile than the default stderr. 39 # and make sure that there are no Doxygen errors or significant warnings in the log file. 40 <doxygen:param>RECURSIVE=NO # Search recursively down .hpp and .cpp subdirectories. 41 <doxygen:param>EXTRACT_ALL=NO 42 <doxygen:param>EXTRACT_PRIVATE=NO # NO means do not extract info about private member functions and data. 43 <doxygen:param>HIDE_UNDOC_MEMBERS=YES # Only show members that have some documentation like \param, \return ... 44 <doxygen:param>MACRO_EXPANSION=YES # YES will expand all macro names in the source code (default = NO). 45 <doxygen:param>EXPAND_ONLY_PREDEF=YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES 46 # then the macro expansion is limited to the macros specified with the PREDEFINED and EXPAND_AS_DEFINED tags. 47 # If EXPAND_ONLY_PREDEF tag can be used to specify a list of macro names that should be expanded (as defined). 48 # The PREDEFINED tag can be used to specify one or more macro names that are defined 49 # before the preprocessor is started (similar to the -D option of gcc). 50 # The argument of the tag is a list of macros of the form: 51 # name or name=definition (no spaces). 52 # If the definition and the "=" are omitted, "=1" is assumed. 53 # To prevent a macro definition from being undefined via #undef or 54 # recursively expanded use the := operator instead of the = operator. 55 # See http://www.stack.nl/~dimitri/doxygen/config.html#cfg_predefined. 56 # static char *malloc BOOST_PREVENT_MACRO_SUBSTITUTION(const size_type bytes); 57 # will not produce a helpful Doxygen output, so 58 # replace some with more helpful text, or none, for example: 59 <doxygen:param>"PREDEFINED= \\ 60 \"BOOST_PREVENT_MACRO_SUBSTITUTION\" \\ 61 \"BOOST_STATIC_CONSTANT(T,V)=static x const y\" \\ 62 \"BOOST_UNITS_AUTO_STATIC_CONSTANT(a,b)=static const auto a = b\" \\ 63 \"BOOST_DEDUCED_TYPENAME=typename\" \\ 64 \"BOOST_CONSTEXPR=constexpr\" \\ 65 \"BOOST_CONTAINER_NOEXCEPT=noexcept\" \\ 66 \"BOOST_CONTAINER_NOEXCEPT_IF(T)=noexcept(T)\" \\ 67 \"BOOST_UNITS_TYPEOF(a)=typeof(a)\" \\ 68 \"BOOST_UNITS_HAS_TYPEOF=1\" \\ 69 \"BOOST_MPL_ASSERT(expr)=\" \\ 70 \"BOOST_ASSERT(expr)=\" \\ 71 \"BOOST_RV_REF(T)=T &&\" \\ 72 \"ASSERT(x)=assert(x)\" \\ 73 \"__cplusplus \"" 74 # BOOST_PREVENT_MACRO_SUBSTITUTION, will not be replaced by , 75 # BOOST_STATIC_CONSTANT will be replaced by "static x const y", 76 # BOOST_DEDUCED_TYPENAME will be replaced by "typename", 77 # BOOST_CONSTEXPR will be replaced by "constexpr". 78 <doxygen:param>EXCLUDE_SYMBOLS=*_throws 79 # <doxygen:param>IMAGE_PATH="../images" # for circular_buffer.png 80 # See autodoxywarnings.log to check this is correct. 81 82 # The syntax hoops to jump through are 'interesting' for more than one PREDEFINED, 83 # and to permit spaces within definitions (use double quotes). 84 # Don't forget that every double quote " needs a preceding \trip character! 85 # and that each trailing continuation \ needs a preceding \trip character too! 86 # And finally that if more than one item is included (as here) the whole is 87 # enclosed in "PREDEFINED=... ", but without a leading \. Go figure... 88 89 # A grep for PREDEFINED= in jamfiles will reveal even more complex examples. 90 # Boost Libraries with useful examples are: Accumulators, Interprocess, MPI, Random, Units, Expressive. 91 92 # Optionally, you can provide a Reference section name specific for your library, for example: 93 <xsl:param>"boost.doxygen.reftitle=Boost.Circular_buffer C++ Reference" 94 ; 95 96xml circular_buffer : circular_buffer.qbk ; 97 98using boostbook ; 99 100boostbook standalone 101 : 102 circular_buffer 103 : 104 105 # General settings 106 # ================= 107 <format>html:<xsl:param>boost.root=../../../.. 108 <format>html:<xsl:param>img.src.path=../../../../doc/html/ 109 <format>docbook:<xsl:param>boost.root=boost: 110 111 # Options for html and pdf 112 # ======================== 113 # No indent on body text: 114 <xsl:param>body.start.indent=0pt 115 # Margin size: 116 <xsl:param>page.margin.inner=0.5in 117 # Margin size: 118 <xsl:param>page.margin.outer=0.5in 119 # Yes, we want graphics for admonishments: 120 <xsl:param>admon.graphics=1 121 122 # HTML options: 123 # ============= 124 # Use graphics icons not text for navigation: 125 <xsl:param>navig.graphics=1 126 # How far down we chunk nested sections, basically all of them: 127 <xsl:param>chunk.section.depth=2 128 # Don't put the first section on the same page as the TOC itself: 129 <xsl:param>chunk.first.sections=1 130 # How far down sections get TOC's 131 <xsl:param>toc.section.depth=4 132 # Max depth in each TOC: 133 <xsl:param>toc.max.depth=2 134 # How far down we go with TOC's 135 <xsl:param>generate.section.toc.level=10 136 # Horizontal ? spacing in table cells. 137 <format>html:<xsl:param>html.cellspacing=3 # pixels 138 # Vertical spacing in table cells. 139 <format>html:<xsl:param>html.cellpadding=5 # pixels 140 # Not sure if these are right way round? 141 142 <auto-index>on # Turns on index (or off). 143 # Turns on (or off) index-verbose for diagnostic info (using /bin auto-index-verbose folders). 144 <auto-index-verbose>on 145 146 <format>pdf:<auto-index-internal>off # on (or off) to use internally generated indexes. 147 148 <format>html:<xsl:param>index.on.type=1 # = 1 For the native stylesheets to generate multiple different indexes. 149 150 <auto-index-script>circular_buffer.idx # Specifies the name of the script to load for circular_buffer. 151 <auto-index-prefix>../../.. # Will get you back up to /circular_buffer, so !scan-path "boost/circular_buffer/" is where *.hpp will be, 152 # and /libs/circular_buffer for other files. 153 # Without this would need !scan-path "../../../boost/circular_buffer" 154 155 # Used by Quickbook to invoke indexing. 156 # Required by boost-trunk/doc/ see jamfile.v2 to use auto-index. 157 # Choose indexing method for html: 158 <format>html:<auto-index-internal>on 159 <format>docbook:<auto-index-internal>on 160 161 # PDF Options: 162 # ============ 163 # TOC Generation: this is needed for FOP-0.9 and later: 164 <format>pdf:<xsl:param>fop1.extensions=0 165 # Or enable this if you're using XEP: 166 <format>pdf:<xsl:param>xep.extensions=1 167 # TOC generation: this is needed for FOP 0.2, but must not be set to zero for FOP-0.9! 168 <format>pdf:<xsl:param>fop.extensions=0 169 # No indent on body text: 170 <xsl:param>body.start.indent=0pt 171 # Margin size: 172 <xsl:param>page.margin.inner=0.5in 173 # Margin size: 174 <xsl:param>page.margin.outer=0.5in 175 176 # Yes, we want graphics for admonishments: 177 <xsl:param>admon.graphics=1 178 179 # Set these one for PDF generation *only*: 180 # default png graphics are awful in PDF form, 181 # better use SVG instead: 182 <format>pdf:<xsl:param>admon.graphics.extension=".svg" 183 #<format>pdf:<xsl:param>admon.graphics.extension=".png" # Only png images are available. 184 # Don't need this, default path works OK: 185 #<format>pdf:<xsl:param>admon.graphics.path=$(nav_images)/ # next, prev, note, tip ... for pdf. 186 <format>pdf:<xsl:param>use.role.for.mediaobject=1 187 <format>pdf:<xsl:param>preferred.mediaobject.role=print 188 <format>pdf:<xsl:param>img.src.path=$(pdf_images_location)/ # graphics (diagrams) for pdf. 189 <format>pdf:<xsl:param>draft.mode="no" 190 <format>pdf:<xsl:param>boost.url.prefix=../../../.. 191 192 <dependency>autodoc # 193 <dependency>png_install 194 ; 195 196# Install (copy) the 'master' copies of all icon images (both PNG and SVG) 197# and the Boost logo from your current Boost-root 198# to the local /doc/html/images folder so that html is complete and standalone. 199install png_install : [ glob $(here)/*.png ] : <location>$(here)/../../../doc/html/images ; 200 201# install pdf-install : standalone : <install-type>PDF <location>. ; 202# Effectively copies the file from \bin folder to the \doc folder, 203# but will not work as expected if doxygen and/or autoindex is used 204# because a modified pdf file is created, so this command 205# will rename the file to the expected filename, here circular_buffer.pdf. 206 207install pdfinstall : standalone : <install-type>PDF <location>. <name>circular_buffer.pdf ; 208 209############################################################################### 210alias boostdoc 211 : standalone/<format>docbook 212 : 213 : 214 : ; 215explicit boostdoc ; 216alias boostrelease ; 217explicit boostrelease ; 218