]> granicus.if.org Git - apache/commitdiff
Document the Win32 .so change. Time to rest the brain.
authorWilliam A. Rowe Jr <wrowe@apache.org>
Thu, 21 Dec 2000 02:26:56 +0000 (02:26 +0000)
committerWilliam A. Rowe Jr <wrowe@apache.org>
Thu, 21 Dec 2000 02:26:56 +0000 (02:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@87484 13f79535-47bb-0310-9956-ffa450edef68

docs/manual/mod/index-bytype.html
docs/manual/mod/index.html
docs/manual/mod/mod_so.html

index 1f4123262e246054e6cd054b6df9c93e00b4d3ca..a571333b1b0547df187fbd4d24903da96a3608b7 100644 (file)
@@ -165,7 +165,7 @@ virtual hosts under different userids.
 <DT><A HREF="mod_proxy.html">mod_proxy</A>
 <DD>Caching proxy abilities
 <DT><A HREF="mod_so.html">mod_so</A>
-<DD>Experimental support for loading modules (DLLs on Windows) at runtime
+<DD>Support for loading modules at runtime
 <DT><A HREF="mod_file_cache.html">mod_file_cache</A>
 <DD>Caching files in memory for faster serving.
 <DT><A HREF="mod_dav.html">mod_dav</A>
index 589564c4cb02963be686d8d9f89b74866e04dcd1..c33feac746937ca7433de09494ee74b2231ca332 100644 (file)
@@ -66,7 +66,7 @@ virtual hosts under different userids.
 <DT><A HREF="mod_auth_dbm.html">mod_auth_dbm</A>
 <DD>User authentication using DBM files.
 <DT><A HREF="mod_auth_digest.html">mod_auth_digest</A>
-<DD>MD5 authentication (experimental)
+<DD>MD5 authentication
 <DT><A HREF="mod_autoindex.html">mod_autoindex</A>
 <DD>Automatic directory listings.
 <DT><A HREF="mod_cern_meta.html">mod_cern_meta</A>
@@ -114,7 +114,7 @@ virtual hosts under different userids.
 <DT><A HREF="mod_setenvif.html">mod_setenvif</A>
 <DD>Set environment variables based on client information
 <DT><A HREF="mod_so.html">mod_so</A>
-<DD>Experimental support for loading modules (DLLs on Windows) at runtime
+<DD>Support for loading modules at runtime
 <DT><A HREF="mod_speling.html">mod_speling</A>
 <DD>Automatically correct minor typos in URLs
 <DT><A HREF="mod_status.html">mod_status</A>
index 8c837a4209d652ee7d158dba760911cb73cc795e..9649d150c5588a99cd84c28dc4ca4186544a1f15 100644 (file)
@@ -21,7 +21,7 @@ server at start-up or restart time.</p>
 <P><A
 HREF="module-dict.html#Status"
 REL="Help"
-><STRONG>Status:</STRONG></A> Base (Windows); Experimental (Unix)
+><STRONG>Status:</STRONG></A> Base (Windows); Optional (Unix)
 <BR>
 <A
 HREF="module-dict.html#SourceFile"
@@ -42,30 +42,38 @@ REL="Help"
 
 <H2>Summary</H2>
 
-<p>This is an experimental module. On selected operating systems it
-can be used to load modules into Apache at runtime via the <A
-HREF="../dso.html">Dynamic Shared Object</A> (DSO) mechanism, rather
-than requiring a recompilation.
+<P>On selected operating systems this module can be used to load modules
+into Apache at runtime via the <A HREF="../dso.html">Dynamic Shared 
+Object</A> (DSO) mechanism, rather than requiring a recompilation.
 
 <P>
 On Unix, the loaded code typically comes from shared object files
-(usually with <SAMP>.so</SAMP> extension), whilst on Windows this
-module loads <SAMP>DLL</SAMP> files. This module is only available in
-Apache 1.3 and up.
-
+(usually with <SAMP>.so</SAMP> extension), on Windows this may either
+the <SAMP>.so</SAMP> or <SAMP>.dll</SAMP> extension. This module is 
+only available in Apache 1.3 and up.
 
 <p>In previous releases, the functionality of this module was provided
 for Unix by mod_dld, and for Windows by mod_dll. On Windows, mod_dll
 was used in beta release 1.3b1 through 1.3b5. mod_so combines these
 two modules into a single module for all operating systems.
 
+<P><STRONG> Warning: Apache 1.3 modules cannot be directly used with
+   Apache 2.0 - the module must be modified to dynamically load or 
+   compile into Apache 2.0</STRONG>.</P>
+
 <H2>Directives</H2>
 <UL>
 <LI><A HREF="#loadfile">LoadFile</A>
 <LI><A HREF="#loadmodule">LoadModule</A>
 </UL>
 
-<H2><A NAME="creating">Creating DLL Modules for Windows</A></H2>
+<H2><A NAME="creating">Creating Loadable Modules for Windows</A></H2>
+
+<P><STRONG>Note: the module name format changed for Windows with Apache
+   1.3.15 and 2.0 - the modules are now named as mod_foo.so</STRONG>.
+   While mod_so still loads modules with ApacheModuleFoo.dll names, the
+   new naming convention is preferred; if you are converting your loadable
+   module for 2.0, please fix the name to this 2.0 convention.</P>
 
 <P>The Apache module API is unchanged between the Unix and Windows
    versions. Many modules will run on Windows with no or little change
@@ -87,16 +95,16 @@ two modules into a single module for all operating systems.
 
 <P>To create a module DLL, a small change is necessary to the module's
    source file: The module record must be exported from the DLL (which
-   will be created later; see below). To do this, add the
-   <CODE>MODULE_VAR_EXPORT</CODE> (defined in the Apache header files) to
-   your module's module record definition. For example, if your module
+   will be created later; see below). To do this, add the <CODE
+   >AP_MODULE_DECLARE_DATA</CODE> (defined in the Apache header files) 
+   to your module's module record definition. For example, if your module
    has:</P>
 <PRE>
     module foo_module;
 </PRE>
 <P>Replace the above with:</P>
 <PRE>
-    module MODULE_VAR_EXPORT foo_module;
+    module AP_MODULE_DECLARE_DATA foo_module;
 </PRE>
 <P>Note that this will only be activated on Windows, so the module can
    continue to be used, unchanged, with Unix if needed. Also, if you are
@@ -104,10 +112,13 @@ two modules into a single module for all operating systems.
    record with that method instead.</P>
 
 <P>Now, create a DLL containing your module. You will need to link this
-   against the ApacheCore.lib export library that is created when the
-   ApacheCore.dll shared library is compiled. You may also have to change
+   against the libhttpd.lib export library that is created when the
+   libhttpd.dll shared library is compiled. You may also have to change
    the compiler settings to ensure that the Apache header files are
-   correctly located.</P>
+   correctly located.  You can find this library in your server root's
+   libexec directory.  It is best to grab an existing module .dsp file 
+   from the tree to assure the build environment is configured correctly,
+   or alternately compare the compiler and link options to your .dsp.</P>
 
 <P>This should create a DLL version of your module. Now simply place it
    in the <SAMP>modules</SAMP> directory of your server root, and use
@@ -166,20 +177,13 @@ The LoadModule directive links in the object file or library
 to the list of active modules. <EM>Module</EM> is the name of the
 external variable of type <CODE>module</CODE> in the file, and is
 listed as the <a href="module-dict.html#ModuleIdentifier">Module
-Identifier</a> in the module documentation.  Example (Unix):
+Identifier</a> in the module documentation.  Example:
 <BLOCKQUOTE><CODE>
 LoadModule status_module modules/mod_status.so
 </CODE></BLOCKQUOTE>
 
-<P>
-
-Example (Windows):
-<BLOCKQUOTE><CODE>
-LoadModule status_module modules/ApacheModuleStatus.dll<BR>
-</CODE></BLOCKQUOTE>
-
-loads the named module from the modules subdirectory of the
-ServerRoot.<P>
+<P>loads the named module from the modules subdirectory of the
+   ServerRoot.<P>
 
 
 <!--#include virtual="footer.html" -->