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