1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr"><head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Compiler Apache pour Microsoft Windows - Serveur HTTP Apache Version 2.4</title>
<link href="../style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="../style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="../style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="../style/css/prettify.css" />
<script src="../style/scripts/prettify.min.js" type="text/javascript">
</script>
<link href="../images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p>
<p class="apache">Serveur HTTP Apache Version 2.4</p>
<img alt="" src="../images/feather.png" /></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="../images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Serveur HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="../">Version 2.4</a> > <a href="./">Notes spécifiques à certaines
plates-formes</a></div><div id="page-content"><div id="preamble"><h1>Compiler Apache pour Microsoft Windows</h1>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="../en/platform/win_compiling.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/platform/win_compiling.html" title="Français"> fr </a> |
<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div>
<p>Il y a de nombreux points importants à connaître avant de
compiler Le serveur HTTP Apache pour Microsoft Windows. Avant de commencer, lisez le
document <a href="windows.html">Utiliser le serveur HTTP Apache avec Microsoft
Windows</a>.</p>
<p>httpd peut être compilé sous Windows en utilisant une chaîne de
compilation basée sur cmake, ou à partir de fichiers projet Visual
Studio maintenus par les développeurs de httpd. La chaîne de
compilation basée sur cmake supporte directement davantage de
versions de Visual Studio, mais possède actuellement des
fonctionnalités très limitées.</p>
</div>
<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="../images/down.gif" /> <a href="#requirements">Prérequis</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#unixsrcbuild">Compilation à partir des sources Unix</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#commandbuild">Compilation à partir de la ligne de commandes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#workspacebuild">Compilation depuis l'espace de travail IDE de Developer
Studio</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#exportingmakfiles">Export des fichiers .mak de la ligne de commandes</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#installation">Installation</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#projectcomponents-warn">Avertissement à propos de la compilation d'Apache à partir de
l'arborescence de développement</a></li>
<li><img alt="" src="../images/down.gif" /> <a href="#cmake">Compilation de httpd avec cmake</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="#comments_section">Commentaires</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="requirements" id="requirements">Prérequis</a></h2>
<p>Pour compiler Apache, l'environnement doit satisfaire aux
conditions suivantes :</p>
<ul>
<li>
<p>Espace disque</p>
<p>Assurez-vous de disposer d'un minimum de 200 Mo d'espace
disque disponible. Après l'installation, Apache occupe environ
80 Mo d'espace disque, plus l'espace réservé aux journaux et au
cache, la taille de ces derniers pouvant augmenter rapidement.
Les besoins réels en espace disque dépendent étroitement de la
configuration choisie et des bibliothèques ou modules tiers
installés, en particulier lorsqu'OpenSSL est mis en oeuvre.
Comme de nombreux fichiers sont au format texte et donc
facilement compressibles, l'utilisation de la compression du
système de fichiers NTFS divise ces besoins par deux.</p>
</li>
<li>
<p>Correctifs requis</p>
<p>Le binaire httpd est compilé à l'aide de nombreux correctifs
appliqués aux paquets tiers, ce qui permet de s'assurer que le
code fourni est bien compilable et déboguable. Ces correctifs
sont disponibles à <a href="http://www.apache.org/dist/httpd/binaries/win32/patches_applied/">http://www.apache.org/dist/httpd/binaries/win32/patches_applied/</a>,
et il est recommandé de les appliquer afin d'obtenir un
résultat identique aux binaires "officiels" distribués par
l'ASF.</p>
</li>
<li>
<p>Microsoft Visual C++ 6.0 (Visual Studio 97) ou supérieur.</p>
<p>Apache peut être compilé en utilisant l'outil ligne de
commande, ou depuis l'espace de travail IDE Visual Studio. Pour
la compilation depuis la ligne de commandes, l'environnement
doit comporter les variables the <code>PATH</code>,
<code>INCLUDE</code>, <code>LIB</code>, ainsi que d'autres
variables qui peuvent être définies via le script
<code>vcvars32.bat</code> :</p>
<div class="note">Vous pouvez vous procurer le paquet du Processeur Visual
Studio pour votre ancienne version de Visual Studio, ou une
version complète (et non Express) d'une édition plus récente de
Visual Studio pour l'assembleur ml.exe. Ceci vous permettra, si
vous le souhaitez, de compiler OpenSSL en utilisant une
implémentation du code d'assemblage plus efficace.</div>
<div class="note">Seule la chaîne d'outils de compilation de Microsoft est
supportée de manière suivie par les contributeurs actifs à httpd.
Bien que le projet accepte régulièrement des correctifs pour
s'assurer que MinGW et d'autre outils de compilation
fonctionnent, ou même pour les améliorer, ils ne sont pas
maintenus de manière suivie et sont même souvent hors d'état
de fonctionner à certains stades du développement normal.</div>
</li>
<li>
<p>Le SDK de la plate-forme Windows mis à jour, février 2003 ou
plus récent.</p>
<p>Un SDK approprié pour la plate-forme Windows est inclus par
défaut dans les versions complètes (et non Express/lite) de
Visual C++ 7.1 (Visual Studio 2002) et supérieures ; les
utilisateurs peuvent ignorer ces étapes, à moins qu'ils aient
choisi d'utiliser une version plus récente ou différente du SDK.</p>
<p>Pour pouvoir utiliser Visual C++ 6.0 or 7.0 (Studio 2000
.NET), l'environnement du SDK de la plate-forme doit être préparé en utilisant le
script <code>setenv.bat</code> (installé par le SDK de la plate-forme) avant de
lancer la compilation en ligne de commande ou l'interface GUI
msdev/devenv. L'installation du SDK de la plate-forme pour les
versions Express de Visual Studio (2003 et supérieures) devrait
ajuster l'environnement par défaut de manière appropriée.</p>
<div class="example"><p><code>
"c:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32"<br />
"c:\Program Files\Platform SDK\setenv.bat"
</code></p></div>
</li>
<li>
<p>Perl et awk</p>
<p>De nombreuses étapes recommandées ici nécessitent un
interpréteur perl durant le processus de préparation de la
compilation.</p>
<p>Pour installer Apache à partir du système de compilation, de
nombreux fichiers sont modifiés via l'utilitaire
<code>awk.exe</code>. awk effectue la modification des fichiers
au moment de l'installation ; il a été choisi car il nécessite
un téléchargement de petite taille (par rapport à Perl ou
WSH/VB). Le site de Brian Kernighan <a href="http://www.cs.princeton.edu/~bwk/btl.mirror/">http://www.cs.princeton.edu/~bwk/btl.mirror/</a> propose un
binaire précompilé pour Win32, <a href="http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe">http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe</a>, que
vous devez enregistrer sous le nom <code>awk.exe</code> (plutôt
que <code>awk95.exe</code>).</p>
<div class="note">Si awk.exe n'est pas trouvé, la cible install du fichier
Makefile.win n'effectuera aucune substitution dans les fichiers
.conf installés. Vous devez modifier manuellement les fichiers
.conf installés afin de permettre au serveur de démarrer.
Recherchez et remplacez toutes les balises "@token@" par une
valeur appropriée.</div>
<div class="note">L'IDE Visual Studio ne trouvera le chemin de
<code>awk.exe</code> que dans la variable PATH, ou dans le
chemin des exécutables spécifié par l'option de menu Tools ->
Options -> (Projects ->) Directories. Assurez-vous
qu'awk.exe est bien dans votre chemin système.</div>
<div class="note">Notez aussi, si vous utilisez les outils Cygwin (<a href="http://www.cygwin.com/">http://www.cygwin.com/</a>), que
l'utilitaire awk de nomme <code>gawk.exe</code> et que le
fichier <code>awk.exe</code> est en fait un lien symbolique vers
le fichier <code>gawk.exe</code>. Le shell de commandes Windows
ne reconnaît pas les liens symboliques, et par conséquent la
compilation d'InstallBin échouera. Pour contourner le problème,
vous pouvez supprimer le lien <code>awk.exe</code> de
l'installation de Cygwin, et copier <code>gawk.exe</code> vers
<code>awk.exe</code>. Notez aussi que les portages cygwin/mingw
de gawk 3.0.x étaient bogués ; veuillez par conséquent effectuer
une mise à jour vers la version 3.1.x avant l'utilisation de
tout portage de gawk.</div>
</li>
<li>
<p>[Optionnel] bibliothèque zlib (pour le module
<code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>)</p>
<p>Zlib doit être installée dans un sous-répertoire du
répertoire <code>srclib</code> et nommé <code>zlib</code>. Elle
doit être compilée directement à cette place. Zlib est
disponible à l'adresse <a href="http://www.zlib.net/">http://www.zlib.net/</a> -- le
fonctionnement correct du module <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> a
été vérifié avec la version 1.2.3.</p>
<div class="example"><p><code>
nmake -f win32\Makefile.msc<br />
nmake -f win32\Makefile.msc test
</code></p></div>
</li>
<li>
<p>[Optionnel] Bibliothèques OpenSSL (pour le module
<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> et <code>ab.exe</code> avec le support
ssl)</p>
<div class="note">La bibliothèque OpenSSL est un logiciel de chiffrement. Le
pays dans lequel vous résidez peut imposer des restrictions à
l'importation, la possession, l'utilisation, et/ou la
réexportation vers un autre pays des logiciels de chiffrement.
AVANT d'utiliser tout logiciel de chiffrement, veuillez
consulter la législation de votre pays, les règles et politiques
d'importation, de possession, ou d'utilisation, et de
réexportation des logiciels de chiffrement, afin de déterminer
si vous en avez le droit. Voir <a href="http://www.wassenaar.org/">http://www.wassenaar.org/</a>
pour plus de détails.</div>
<p>La configuration et la compilation d'OpenSSL nécessite
l'installation de perl.</p>
<p>Pour pouvoir compiler <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code> ou le projet
<code>abs.exe</code>, qui devient ab.c avec le support SSL
activé, vous devez
télécharger OpenSSL à l'adresse <a href="http://www.openssl.org/source/">http://www.openssl.org/source/</a>,
et l'installer dans un sous-répertoire du répertoire
<code>srclib</code> que vous nommerez <code>openssl</code>. Afin
de préparer OpenSSL à la liaison avec le module Apache mod_ssl
ou abs.exe, et désactiver les fonctionnalités d'Openssl grévées
de brevets, vous pouvez utiliser la commande de compilation
suivante :</p>
<div class="example"><p><code>
perl Configure no-rc5 no-idea enable-mdc2 enable-zlib VC-WIN32
-Ipath/to/srclib/zlib -Lpath/to/srclib/zlib<br />
ms\do_masm.bat<br />
nmake -f ms\ntdll.mak
</code></p></div>
<div class="note">Il est déconseillé d'utiliser zlib-dynamic, car la charge
de la décompression des flux SSL est alors transférée à la
première requête qui doit charger la dll zlib. Notez que le
correctif proposé active le drapeau -L afin de pouvoir
fonctionner avec les compilations Windows, corrige le nom de
zdll.lib et s'assure que les fichiers .pdb sont générés afin de
pouvoir résoudre les problèmes. Si l'assembleur n'est pas
installé, vous devez ajouter no-asm ci-dessus et utiliser le
script ms\do_ms.bat à la place de ms\do_masm.bat.</div>
</li>
<li>
<p>[Optionnel] Bibliothèques de bases de données (pour
<code class="module"><a href="../mod/mod_dbd.html">mod_dbd</a></code> et <code class="module"><a href="../mod/mod_authn_dbm.html">mod_authn_dbm</a></code>)</p>
<p>La bibliothèque apr-util fournit un accès aux fonctionnalités
clients dbm (base de données à base de clés) et dbd (base de
données à base de requêtes) au serveur httpd et à certains de
ses modules, comme les modules d'authentification et
d'autorisation. Les fournisseurs sdbm dbm et odbc dbd sont
compilés automatiquement.</p>
<p>Le support dbd inclut le paquet instantclient Oracle, MySQL,
PostgreSQL et sqlite. Par exemple, pour les compiler tous,
définissez LIB de façon à inclure le chemin des bibliothèques,
INCLUDE de façon à inclure le chemin des en-têtes, et PATH de
façon à inclure le chemin des dll et bin de chacun des quatre
SDK, et définissez la variable d'environnement DBD_LIST de façon
à indiquer au processus de compilation quels SDKs pilotes
clients du sont correctement installés ; par exemple :</p>
<div class="example"><p><code>
set DBD_LIST=sqlite3 pgsql oracle mysql
</code></p></div>
<p>De manière similaire, le support dbm peut être étendu avec
DBM_LIST pour compiler un fournisseur Berkeley DB (db) et/ou un
fournisseur gdbm, en configurant tout d'abord de la même manière
LIB, INCLUDE et PATH afin de s'assurer que les bibliothèques et
en-têtes de la bibliothèque client sont bien disponibles.</p>
<div class="example"><p><code>
set DBM_LIST=db gdbm
</code></p></div>
<div class="note">En fonction du choix des distributions de bases de
données, il peut s'avérer nécessaire de modifier le nom des
cibles de l'édition de liens (par exemple gdbm.lib à la place de
libgdb.lib) listées dans les fichiers .dsp/.mak des répertoires
srclib\apr-util\dbd ou ...\dbm correspondants.</div>
<p>Voir le fichier README-win32.txt pour plus d'informations à
propos de l'obtention des différents SDKs pilotes de bases de
données.</p>
</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="unixsrcbuild" id="unixsrcbuild">Compilation à partir des sources Unix</a></h2>
<p>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.</p>
<ol>
<li>Téléchargez et ouvrez le tarball source Unix de la dernière
version du serveur HTTP Apache.</li>
<li>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</li>
<li>Ouvrez la console et placez-vous au niveau du répertoire httpd-2.x.x</li>
<li>Exécutez l'utilitaire de conversion de fins de ligne</li>
</ol>
<div class="example"><p><code>
perl srclib\apr\build\lineends.pl
</code></p></div>
<p>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.
</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="commandbuild" id="commandbuild">Compilation à partir de la ligne de commandes</a></h2>
<p><code>Makefile.win</code> est le makefile principal ou racine
d'Apache. Pour compiler Apache sous Windows, utilisez simplement une
des commandes suivantes pour compiler la version
<code>release</code> ou <code>debug</code> :</p>
<div class="example"><p><code>
nmake /f Makefile.win _apacher<br /><br />
nmake /f Makefile.win _apached
</code></p></div>
<p>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.</p>
<p>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.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="workspacebuild" id="workspacebuild">Compilation depuis l'espace de travail IDE de Developer
Studio</a></h2>
<p>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 <code>Apache.dsw</code> est
fourni. Cet espace de travail expose la liste complète des projets
<code>.dsp</code> 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é.</p>
<p>Ouvrez l'espace de travail <code>Apache.dsw</code>, et
sélectionnez <code>InstallBin</code> (compilation
<code>Release</code> ou <code>Debug</code>, selon vos souhaits)
comme Active Project. <code>InstallBin</code> provoque la
compilation de tous les projets concernés, puis invoque
<code>Makefile.win</code> pour installer les exécutables et dlls
compilés. Vous pouvez modifier la valeur de <code>INSTDIR=</code>
via la configuration de <code>InstallBin</code>, onglet Général,
entrée ligne de commandes de compilation. La valeur par défaut de
<code>INSTDIR</code> est le répertoire <code>/Apache2</code>. Si
vous désirez effectuer un test de compilation (sans installation),
sélectionnez le projet <code>BuildBin</code>.</p>
<p>Les fichiers projets <code>.dsp</code> 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 <code>Apache.dsw</code> et les fichiers
<code>.dsp</code> en un projet <code>Apache.sln</code>, ainsi que
les fichiers <code>.msproj</code> ; assurez-vous de reconvertir le
fichier <code>.msproj</code> si l'un des fichiers source
<code>.dsp</code> est modifié ! Cette opération est vraiment très
simple, il suffit de réouvrir <code>Apache.dsw</code> dans l'IDE
VC++ 7.0 et de le reconvertir.</p>
<div class="note">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 :
<div class="example"><p><code>
perl srclib\apr\build\cvtdsp.pl -2005
</code></p></div>
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.</div>
<div class="note"><strong>Compilation avec OpenSSL versions 1.1.0 et supérieures</strong>
Suite à une modification de la structure de compilation d'OpenSSL à partir
de la version 1.1.0, vous devez convertir les fichiers dsp concernés via la
commance cvtdsp.pl fournie par APR versions 1.6 et supérieures :
<div class="example"><p><code>
perl srclib\apr\build\cvtdsp.pl -ossl11
</code></p></div>
</div>
<p>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 <code>Debug</code> et
<code>Release</code> des modules <code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>
et <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code> pour <code>abs</code>. Ces modules
sont compilés
en invoquant <code>nmake</code> ou directement l'IDE avec la cible
<code>BinBuild</code> pour compiler ces modules de manière
conditionnelle si les sous-répertoires de <code>srclib</code>
<code>openssl</code> et/ou <code>zlib</code> existent, et en
fonction des définitions des variables d'environnement
<code>DBD_LIST</code> et <code>DBM_LIST</code>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="exportingmakfiles" id="exportingmakfiles">Export des fichiers .mak de la ligne de commandes</a></h2>
<p>Les fichiers <code>.mak</code> exportés posent plus de problèmes,
mais les utilisateurs de Visual C++ 5.0 en ont besoin pour compiler
<code class="module"><a href="../mod/mod_ssl.html">mod_ssl</a></code>, abs (<code class="program"><a href="../programs/ab.html">ab</a></code> avec support
SSL) et/ou <code class="module"><a href="../mod/mod_deflate.html">mod_deflate</a></code>. Les fichiers .mak
supportent aussi un choix plus large de distributions de chaînes
d'outils C++, comme Visual Studio Express.</p>
<p>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 <code>BuildAll</code>, 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 :</p>
<div class="example"><p><code>
perl srclib\apr\build\fixwin32mak.pl
</code></p></div>
<p>Vous devez exécuter cette commande depuis la <em>racine</em> de
l'arborescence des sources de httpd. Tout fichier projet
<code>.mak</code> et <code>.dep</code> du répertoire courant et de
ses sous-répertoires sera corrigé, et les repères de temps ajustés
en fonction des <code>.dsp</code>.</p>
<p>Vérifiez toujours le SDK de la plate-forme ou autres chemins
fichiers locaux, spécifiques à la machine dans les fichiers
<code>.mak</code> et <code>.dep</code> générés. Le répertoire
<code>DevStudio\Common\MSDev98\bin\</code> (VC6) contient un fichier
<code>sysincl.dat</code> qui énumère toutes les exceptions. Mettez à
jour ce fichier (en particulier les chemins avec slashes et
anti-slashes, tels que <code>sys/time.h</code> et
<code>sys\time.h</code>) de façon à ignorer ces nouvelles
dépendances. Inclure les chemins d'installation locale dans un
fichier <code>.mak</code> distribué fera échouer la
compilation.</p>
<p>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.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="installation" id="installation">Installation</a></h2>
<p>Une fois compilé, Apache doit être installé dans le répertoire
racine du serveur. La valeur par défaut est le répertoire
<code>\Apache2</code>, sur le même disque.</p>
<p>Pour compiler et installer automatiquement tous les fichiers dans
le répertoire <em>rep</em> désiré, utilisez une des commandes
<code>nmake</code> suivantes :</p>
<div class="example"><p><code>
nmake /f Makefile.win installr INSTDIR=<em>dir</em><br />
nmake /f Makefile.win installd INSTDIR=<em>dir</em>
</code></p></div>
<p>L'argument <em>rep</em> de <code>INSTDIR</code> permet de
spécifier le répertoire d'installation ; il peut être omis si Apache
doit être installé dans <code>\Apache22</code> (du lecteur de disque
courant.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="projectcomponents-warn" id="projectcomponents-warn">Avertissement à propos de la compilation d'Apache à partir de
l'arborescence de développement</a></h2>
<div class="note">Notez que seuls les fichiers <code>.dsp</code> sont
maintenus d'une distribution <code>release</code> à l'autre. Les
fichiers <code>.mak</code> ne sont PAS régénérés, suite à
l'énorme perte de temps des relecteurs . Vous ne
pouvez donc pas utiliser les commandes <code>NMAKE</code>
ci-dessus pour compiler des fichiers de projet <code>.dsp</code>
révisés si vous n'exporter pas ensuite vous-même tous les
fichiers <code>.mak</code> du projet. Ceci n'est pas nécessaire
si vous effectuez la compilation depuis l'environnement
Microsoft Developer Studio.</div>
</div><div class="top"><a href="#page-header"><img alt="top" src="../images/up.gif" /></a></div>
<div class="section">
<h2><a name="cmake" id="cmake">Compilation de httpd avec cmake</a></h2>
<p>La documentation principale pour ce mécanisme de compilation se trouve
dans le fichier <code>README.cmake</code> situé dans l'arborescence
des sources. Consultez ce fichier pour des instructions détaillées.</p>
<p>Pour compiler httpd avec cmake, vous devez compiler APR et APR-util
séparément. Consultez les fichiers <code>README.cmake</code> de ces
projets pour obtenir des instructions.</p>
<p>Les principales limitations de la compilation basée sur cmake sont
héritées du projet APR-util et sont énumérées ci-dessous à cause de
leur impact sur httpd :</p>
<ul>
<li>Il n'est pas possible de compiler le projet APR-iconv avec
cmake, et la compilation de APR-util ne peut pas utiliser de projet
APR-iconv précompilé. A cause de cela, il n'est pas possible
d'utiliser <code class="module"><a href="../mod/mod_charset_lite.html">mod_charset_lite</a></code> et probablement
d'autres modules tiers.</li>
<li>La compilation du sous-projet APR-util avec cmake ne supporte
pas la plupart des bibliothèques optionnelles DBM et DBD utilisées
par les fichiers projet Visual Studio inclus. Cela limite les
serveurs de bases de données d'arrière-plan supportés par de
nombreux modules tiers ou inclus.</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="../en/platform/win_compiling.html" hreflang="en" rel="alternate" title="English"> en </a> |
<a href="../fr/platform/win_compiling.html" title="Français"> fr </a> |
<a href="../ko/platform/win_compiling.html" hreflang="ko" rel="alternate" title="Korean"> ko </a></p>
</div><div class="top"><a href="#page-header"><img src="../images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Commentaires</a></h2><div class="warning"><strong>Notice:</strong><br />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 <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
<script type="text/javascript"><!--//--><![CDATA[//><!--
var comments_shortname = 'httpd';
var comments_identifier = 'http://httpd.apache.org/docs/2.4/platform/win_compiling.html';
(function(w, d) {
if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
d.write('<div id="comments_thread"><\/div>');
var s = d.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
(d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
}
else {
d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
}
})(window, document);
//--><!]]></script></div><div id="footer">
<p class="apache">Copyright 2019 The Apache Software Foundation.<br />Autorisé sous <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="../mod/">Modules</a> | <a href="../mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="../glossary.html">Glossaire</a> | <a href="../sitemap.html">Plan du site</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
//--><!]]></script>
</body></html>
|