project tools/inspect/doc ;

import path ;

using quickbook ;

xml inspect
    :
    inspect.qbk
    ;

boostbook standalone
    :
        inspect
    :
        <xsl:param>boost.root=../../../..
    ;

#~ Copyright Rene Rivera 2006.
#~ Distributed under 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)
