Compilation

## Aperçu

Compiler BZFlag consiste à créer des applications exécutables pour un système cible en utilisant le code source brut.

## Obtention des sources

Afin de compiler, un utilisateur doit disposer de sa propre copie du code source . Le code peut être obtenu à partir d'une archive source depuis la page de téléchargement ou depuis Git .

## Fichiers README

Les utilisateurs doivent toujours lire les fichiers README correspondant au système d'exploitation approprié. Ces fichiers se trouvent dans le répertoire racine de l'arborescence du code source.

## Compilateurs

BZFlag est capable d'être construit sur un certain nombre de compilateurs. Le compilateur utilisé dépendra d'une certaine manière du système d'exploitation de l'ordinateur effectuant la construction.

* Les ordinateurs Windows peuvent utiliser le compilateur Visual C++ ou le compilateur MinGW (basé sur GCC). Windows est le système d'exploitation client le plus populaire et presque tous les clients sont construits avec le compilateur Visual C++, y compris les binaires officiels.
* Les ordinateurs Macintosh OS X utilisent le compilateur Xcode (ou éventuellement gcc, voir notes). OS X est le deuxième système d'exploitation client le plus populaire, les versions officielles sont construites avec Xcode et non avec GCC.
* Les ordinateurs Linux et BSD utilisent le compilateur GCC. Linux est le troisième système d'exploitation client le plus courant et les packages pour les distributions sont créés à l'aide de GCC.

### Visual C++

La manière la plus courante de créer sur Windows pour utiliser le compilateur Visual C++ 2010 (les versions Express et Retail sont prises en charge). La version Express gratuite actuelle de Visual C++ est disponible à l'adresse http://www.microsoft.com/express/vc/

### CCG

Si les dépendances requises sont installées, l'utilisateur doit alors exécuter les commandes suivantes depuis le niveau racine de l'arborescence source

```
./autogen.sh
  ./configurer
  faire
  faire installer

```

Veuillez noter qu'en fonction des niveaux d'autorisations, la **commande make install** peut devoir être exécutée en tant qu'administrateur ou root. Sous Macintosh OS X, n'exécutez pas make install lors de la compilation avec GCC. Exécutez le programme à partir du répertoire source ou installez-le manuellement si vous le souhaitez.

### Xcode

Le système Xcode utilise le **projet Xcode/BZFlag.xcodeproj** . La construction est assez simple. Suivez les instructions du fichier README.MacOSX.

## Dépendances

Afin de compiler BZFlag, certaines bibliothèques tierces peuvent être nécessaires en fonction du système d'exploitation pour lequel vous êtes construit. Le fichier Lisez-moi de chaque système d'exploitation contiendra les dépendances actuelles de chaque système d'exploitation et doit être consulté avant de tenter une construction.

Ce qui suit est une liste générale des dépendances pour la version 2.4.

### Windows (Visual Studio)

La seule dépendance tierce requise pour créer le client est le SDK DirectX disponible auprès de Microsoft. Un téléchargement est disponible sur http://www.microsoft.com/en-us/download/details.aspx?id=6812 .

Si un utilisateur souhaite créer un ensemble complet d'installateurs Windows, il devra installer le système d'installation NSIS, disponible sur http://nsis.sourceforge.net .

Toutes les autres dépendances sont incluses.

### Linux (GCC)

#### Bibliothèques requises

* Bibliothèques de développement SDL (1.2.10 ou version ultérieure)
* Bibliothèques de développement SDL-sound (1.2.10 ou version ultérieure)
* outil lib
* fabrication automatique
* autoconf
* g++
* bibliothèques de développement mesa (gl et glu)
* bibliothèques de développement mesa

#### Bibliothèques facultatives

Ces bibliothèques sont incluses dans l'arborescence des sources, mais les utilisateurs peuvent obtenir de meilleurs résultats en utilisant celles incluses dans une distribution Linux.

* bibliothèques de développement curl
* bibliothèques de développement c-ares
* bibliothèques de développement Glew
* bibliothèques de développement zlib

### Macintosh OS X (Xcode ou GCC)

#### Bibliothèques requises

* Framework SDL 1.2 (1.3 peut ne pas fonctionner sur toutes les versions d'OSX)

## Autres systèmes de construction

D'autres systèmes de build peuvent être pris en charge dans les différents fichiers Lisez-moi (minGW, IRIX, SOLARIS, etc.)