I'm building this test environment using jikes and optionally javac. No ant. The files are compiled in the source tree and the classes are collected under the build directory. Although I have a minimal requirement as yet for any of the support facilities that are provided by the ant construction of the build sources, any that are required, like setting version information, are done manually in the files under the build directory. Checkout the FOP_0-20-0_Alt-Design tag from CVS, which now includes xalan and xerces. To build, set the environment variables FOPDEV and JAVA_HOME. JAVA_HOME should be the directory under which the jre directory resides. I have been compiling with the IBM 1.3 jdk under linux. FOPDEV is the path to the xml-fop directory under which src and build reside. Then source the following files, found in the xml-fop/bin directory, in order . bin/.path.functions . bin/fopdevenv These are designed as Bourne and up shell files. Unix only, I'm afraid. The fopcomp script (found in the bin directory) is designed to execute from anywhere in the source tree where .java files may be found. Make sure fopcomp is accessible via your PATH. Then, e.g., cd src/org/apache/fop/apps fopcomp Fop.java Because the properties classes, and many of the FO classes, are never named in the source, files in these directories must be specifically compiled. The Dummy class in org/apache/fop/fo/properties and org/apache/fop/fo/flow exists to facilitate this. They may be compiled directly, or invoked indirectly by compiling with fopcompall instead of fopcomp. Note that, for now, the files from the conf directory are also installed in the build/classes conf directory. This messiness will be cleaned up when I get to the point of setting up an ant build environment. Running. Firstly, fix build/classes/conf/userconfig.xml. It has examples of command-line override values specific to my environment. Sorry about that. N.B. As at the time of integrating this experimental code into the CVS tree, running may well throw an exception. The code has not yet been comprehensively tested. If you do see an exception, please send the fo file to me. The code doesn't do much as yet, but to see what it does get up to, I use the extensions I have made to the config functionality. userconfig.xml is duly noted as the default user config file in config.xml. In userconfig.xml I put my input mode, input file name and output file name. Everything except fo->pdf has been stripped away at this stage, but it still has to be specified. See build/conf/userconfig.xml for the way I have set up my simple test run. I have a pre-constructed .fo file. Note that no output is actually produced to a pdf file. To run, once my CLASSPATH environment is set up, I java org.apache.fop.apps.Fop possibly adding a -d flag.