HYLAFAX SOURCE DISTRIBUTIONS

The source distribution for HylaFAX contains all the code in the system except a small bit of code used to build the Display PostScript-based imager for Silicon Graphics machines (this code is useless unless you have a developers agreement with Adobe for Display PostScript). To build HylaFAX from sources you must have the TIFF software distribution installed on the system where HylaFAX is to be built.

The system is written almost entirely in contemporary C++. It uses nested types and in several places assumes the compiler generates code according to the ANSI C++ Reference Manual (ARM). The normal development environment for the software is based on compiler products from Silicon Graphics. Every effort is made to insure the code builds correctly under all contemporary C++ compilers, including the GNU gcc compiler distribution. Beware however that not all compilers will compile this software.

| Versions of gcc prior to 2.6.1 will not correctly build this software; gcc 2.6.3 and libg++ 2.6.2 are the recommended versions of the GNU tools to use though later versions work also.

To build this software your system must have the following functionality or be capable of emulating those items that are missing:

- ANSI C compiler and runtime support (e.g.strftime).
- C++ compiler and runtime support. The C++ compiler must have support for nested types and ARM-style handling of temporary variables.
- ANSI C system include files with proper function prototype declarations (though some missing function declarations will be automatically handled).
- A make program that supports include files.
- Support for BSD-style sockets and TCP/IP for network communication, including the select interface for synchronous multiplexing of I/O streams.
- Support for FIFO special files.
- Support for BSD-style file locking (flock) or equivalent functionality from which it can be emulated (fcntl, lockf).
- POSIX 1003.1-style interfaces, including termios for manipulating tty devices.

When the software is configured for building any function that is not located will be emulated if it is known how. If a required facility is not found and no emulation or workaround is known, then the configuration procedure will abort.

The Class 1 modem driver requires sub-second timer facilities and a minimum latency interface to serial input. The server uses the BSD-style setitimer calls for the timer support and system-specific calls to enable low latency input from serial ports. If your system does not support the BSD timer calls, then the server will fall back to using the alarm system call that only has 1 second granularity (and the driver is unlikely to work reliably). If your system buffers serial input and does not provide a mechanism for defeating this, then the Class 1 driver will not work reliably. See the section above for specific requirements of the Class 1 support.

There is support in the fax server for handing inbound data calls to the system getty program. This support must be configured according to the requirements of the target platform; either System V-style or BSD-style. Only one of these two styles may be configured for use; the one that is appropriate to the target system should automatically be selected when the software is configured for building.

Building HylaFAX from source code. | HylaFAX table of contents.