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

Compiler Apache pour Microsoft Windows

Langues Disponibles:  en  |  fr  |  ko 

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 des sources Unix

Le projet du serveur HTTP Apache � pour politique de ne fournir que des sources de type Unix. Les paquets source de type Windows disponibles en t�l�chargement ont �t� �labor�s par des contributeurs, et ne seront pas forc�ment reconduits pour toutes les versions. Vous pouvez cependant compiler le serveur sous Windows � partir des sources Unix en ajoutant quelques �tapes suppl�mentaires.

  1. T�l�chargez et ouvrez le tarball source Unix de la derni�re version du serveur HTTP Apache.
  2. T�l�chargez et ouvrez le tarball source Unix de la derni�re version de APR, APR-Util et APR-Iconv, et copier l'arborescence obtenue dans httpd-2.x.x\srclib\apr, httpd-2.x.x\srclib\apr-util et httpd-2.x.x\srclib\apr-iconv
  3. Ouvrez la console et placez-vous au niveau du r�pertoire httpd-2.x.x
  4. Ex�cutez l'utilitaire de conversion de fins de ligne

perl srclib\apr\build\lineends.pl

Vous pouvez maintenant compiler le serveur via l'environnement de d�veloppement Visual Studio en utilisant l'IDE. Les compilations du serveur en ligne de commande ne sont possibles avec des sources de type Unix que si vous exportez les fichiers .mak comme indiqu� ci-dessous.

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 une erreur dans la conversion .vcproj des fichiers .dsp. devenv.exe interpr�te mal le drapeau /D pour les drapeaux RC contenant de grandes /D'�finitions entour�es de guillemets, et contenant 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 permettent de transmettre 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 plus 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'exporter 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.