<-
Apache > Serveur HTTP > Documentation > Version 2.4 > Notes spécifiques à certaines plates-formes

Compiler Apache pour Microsoft Windows

Langues Disponibles:  en  |  fr  |  ko 

Cette traduction peut être périmée. Vérifiez la version anglaise pour les changements récents.

Il y a de nombreux points importants à connaître avant de compiler Apache pour Microsoft Windows. Avant de commencer, lisez le document Utiliser Apache avec Microsoft Windows.

top

Prérequis

Pour compiler Apache, l'environnement doit satisfaire aux conditions suivantes :

top

Compilation à partir de la ligne de commandes

Makefile.win est le makefile principal ou racine d'Apache. Pour compiler Apache sous Windows, utilisez simplement une des commandes suivantes pour compiler la version release ou debug :

nmake /f Makefile.win _apacher

nmake /f Makefile.win _apached

Ces deux commandes effectuent la compilation d'Apache. Cependant, avec la deuxième, les fichiers résultants ne seront pas optimisés, ce qui va faciliter l'examen pas à pas du code pour trouver des bogues et résoudre les problèmes.

Vous pouvez indiquer vos choix en matière de fournisseurs dbd et dbm à l'aide des variables (d'environnement) additionnelles de make DBD_LIST et DBM_LIST ; voir les commentaires à propos des [Optionnel] Bibliothèques de bases de données ci-dessus. Consultez les commentaires initiaux dans Makefile.win pour plus d'options pouvant être fournies lors de la compilation.

top

Compilation depuis l'espace de travail IDE de Developer Studio

Apache peut aussi être compilé depuis l'environnement de développement Visual Studio de VC++. Pour simplifier ce processus, l'espace de travail Visual Studio Apache.dsw est fourni. Cet espace de travail expose la liste complète des projets .dsp actifs nécessaires à l'installation binaire complète d'Apache. Il inclut les dépendances entre projets afin que ces derniers soient compilés selon l'ordre approprié.

Ouvrez l'espace de travail Apache.dsw, et sélectionnez InstallBin (compilation Release ou Debug, selon vos souhaits) comme Active Project. InstallBin provoque la compilation de tous les projets concernés, puis invoque Makefile.win pour installer les exécutables et dlls compilés. Vous pouvez modifier la valeur de INSTDIR= via la configuration de InstallBin, onglet Général, entrée ligne de commandes de compilation. La valeur par défaut de INSTDIR est le répertoire /Apache2. Si vous désirez effectuer un test de compilation (sans installation), sélectionnez le projet BuildBin.

Les fichiers projets .dsp sont distribués au format Visual Studio 6.0 (98). Visual C++ 5.0 (97) les reconnaît. Les utilisateurs de Visual Studio 2002 (.NET) et versions supérieures doivent convertir Apache.dsw et les fichiers .dsp en un projet Apache.sln, ainsi que les fichiers .msproj ; assurez-vous de reconvertir le fichier .msproj si l'un des fichiers source .dsp est modifié ! Cette opération est vraiment très simple, il suffit de réouvrir Apache.dsw dans l'IDE VC++ 7.0 et de le reconvertir.

Il y a un problème au niveau de la conversion .vcproj des fichiers .dsp. devenv.exe interprète mal le drapeau /D pour les drapeaux RC contenant de longues /D'efines, si ces dernières contiennent elles-mêmes des espaces. Ainsi, la commande :

perl srclib\apr\build\cvtdsp.pl -2005

va convertir les drapeaux /D pour les drapeaux RC afin d'utiliser une syntaxe alternative, interprétable ; malheureusement, cette syntaxe n'est pas supportée par Visual Studio 97 ou ses fichiers .mak exportés. Ces drapeaux /D transmettent la longue description des fichiers de mod_apachemodule.so à leurs compilations d'identificateur de version de ressource .rc partagée.

Les utilisateurs de Visual Studio 2002 (.NET) et versions supérieures doivent aussi utiliser la boîte de dialogue Configuration Manager du menu Build pour décocher les deux versions Debug et Release des modules mod_ssl et mod_deflate pour abs. Ces modules sont compilés en invoquant nmake ou directement l'IDE avec la cible BinBuild pour compiler ces modules de manière conditionnelle si les sous-répertoires de srclib openssl et/ou zlib existent, et en fonction des définitions des variables d'environnement DBD_LIST et DBM_LIST.

top

Export des fichiers .mak de la ligne de commandes

Les fichiers .mak exportés posent beaucoup de problèmes, mais les utilisateurs de Visual C++ 5.0 en ont besoin pour compiler mod_ssl, abs (ab avec support SSL) et/ou mod_deflate. Les fichiers .mak supportent aussi un choix plus large de distributions de chaînes d'outils C++, comme Visual Studio Express.

Vous devez tout d'abord compiler tous les projets afin de créer toutes les cibles dynamiques auto-générées, de façon à ce que les dépendances puissent être interprétées correctement. Compilez l'ensemble du projet depuis l'IDE Visual Studio 6.0 (98), en utilisant la cible BuildAll, puis utilisez le menu de projet Export pour tous les makefiles (en cochant "with dependencies"). Utilisez la commande suivante pour transformer les chemins absolus en chemins relatifs de façon à ce que la compilation puisse s'effectuer depuis n'importe quelle position dans l'arborescence :

perl srclib\apr\build\fixwin32mak.pl

Vous devez exécuter cette commande depuis la racine de l'arborescence des sources de httpd. Tout fichier projet .mak et .dep du répertoire courant et de ses sous-répertoires sera corrigé, et les repères de temps ajustés en fonction des .dsp.

Vérifiez toujours le SDK de la plate-forme ou autres chemins fichiers locaux, spécifiques à la machine dans les fichiers .mak et .dep générés. Le répertoire DevStudio\Common\MSDev98\bin\ (VC6) contient un fichier sysincl.dat qui énumère toutes les exceptions. Mettez à jour ce fichier (en particulier les chemins avec slashes et anti-slashes, tels que sys/time.h et sys\time.h) de façon à ignorer ces nouvelles dépendances. Inclure les chemins d'installation locale dans un fichier .mak distribué fera échouer la compilation.

Si vous soumettez un patch qui modifie les fichiers projet, nous devons valider la modification de ces fichiers projet au format Visual Studio 6.0. Les modifications doivent êtres simples, avec un minimum de drapeaux de compilation et d'édition de liens qui pourront être reconnus par tous les environnements Visual Studio.

top

Installation

Une fois compilé, Apache doit être installé dans le répertoire racine du serveur. La valeur par défaut est le répertoire \Apache2, sur le même disque.

Pour compiler et installer automatiquement tous les fichiers dans le répertoire rep désiré, utilisez une des commandes nmake suivantes :

nmake /f Makefile.win installr INSTDIR=dir
nmake /f Makefile.win installd INSTDIR=dir

L'argument rep de INSTDIR permet de spécifier le répertoire d'installation ; il peut être omis si Apache doit être installé dans \Apache22 (du lecteur de disque courant.

top

Avertissement à propos de la compilation d'Apache à partir de l'arborescence de développement

Notez que seuls les fichiers .dsp sont maintenus d'une distribution release à l'autre. Les fichiers .mak ne sont PAS régénérés, suite à l'énorme perte de temps des relecteurs. Vous ne pouvez donc pas utiliser les commandes NMAKE ci-dessus pour compiler des fichiers de projet .dsp révisés si vous n'exportez pas ensuite vous-même tous les fichiers .mak du projet. Ceci n'est pas nécessaire si vous effectuez la compilation depuis l'environnement Microsoft Developer Studio.

Langues Disponibles:  en  |  fr  |  ko 

top

Commentaires

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.