# Copyright Eric Niebler 2005. 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 doxygen ;
import quickbook ;

doxygen autodoc
    :
        [ glob ../../../boost/xpressive/*.hpp ]
        [ glob ../../../boost/xpressive/traits/*.hpp ]
    :
        <doxygen:param>EXTRACT_ALL=YES
        <doxygen:param>"PREDEFINED=\"BOOST_XPRESSIVE_DOXYGEN_INVOKED\" \\
                                   \"BOOST_DEDUCED_TYPENAME=typename\" \\
                                   \"BOOST_XPRESSIVE_GLOBAL_MARK_TAG(x,y)=mark_tag const x(y)\" \\
                                   \"BOOST_STATIC_CONSTANT(x,y)=static x const y\" \\
                                   \"BOOST_XPR_NONDEDUCED_TYPE_(X)=X\""
        <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=YES
        <doxygen:param>INCLUDE_PATH=$(BOOST_ROOT)
    ;

xml xpressive
    :
        xpressive.qbk
    ;

boostbook standalone
    :
        xpressive
    :
        <xsl:param>boost.root=../../../..
        <xsl:param>toc.max.depth=3
        <xsl:param>toc.section.depth=3
        <xsl:param>chunk.section.depth=3
        <dependency>autodoc
        <format>pdf:<xsl:param>boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html
    ;
