From: Rainer Jung Date: Sun, 6 Jun 2010 22:07:37 +0000 (+0000) Subject: Adapt docs to modules now being build dynamically by default. X-Git-Tag: 2.3.6~30 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=11b267acd89160cc750055eb5f4b81adc013290d;p=apache Adapt docs to modules now being build dynamically by default. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@952009 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/docs/manual/dso.xml b/docs/manual/dso.xml index 0c7ea47a52..492a56c6a4 100644 --- a/docs/manual/dso.xml +++ b/docs/manual/dso.xml @@ -27,14 +27,14 @@

The Apache HTTP Server is a modular program where the administrator can choose the functionality to include in the - server by selecting a set of modules. The modules can be - statically compiled into the httpd binary when the - server is built. Alternatively, modules can be compiled as - Dynamic Shared Objects (DSOs) that exist separately from the - main httpd binary file. DSO modules may be - compiled at the time the server is built, or they may be - compiled and added at a later time using the Apache Extension - Tool (apxs).

+ server by selecting a set of modules. + Modules will be compiled as Dynamic Shared Objects (DSOs) + that exist separately from the main httpd + binary file. DSO modules may be compiled at the time the server + is built, or they may be compiled and added at a later time + using the Apache Extension Tool (apxs).

+

Alternatively, the modules can be statically compiled into + the httpd binary when the server is built.

This document describes how to use DSO modules as well as the theory behind their use.

@@ -56,16 +56,16 @@ on a module named mod_so which must be statically compiled into the Apache httpd core. It is the only module besides core which cannot be put into a DSO - itself. Practically all other distributed Apache httpd modules can then - be placed into a DSO by individually enabling the DSO build for - them via configure's - --enable-mods-shared option as discussed - in the install documentation. After a - module is compiled into a DSO named mod_foo.so you - can use mod_so's mod_foo.so you can use mod_so's LoadModule command in your httpd.conf file to load this module at server startup or restart.

+

The DSO builds for individual modules can be disabled via + configure's --enable-mods-static + option as discussed in the install + documentation.

To simplify this creation of DSO files for Apache httpd modules (especially for third-party modules) a support program @@ -95,17 +95,7 @@ mod_foo.so:

-$ ./configure --prefix=/path/to/install --enable-foo --enable-mods-shared=foo
-$ make install -
- - -
  • -

    Configure Apache HTTP Server for later installation of shared - modules:

    - - -$ ./configure --enable-so
    +$ ./configure --prefix=/path/to/install --enable-foo
    $ make install
  • @@ -118,13 +108,9 @@ $ make install httpd.conf.

    -$ ./configure --enable-modules=most --enable-mods-shared=all
    +$ ./configure --enable-mods-shared=all
    $ make install
    - -

    The most argument to - --enable-modules indicates that all modules - which are not experimental or example modules will be built.

  • diff --git a/docs/manual/install.xml b/docs/manual/install.xml index 94a6c71b98..69aef54c44 100644 --- a/docs/manual/install.xml +++ b/docs/manual/install.xml @@ -225,17 +225,18 @@ $ tar xvf httpd-NN.tar

    Also at this point, you can specify which features you want included in Apache by enabling and disabling modules. Apache comes with a Base set of modules included by - default. Other modules are enabled using the + href="mod/">modules. Apache comes with a wide range of modules + included by default. They will be compiled as + shared objects (DSOs) which can be loaded + or unloaded at runtime. + You can also choose to compile modules statically by using the option + --enable-module=static.

    + +

    Additional modules are enabled using the --enable-module option, where module is the name of the module with the mod_ string removed and with any underscore converted - to a dash. You can also choose to compile modules as shared objects (DSOs) -- which can be loaded - or unloaded at runtime -- by using the option - --enable-module=shared. Similarly, you can - disable Base modules with the + to a dash. Similarly, you can disable modules with the --disable-module option. Be careful when using these options, since configure cannot warn you if the module you specify does not exist; it will simply ignore the @@ -252,15 +253,14 @@ $ tar xvf httpd-NN.tar

    For a short impression of what possibilities you have, here is a typical example which compiles Apache for the installation tree /sw/pkg/apache with a particular compiler and flags - plus the two additional modules mod_rewrite and - mod_speling for - later loading through the DSO mechanism:

    + plus the two additional modules mod_ldap and + mod_lua:

    $ CC="pgcc" CFLAGS="-O2" \
    ./configure --prefix=/sw/pkg/apache \
    - --enable-rewrite=shared \
    - --enable-speling=shared + --enable-ldap=shared \
    + --enable-lua=shared

    When configure is run it will take several minutes to diff --git a/docs/manual/programs/configure.xml b/docs/manual/programs/configure.xml index 7553cde7e6..a63d12edda 100644 --- a/docs/manual/programs/configure.xml +++ b/docs/manual/programs/configure.xml @@ -274,11 +274,11 @@ is yes.

    --enable-MODULE=shared
    -
    The corresponding module will be build as DSO module.
    +
    The corresponding module will be build as DSO module. + By default enabled modules are linked dynamically.
    --enable-MODULE=static
    -
    By default enabled modules are linked statically. You can force - this explicitly.
    +
    The corresponding module will be linked statically.
    Note @@ -291,8 +291,11 @@
    Modules enabled by default

    Some modules are compiled by default and have to be disabled - explicitly. Use the following options to remove discrete modules from - the compilation process.

    + explicitly or by using the keywords few or + none (see --enable-modules, + --enable-mods-shared and --enable-mods-static + below for further explanation) to be removed. The following options remove + individual modules from the compilation process.

    --disable-actions
    @@ -393,11 +396,12 @@
    Modules, disabled by default -

    Some modules are compiled by default and have to be enabled +

    Some modules are not compiled by default and have to be enabled explicitly or by using the keywords most or - all (see --enable-mods-shared below for - further explanation) to be available. Therefore use the options - below.

    + all (see --enable-modules, + --enable-mods-shared and --enable-mods-static + below for further explanation) to be available. The following options + add individual modules to the compilation process.

    --enable-authn-anon
    @@ -556,8 +560,8 @@
    --enable-so
    Enable DSO capability provided by mod_so. This - module will be automatically enabled if you use the - --enable-mods-shared option.
    + module will be automatically enabled unless you build + all modules statically.
    --enable-speling
    Enable the functionality to correct common URL misspellings, which @@ -716,14 +720,19 @@ --enable-mods-shared='headers rewrite dav' -

    Additionally you can use the special keywords all and - most. For example,

    +

    Additionally you can use the special keywords all, + most and few. For example,

    --enable-mods-shared=most -

    will compile most modules and build them as DSO modules. +

    will compile most modules and build them as DSO modules,

    + + --enable-mods-shared=few + +

    will only compile a very basic set of modules.

    +

    The default set is most.

    + enabled modules for further information. -->

    Caveat: --enable-mods-shared=all does not actually build all modules. To build all modules then, one might use:

    @@ -736,13 +745,18 @@
    -
    --enable-modules=MODULE-LIST
    +
    --enable-mods-static=MODULE-LIST
    This option behaves similar to --enable-mods-shared, but will link the given modules statically. This mean, these modules will always be present while running httpd. They need not be loaded with LoadModule.
    +
    --enable-modules=MODULE-LIST
    +
    This option behaves like to --enable-mods-shared, + and will also link the given modules dynamically. The special + keyword none disables the build of all modules.
    +
    --enable-v4-mapped
    Allow IPv6 sockets to handle IPv4 connections.