blob: c24b8725f9c73c8b0eb0cbf6a3b969149a1086de (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
# Copyright (C) 2003-2004 Doug Gregor and Dave Abrahams. 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)
#
# This module defines rules to handle generation of PDF and
# PostScript files from XSL Formatting Objects via Apache FOP
import generators ;
import common ;
import boostbook ;
generators.register-standard fop.render.pdf : FO : PDF ;
generators.register-standard fop.render.ps : FO : PS ;
# Initializes the fop toolset.
#
rule init ( fop-command ? : java-home ? : java ? )
{
local has-command = $(.has-command) ;
if $(fop-command)
{
.has-command = true ;
}
if $(fop-command) || ! $(has-command)
{
fop-command = [ common.get-invocation-command fop : fop : $(fop-command)
: [ modules.peek : FOP_DIR ] ] ;
}
if $(fop-command)
{
.FOP_COMMAND = $(fop-command) ;
}
if $(java-home) || $(java)
{
.FOP_SETUP = ;
# JAVA_HOME is the location that java was installed to.
if $(java-home)
{
.FOP_SETUP += [ common.variable-setting-command JAVA_HOME : $(java-home) ] ;
}
# JAVACMD is the location that of the java executable, useful for a
# non-standard java installation, where the executable isn't at
# $JAVA_HOME/bin/java.
if $(java)
{
.FOP_SETUP += [ common.variable-setting-command JAVACMD : $(java) ] ;
}
}
}
actions render.pdf
{
$(.FOP_SETUP) $(.FOP_COMMAND:E=fop) $(>) $(<)
}
actions render.ps
{
$(.FOP_SETUP) $(.FOP_COMMAND:E=fop) $(>) -ps $(<)
}
|