#==============================================================================
#   Copyright (c) 2001-2010 Joel de Guzman
#   Copyright (c) 2001-2010 Hartmut Kaiser
#
#   Use, modification and distribution is 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)
#==============================================================================

project spirit/repository/doc ;

import boostbook ;
import quickbook ;

path-constant images_location : html ;

boostbook spirit2_repository
    :
        spirit2_repository.qbk
    :
        <xsl:param>boost.root=../../../../..
        <xsl:param>chunk.section.depth=4
        <xsl:param>chunk.first.sections=1
        <xsl:param>toc.section.depth=3
        <xsl:param>toc.max.depth=3
        <xsl:param>generate.section.toc.level=4
        <format>html:<xsl:param>admon.graphics.path=images/

        <include>.
        <format>pdf:<xsl:param>img.src.path=$(images_location)/
        <format>pdf:<xsl:param>draft.mode="no"
        <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/libs/spirit/repository/doc/html
    ;
