B.5. Compilation de XFree86 4.2.1

La compilation de XFree86 est certainement l'une des opérations les plus difficiles à réaliser, car il n'y a pas de programme de configuration automatique des sources. La plupart des fichiers sources de la distribution sont fournis par le Consortium X, et ils sont prévus pour pouvoir être modifiés librement par les différentes implémentation. XFree86 est l'une de ces implémentations, et utilise la base de ces sources. XFree86 est en fait une implémentation des serveurs X pour le système XWindow fourni par le Consortium X. La configuration de XFree86 doit donc être faite comme indiquée dans la documentation de XFree86 et non pas comme indiqué dans la documentation originale du Consortium X.

Toutes les options sont indiquées dans les fichiers du répertoire /xc/config/cf/. Le fichier site.def est le fichier de configuration central des sources de XWindow. Il lit les options des fichiers de configuration des autres systèmes, en particulier le fichier host.def. C'est pour cela qu'il faut définir les options de configuration dans le fichier host.def et non pas dans le fichier site.def. Vous trouverez un exemple de fichier host.def adapté à Linux dans le fichier xf86site.def.

La compilation de XFree86 se déroule donc comme suit :

Note : La compilation de XWindow lui-même suppose qu'il y ait un lien de /usr/bin/cc vers le compilateur C natif de votre système, en l'occurrence /usr/bin/gcc. Il en est de même pour le préprocesseur. Vous devrez donc créer un lien symbolique de /lib/cpp vers /usr/bin/cpp. De même, il faut s'assurer qu'il y ait un lien symbolique de /usr/lib/libtermcap.so vers la version courante de cette bibliothèque (allez savoir pourquoi ce lien n'existe pas sur certaines distributions...).

La compilation des documentation de XFree86 nécessite également que vous disposiez des outils de génération de documentation SMGL. Ces outils comprennent OpenJade, un traducteur SGML utilisant des feuilles de styles DSSSL, et les outils doctools de XFree86. OpenJade est normalement fourni avec toute bonne distribution, son installation ne sera donc pas traitée dans ce document. Notez toutefois qu'il faut s'assurer que des liens symboliques jade et nsgmls existent et référencent respectivement les programmes openjade et onsgmls pour que la compilation des documentations puisse bien se passer.

Ces outils sont tous compris dans l'archive doctools-1.3.tgz, que l'on trouvera avec les sources de XFree86. L'installation de ces outils nécessite d'éditer le fichier Makefile pour corriger quelques paramètres spécifiques à Linux. Ces paramètres sont les suivants :

  • la variable PERLCMD doit être fixée sur le chemin de l'interpréteur perl ;

  • les variables CC et CXX pourront être décommentées afin d'utiliser GCC, qui est compilateur par défaut sous Linux ;

  • enfin, la variable JADE pourra être définie à la chaîne de caractères vide si OpenJade est déjà installé sur le système.

La compilation et l'installation se font ensuite avec les commandes make et make install.

Les modifications à apporter au fichier host.def sont les suivantes pour Linux :

Vous pouvez laisser les autres options entre commentaires. La compilation de XFree86 se fera alors simplement en exécutant la commande suivante dans le répertoire d'installation des sources :

make World

Note : Notez qu'il n'est pas nécessaire, en général, de compiler les polices de caractères. En effet, celles-ci ne sont que très rarement modifiées d'une version à l'autre de X11, et les polices de l'ancienne version peuvent parfaitement convenir. Il en est de même pour la documentation, qui n'est pas toujours mise à jour à chaque version mineure.

L'installation de XWindow se fait alors simplement avec les deux commandes suivantes :

make install
make install.man