ATTENTION : Une version plus récente du tutoriel et
plus générique existe ici.
ATTENTION : Il n'y a pas configure dans l'archive du
site officiel. Préferez prendre le packetage sur
SourceForge.
On me dit souvent que je suis un mec sympa et que j'ai la classe avec mon
gros bouton sur la tempe droite (profitez-en il va bientôt mourir). On va
apprendre à compiler sous du Linux et plus précisément sur une
Ubuntu Hardy Heron. C'est à peu près pareille partout, que ce
soit des distributions basés sur du debian,
redhat ou encore Suse. Peut être même sur du
BSD. Pour le peu que j'en ai touché, je ne peux dire. Nous
allons voir la compilation à travers une péripétie amusante dans un but
didactique.
RaKnet est une bibliothèque cross-plateform qui fait du
réseau. Elle est notamment spécialisée pour faire du jeux-vidéo car elle est
très performante. Sa licence est un peu similaire à FMOD.
Gratuit pour les jeux indie gratuit, un peu payant pour les indies payants et
cher pour les pro. Je ne vous cache pas que nous avons besoin de
RaKnet pour notre super jeux à vocation multijoueur (j'en
reparlerai).
Généralement sous linux, les programmes sont livrés avec
leur code source et c'est à l'utilisateur de les compiler pour qu'il s'adapte
aux particularités de son architecture propre. Il existe néanmoins des fichiers
dit de package qui permettent de s'affranchir de cette contrainte. Mais ceci
n'est pas pour les hommes. Nous allons tout faire à la main. Enfin, si les
programmeurs nous ont laissés des fichiers d'autoconf. Ne
soyons pas trop viril, sa nuirait à notre grain de peau.
Je disais donc qu'il doit exister un script (un fichier contenant du code
bash généralement) nommé configure. Celui-ci
va configurer l'installation (elle est trop forte celle-la). Le script va
regarder si vous avez le bon compilo et les bonnes dépendances (ce qu'il faut
pour compiler) et ensuite créer un makefile suivant ce que
vous avez. Le makefile servira ensuite à compiler proprement
dit. Ce fichier contient toute les instructions nécessaire pour compiler et
linker les bibliothèques (compiler != linker, je dis surtout ça pour les gens
utilisant des langages d'assistés comme Java).
Ensuite on exécute make install (en root c'est mieux) pour
installer le bouzin. On va dans notre cas placer les header
nécessaire pour programmer dans le dossier include de
/usr/ et la bibliothèque (le dll sous
Windows) dans /lib/.
Récapitulons :
./configure
make
sudo make install (ou on se logue en root si on est sur une distribution qui
n'utilise pas sudo)
Voilà vous êtes maintenant des semi-dieu de la compilation pour les nuls sur
linux.
PS : tout troll velu inséré dans cet article ne relève pas de ma
responsabilité.