2
0
mirror of https://github.com/boostorg/build.git synced 2026-02-15 00:52:16 +00:00
Files
build/src/tools/docutils.jam
Dave Abrahams 9bdf52b185 Workaround for bjam scanner bug that captures trailing newlines.
Added docutils-cmd feature that allows the command to be overridden.


[SVN r36492]
2006-12-22 14:50:37 +00:00

82 lines
1.8 KiB
Plaintext
Executable File

# Copyright David Abrahams 2004. 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)
# Support for docutils ReStructuredText processing.
import type ;
import scanner ;
import generators ;
import os ;
import common ;
import toolset ;
import path ;
import feature : feature ;
.initialized = ;
type.register ReST : rst ;
class rst-scanner : common-scanner
{
rule __init__ ( paths * )
{
common-scanner.__init__ . $(paths) ;
}
rule pattern ( )
{
return "^[ ]*\\.\\.[ ]+include::[ ]+([^
]+)"
"^[ ]*\\.\\.[ ]+image::[ ]+([^
]+)"
"^[ ]*\\.\\.[ ]+figure::[ ]+([^
]+)"
;
}
}
scanner.register rst-scanner : include ;
type.set-scanner ReST : rst-scanner ;
generators.register-standard docutils.html : ReST : HTML ;
rule init ( docutils-dir ? )
{
docutils-dir ?= [ modules.peek : DOCUTILS_DIR ] ;
if ! $(.initialized)
{
.initialized = true ;
.docutils-dir = $(docutils-dir) ;
.setup = [
common.prepend-path-variable-command PYTHONPATH
: $(.docutils-dir) $(.docutils-dir)/extras ] ;
}
}
rule html ( target : source : properties * )
{
local command-prefix = "python "$(.docutils-dir)/tools/ ;
if ! [ on $(target) return $(RST2XXX) ]
{
RST2XXX on $(target) = $(command-prefix:E="")rst2html.py ;
}
}
feature docutils : : free ;
feature docutils-html : : free ;
feature docutils-cmd : : free ;
toolset.flags docutils COMMON-FLAGS : <docutils> ;
toolset.flags docutils HTML-FLAGS : <docutils-html> ;
toolset.flags docutils RST2XXX : <docutils-cmd> ;
actions html
{
$(.setup)
$(RST2XXX) $(COMMON-FLAGS) $(HTML-FLAGS) $(>) $(<)
}