# Compiling FOP

| Prerequisites |

| Java 1.1.x or later |

| If you use Java 1.1.x you must also seperately include the swing classes, which can be found at the Sun website. From Java 1.2 on (aka Java 2) they are part of the standard distribution.

| An XML parser |

| An XML parser which supports Sax and DOM like Xerces-J. The parser must be in your classpath

| The xslt processor Xalan |

Some of the Java source code in FOP is generated from XML using XSLT. Xalan must be used to generate this code.

Xalan is an XSL stylesheet processor written in java. At the moment you can't use any other processor, because the make process makes use of some proprietary features of Xalan which allow to write output in more then one document. You can find Xalan also at xml.apache.org. You have to use Xalan version 0.19.5 or later. Xalan.jar must be in your classpath and also the file bsf.jar, which comes with Xalan.

| Setting of JAVA_HOME |

| You have to set the enviroment variable JAVA_HOME. It must point to your local JDK root directory. This is true, even if you use JDK 1.2 or above, which don't need this setting. It is used by the compilation software.

| Settings in your classpath |

| If you want Fop to use the image library jimi, it should be in your classpath during compilation. A CLASSPATH for a complete compilation of Fop could look like this, if all these jar files are in a directory called jars (example uses windows syntax): `set CLASSPATH=\jars\xalan.jar;\jars\xerces.jar;\jars\bsf.jar;\jars\jimi.jar;`

| Compiling |

| Compilation is started by executing build, either as a batch file on win32 (build.bat) or as a shell script on unix. The compilation uses Ant, a replacement of make (you can find more information about Ant at jakarte.apache.org). build.xml is the replacement of makefile. Look there for further information. A help screen is shown by calling "build usage".

| Problems |

| If you have problems compiling Fop, please try this first: delete the build directory completely and try a new build from scratch. Check, whether you have all necessary libraries in your classpath: xerces.jar, xalan.jar, bsf.jar, jimi.jar (optional). If you still have problems, please look at the page bugs, for further help.

| Compiling FOP on MacOS |

| We strongly recommend the use of Codewarrior Java. You will find a link to more information in the near future.

Copyright © 1999 The Apache Software Foundation. All Rights Reserved.