| # 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 $(<) |
| } |