======================= Installation de Freeciv ======================= Ce document décrit comment compiler et installer Freeciv. 0. Pré-requis : =============== Freeciv a un certain nombre de pré-requis. Cependant, à part le premier pré-requis, le processus de configuration est suffisamment intelligent pour savoir si votre système convient. Dans le doute, essayez. - Unix (ou similaire) Le système d'exploitation Unix, un équivalent comme Linux ou FreeBSD ou un système qui propose un mode s'approchant d'Unix, comme EMX sous OS/2 ou la boîte à outils Cygnus Cygwin sous Windows (voir http://sourceware.cygnus.com/cygwin/). Le support des sockets TCP/IP de style BSD est primordial, ainsi qu'un shell compatible Bourne comme GNU "bash" (la plupart des Unices remplissent le contrat...). - Un compilateur C ANSI Freeciv est écrit en C (presque) ANSI et très portable. Les architectures 32 et 64 bits sont supportées. Vous ne pouvez pas utiliser un compilateur C "K&R" ou un compilateur C++. Le développement de Freeciv se fait avant tout avec "gcc", l'excellent compilateur C du projet GNU. Les distributions peuvent être compilées avec gcc ou la plupart des autres compilateurs (comme le compilateur C de Solaris). Les versions de développement et les snapshots CVS ne fonctionneront pas sans gcc, à moins que vous utilisiez l'option "--disable-cvs-deps" de configure. Consultez la section ci-dessous pour plus de renseignements. Notez qu'ils y a eu des rapports a propos du fait que gcc avec -O3 compilait mal freeciv. Aucun problème n'a été rapporté avec -O2. - Un programme "make" Les développeurs de Freeciv utilisent en général "gmake", le programme make de GNU. Les versions stables de Freeciv sont conçues pour avoir des makefiles qui fonctionnent avec la plupart des programmes make. Les versions de développement et les snapshots CVS comportent des choses (comme les dépendances) qui utilisent les fonctionnalités avancées de gmake. Gmake est donc nécessaire dans ce cas, à moins que vous n'utilisiez l'option "--disable-cvs-deps" de configure. Consultez la section ci-dessous pour plus de renseignements. Vous pouvez vérifier que vous avez GNU make sur votre système en tapant : % make -v [si ça ne marche pas, essayez "gmake -v"] "GNU Make" devrait alors s'afficher quelque part. La version CVS a des pré-requis supplémentaires. Une version de distribution contient les fichiers générés. - Les programmes de GNU gettext version 0.10.36 ou ultérieure Plus particulièrement, le programme xgettext est requis pour créer les fichiers *.gmo qui ne sont pas inclus dans l'arborescence CVS. - GNU autoconf version 2.13 ou ultérieure Autoconf est requis pour créer configure depuis configure.in. - GNU automake version 1.4 ou ultérieure Automake est requis pour créer les différent Makefile.in depuis Makefile.am. 1. Pré-requis pour les clients : ================================ Le client Freeciv se présente sous l'une des formes suivantes : * Gtk+ 1.2 ("Gtk+ 1.2"). * Gtk+ 2.0 ("Gtk+ 2.0"). * AmigaOS MUI ("Mui"). * Microsoft Windows natif ("Win32"). * X Athena Widgets ("Xaw"). Ces formes ont des pré-requis différents, expliqués ci-dessous. Votre système aura besoin de satisfaire au moins un de ces ensembles de pré-requis. Notez que certains systèmes ont des paquetages séparés pour les mêmes bibliothèques : un pour la bibliothèque elle-même et un de "développement" (c'est à dire pour la compilation de programmes qui utilisent ces bibliothèques). Pour compiler Freeciv sur de tels systèmes, vous aurez besoin des paquetages appropriés de "développement" (attention, utilisateurs de Red Hat : on parle de vous :-) ). 1a. Pré-requis pour le client Gtk+ 1.2 : ========================================= - La bibliothèque "Glib" La bibliothèque Glib fournit des fonctions non graphiques utilisées par les bibliothèques "Gdk" et "Gtk+", comme les tables de hachage, les listes simplement chaînées, etc. Freeciv nécessite une version de "Glib" supérieure ou égale à 1.2.5. Si le processus de configuration de Freeciv vous indique que vous n'avez pas la bibliothèque Glib, vous pouvez l'obtenir ici : ftp://ftp.gtk.org/pub/gtk/v1.2/glib-1.2.10.tar.gz - La bibliothèque "Gtk+" La bibliothèque "Gtk+" a été écrite pour le logiciel de graphisme GIMP. Depuis, elle a gagné en popularité comme boîte à outils libre et facile à programmer. La bibliothèque "Gtk+" est accompagnée de la bibliothèque "Gdk" qui fournit une couche d'abstraction au-dessus de X11 et implémente des fonctions pour le dessin de base, les fenêtres, etc. Freeciv nécessite une version de "Gtk+" supérieure ou égale à 1.2.5. Si le processus de configuration de Freeciv vous indique que vous n'avez pas la bibliothèque Gtk+, vous pouvez l'obtenir ici : ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz - La bibliothèque "Imlib" Cette bibliothèque est essentielle pour la gestion des bitmaps. Elle est également utilisée par le projet GNOME. Freeciv nécessite une version de "Imlib" supérieure ou égale à 1.9.2. Si le processus de configuration de Freeciv vous indique que vous n'avez pas la bibliothèque Imlib, vous pouvez l'obtenir ici : ftp://ftp.gnome.org/pub/GNOME/stable/sources/imlib/imlib-1.9.14.tar.gz (la documentation d'Imlib indique que vous avez besoin d'autres bibliothèques pour profiter de certaines fonctionnalités, mais aucune de celles-ci n'est nécessaire au client Freeciv) Si vous devez faire tout ceci vous-même, faites les compilations et les installations dans l'ordre suivant : Glib, Gtk+, Imlib. 1b. Pré-requis pour le client Gtk+ 2.0 : ======================================== - "pkg-config". "pkg-config" est un système qui permet la gestion de chemins pour la compilation et l'édition de liens de bibliothèques qui fonctionne avec automake et autoconf. Vous pouvez l'obtenir à : ftp://ftp.gtk.org/pub/gtk/v2.0/dependencies/pkgconfig-0.12.0.tar.gz - La bibliothèque d'outils "Glib". La bibliothèque d'outils "Glib" fournit des fonctions non graphiques utilisées par les bibliothèques "Gdk" et "Gtk+", telles que tables de hachage, les listes simplement chaînées, etc. Freeciv nécessite une version de "Glib" supérieure ou égale à 2.0.0. Si le processus de configuration de freeciv vous signale que vous n'avez pas de bibliothèque Glib installée, alors elle peut être obtenue à : ftp://ftp.gtk.org/pub/gtk/v2.0/glib-2.0.7.tar.bz2 - La bibliothèque d'accessibilité "Atk". La bibliothèque "Atk" fournit un jeu d'interfaces pour l'accessibilité. Elle permet d'utiliser toutes les fonctionnalités fournies par les applications Gtk+. Vous pouvez l'obtenir à : ftp://ftp.gtk.org/pub/gtk/v2.0/atk-1.0.3.tar.bz2 - La bibliothèque "Pango". "Pango" est une bibliothèque de rendu et layout des textes, avec un accent mis sur l'internationalisation. Vous pouvez l'obtenir à : ftp://ftp.gtk.org/pub/gtk/v2.0/pango-1.0.5.tar.bz2 - La bibliothèque "Gtk+". La bibliothèque "Gtk+" a été écrite pour le logiciel de graphisme GIMP. Depuis, elle a gagné en popularité comme boîte à outils libre et facile à programmer. Pour compiler le client en utilisant la bibliothèque "Gtk+", ajoutez "--enable-client=gtk-2.0" au script configure de Freeciv. Voyez la section ci-dessous pour plus d'informations à propos du script configure. La bibliothèque "Gtk+" se présente avec deux bibliothèques-compagnons : "Gdk": fournit une couche d'abstraction au-dessus de X11 et implémente des fonctions pour le dessin de base, les fenêtres, etc. "GdkPixbuf": Fournit des utilitaires de chargement/sauvegarde d'images. Freeciv nécessite une version de "Gtk+" supérieure ou égale à 2.0.0. Si le processus de configuration de Freeciv vous dit que vous n'avez pas de bibliothèque GTk+ installée, alors, vous pouvez l'obtenir à : ftp://ftp.gtk.org/pub/gtk/v2.0/gtk+-2.0.9.tar.bz2 "Gtk+" dépend des bibliothèques "Glib", "Atk" et "Pango". Si vous devez faire tout ceci vous-même, faites les compilations et les installations dans l'ordre suivant : pkg-config, Glib, Atk, Pango, Gtk+. 1b. Pré-requis pour le client Xaw : =================================== - X11 Le client Xaw est un programme X11, ce qui fait que vous devrez avoir un moyen de lancer des programmes X11 (la plupart des Unices en sont capables). Si la configuration de Freeciv ne peut pas trouver X11 sur votre système, vous aurez peut-être besoin des options --x-includes=RÉP et --x-libraries=RÉP. - La bibliothèque "Athena" Cette bibliothèque (aussi connue sous le nom de "Xaw") est en général fournie en standard avec le reste de X11, mais certaines plateformes (HP-UX 10, par exemple) n'en proposent qu'une version limitée. Pour compiler le client en utilisant la bibliothèque "Xaw", utilisez l'option "--enable-client=xaw" du script configure. Consultez la section ci-dessous pour plus de renseignements à propos du script configure. La plupart des Unices modernes (comme Linux) proposent une variante appelée "Xaw3d" qui a une apparence "3D" plus moderne. Si vous voulez compiler avec Xaw3d, utilisez l'option "--with-xaw-3d" de configure. Il y a aussi d'autres variantes de Xaw, comme Nextaw. Freeciv ne fonctionne pas avec celles-ci, bien qu'il soit sans doute possible de le modifier de la même façon que pour Xaw3D. Un autre outil, "xaw_wrappers", peut être utile, mais son utilisation dépasse le cadre de ce document. - La bibliothèque "Xpm" Cette bibliothèque est essentielle pour la gestion des icones et des bitmaps. Elle est largement utilisée et fournie sur la plupart des machines Unix modernes, bien qu'elle puisse être absente sur des Unices traditionnels ou plus vieux (par exemple Solaris). Lorsque vous lancez le script configure de Freeciv, il peut être nécessaire que vous utilisiez l'option "--with-xpm-prefix=RÉP" (RÉP désignant le nom du répertoire contenant les sous-répertoires "include" et "lib" où on peut trouver Xpm). Si le processus de configuration de Freeciv vous indique que vous n'avez pas la bibliothèque Xpm, vous pouvez l'obtenir ici : ftp://koala.inria.fr/pub/xpm/xpm-3.4k.tar.gz ftp://ftp.x.org/contrib/libraries/xpm-3.4k.tar.gz Installez la comme vous feriez pour n'importe quel autre paquetage. Si vous ne pouvez pas l'installer dans un répertoire système standard, utilisez l'option --with-xpm-prefix comme décrit plus haut. Si vous avez des problèmes pour installer libXpm sous Solaris, ou que vous ne voulez pas l'installer en tant que root, consultez la section "Notes de Reiner pour l'installation de libXpm sous Solaris" vers la fin de ce document. 2a. Générer le Makefile pour les versions CVS : =============================================== Cette étape n'est utile que pour les versions CVS. Pour créer le makefile, tapez % ./autogen.sh Ceci créera le script configure et l'exécutera. Tous les paramètres de autogen.sh sont passés à configure. Lisez la section suivante à propos des paramètres qui peuvent être passés à configure. 2b. Générer le Makefile pour une version de distribution : ========================================================== Avant de compiler Freeciv, vous devez générer un Makefile. Ce makefile est conçu pour correspondre aux fonctionnalités disponibles sur votre machine. La configuration est faite en utilisant le script "configure" de GNU. Pour utiliser "configure", rendez vous dans le répertoire racine de la distribution de Freeciv et tapez : % ./configure Ce script tentera ensuite de déterminer les fonctionnalités présentes (et absentes) sur votre système. Il devrait imprimer une page ou deux de diagnostics sur votre machine puis s'arrêter. Si vous désirez de l'aide sur les diverses options acceptées par le script configure, utilisez l'option --help comme ceci : % ./configure --help Si vous compilez une version de développement ou un snapshot CVS et que vous n'avez ni GNU Make ni gcc, utilisez l'option "--disable-cvs-deps" de configure. Vous en aurez particulièrement besoin si vous utilisez les programmes cc et make de Solaris. Notez que, dans ce cas, la vérification des dépendances est désactivée. Si vous modifiez un fichier .h de Freeciv par la suite pour une raison quelconque, vous devrez faire un "make clean" avant de faire "make" pour vous assurer que tout se compile correctement. "--disable-cvs-deps" n'a pas d'effet avec une version stable. Par défaut, le script configure choisira le client Gtk+ s'il trouve les bibliothèques requises. Sinon, c'est le client Xaw qui sera compilé. Vous pouvez "forcer" le choix du client du client Xaw en utilisant l'option "--enable-client=xaw". Si vous voulez modifier les options du compilateur, positionnez la variable d'environnement CFLAGS avec de lancer "configure". Par exemple : % CFLAGS="-O -g -pipe" ./configure [avec le Bourne shell ou bash] ou % setenv CFLAGS "-O -g -pipe" % ./configure [avec le C shell or tcsh] Si vous voulez pouvoir utiliser un "core dump", nous vous suggérons d'utiliser l'option "-g" dans CFLAGS. Lorsque vous installerez Freeciv (plus tard), les composants du jeu seront copiés par défaut dans les sous-répertoires de /usr/local. Si vous voulez utilisez un autre préfixe d'installation que /usr/local, vous devez le préciser de la façon suivante : % ./configure --prefix=/opt/freeciv Si, pour une raison quelconque, l'utilisation de "configure" vous pose problème, suivez ces étapes : - Lisez la section des pré-requis attentivement pour déterminer si votre système possède tout ce dont vous avez besoin. - Si vous voulez compiler la version Gtk+ du client : assurez-vous que vous avez les bibliothèques Gtk+, Gdk, Glib et Imlib sur votre système. Vérifiez ensuite que le script configure peut les trouver, soit en les installant aux endroits standards sur votre système, soit en utilisant les options en ligne de commande adéquates de configure (voir ./configure --help). - Si vous voulez compiler la version Xaw du client : assurez-vous que vous avez les bibliothèques Xpm et Xaw sur votre système. Vérifiez ensuite que le script configure peut les trouver, soit en les installant aux endroits standards sur votre système, soit en utilisant les options en ligne de commande adéquates de configure (voir ./configure --help). - Si le problème provient de "gettext", veuillez lire la section "Localisation" plus bas, afin de connaître les alternatives possibles. - Dites le nous, pour que nous puissions corriger le problème dans la prochaine version ! Envoyez un e-mail à la liste de diffusion freeciv-dev, en expliquant ce que vous avez fait et quel résultat vous avez obtenu. Il peut être utile d'inclure ce que le script configure a affiché, ainsi que le contenu des fichiers "config.status", "config.cache" et "config.log", qui sont générés par le script configure. Vous pouvez en savoir plus à propos de la liste de diffusion freeciv-dev sur notre site web, à l'adresse http://www.freeciv.org/ 3. Compiler Freeciv =================== Si tout s'est bien déroulé jusqu'à présent, alors la compilation de Freeciv devrait être aussi facile que de taper "make" (ou, de préférence, "gmake"). Si vous avez des problèmes, lisez le fichier BUGS et suivez les conseils scrupuleusement. Si le problème vient de "gettext", veuillez lire la section "Localisation" ci-dessous afin de connaître les alternatives. Après la compilation, les choses suivantes sont importantes : - les binaires "client/civclient" et "server/civserver" ; - le répertoire "data/", qui contient les graphismes et les scénarios ; - le répertoire "po/", qui contient les fichiers de localisation ; - les scripts "civ" et "ser". Il est parfaitement possible de jouer à Freeciv depuis ce répertoire, sans l'installer. Si vous faites ceci, les scripts "civ" et "ser" seront utiles, bien qu'ils ne soient pas aussi nécessaires qu'ils aient pu l'être. Consultez le fichier README.fr pour plus de renseignements. [ Cependant, vous ne pouvez pas utilisez la localisation en jouant à Freeciv depuis le répertoire des sources ; vous devez installer Freeciv pour cela. ] 4. Installation: ================ Pour installer Freeciv, il faut que les composants mentionnés dans la section "Compiler Freeciv" soient installés. Ils doivent être copiés dans un répertoire tel que /usr/local (par défaut), /usr/games/, /usr/games/freeciv, /usr/local/freeciv ou n'importe quel répertoire de votre choix. Taper "make install" devrait tout installer correctement sur votre machine. Vous pouvez utiliser l'option --prefix=RÉP de configure (voir la section "Générer le Makefile") pour vous assurer que les fichiers sont là où vous les voulez. Lorsque le client et le server Freeciv sont lancés, ils ont besoin de trouver certains fichiers dans le répertoire "data". Par défaut, Freeciv cherche, dans l'ordre, dans les répertoires suivants pour trouver les fichiers de données : le répertoire courant, le sous-répertoire "data" du répertoire courant, le sous-répertoire ".freeciv" du répertoire personnel de l'utilisateur et l'endroit où sont placés les fichiers en lançant "make install". Vous pouvez forcer le chemin de recherche à l'aide de la variable d'environnement FREECIV_PATH, qui doit être positionnée sur un simple répertoire ou une liste de répertoires séparés par des ":". Par exemple : % setenv FREECIV_PATH "/usr/games/freeciv/data:./data" (pour les utilisateurs de csh, tcsh, etc.) % FREECIV_PATH="/usr/games/freeciv/data:./data"; export FREECIV_PATH (pour les utilisateurs de sh, bash, ksh, zsh, etc.) Notez que vous devez généralement installer Freeciv si vous voulez utiliser la localisation. Consultez le fichier README.fr pour plus de renseignements. Enfin, si vous avez choisi d'utiliser le client Xaw et que vous avez la permission de vous connecter en tant qu'utilisateur 'root', vous pouvez copier le fichier de ressource data/Freeciv dans le répertoire app-defaults (qui se trouve en général dans /usr/lib/X11). 5. Localisation : ================= Freeciv utilise le système "gettext" pour la localisation. Si vous rencontrez des problèmes avec gettext en configurant ou compilant Freeciv, il y a un certain nombre de choses que vous pouvez tenter : 1. Si vous n'avez pas besoin de la localisation, désactivez la en utilisant l'option "--disable-nls" de ./configure : % ./configure --disable-nls % make 2. Si vous voulez la localisation, essayez la version de gettext incluse dans Freeciv en utilisant l'option "--with-included-gettext" de ./configure : % ./configure --with-included-gettext % make 3. Enfin, vous pouvez essayer d'installer la dernière version de GNU gettext. Elle peut être obtenue ici : ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.11.4.tar.gz ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.11.4.tar.gz 6. Support Readline : ==================== Freeciv a un support optionnel pour la bibliothèque readline. Le support readline est ce qui rend 'sensibles' le comportement des commandes du serveur en rendant possible : - l'utilisation de la touche retour arrière. - l'utilistaion du curseur pour se déplacer en avant et en arrière dans la ligne que vous avez écrite - l'utilistation de la complétion avec TAB pour les commandes et leurs arguments. C'est à dire que lorsque que vous tapez la touche TAB le serveur finira le mot pour vous s'il n'y a qu'une possibilité. - l'utilisation des curseurs haut et bas pour faire défiler l'historique des commandes. - etc. Le script configure va vérifier si vous avez la bibliothèque readline correctement installée. Si oui il va automatiquement régler les makefiles de façon à ce que readline soit compilé dans le serveur. Sinon il configurera silencieusement sans le support readline. Vous pouvez forcer configure à inclure readline ou à abandonner s'il n'y arrive pas en lui passant l'option --with-readline : % ./configure --with-readline Certaines distributions de Linux (et peut-être d'autres systèmes d'exploitation) ont une version de readline 4 incorrectement installée, ce qui fait que readline n'est pas installé pour déclarer ses dépendances dynamiques. Dans ce cas configure essayera de deviner quelles bibliothèques supplémentaires il devrait linker et les ajoutera. Le script configure alertera s'il doit ajouter des bibliothèques supplémentaires pour faire fonctionner readline. Ceci devrait être bénin, et n'a comme seul but que d'être un rappel pour ceux qui distribuent readline. :) 7. Notes de Reiner sur l'installation sous Solaris ================================================== Solaris (2.5 et suivants) a sa propre version de X dans /usr/openwin, sa propre version de make dans /usr/ccs/bin/make et son propre compilateur (qui doit être acheté séparément) qui, si vous l'avez, est dans /opt/SUNWspro/bin. Solaris ne fournit pas la bibliothèque XPM, qui est requise pour le client Xaw ; il ne fournit rien de ce qui est requis pour imlib, gdk et gtk (nécessaires pour le client GTK+). Cependant, avec un peu de patience, tout peut être compilé sans problème. Pour plus de renseignements sur l'installation de XPM sous Solaris, consultez la section suivante. Un certain nombre d'installations de Solaris ont déjà MIT X (en général dans /usr/X11), GNU make, le compilateur gcc et la bibliothèque XPM installée quelque part. La commande standard "./configure && make" peut ne pas trouver la bibliothèque XPM et a des chances de se tromper entre les différentes versions. Assurez-vous que vos variables d'environnement, en particulier $PATH et $LD_LIBRARY_PATH et les options de ./configure ne pointent pas sur un ensemble inconsistant de logiciels et la compilation se passera bien. Une recette simple pour compiler avec Sun X, Sun make et Sun cc, considérant que les bibliothèques xpm sont elle-mêmes à un endroit non standard (/chemin/vers/xpm) : % setenv PATH /opt/SUNWspro/bin:/usr/ccs/bin:/bin % unsetenv LD_LIBRARY_PATH % ./configure --with-xpm-prefix=/chemin/vers/xpm --disable-cvs-deps --with-included-gettext % make "--disable-cvs-deps" empêche ./configure de générer des Makefiles spécifiques à GNU make. Les symptômes sont : make: Fatal error in reader: Makefile, line 214: = missing from replacement macro reference make: Fatal error: Command failed for target `all-recursive' Alternativement, vous pouvez régler votre $PATH pour que ./configure n'utilise que des outils GNU. Freeciv compile avec MIT X et avec certaines combinaisons d'outils GNU et Sun. La recette exacte dépendent de votre installation locale. 6. Notes de Reiner sur l'installation de libXpm sous Solaris : ============================================================== Lorsque j'étais root sur mon système Solaris, je ne voulais *quand même* pas installer des logiciels supplémentaires en tant que root. C'est mal. Malheureusement, la procédure d'installation de libXpm part du principe que l'installation se fait dans /usr/openwin, qui appartient à root. Mais ce n'est pas très dur à contourner. Remarques : - Assurez-vous que /usr/ucb/install est dans votre $PATH avant /usr/bin/install, sinon 'make install' ne marchera, et renverra des messages d'erreur étranges ; - L'endroit dans lequel vous voulez installer peut être spécifié avec $DESTDIR. Cependant, l'installation se fera dans $DESTDIR/$OPENWINDIR, donc le sous-répertoire $OPENWINDIR supplémentaire devra être pris en compte (modifier la valeur de $OPENWINHOME ne fonctionne pas). La procédure : - Récupérez les sources, de-tarez les, rendez vous dans le répertoire des sources, et faites : % setenv MYXPMDEST /usr/local # ou l'endroit où vous voulez installer % xmkmf; make Makefiles includes depend; make % setenv PATH /usr/local/bin:/usr/ucb:$PATH % make DESTDIR=$MYXPMDEST install % make DESTDIR=$MYXPMDEST install.man % cd $MYXPMDEST; mv ./$OPENWINHOME/* .; rm -rf ./$OPENWINHOME ( Si vous utilisez sh, bash, ksh, zsh, etc, remplacez les "setenv" ci-dessus par : % MYXPMDEST=/usr/local; export MYXPMDEST % PATH=/usr/local/bin:/usr/ucb:$PATH ) - Vous pouvez maintenant configurer Freeciv ainsi : % ./configure --with-xpm-prefix=$MYXPMDEST qui ajoutera les options -I/-L/-R qui conviennent aux commandes de compilations et d'édition de liens. 9. Notes sur Mac OS X et Darwin : ================================= La version Apple de GCC utilise des en-têtes pré-compilés qui ne supportent pas les macros vararg (une extension GCC). Ceci fait que GCC échoue quand il compile Freeciv dans la mesure où le compilateur est par ailleurs (quasiment) indistinguable de 'vanilla GCC'. Donc, au lieu de l'habituel % ./configure <...> vous devriez utiliser soit Bourne shell: $ CC="gcc -no-cpp-precomp" ./configure <...> soit C shell: % env CC="gcc -no-cpp-precomp" ./configure <...> en fonction de si votre shell est une variante Bourne ou C. (Si vous avez des doutes, essayez les deux commandes pour voir laquelle fonctionne.) Remplacez <...> par tout argument additionnel que vous voulez donner à configure. 10. Notes sur Debian GNU/Linux : ================================ Pour compiler Freeciv sur un système debian, vous avez besoin des paquetages suivants : Pré-requis généraux : gcc libc6-dev libreadline4-dev zlib1g-dev xlib6g-dev Pour le client gtk+ 1.2 : gdk-imlib-dev libglib1.2-dev libgtk1.2-dev imlib-progs Pour le client xaw : xaw3dg-dev libxpm4-dev Si vous voulez compiler le client xaw vous devez donner à configure l'argument --with-xaw3d, c'est à dire % ./configure --with-xaw3d Si vous avez besoin d'exécuter aclocal (si vous ne savez pas ce qu'est aclocal c'est que vous n'en ave pas besoin) vous avez également besoin d'installer imlib-dev pour avoir la macro AM_PATH_GDK_IMLIB. Le fait que cette macro n'est pas dans gdk-imlib-dev est un bug de debian et sera, on l'espère, corrigé dans les futures distributions. 11. Notes Cygwin : ================== Les notes d'installation spécifiques à Cygwin peuvent être trouvées dans doc/INSTALL-Cygwin. 12. Notes Win32 ("MS Windows natif") : ====================================== Pré-requis : un environnement unix avec gcc et binutils pour windows (mingw32) pour le client natif win32 : libz et libpng (depuis ftp://ftp.freeciv.org/pub/freeciv/requirements) Vous pouvez utiliser les makefiles gcc standards pour eux mais réglez CC et RANLIB sur ce qui va bien. Si vous utilisez les bibliothèques libpng/libz venant avec cygwin, vous êtes en train de chercher des ennuis. Pour compiler la zlib de ftp.freeciv.org entrez avec les utilitaires cygwin : make CC="gcc -mno-cygwin" avec un cross compilateur mingw32 : make CC=iX86-mingw32-gcc RANLIB=iX86-mingw32-ranlib Pour compiler libpng de ftp.freeciv.org entrez avec les utilitaires cygwin : make -f scripts/makefile.gcc CC="gcc -mno-cygwin" avec un cross compilateur mingw32 : make -f scripts/makefile.gcc CC=i386-mingw32-gcc RANLIB=i386-mingw32-ranlib Elles doivent être mises dans un endroit où votre compilateur saura les trouver. Autoconf & Co. : Si vous compilez depuis le CVS, vous devrez remplacer ./configure par ./autogen.sh dans les lignes qui suivent. Vous aurez des problèmes avec les chemins (plus particulièrement avec le 'localedir') si vous utilisez autoconf2.52. Donc autoconf 2.13 est préférable (vous pouvez utiliser le switch --disable-autoconf2.52 depuis autogen.sh). Configurer le source: --------------------- 1. avec les outils cygwin cygwin : Vous avez besoins des paquetages mingw et w32api. export CC="gcc -mno-cygwin" ./configure --with-included-gettext --prefix=. 2. cross compilation depuis un vrai unix. remplacez X avec un nombre que vous avez choisi quand vous avez configuré votre cross compilateur. export CC=iX86-mingw32-gcc export AR=iX86-mingw32-ar export RANLIB=iX86-mingw32-ranlib ./configure --host=iX86-mingw32 --build=$(./config.guess) --with-included-gettext --enable-client=win32 --prefix=. Compilation et installation: ---------------------------- make make DESTDIR=chemin_absolu_intallation bindir=./ install chemin_absolu_intallation doit être le chemin du répertoire dans lequel vous voulez installer freeciv. Il doit être sous forme absolue et doit finir par un slash. Maintenant il est temps de faire un peu de ménage dans tout ceci. cd dans votre répertoire d'installation. Vérifiez que les exécutables ont bien le suffixe .exe et si vous le souhaitez créez des raccourcis. Je suggère de déplacer le répertoire de données : mv share/freeciv data L'étape finale est de convertir les graphiques en png. Utilisez votre programme graphique favori pour le faire. Vous pouvez utiliser une combinaison de ImageMagick et pngquant pour ceci. Mais il est vraiment important que vous vérifiez les résultats. Vérifiez chaque fichier. Le canal alpha (transparence) disparait souvent de façon magique. Il n'y pas pas de script fiable pour cela. ** FIN **