Building YajHFC from source =========================== 1. Required software packages ----------------------------- You will need to have the following software packages installed to build YajHFC: - A Java JDK, version >= 1.6.0 (http://java.sun.com/javase/downloads) - Apache Ant, version >= 1.7.0 (http://ant.apache.org/) - The gnu.hylafax library (http://gnu-hylafax.sourceforge.net/) Note: Currently (as of YajHFC 0.5.7), you will have to use the patched version from https://code.google.com/p/yajhfc.gnu-hylafax/ ) - "Java look and feel Graphics Repository" (jlfgr-1_0.jar from http://java.sun.com/developer/techDocs/hi/repository/) - TableLayout.jar (https://tablelayout.dev.java.net/) - Apache commons logging (http://commons.apache.org/logging/) - jna.jar and platform.jar from JNA (https://github.com/twall/jna) If you want to build YajHFC from CVS or modify translations, you will also need: - GNU gettext (http://www.gnu.org/software/gettext/) If you want to modify the documentation, you will also need: - pdflatex (i.e. from TeTeX, also see http://www.tug.org/) - latex2html (http://www.latex2html.org/) 2. Build instructions --------------------- To build YajHFC, go to the source directory (the directory where build.xml and this file reside in) and perform the following steps: i) Edit the file build.properties: - Specifiy the location of the required jar files (jlfgr, tablelayout, commons-logging) - Specify the location of the gnu.hylafax library. Usually you only have to set the gnu.hylafax-dir property to do the latter. If the build file insists that the library can not be found, please see note a) below. ii) Invoke the following command: ant dist This compiles YajHFC and creates the JAR file build/yajhfc.jar. That file can be used just like a jar downloaded from the YajHFC homepage. NOTES: ~~~~~~ a) Currently the build file supports two layouts of the gnu.hylafax directory (the build file automatically detects which one to use): i) "Class file directory": In this case it is expected to find the compiled .class files "directly" below the directory (i.e. ${gnu.hylafax-dir}/gnu/hylafax/HylaFAXClient.class must exist). ii) JARs: In this case it is expected to find both the files ${gnu.hylafax-dir}/lib/gnu-hylafax-core-*.jar and ${gnu.hylafax-dir}/lib/gnu-hylafax-inet-ftp-*.jar. "*" in the name above is just a normal wildcard (to make it independent from the actual version of the library; for example the files will actually be named "gnu-hylafax-inet-ftp-1.0.0-b2.jar" and "gnu-hylafax-core-1.0.0-b2.jar"). When you have downloaded a distribution from http://gnu-hylafax.sourceforge.net usually layout (ii) will be used. If you are sure that you have specified the right directory in build.properties and the JARs are still not found, please try setting gnu.hylafax-jar-core and gnu.hylafax-jar-inet-ftp, too. b) Currently building the documentation and the translations only works on a Unix-like system because a shell script is used in the build process (yajhfc/i18n/fmtall.sh and doc/faq-src/buildfaq.sh respectively). Creating Windows batch (or VBS/JScript) files with the same functionality should be possible, however. Please also note that this is only a problem if you want to build YajHFC from CVS (or modify docs/translations) as the source archive contains precompiled translations and documentation.