5 Compiling XFree86

Contents of this section

There are no special instructions required for compiling XFree86. This version was compiled with gcc-2.5.8, the 4.5.26 DLL libraries and the 1.4.4 shared, dynamic linker ld.so. The tools-2.16 DLL package was used to generate the shared libraries, and the server sources have been updated to use the new (/usr/bin) location of the tools. 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. 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 100mb available makes compiling XFree86 a lot easier. You will need about 10mb of virtual memory to compile the entire server.

If 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.

Thanks to Dirk Hohndel (hohndel@aib.com) for working out all the details and doing all the work in creating the first set of XFree86 DLL libs, on which the current method (developed by Orest Zborowski (orestz@eskimo.com)) is based.

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter