jim 01/09/24 07:22:45 Modified: htdocs/manual cygwin.html Log: Submitted by: Stipe Tolj <[EMAIL PROTECTED]> Cgywin compilation with shared DLLs info Revision Changes Path 1.6 +32 -2 httpd-docs-1.3/htdocs/manual/cygwin.html Index: cygwin.html =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/cygwin.html,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- cygwin.html 2001/09/24 01:36:38 1.5 +++ cygwin.html 2001/09/24 14:22:45 1.6 @@ -216,6 +216,14 @@ <code>libhttpd.dll</code> and create the <code>libhttpd.a</code> import library which is required for linking <code>httpd.exe</code>.</p> +<p><strong>Note:</strong> After <code>make install</code> is performed you will + find the resulting core DLL module <code>libhttpd.dll</code> within + <code>/usr/local/apache/libexec</code>. This is due to the installation process. + Please move the file to Apache's <code>bin</code> directory, i.e. +<pre> + $ mv /usr/local/apache/libexec/libhttpd.dll /usr/local/apache/bin +</pre> + <li><strong>Shared DLL modules linked version</strong> <p>This method is currently <strong>ONLY</strong> supported using a patched version of <code>ld.exe</code>. Please see the @@ -257,7 +265,7 @@ $ gcc --shared -o <i>module</i>.dll <i>module</i>.lo <i>/path/to/libhttpd.dll</i> </pre> <p>The shared DLL module has to be placed in Apache's - <code>bin</code>directory, where <code>libhttpd.dll</code> also goes.</p> + <code>bin</code> directory, where <code>libhttpd.dll</code> also resides.</p> <li>Add configuration directives to <code>conf/httpd.conf</code> to load and activate shared DLL modules at runtime: @@ -275,13 +283,35 @@ to build.</p> <li><strong>Using apxs to create shared DLL modules</strong> -<p>To make the extending<code>httpd</code> with shared DLL modules +<p>To make the extending <code>httpd</code> with shared DLL modules easier, you can use <a href="programs/apxs.html"><code>apxs</code></a>. <p>Make sure you have configured <code>$CFG_LDFLAGS_SHLIB</code> within <code>apxs</code> to include the <code>--shared</code> directive and the path to the shared code DLL <code>libhttpd.dll</code>. + +<p>After performing <code>make install</code> you will probably have the + following lines within your <code>apxs</code>: +<pre> + # apxs + [...] + my $CFG_LD_SHLIB = q(dllwrap --export-all --output-def libhttpd.def --implib libhttpd.a --driver-name gcc); # substituted via Makefile.tmpl + my $CFG_LDFLAGS_SHLIB = q(-g); # substituted via Makefile.tmpl + my $CFG_LIBS_SHLIB = q(); # substituted via Makefile.tmpl + [...] +</pre> + Change these to reflect the new compile options needed for shared DLL + modules as follows: +<pre> + # apxs + [...] + my $CFG_LD_SHLIB = q(gcc); # substituted via Makefile.tmpl + my $CFG_LDFLAGS_SHLIB = q(-g --shared); # substituted via Makefile.tmpl + my $CFG_LIBS_SHLIB = q(<i>/path/to/libhttpd.dll</i>); # substituted via Makefile.tmpl + [...] +</pre> + <p>Now you should be able to create a shared DLL module from a <code>mod_foo.c</code> source file with:
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]