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