mirror of
https://github.com/boostorg/build.git
synced 2026-02-18 14:02:11 +00:00
Setup the BoostBook XSL and DTD directories along with the DocBook XSL
and DTD directories, in the initialization phase. After that, we don't get to peek at BOOST_ROOT anymore. [SVN r17984]
This commit is contained in:
@@ -42,14 +42,22 @@ generators.register-standard boostbook.docbook-to-fo : DOCBOOK : FO ;
|
||||
generators.register-standard boostbook.fo-to-print : FO : PDF ;
|
||||
generators.register-standard boostbook.fo-to-print : FO : PS ;
|
||||
|
||||
# Initialize BoostBook support. The docbook-xsl-dir parameter refers
|
||||
# to the DocBook XSL stylesheet directory and the docbook-dtd-dir
|
||||
# parameter refers to the DocBook DTD directory. If not provided, the
|
||||
# parameters are derived from DOCBOOK_XL_DIR and DOCBOOK_DTD_DIR,
|
||||
# respectively, although no definition of these variables is required
|
||||
# because we can just download the stylesheets/DTD on-the-fly (or
|
||||
# there may be another, local catalog to fall back on)
|
||||
rule init ( docbook-xsl-dir ? : docbook-dtd-dir ? )
|
||||
# Initialize BoostBook support. The parameters are:
|
||||
# docbook-xsl-dir: The DocBook XSL stylesheet directory. If not provided,
|
||||
# we use DOCBOOK_XSL_DIR from the environment (if available). Otherwise,
|
||||
# we let the XML processor load the stylesheets remotely.
|
||||
#
|
||||
# docbook-dtd-dir: The DocBook DTD directory. If not provided, we use
|
||||
# DOCBOOK_DTD_DIR From the environment (if available). Otherwise, we let
|
||||
# the XML processor load the DTD remotely.
|
||||
#
|
||||
# boostbook-xsl-dir: The BoostBook XSL stylesheet directory. If not provided,
|
||||
# we use $(BOOST_ROOT)/tools/boostbook/xsl (the default location).
|
||||
#
|
||||
# boostbook-dtd-dir: The BoostBook DTD directory. If not provided, we use
|
||||
# $(BOOST_ROOT)/tools/boostbook/dtd (the default location).
|
||||
rule init ( docbook-xsl-dir ? : docbook-dtd-dir ? : boostbook-xsl-dir ?
|
||||
: boostbook-dtd-dir ? )
|
||||
{
|
||||
if ! $(docbook-xsl-dir)
|
||||
{
|
||||
@@ -61,11 +69,25 @@ rule init ( docbook-xsl-dir ? : docbook-dtd-dir ? )
|
||||
docbook-dtd-dir = [ modules.peek : DOCBOOK_DTD_DIR ] ;
|
||||
}
|
||||
|
||||
if ! $(boostbook-xsl-dir)
|
||||
{
|
||||
boostbook-xsl-dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
boostbook-xsl-dir = $(boostbook-xsl-dir)/tools/boostbook/xsl ;
|
||||
}
|
||||
|
||||
if ! $(boostbook-dtd-dir)
|
||||
{
|
||||
boostbook-dtd-dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
boostbook-dtd-dir = $(boostbook-dtd-dir)/tools/boostbook/dtd ;
|
||||
}
|
||||
|
||||
if ! $(.initialized)
|
||||
{
|
||||
$(.initialized) = true ;
|
||||
.docbook-xsl-dir = $(docbook-xsl-dir) ;
|
||||
.docbook-dtd-dir = $(docbook-dtd-dir) ;
|
||||
.boostbook-xsl-dir = $(boostbook-xsl-dir) ;
|
||||
.boostbook-dtd-dir = $(boostbook-dtd-dir) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -101,37 +123,31 @@ rule xslt-dir ( target : source stylesheet : properties * : dirname )
|
||||
|
||||
rule boostbook-to-docbook ( target : source : properties * )
|
||||
{
|
||||
local dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
xslt $(target) : $(source) "$(dir)/tools/boostbook/xsl/docbook.xsl" : $(properties) ;
|
||||
xslt $(target) : $(source) "$(.boostbook-xsl-dir)/docbook.xsl" : $(properties) ;
|
||||
}
|
||||
|
||||
rule docbook-to-onehtml ( target : source : properties * )
|
||||
{
|
||||
local dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
xslt $(target) : $(source) "$(dir)/tools/boostbook/xsl/html-single.xsl" : $(properties) ;
|
||||
xslt $(target) : $(source) "$(.boostbook-xsl-dir)/html-single.xsl" : $(properties) ;
|
||||
}
|
||||
|
||||
rule docbook-to-htmldir ( target : source : properties * )
|
||||
{
|
||||
local dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
xslt-dir $(target) : $(source) "$(dir)/tools/boostbook/xsl/html.xsl" : $(properties) : html ;
|
||||
xslt-dir $(target) : $(source) "$(.boostbook-xsl-dir)/html.xsl" : $(properties) : html ;
|
||||
}
|
||||
|
||||
rule docbook-to-manpages ( target : source : properties * )
|
||||
{
|
||||
local dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
xslt-dir $(target) : $(source) "$(dir)/tools/boostbook/xsl/manpages.xsl" : $(properties) : man ;
|
||||
xslt-dir $(target) : $(source) "$(.boostbook-xsl-dir)/manpages.xsl" : $(properties) : man ;
|
||||
}
|
||||
|
||||
rule docbook-to-fo ( target : source : properties * )
|
||||
{
|
||||
local dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
xslt $(target) : $(source) "$(dir)/tools/boostbook/xsl/fo.xsl" : $(properties) ;
|
||||
xslt $(target) : $(source) "$(.boostbook-xsl-dir)/fo.xsl" : $(properties) ;
|
||||
}
|
||||
|
||||
rule fo-to-print ( target : source : properties * )
|
||||
{
|
||||
local dir = [ modules.peek : BOOST_ROOT ] ;
|
||||
JAVA_HOME on $(target) = [ modules.peek : JAVA_HOME ] ;
|
||||
FOP_DIR on $(target) = [ modules.peek : FOP_DIR ] ;
|
||||
fop $(target) : $(source) ;
|
||||
@@ -150,6 +166,8 @@ rule xml-catalog-action ( target : property-set ? : catalog-entries * )
|
||||
[ feature.get-values <docbook-xsl> : $(catalog-entries) ] ;
|
||||
self.docbook-dtd-dir =
|
||||
[ feature.get-values <docbook-dtd> : $(catalog-entries) ] ;
|
||||
self.boostbook-dtd-dir =
|
||||
[ feature.get-values <boostbook-dtd> : $(catalog-entries) ] ;
|
||||
|
||||
rule actualize ( )
|
||||
{
|
||||
@@ -159,11 +177,10 @@ rule xml-catalog-action ( target : property-set ? : catalog-entries * )
|
||||
local actual = [ $(self.targets[1]).actualize ] ;
|
||||
local text = "<?xml version=\\\"1.0\\\"?>" ;
|
||||
|
||||
local boost-root = [ modules.peek : BOOST_ROOT ] ;
|
||||
local rewrites ;
|
||||
|
||||
# BoostBook DTD catalog entry
|
||||
rewrites += "<rewriteURI uriStartString=\\\"http://www.boost.org/tools/boostbook/dtd/\\\" rewritePrefix=\\\"$(boost-root)/tools/boostbook/dtd/\\\"/>" ;
|
||||
rewrites += "<rewriteURI uriStartString=\\\"http://www.boost.org/tools/boostbook/dtd/\\\" rewritePrefix=\\\"$(self.boostbook-dtd-dir)/\\\"/>" ;
|
||||
|
||||
if ! $(self.docbook-xsl-dir)
|
||||
{
|
||||
@@ -224,7 +241,6 @@ rule boostbook-target-class ( name : project : sources * : requirements *
|
||||
|
||||
rule construct ( source-targets * : property-set )
|
||||
{
|
||||
# Not working :(
|
||||
local path = [ project.attribute $(self.project) location ] ;
|
||||
local catalog = [ new file-target catalog : XML : $(self.project) ] ;
|
||||
$(catalog).action [ new xml-catalog-action $(catalog) : $(property-set)
|
||||
@@ -301,6 +317,7 @@ rule boostbook ( target-name : source : requirements * : default-build * )
|
||||
: [ targets.main-target-requirements $(requirements) : $(project) ]
|
||||
: [ targets.main-target-default-build $(default-build) : $(project) ]
|
||||
: <docbook-xsl>$(.docbook-xsl-dir) <docbook-dtd>$(.docbook-dtd-dir)
|
||||
<boostbook-dtd>$(.boostbook-dtd-dir)
|
||||
] ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user