Précédent | Table des matières | Suivant
Il n'y a pas de pré-requis particuliers concernant la version de windows. Personnellement, j'ai utilisé XP Pro SP1 mais je suppose que toutes les versions conviendront.
Enfin, il vous faudra les sources de pas mal de logiciels et bibliothèques. En effet, tant Apache que PHP nécessitent, pour une compilation correcte, qu'un certain nombre de bibliothèques et programmes annexes soient compilés et/ou installés. Voyons de plus près quelles sont les dépendances dans la liste ci-dessous (les version indiquées sont les versions utilisées au moment de la compilation. Mettez-les à jour):
Chacun de ces programmes est décompressé dans un répertoire quelconque, auquel nous ferons référence sous le nom du programme, encadré par les signes < et >. Par exemple, les sources d'Apache seront décompressées dans un répertoire nommé <APACHE>.
Dans toute la mesure du possible, évitez:
Ces 2 précautions vous permettront, d'une part, d'éviter des erreurs de compilation à cause d'un espace indésirable dans le chemin, et d'autre part, de simplifier les mises à jour futures en ne tenant pas compte de la version des programmes.
Une fois que toutes les sources sont en place, nous allons pouvoir commencer les premières compilations.
Depuis une fenêtre de ligne de commandes, rendez-vous dans <BINDLIB> et tapez:
msdev bindlib.dsp /MAKE "bindlib - Win32 Release"
Nous n'allons compiler que les versions "Release" et pas les "Debug".
Normalement, pas de problèmes particuliers.
Comme le dit la doc, copiez le fichier <BINDLIB>\Release\resolv.lib vers le répertoire <BUILD>\lib. Il nous servira dans la suite.
Nous allons commencer par compiler BZip2 afin d'obtenir les fichiers demandés par le module PHP.
Décompressez les sources Bzip2 dans un répertoire que nous appellerons <BZip2> Ouvrez le fichier libbzip2.dsp dans VisualStudio.
Un avertissement vous indique qu'un fichier .dsw a été trouvé et sera ouvert à la place.
Laissez faire.
Menu "Build \ Set Active Configuration", sélectionnez "libbz2 - Win32 Release". F7 pour démarrer la compilation... Une fois la compilation finie, copiez le fichier <BZip2>\libbz2.dll dans un répertoire du PATH.
Et voilà, passons au module lui-même
Décompressez-les dans le répertoire <ClibPDF> Suivez les instructions du ficher Readme.win32 situé dans <ClibPDF>\source.
Je n'approfondi pas, c'est suffisemment clair....
Sauf que cela ne marchera pas avec PHP.
Explications : Dans ce fichier Readme.win32, on nous demande de créer une bibliothèque STATIQUE, or le module PHP nécessite une bibliothèque DYNAMIQUE. Donc, suivez les instructions jusqu'au point "d)".
Là, au lieu de compiler la bibliothèque, menu "Project \ Export Makefile". Vérifiez que cpdf est coché et cliquez OK Ouvrez le fichier <ClibPDF>\source\cpdf.mak avec le bloc-notes. Remplacez toutes les occurences de "ML" par "MD". Sauvegardez et fermez le fichier. Depuis une fenêtre de commande, rendez-vous dans <ClibPDF>\source et tapez la commande suivante : nmake /F cpdf.mak CFG="cpdf - Win32 Release" La compilation réalisée, vous obtenez le fichier cpdf.lib dans <ClibPDF>\release
Telle quelle, Curl n'aura pas de support SSL. Il faut donc d'abord compiler OpenSSL pour pouvoir compiler Curl avec le support SSL. Rendez-vous au chapitre Compilation d'OpenSSL pour plus d'informations.
Décompressez les sources de CURL dans un répertoire <Curl> Copiez libcurl.dll dans un répertoire du PATH Dans une fenêtre de commande, dans le répertoire <Curl>\lib, tapez les commandes "nmake -f makefile.vc6 cfg=release-ssl-dll OPENSSL_PATH=<OpenSSL>" "cd ..\src" "nmake -f Makefile.vc6 cfg=release-ssl OPENSSL_PATH=<OpenSSL>"
Décompressez les sources dans <Iconv-1.8>
Depuis une fenêtre de commande, rendez-vous dans le répertoire et tapez
"nmake -f makefile.msvc DLL=1 MFLAGS=-MD"
Une erreur peut apparaître (dans le fichier iconv.c à la ligne 53, LOCALEDIR n'est pas défini).
Ouvrez le fichier <Iconv>\src\iconv.c avec le bloc-notes
Remplacer LOCALEDIR par "." sans oublier les guillemets.
Relancez la compilation et tout devrait bien se passer.
Copiez <Iconv>\lib\iconv.dll dans un répertoire système.
Bon, là , pas de compilation.
En effet, la version de libmcrypt disponible sur le Site Officiel de libmcrypt n'est pas compatible avec PHP. La solution se trouve, au format binaire, là: LibMCrypt.
Téléchargez le fichier, décompressez-le et vous obtenez deux fichiers principaux :
php_mcrypt.dll libmcrypt.dll
Copiez le premier dans votre répertoire d'extensions PHP (gardez le sous le coude gauche pour le moment) et le second dans un répertoire du PATH.
Le serveur ne se compile pas sous Windows sans le renfort de CygWin, mais cela ne nous empêchera pas de compiler les librairies client, seules nécessaires au module PHP.
Décompressez les sources dans <Postgresql> Depuis une fenêtre de commande, rendez-vous dans <Postgresql>\src et tapez "nmake -f win32.mak"
Décompressez les sources dans <Ucd-SNMP> Depuis VisualStudio, ouvrez le fichier <Ucd-SNMP>\win32\win32.dsw Menu "Build \ Batch Build", ne sélectionnez que libsnmp et libsnmp_dll en release. Lancez la compilation (bouton "Build")
Une fois la compilation terminée, copiez le fichier <Ucd-SNMP>\win\bin\libsnmp.dll dans un répertoire du PATH.
Décompressez les sources dans <Js> Depuis une fenêtre de commande, dans ce répertoire, tapez la commande: "nmake -f js.mak CFG="js - Win32 Release" Une fois la compilation finie, les fichiers attendus se trouvent dans <Js>\release
Copiez le fichier js32.dll dans un répertoire système
Décompressez les sources dans <Expat> Rendez-vous dans <Expat>\source et ouvrez le fichier expat.dsw dans VisualStudio Menu "Build \ Batch Build" et ne sélectionnez que les versions "Win32 Release" Cliquez sur Build et tout est bon
Vous obtenez les fichiers voulus dans <Expat>\source\lib\release
Décompressez les sources de Sablot dans <Sablot> Depuis une fenêtre de commande, rendez-vous dans ce répertoire et tapez la commande suivante : nmake -f makefile.nt EXPAT=<Expat>\source EXPAT_LIB=lib\release\libexpat.lib \ ICONV=<Iconv>\src JS=<Js>\release
où EXPAT est égal au chemin absolu vers les sources EXPAT (en fait vers le fichier expat.h) et EXPAT_LIB le chemin RELATIF vers le fichier libexpat.lib fraîchement compilé (Relatif par rapport à EXPAT)
Quelques instants plus tard, vous obtenez les fichiers recherchés:
"sablot.lib" dans <Sablot>\lib "sablot.dll" dans <Sablot>\bin
Copiez celui-ci dans un répertoire du PATH
Décompressez les sources dans <Yaz>
Depuis une fenêtre de commande, rendez-vous dans <Yaz>\win et tapez
nmake
Voilà, c'est fait (pfff, c'était dur !!).
Copiez le fichier <Yaz>\bin\yaz.dll dans un répertoire du PATH
Décompressez les sources dans <Zlib>
Copiez le fichier <Zlib>\nt\makefile.nt dans <Zlib> Copiez le fichier <Zlib>\nt\zlib.dnt dans <Zlib>
Ouvrez une fenêtre de commandes dans <Zlib> et tapez la commande suivante
nmake /f makefile.nt
Une poignée de secondes plus tard, vous obtenez les fichiers convoités dans <Zlib>\Release
Copiez le fichier zlib.dll dans un répertoire du PATH
J'ai employé MS Visual Studio 6.0 (SP5).
Il faut y ajouter le pack "pre-processor" que vous trouverez sur le site de Microsoft: Visual C++ 6.0 Processor Pack
Un certain nombre de paramétrages supplémentaires sont à faire. Ils permettront aux différents programmes de trouver leurs dépendances respectives:
Menu "Tools \ Options \ Directories \ Executables files" et ajouter le chemin vers awk.exe Menu "Tools \ Options \ Directories \ Executables Files" et ajouter <BUILD>\bin Menu "Tools \ Options \ Directories \ Includes Files" et ajouter <BUILD>\include Menu "Tools \ Options \ Directories \ Includes Files" et ajouter <APACHE>\src\include Menu "Tools \ Options \ Directories \ Includes Files" et ajouter <APACHE>\src\os\win32 Menu "Tools \ Options \ Directories \ Includes files" et ajouter <BZIP2> Menu "Tools \ Options \ Directories \ Includes files" et ajouter <CLIBPDF>\source Menu "Tools \ Options \ Directories \ Includes files" et ajouter <CURL>\include Menu "Tools \ Options \ Directories \ Includes files" et ajouter <ICONV>\include Menu "Tools \ Options \ Directories \ Includes files" et ajouter <OPENSSL>\inc32 Menu "Tools \ Options \ Directories \ Includes files" et ajouter <PGSQL>\src\interfaces\libpq Menu "Tools \ Options \ Directories \ Includes files" et ajouter <PGSQL>\src\include Menu "Tools \ Options \ Directories \ Includes files" et ajouter <SNMP>\snmplib Menu "Tools \ Options \ Directories \ Library Files" et ajouter <BUILD>\lib Menu "Tools \ Options \ Directories \ Library Files" et ajouter <APACHE>\src\lib Menu "Tools \ Options \ Directories \ Library Files" et ajouter <APACHE>\src\Release Menu "Tools \ Options \ Directories \ Library files" et ajouter <BZIP2>\release Menu "Tools \ Options \ Directories \ Library files" et ajouter <CLIBPDF>\Release Menu "Tools \ Options \ Directories \ Library files" et ajouter <CURL>\lib Menu "Tools \ Options \ Directories \ Library files" et ajouter <ICONV>\lib Menu "Tools \ Options \ Directories \ Library files" et ajouter <OPENSSL>\out32dll Menu "Tools \ Options \ Directories \ Library files" et ajouter <PGSQL>\src\interface\libpq\release Menu "Tools \ Options \ Directories \ Library files" et ajouter <SABLOT>\lib Menu "Tools \ Options \ Directories \ Library files" et ajouter <SNMP>\win\lib Menu "Tools \ Options \ Directories \ Library files" et ajouter <YAZ>\lib Menu "Tools \ Options \ Directories \ Library files" et ajouter <ZLIB>\release
Quitter Visual Studio
Ajouter une variable d'environnement système : bison_simple de valeur <BUILD>\bin\bison.simple
Précédent | Table des matières | Suivant
Valid XHTML 1.0 Strict | Valid CSS
Sauf mention contraire, le contenu de ce site est publié sous contrat Creative Common by-nc-sa