Commit 55b9d66f authored by pcs's avatar pcs
Browse files

Add support for building shared modules. A new Configuration command,

SharedModule, indicates that a module should be built as a shared library.
For example:

   SharedModule modules/standard/mod_status.so

(note the change of extension).

Building Apache will then build modules/standard/mod_status.so. This should
be copied into somewhere under the server root and loaded with a directive like:

   LoadModule status_module modules/mod_status.so

The compiler and linker flags for creating shareable and shared modules will
need adding for the supported OSes. I've put some default ones in for FreeBSD
and Linux. This can also be set in the Configuration file (if set here, it will
override the defaults contained within the Configure script). If there are no
SharedModule lines none of these extra options will be used anywhere in the
build process. If the final link of httpd requires any extra libraries
(typically -ldl) this will have to be given on EXTRA_LIBS in Configuration.

The Configure variables and Configuration options are

  CFLAGS_SHLIB     Options when building .o files ready for sharing
                   (e.g. -fpic)
  LDFLAGS_SHLIB    Options when linking .o files to .so (e.g. -Bshareable,
                   -export, -assert pure-text)
  LDFLAGS_SHLIB_EXPORT
                   Options required when linking httpd so that it exports
                   its symbols for linking at runtime (e.g. -Bdynamic,
                   -rdynamic, -export-dynamic)

The options used in Configure could be placed in Configuration like this:

  CFLAGS_SHLIB=-fpic
  LDFLAGS_SHLIB=-Bshareable
  LDFLAGS_SHLIB_EXPORT=-rdynamic


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/1.3.x@80094 13f79535-47bb-0310-9956-ffa450edef68
parent d828eb51
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment