You are viewing a plain text version of this content. The canonical link for it is here.
Posted to docs@httpd.apache.org by ji...@apache.org on 2001/09/24 16:22:45 UTC
cvs commit: httpd-docs-1.3/htdocs/manual cygwin.html
jim 01/09/24 07:22:45
Modified: htdocs/manual cygwin.html
Log:
Submitted by: Stipe Tolj <to...@wapme-systems.de>
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: apache-docs-unsubscribe@apache.org
For additional commands, e-mail: apache-docs-help@apache.org