Compiling XFree86

Information for Linux Users : Compiling XFree86
Previous: Configuring PEX, XIE and GLX extensions
Next: Bug Notification

## 8. Compiling XFree86

There are no special instructions required for compiling XFree86. This version was compiled with gcc-2.7.2.1, the 5.4.7 Elf libraries and the 1.7.14 shared, dynamic linker ld.so. The server has been compiled with `-m486`, which optimizes it for the 486 processor, but the binary will run on the 386 processor (there is a slight increase in binary size over using `-m386`, but no loss of performance).

All extensions and clients have been ported and tested. By default, the servers are compiled without any extra extensions (PEX, XIE, etc), but libraries for those extensions are always generated. They can be loaded at runtime, see the XFree86 man page for details. By modifying `site.def`, extra extensions can be compiled into the server. Alternately, the link kit can be used to craft modified servers.

The distribution is very large, but it is possible to compile XFree86 on a single 64mb partition, if the source tree is carefully trimmed (no manpages, PEX or large clients). Simply run ```make Makefiles`'' to create the Makefiles, then stop the make and run each piece individually. It is not necessary to run ```make depend`'' as well, which saves some space. Having 150mb available makes compiling XFree86 a lot easier. You will need about 10mb of virtual memory to compile the entire server.

If an aout version of XFree86 is to be built and patches are applied which significantly change the libraries, modified jump_xxx files will be needed. Those can be generated according to instructions given in the DLL tools package, and will be made available as XFree86 patches.

The JUMP_xxx defines used to compile the X libraries can also be used to compile external X shared libraries, like Xaw3d. Detailed instructions are provided in `/usr/X11R6/lib/X11/config/lnxLib.rules`, where the X library definitions are provided, as an example.

Information for Linux Users : Compiling XFree86
Previous: Configuring PEX, XIE and GLX extensions
Next: Bug Notification