]> granicus.if.org Git - apache/blob - docs/manual/programs/configure.xml
Hmpf, ok, commit this to head.
[apache] / docs / manual / programs / configure.xml
1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "../style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
4 <manualpage metafile="configure.xml.meta">
5 <parentdocument href="./">Programs</parentdocument>
6
7   <title>configure - Configure the source tree</title>
8
9 <summary>
10     <p>The <code>configure</code> script configures the source tree
11     for compiling and installing the Apache HTTP Server at your
12     particular platform. Various options allow the compilation of a
13     server corresponding to your personal requirements.</p>
14
15     <p>This script, included in the root directory of the distribution,
16     is for compilation on Unix and Unix-like systems only. For other
17     platforms, see the <a href="../platform/">platform</a>
18     documentation.</p>
19 </summary>
20
21 <seealso><a href="../install.html">Compiling and Installing</a></seealso>
22
23 <section id="synopsis"><title>Synopsis</title>
24     <p>You should call the <code>configure</code> script from within the
25     root directory of the distribution.</p>
26
27     <p><code><strong>./configure</strong> [<var>OPTION</var>]...
28     [<var>VAR</var>=<var>VALUE</var>]...</code></p>
29
30     <p>To assign environment variables (e.g., <code>CC</code>,
31     <code>CFLAGS</code> ...), specify them as
32     <code><var>VAR</var>=<var>VALUE</var></code>. See <a href="#env">below</a>
33     for descriptions of some of the useful variables.</p>
34 </section>
35
36 <section id="options"><title>Options</title>
37   <ul>
38     <li><a href="#configurationoptions">Configuration options</a></li>
39     <li><a href="#installationdirectories">Installation directories</a></li>
40     <li><a href="#systemtypes">System types</a></li>
41     <li><a href="#optionalfeatures">Optional features</a></li>
42     <li><a href="#supportopt">Options for support programs</a></li>
43   </ul>
44
45   <section id="configurationoptions"><title>Configuration options</title>
46
47     <p>The following options influence the behavior of
48     <code>configure</code> itself.</p>
49
50     <dl>
51       <dt><code>-C</code></dt>
52       <dt><code>--config-cache</code></dt>
53       <dd>This is an alias for <code>--cache-file=config.cache</code></dd>
54
55       <dt><code>--cache-file=<var>FILE</var></code></dt>
56       <dd>The test results will be cached in file <var>FILE</var>.
57         This option is disabled by default.</dd>
58
59       <dt><code>-h</code></dt>
60       <dt><code>--help [short|recursive]</code></dt>
61       <dd>Output the help and exit. With the argument <code>short</code> only
62         options specific to this package will displayed. The argument
63         <code>recursive</code> displays the short help of all the included
64         packages.</dd>
65
66       <dt><code>-n</code></dt>
67       <dt><code>--no-create</code></dt>
68       <dd>The <code>configure</code> script is running normally but does
69         not create output files. This is useful to check the test results
70         before generating makefiles for compilation.</dd>
71
72       <dt><code>-q</code></dt>
73       <dt><code>--quiet</code></dt>
74       <dd>Do not print <code>checking ...</code> messages during the
75         configure process.</dd>
76
77       <dt><code>--srcdir=<var>DIR</var></code></dt>
78       <dd>Defines directory <var>DIR</var> to be the source file directory.
79         Default is the directory, where configure is located, or the parent
80         directory <code>..</code>.</dd>
81
82       <dt><code>--silent</code></dt>
83       <dd>Same as <code>--quiet</code></dd>
84
85       <dt>-V</dt>
86       <dt>--version</dt>
87       <dd>Display copyright information and exit.</dd>
88     </dl>
89   </section>
90
91   <section id="installationdirectories"><title>Installation 
92     directories</title>
93
94     <p>These options define the installation directory. The installation
95       tree depends on the selected layout.</p>
96
97     <dl>
98       <dt><code>--prefix=<var>PREFIX</var></code></dt>
99       <dd>Install architecture-independent files in <var>PREFIX</var>.
100         By default the installation directory is set to
101         <code>/usr/local/apache2</code>.</dd>
102
103       <dt><code>--exec-prefix=<var>EPREFIX</var></code></dt>
104       <dd>Install architecture-dependent files in <var>EPREFIX</var>.
105         By default the installation directory is set to the
106         <var>PREFIX</var> directory.</dd>
107     </dl>
108
109     <p>By default, <code>make install</code> will install all the files in
110       <code>/usr/local/apache2/bin</code>, <code>/usr/local/apache2/lib</code>
111       etc. You can specify an installation prefix other than
112       <code>/usr/local/apache2</code> using <code>--prefix</code>,
113       for instance <code>--prefix=$HOME</code>.</p>
114
115     <section id="layout"><title>Define a directory layout</title>
116       <dl>
117         <!-- further explanation needed -->
118         <dt><code>--enable-layout=<var>LAYOUT</var></code></dt>
119         <dd>Configure the source code and build scripts to assume an
120           installation tree based on the layout <var>LAYOUT</var>. The default
121           layout is <code>Apache</code>.</dd>
122       </dl>
123     </section>
124
125     <section id="directoryfinetuning"><title>Fine tuning of the installation
126       directories</title>
127     
128       <p>For better control of the installation directories, use the options
129         below. Please note that the directory defaults are set by
130         <code>autoconf</code> and be overwritten by the corresponding layout
131         setting.</p>
132
133       <dl>
134         <!-- only apr-config and apu-config are installed at bindir.
135         everything else is stored at sbindir. ==> clarify/change this -->
136         <dt><code>--bindir=<var>DIR</var></code></dt>
137         <dd>Install user executables in <var>DIR</var>. The user executables
138           are supporting programs like <code>htpasswd</code>,
139           <code>dbmmanage</code>, etc. which are useful for site
140           administrators. By default <var>DIR</var> is set to
141           <code><var>EPREFIX</var>/bin</code>.</dd>
142
143         <dt><code>--datadir=<var>DIR</var></code></dt>
144         <dd>Install read-only architecture-independent data in <var>DIR</var>.
145           By default <code>datadir</code> is set to
146           <code><var>PREFIX</var>/share</code>. This option is offered by
147           <code>autoconf</code> and currently unused.</dd>
148
149         <dt><code>--includedir=<var>DIR</var></code></dt>
150         <dd>Install C header files in <var>DIR</var>. By default
151           <code>includedir</code> is set to
152           <code><var>EPREFIX</var>/include</code>.</dd>
153
154         <dt><code>--infodir=<var>DIR</var></code></dt>
155         <dd>Install info documentation in <var>DIR</var>.
156           By default <code>infodir</code> is set to
157           <code><var>PREFIX</var>/info</code>. This option is currently
158           unused.</dd>
159         
160         <dt><code>--libdir=<var>DIR</var></code></dt>
161         <dd>Install object code libraries in <var>DIR</var>. By default
162           <code>libdir</code> is set to
163           <code><var>EPREFIX</var>/lib</code>.</dd>
164
165         <dt><code>--libexecdir=<var>DIR</var></code></dt>
166         <dd>Install the program executables (i.e., shared modules) in
167           <var>DIR</var>. By default <code>libexecdir</code> is set to
168           <code><var>EPREFIX</var>/libexec</code>.</dd>
169
170         <dt><code>--localstatedir=<var>DIR</var></code></dt>
171         <dd>Install modifiable single-machine data in <var>DIR</var>.
172           By default <code>localstatedir</code> is set to
173           <code><var>PREFIX</var>/var</code>. This option is offered by
174           <code>autoconf</code> and currently unused.</dd>
175
176         <dt><code>--mandir=<var>DIR</var></code></dt>
177         <dd>Install the man documentation in <var>DIR</var>. By default 
178           <code>mandir</code> is set to
179           <code><var>EPREFIX</var>/man</code>.</dd>
180       
181         <dt><code>--oldincludedir=<var>DIR</var></code></dt>
182         <dd>Install C header files for non-gcc in <var>DIR</var>.
183           By default <code>oldincludedir</code> is set to
184           <code>/usr/include</code>. This option is offered by
185           <code>autoconf</code> and currently unused.</dd>
186         
187         <dt><code>--sbindir=<var>DIR</var></code></dt>
188         <dd>Install the system administrator executables in <var>DIR</var>.
189           Those are server programs like <code>httpd</code>,
190           <code>apachectl</code>, <code>suexec</code>, etc. which are neccessary
191           to run the Apache HTTP Server. By default <code>sbindir</code> is
192           set to <code><var>EPREFIX</var>/sbin</code>.</dd>
193
194         <dt><code>--sharedstatedir=<var>DIR</var></code></dt>
195         <dd>Install modifiable architecture-independent data in <var>DIR</var>.
196           By default <code>sharedstatedir</code> is set to
197           <code><var>PREFIX</var>/com</code>. This option is offered by
198           <code>autoconf</code> and currently unused.</dd>
199
200         <dt><code>--sysconfdir=<var>DIR</var></code></dt>
201         <dd>Install read-only single-machine data like the server configuration
202           files <code>httpd.conf</code>, <code>mime.types</code>, etc. in
203           <var>DIR</var>. By default <code>sysconfdir</code> is set to
204           <code><var>PREFIX</var>/etc</code>.</dd>
205       </dl>        
206     </section>
207   </section>
208   
209   <section id="systemtypes"><title>System types</title>
210
211     <p>These options are used to crosscompile the Apache HTTP Server to run on
212       another system. In normal cases, when building and running the server on
213       the same system, these options are not used.</p>
214
215     <dl>
216       <dt><code>--build=<var>BUILD</var></code></dt>
217       <dd>Defines the system type of the system on which the tools are being
218         built. It defaults to the result of the script
219         <code>config.guess</code>.</dd>
220
221       <dt><code>--host=<var>HOST</var></code></dt>
222       <dd>Defines the system type of the system on which the server will run.
223         <var>HOST</var> defaults to <var>BUILD</var>.</dd>
224
225       <dt><code>--target=<var>TARGET</var></code></dt>
226       <dd>Configure for building compilers for the system type
227         <var>TARGET</var>. It defaults to <var>HOST</var>. This option is
228         offered by <code>autoconf</code> and not necessary for the Apache HTTP
229         Server.</dd>
230     </dl>
231   </section>
232
233   <section id="optionalfeatures"><title>Optional Features</title>
234
235     <p>These options are used to fine tune the features your HTTP server will
236       have.</p>
237
238     <section id="generaloptfeat"><title>General syntax</title>
239       <p>Generally you can use the following syntax to enable or disable a
240         feature:</p>
241
242       <dl>
243         <dt><code>--disable-<var>FEATURE</var></code></dt>
244         <dd>Do not include <var>FEATURE</var>. This is the same as
245           <code>--enable-<var>FEATURE</var>=no</code>.</dd>
246
247         <dt><code>--enable-<var>FEATURE</var>[=<var>ARG</var>]</code></dt>
248         <dd>Include <var>FEATURE</var>. The default value for <var>ARG</var> 
249           is <code>yes</code>.</dd>
250
251         <dt><code>--enable-<var>MODULE</var>=shared</code></dt>
252         <dd>The corresponding module will be build as DSO module.</dd>
253
254         <dt><code>--enable-<var>MODULE</var>=static</code></dt>
255         <dd>By default enabled modules are linked statically. You can force 
256           this explicitly.</dd>
257       </dl>
258     </section>
259
260     <section id="modules"><title>Enable or disable discrete modules</title>
261       <p>Some modules are compiled by default and have to be disabled
262         explicitly while other modules have to be enabled explicitly or by
263         using the keywords <code>most</code> or <code>all</code> (see
264         <code>--enable-mods-shared</code> below for further explanation) to be
265         available. Therefor use the options below.</p>
266
267       <dl>
268         <dt><code>--disable-actions</code></dt>
269         <dd>Disable action triggering on requests, which is provided by
270           <module>mod_actions</module>.</dd>
271
272         <dt><code>--disable-alias</code></dt>
273         <dd>Disable the mapping of requests to different parts of the filesystem,
274           which is provided by <module>mod_alias</module>.</dd>
275
276         <dt><code>--disable-asis</code></dt>
277         <dd>Disable support for as-is filetypes, which is provided by
278           <module>mod_asis</module>.</dd>
279
280         <dt><code>--disable-auth</code></dt>
281         <dd>Disable user-based access control provided  by
282           <module>mod_auth</module>.</dd>
283
284         <dt><code>--disable-autoindex</code></dt>
285         <dd>Disable the directory listing functionality provided by
286           <module>mod_autoindex</module>.</dd>
287
288         <dt><code>--disable-access</code></dt>
289         <dd>Disable host-based access control provided by
290           <module>mod_access</module>.</dd>
291
292         <dt><code>--disable-cgi</code></dt>
293         <dd><module>mod_cgi</module>, which provides support for CGI scripts, is
294           enabled by default when using a non-threaded MPM. Use this option to
295           disable CGI support.</dd>
296
297         <dt><code>--disable-cgid</code></dt>
298         <dd>When using the threaded MPMs <module>worker</module> or
299           <module>perchild</module> support for CGI scripts is provided by
300           <module>mod_cgid</module> by default. To disable CGI support use this
301           option.</dd>
302
303         <dt><code>--disable-charset-lite</code></dt>
304         <dd>Disable character set translation provided by
305           <module>mod_charset_lite</module>. This module will be installed by
306           default only on EBCDIC systems.</dd>
307
308         <dt><code>--disable-dir</code></dt>
309         <dd>Disable directory request handling provided by
310           <module>mod_dir</module>.</dd>
311
312         <dt><code>--disable-env</code></dt>
313         <dd>Enable setting and clearing of environment variables, which is
314           provided by <module>mod_env</module>.</dd>
315
316         <!-- configure mentions enable-http, but disable-http would make much
317         more sense -->
318         <dt><code>--disable-http</code></dt>
319         <dd>Disable the HTTP protocol handling. The <code>http</code> module is
320           a basic one, enabling the server to function as an HTTP server. It is
321           only useful to disable it if you want to use another protocol module
322           instead. <strong>Don't disable this module until you are really sure
323             what you are doing.</strong><br/>
324           Note: This module will always be linked statically.</dd> 
325
326         <dt><code>--disable-imap</code></dt>
327         <dd>Disable support for server based imagemaps, which provided by
328           <module>mod_imap</module>.</dd>
329
330         <dt><code>--disable-include</code></dt>
331         <dd>Disable Server Side Includes provided by
332           <module>mod_include</module>.</dd>
333
334         <dt><code>--disable-log-config</code></dt>
335         <dd>Disable the logging configuration provided by
336           <module>mod_log_config</module>.</dd>
337
338         <dt><code>--disable-mime</code></dt>
339         <dd>Disable the mapping of file-extensions to MIME, which is provided by
340           <module>mod_mime</module>.</dd>
341
342         <dt><code>--disable-negotiation</code></dt>
343         <dd>Disable content negotiation provided by
344           <module>mod_negotiation</module>.</dd>
345
346         <dt><code>--disable-setenvif</code></dt>
347         <dd>Disable support for basing environment variables on headers, which
348           is provided by <module>mod_setenvif</module>.</dd>
349
350         <dt><code>--disable-status</code></dt>
351         <dd>Enable the process/thread monitoring, which is provided by
352           <module>mod_status</module>.</dd>
353
354         <dt><code>--disable-userdir</code></dt>
355         <dd>Disable the mapping of requests to user-specific directories, which
356           is provided by <module>mod_userdir</module>.</dd>
357
358         <dt><code>--enable-auth-anon</code></dt>
359         <dd>Enable anonymous user access provided by
360           <module>mod_auth_anon</module>.</dd>
361
362         <dt><code>--enable-auth-dbm</code></dt>
363         <dd>Enable support for DBM-based access databases provided by
364           <module>mod_auth_dbm</module>.</dd>
365
366         <dt><code>--enable-auth-digest</code></dt>
367         <dd>Enable RFC2617 Digest authentication provided by
368           <module>mod_auth_digest</module>.</dd>
369
370         <dt><code>--enable-auth-ldap</code></dt>
371         <dd>Enable LDAP based authentication provided by
372           <module>mod_auth_ldap</module>.</dd>
373
374         <!-- module doc needed -->
375         <dt><code>--enable-bucketeer</code></dt>
376         <dd>Enable manipulation filter the manipulation filter for buckets,
377           which is provided by <code>mod_bucketeer</code>.</dd>
378           
379         <dt><code>--enable-cache</code></dt>
380         <dd>Enable dynamic file caching provided by
381           <module>mod_cache</module>.</dd>
382
383         <!-- module doc needed -->
384         <dt><code>--enable-case-filter</code></dt>
385         <dd>Enable the example uppercase conversion output filter support of
386           <code>mod_case_filter</code>.</dd>
387
388         <!-- module doc needed -->
389         <dt><code>--enable-case-filter-in</code></dt>
390         <dd>Enable the example uppercase conversion input filter support of
391           <code>mod_case_filter_in</code>.</dd>
392
393         <dt><code>--enable-cern-meta</code></dt>
394         <dd>Enable the CERN-type meta files support provided by
395           <module>mod_cern_meta</module>.</dd>
396
397         <dt><code>--enable-charset-lite</code></dt>
398         <dd>Enable character set translation provided by
399           <module>mod_charset_lite</module>. This module will be installed by
400           default only on EBCDIC systems. On other systems, you have to enable
401           it.</dd>
402
403         <dt><code>--enable-dav</code></dt>
404         <dd>Enable the WebDAV protocol handling provided by
405           <module>mod_dav</module>. Support for filesystem resources is
406           provided by the seperate module <module>mod_dav_fs</module>. This
407           module is also automatically enabled with
408           <code>--enable-dav</code>.<br/>
409           Note: <module>mod_dav</module> can only be used together with the
410           <code>http</code> protocol module.</dd>
411
412         <dt><code>--enable-dav-fs</code></dt>
413         <dd>Enable DAV support for filesystem resources, which is provides by
414           <module>mod_dav_fs</module>. This module is a provider for the
415           <module>mod_dav</module> module, so you should also use
416           <code>--enable-dav</code>.</dd> 
417
418         <dt><code>--enable-deflate</code></dt>
419         <dd>Enable deflate transfer encoding provided by
420           <module>mod_deflate</module>.</dd>
421
422         <dt><code>--enable-disk-cache</code></dt>
423         <dd>Enable disk caching provided by
424           <module>mod_disk_cache</module>.</dd>
425
426         <dt><code>--enable-echo</code></dt>
427         <dd>Enable the ECHO server provided by
428           <module>mod_echo</module>.</dd>
429
430         <dt><code>--enable-example</code></dt>
431         <dd>Enable the example and demo module
432           <module>mod_example</module>.</dd>
433
434         <dt><code>--enable-expires</code></dt>
435         <dd>Enable Expires header control provided by
436           <module>mod_expires</module>.</dd>
437
438         <dt><code>--enable-ext-filter</code></dt>
439         <dd>Enable the external filter support provided by
440           <module>mod_ext_filter</module>.</dd>
441
442         <dt><code>--enable-file-cache</code></dt>
443         <dd>Enable the file cache provided by
444           <module>mod_file_cache</module>.</dd>
445
446         <dt><code>--enable-headers</code></dt>
447         <dd>Enable control of HTTP headers provided by
448           <module>mod_headers</module>.</dd>
449
450         <dt><code>--enable-info</code></dt>
451         <dd>Enable the server information provided by
452           <module>mod_info</module>.</dd>
453
454         <dt><code>--enable-ldap</code></dt>
455         <dd>Enable LDAP caching and connection pooling services provided by
456           <module>mod_ldap</module>.</dd>
457
458         <dt><code>--enable-logio</code></dt>
459         <dd>Enable logging of input and output bytes including headers provided
460           by <module>mod_logio</module>.</dd>
461
462         <dt><code>--enable-mem-cache</code></dt>
463         <dd>Enable memory caching provided by
464           <module>mod_mem_cache</module>.</dd>
465
466         <dt><code>--enable-mime-magic</code></dt>
467         <dd>Enable automatical determining of MIME types, which is provided by
468           <module>mod_mime_magic</module>.</dd>
469
470         <dt><code>--enable-isapi</code></dt>
471         <dd>Enable the isapi extension support provided by
472           <module>mod_isapi</module>.</dd>
473
474         <!-- module doc needed -->
475         <dt><code>--enable-optional-fn-export</code></dt>
476         <dd>Enable the example for an optional function exporter, which is
477           provided by <code>mod_optional_fn_export</code>.</dd> 
478
479         <!-- module doc needed -->
480         <dt><code>--enable-optional-fn-import</code></dt>
481         <dd>Enable the example for an optional function importer, which is
482           provided by <code>mod_optional_fn_import</code>.</dd>
483
484         <!-- module doc needed -->
485         <dt><code>--enable-optional-hook-export</code></dt>
486         <dd>Enable the example for an optional hook exporter, which is provided
487           by <code>mod_optional_hook_export</code>.</dd>
488
489         <!-- module doc needed -->
490         <dt><code>--enable-optional-hook-import</code></dt>
491         <dd>Enable the example optional hook importer, which is provided by
492           <code>mod_optional_hook_import</code>.</dd>
493
494         <dt><code>--enable-proxy</code></dt>
495         <dd>Enable the proxy/gateway functionality provided by
496           <module>mod_proxy</module>. The proxying capabilities for
497           <code>CONNECT</code>, <code>FTP</code> and <code>HTTP</code> are
498           provided by the seperate modules <module>mod_proxy_connect</module>,
499           <module>mod_proxy_ftp</module> and <module>mod_proxy_http</module>.
500           These three modules are also automatically enabled with
501           <code>--enable-proxy</code>.</dd>
502
503         <dt><code>--enable-proxy-connect</code></dt>
504         <dd>Enable proxy support for <code>CONNECT</code> request handling,
505           which is provided by <module>mod_proxy_connect</module>. This module
506           is an extension for the <module>mod_proxy</module> module, so you
507           should also use <code>--enable-proxy</code>.</dd>
508
509         <dt><code>--enable-proxy-ftp</code></dt>
510         <dd>Enable proxy support for <code>FTP</code> requests, which is
511           provided by <module>mod_proxy_ftp</module>.. This module
512           is an extension for the <module>mod_proxy</module> module, so you
513           should also use <code>--enable-proxy</code>.</dd>
514
515         <dt><code>--enable-proxy-http</code></dt>
516         <dd>Enable proxy support for <code>HTTP</code> requests, which is
517           provided by <module>mod_proxy_http</module>. This module
518           is an extension for the <module>mod_proxy</module> module, so you
519           should also use <code>--enable-proxy</code>.</dd>
520
521         <dt><code>--enable-rewrite</code></dt>
522         <dd>Enable rule based URL manipulation provided by
523           <module>mod_rewrite</module>.</dd>
524
525         <dt><code>--enable-so</code></dt>
526         <dd>Enable DSO capability provided by <module>mod_so</module>. This
527           module will automatically enabled if you use the
528           <code>--enable-mods-shared</code> option.</dd>
529
530         <dt><code>--enable-speling</code></dt>
531         <dd>Enable the functionality to correct common URL misspellings, which
532           is provided by <module>mod_spelling</module>.</dd>
533
534         <dt><code>--enable-ssl</code></dt>
535         <dd>Enable support for SSL/TLS provided by
536           <module>mod_ssl</module>.</dd>
537
538         <dt><code>--enable-unique-id</code></dt>
539         <dd>Enable the generation of per-request unique ids, which is provided
540           by <module>mod_unique_id</module>.</dd>
541
542         <dt><code>--enable-usertrack</code></dt>
543         <dd>Enable user-session tracking provided by
544           <module>mod_usertrack</module>.</dd>
545
546         <dt><code>--with-module=<var>module-type</var>:<var>module-file</var>
547           </code></dt>
548         <dd><p>Add a third-party module to the list of statically linked
549             modules. The module source file <code><var>module-file</var></code>
550             will be searched in the <code>modules/<var>module-type</var></code>
551             subdirectory of your Apache HTTP server source tree so it has to be
552             placed there before. If it is not found here 
553             <code>configure</code> is considering <var>module-file</var> to be a
554             an absolute file path and tries to copy the source file into the
555             <var>module-type</var> subdirectory.</p>
556           <p>This option is useful to add small external modules consiting of
557             one source file. For bigger modules you should read the vendors
558             documentation.</p>
559           <note><title>Note</title>
560             If you want to build a DSO module instead of a statically linked use
561             <a href="apxs.html">apxs</a>.</note>
562         </dd>
563
564         <dt><code>--with-mpm=MPM</code></dt>
565         <dd>Choose the process model for your server. You have to select
566           exactly one <a href="mpm.html">Multi-Processing Module</a>. Otherwise
567           the <a href="mpm.html#defaults">default MPM</a> for your operating
568           system will be taken. Possible MPMs are <module>beos</module>,
569           <module>leader</module>, <module>mpmt_os2</module>,
570           <module>perchild</module>, <module>prefork</module>,
571           <module>threadpool</module> and <module>worker</module>.</dd>
572       </dl>
573     </section>
574
575     <section id="otheroptfeat"><title>Cumulative and other options</title>
576       <dl>
577         <dt><code>--enable-maintainer-mode</code></dt>
578         <dd>Turn on debugging and compile time warnings.</dd>
579
580         <dt><code>--enable-mods-shared=<var>MODULE-LIST</var></code></dt>
581         <dd>
582           <p>Defines a list of modules to be enabled and build as dynamic
583             shared modules. This mean, these module have to be loaded
584             dynamically by using the  <directive
585             module="mod_so">LoadModule</directive> directive.</p>
586           <p><var>MODULE-LIST</var> is a space separated list of modulenames
587             enclosed by quotation marks. The module names are given without the
588             preceding <code>mod_</code>. For example:</p>
589           <example>
590             --enable-mods-shared='headers rewrite dav'
591           </example>
592           <p>Additionally you can use the special keywords <code>all</code> and
593             <code>most</code>. For example,</p>
594           <example>
595             --enable-mods-shared=most
596           </example>
597           <p>will compile most modules and build them as DSO modules.
598             <!-- See <a href="../install/enabledmodules.html">Overview of
599               enabled modules</a> for further information. --></p>
600         </dd>
601                     
602         <dt><code>--enable-modules=<var>MODULE-LIST</var></code></dt>
603         <dd>This option behaves similar to <code>--enable-mods-shared</code>, 
604           but will link the given modules statically. This mean, these modules
605           will always be present while running <code>httpd</code>. They need
606           not be loaded with <directive
607           module="mod_so">LoadModule</directive>.</dd>
608
609         <dt><code>--enable-v4-mapped</code></dt>
610         <dd>Allow IPv6 sockets to handle IPv4 connections.</dd>
611
612         <dt><code>--enable-vhost-alias</code></dt>
613         <dd>Enable mass virtual hosting provided by
614           <module>mod_vhost_alias</module>.</dd>
615
616         <dt><code>--with-port=<var>PORT</var></code></dt>
617         <dd>This defines the port on which <code>httpd</code> will listen. This
618           port number is used when generating the configuration file
619           <code>httpd.conf</code>. The default is 80.</dd>
620
621         <dt><code>--with-program-name</code></dt>
622         <dd>Define an alternate executable name.</dd>
623       </dl>
624     </section>
625   </section>
626
627   <section id="packages"><title>Optional packages</title>
628     <p>These options are used to define optional packages.</p>
629
630     <section id="generalpackages"><title>General syntax</title>
631       <p>Generally you can use the following syntax to define an optional
632         package:</p>
633
634       <dl>
635         <dt><code>--with-<var>PACKAGE</var>[=<var>ARG</var>]</code></dt>
636         <dd>Use the package <var>PACKAGE</var>. The default value for
637           <var>ARG</var> is<code>yes</code>.</dd>
638
639         <dt><code>--without-<var>PACKAGE</var></code></dt>
640         <dd>Do not use the package <var>PACKAGE</var>. This is the same as
641           <code>--with-<var>PACKAGE</var>=no</code>. This option is provided by
642           <code>autoconf</code> but not very useful for the Apache HTTP
643           Server.</dd>
644       </dl>
645     </section>
646
647     <!-- options not known are passed to packasges?
648     are there other important options for packages? -->
649
650     <section id="packageopt"><title>Specific packages</title>
651       <dl>
652         <dt><code>--with-apr=<var>DIR</var>|<var>FILE</var></code></dt>
653         <dd>The Apache Portable Runtime (APR) is part of the <code>httpd</code>
654           source distribution and will automatically be build together with the
655           HTTP server. If you want to use an already installed APR instead you
656           have to tell <code>configure</code> the path to the
657           <code>apr-config</code> script. You may set the absolute path and name
658           or the directory to the installed APR. <code>apr-config</code> must
659           exists within this directory or the subdirectory
660           <code>bin</code>.</dd>
661         
662         <dt><code>--with-apr-util=<var>DIR</var>|<var>FILE</var></code></dt>
663         <dd>The Apache Portable Runtime Utilities (APU) are part of the
664           <code>httpd</code> source distribution and will automatically be build
665           together with the HTTP server. If you want to use an already installed
666           APU instead you have to tell <code>configure</code> the path to the
667           <code>apu-config</code> script. You may set the absolute path and name
668           or the directory to the installed APU. <code>apu-config</code> must
669           exists within this directory or the subdirectory
670           <code>bin</code>.</dd>
671
672         <dt><code>--with-ssl=<var>DIR</var></code></dt>
673         <dd>If <module>mod_ssl</module> has been enabled <code>configure</code>
674           searches for an installed OpenSSL. You can set the directory path
675           to the SSL/TLS toolkit instead.</dd>
676
677         <dt><code>--with-z=<var>DIR</var></code></dt>
678         <dd><code>configure</code> searches automatically for an installed
679           <code>zlib</code> library if your source configuration requires one
680           (e.g., when <module>mod_deflate</module> is enabled). You can set the
681           directory path to the compression library instead.</dd>
682       </dl>
683     </section>
684   </section>
685   
686   <section id="supportopt"><title>Options for support programs</title>
687     <dl>
688       <dt><code>--enable-static-support</code></dt>
689       <dd>Build a statically linked version of the support binaries. This
690         means, a stand-alone executable will be build with all necessary
691         libraries are integrated. Otherwise the support binaries are linked
692         dynamically by default.</dd>
693
694       <dt><code>--enable-suexec</code></dt>
695       <dd>Use this option to enable <code><a
696             href="suexec.html">suexec</a></code>, which allows you to set uid
697         and gid for spawned processes. Further options to configure
698         <code>suexec</code> are described <a href="#suexec">below</a>.</dd>
699     </dl>
700
701     <p>It is possible to create a statically linked binary of a single
702       support program by using the following options:</p>
703
704     <dl>
705       <dt><code>--enable-static-ab</code></dt>
706       <dd>Build a statically linked version of <code><a
707             href="ab.html">ab</a></code>.</dd>
708
709       <!-- missing documentation for chechgid -->
710       <dt><code>--enable-static-checkgid</code></dt>
711       <dd>Build a statically linked version of <code>checkgid</code>.</dd>
712
713       <!-- missing documentation for htdbm -->
714       <dt><code>--enable-static-htdbm</code></dt>
715       <dd>Build a statically linked version of <code>htdbm</code>.</dd>
716
717       <dt><code>--enable-static-htdigest</code></dt>
718       <dd>Build a statically linked version of <code><a
719             href="htdigest.html">htdigest</a></code>.</dd>
720         
721       <dt><code>--enable-static-htpasswd</code></dt>
722       <dd>Build a statically linked version of <code><a
723             href="htpasswd.html">htpasswd</a></code>.</dd>
724
725       <dt><code>--enable-static-logresolve</code></dt>
726       <dd>Build a statically linked version of <code><a
727             href="logresolve.html">logresolve</a></code>.</dd>
728
729       <dt><code>--enable-static-rotatelogs</code></dt>
730       <dd>Build a statically linked version of <code><a
731             href="rotatelogs.html">rotatelogs</a></code>.</dd>
732     </dl>
733
734     <section id="suexec"><title>suexec configuration options</title>
735       <p>The following options are used to fine tune the behavior of <code><a
736         href="suexec.html">suexec</a></code>. See <a
737         href="suexec.html#install">Configuring and installing suEXEC</a>
738         for further information.</p>
739
740       <dl>
741         <dt><code>--with-suexec-bin</code></dt>
742         <dd>This defines the path to suexec binary. Default is
743           <code>--sbindir</code> (see <a href="directoryfinetuning">Fine
744             tuning of installation directories</a>).</dd>
745
746         <dt><code>--with-suexec-caller</code></dt>
747         <dd>This defines the user allowed to call <code>suexec</code>. It should
748           be the same as the user under which <code>httpd</code> normally
749           runs.</dd>
750
751         <dt><code>--with-suexec-docroot</code></dt>
752         <dd>This defines the directory tree under which <code>suexec</code>
753           access is allowed for executables. Default value is
754           <code>--datadir/htdocs</code>.</dd>
755
756         <dt><code>--with-suexec-gidmin</code></dt>
757         <dd>Define this as the lowest GID allowed to be a target user for
758           <code>suexec</code>. The default value is 100.</dd>
759
760         <dt><code>--with-suexec-logfile</code></dt>
761         <dd>This defines the filename of the <code>suexec</code> logfile. By
762           default the logfile is named <code>suexec_log</code> and located in
763           <code>--logfiledir</code>.</dd>
764
765         <dt><code>--with-suexec-safepath</code></dt>
766         <dd>Define the value of the environment variable <code>PATH</code> to
767           be set for processes started by <code>suexec</code>. Default value is
768           <code>/usr/local/bin:/usr/bin:/bin</code>.</dd>
769
770         <dt><code>--with-suexec-userdir</code></dt>
771         <dd>This defines the subdirectory under the user's directory that
772           contains all executables for which <code>suexec</code> access is
773           allowed. This setting is necessary when you want to use
774           <code>suexec</code> together with user-specific directories (as
775           provided by <module>mod_userdir</module>). The default is
776           <code>public_html</code>.</dd>
777
778         <dt><code>--with-suexec-uidmin</code></dt>
779         <dd>Define this as the lowest UID allowed to be a target user for
780           <code>suexec</code>. The default value is 100.</dd>
781
782         <dt><code>--with-suexec-umask</code></dt>
783         <dd>Set <code>umask</code> for processes started by <code>suexec</code>.
784           It default to your system settings.</dd>
785       </dl>
786     </section>
787   </section>
788 </section>
789
790 <section id="env"><title>Environment variables</title>
791   <p>There are some useful environment variables to override the choices made by
792     <code>configure</code> or to help it to find libraries and programs with
793     nonstandard names or locations.</p>
794
795   <!-- are these all useful variables? -->
796   <dl>
797     <dt><code>CC</code></dt>
798     <dd>Define the C compiler command to be used for compilation.</dd>
799
800     <dt><code>CFLAGS</code></dt>
801     <dd>Set C compiler flags you want to use for compilation.</dd>
802
803     <dt><code>CPP</code></dt>
804     <dd>Define the C preprocessor command to be used.</dd>
805
806     <dt><code>CPPFLAGS</code></dt>
807     <dd>Set C/C++ preprocessor flags, e.g. <code>-I<var>includedir</var></code>
808       if you have headers in a nonstandard directory <var>includedir</var>.</dd>
809
810     <dt><code>LDFLAGS</code></dt>
811     <dd>Set linker flags, e.g. <code>-L<var>libdir</var></code> if you have
812       libraries in a nonstandard directory <var>libdir</var>.</dd> 
813   </dl>
814 </section>
815 </manualpage>