You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Stipe Tolj <to...@wapme-systems.de> on 2001/09/26 03:37:43 UTC

[PATCH] 1.3: transparent configure and build of shared DLL modules

This patch is for the Cygwin platform. 

There are a couple of clean-ups and enhancements, especially for
configuring and building shared module DLLs using the
--enable-shared=<foobar> configure switch.

Installation now performs without any errors, even a libhttpd.ep fake
is installed for a clean "make install" run.

The manual page htdocs/manual/cygwin.html has been changed to reflect
the features for the configuration and building process of shared
module DLLs too.

Please commit changed to CVS, Jim, Martin?!


Here is what has been changed:

  * configure: added case for Cygwin to translate shared module
extensions from .so to .dll. Almost the same as for OS2.

  * htdocs/manual/cywin.html: added related changes to the configure
and build process for shared module DLLs.

  * src/Configure: cleaned up Cygwin case for OS specific variable
declaration. Removed no longer need $DLL_IMPORT_DEF and
$DLL_IMPORT_LIB variables.

  * src/Makefile.tmpl: removed no longer needed $DLL_IMPORT_LIB
variable.

  * src/main/http_main.c: added dllexport declaration for int REALMAIN
for SHARED_CORE support.

  * src/modules/standard/Makefile.Cygwin: added this new file to
refelct the extra rules needed to link the shared module DLLs. Very
similar to src/modules/standard/Makefile.OS2.

  * src/os/cygwin/os.h: added explicit dllimport and dllexport
declarations for API_VAR_EXPORT and API_EXPORT(type).



Stipe

tolj@wapme-systems.de
-------------------------------------------------------------------
Wapme Systems AG

Münsterstr. 248
40470 Düsseldorf

Tel: +49-211-74845-0
Fax: +49-211-74845-299

E-Mail: info@wapme-systems.de
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are

Re: [PATCH] 1.3: transparent configure and build of shared DLL modules

Posted by Martin Kraemer <Ma...@fujitsu-siemens.com>.
On Mon, Oct 01, 2001 at 11:33:23PM +0200, Stipe Tolj wrote:
> sorry to be pendantic, but current CVS of apache-1.3 is broken for
> Cygwin platform, since Martin missed to commit first hunk of the patch
> for src/Configure:

Yep, and now I can see why:
> |Please commit to CVS.
> |
> |diff -urN apache-1.3/src/Configure apache-1.3-cygwin/src/Configure
> |--- apache-1.3/src/Configure   Sun Jul 15 10:04:35 2001
> |+++ apache-1.3-cygwin/src/Configure    Wed Sep 26 00:56:20 2001
> --------------------------
> Patching file src/Configure using Plan A...
> patch: **** malformed patch at line 75:             ##  ok, no known explict support for shared objects
> Exit 1

Please send patches as text/plain attachment in the future, rather than
inlining them (which on many mail clients breaks the lines!).

   Martin
-- 
<Ma...@Fujitsu-Siemens.com>         |     Fujitsu Siemens
Fon: +49-89-636-46021, FAX: +49-89-636-47655 | 81730  Munich,  Germany

Re: [PATCH] 1.3: transparent configure and build of shared DLL modules

Posted by Stipe Tolj <to...@wapme-systems.de>.
sorry to be pendantic, but current CVS of apache-1.3 is broken for
Cygwin platform, since Martin missed to commit first hunk of the patch
for src/Configure:

Please commit to CVS.

diff -urN apache-1.3/src/Configure apache-1.3-cygwin/src/Configure
--- apache-1.3/src/Configure	Sun Jul 15 10:04:35 2001
+++ apache-1.3-cygwin/src/Configure	Wed Sep 26 00:56:20 2001
@@ -1388,16 +1388,18 @@
             ;;
 	*-cygwin*)
 	    DEF_SHARED_CORE=yes
-	    LDFLAGS_SHLIB="-g"
+	    LDFLAGS_SHLIB="--export-all"
 	    LDFLAGS_MOD_SHLIB=$LDFLAGS_SHLIB
 	    SHLIB_SUFFIX_NAME=dll
+	    SHMOD_SUFFIX_NAME=dll
 	    SHLIB_SUFFIX_DEPTH=0
-	    DLL_IMPORT_LIB='lib$(TARGET).a'
-	    DLL_IMPORT_DEF='lib$(TARGET).def'
-	    LD_SHLIB='dllwrap --export-all --output-def $(DLL_IMPORT_DEF)
--implib $(DLL_IMPORT_LIB) --driver-name $(CC)'
-	    LD_SHCORE_LIBS='$(LIBS)'
+	    LD_SHLIB='dllwrap'
+	    LD_SHCORE_DEF=''
+	    LD_SHCORE_LIBS="$LIBS"
 	    LIBS_SHLIB='$(EXTRA_LIBS)'
-	    SHARED_CORE_EP=''
+	    SHARED_CORE_EP='lib$(TARGET).ep'
+	    SHCORE_IMPLIB='lib$(TARGET).dll'
+	    OS_MODULE_INCLUDE='Makefile.Cygwin'
 	    ;;
 	*)
 	    ##  ok, no known explict support for shared objects

tolj@wapme-systems.de
-------------------------------------------------------------------
Wapme Systems AG

Münsterstr. 248
40470 Düsseldorf

Tel: +49-211-74845-0
Fax: +49-211-74845-299

E-Mail: info@wapme-systems.de
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are

Re: [PATCH] 1.3: transparent configure and build of shared DLL modules

Posted by Stipe Tolj <to...@wapme-systems.de>.
> On Wed, Sep 26, 2001 at 03:37:43AM +0200, Stipe Tolj wrote:
> > This patch is for the Cygwin platform.
> 
> Committed for 1.3.21. Thanks.

Thanks, but I can't see "Makefile.Cygwin" in

http://cvs.apache.org/viewcvs.cgi/apache-1.3/src/modules/standard/

which is essentially needed to produce the shared module DLLs. It has
been included within the patch, or did I missed it?!

Stipe

tolj@wapme-systems.de
-------------------------------------------------------------------
Wapme Systems AG

Münsterstr. 248
40470 Düsseldorf

Tel: +49-211-74845-0
Fax: +49-211-74845-299

E-Mail: info@wapme-systems.de
Internet: http://www.wapme-systems.de
-------------------------------------------------------------------
wapme.net - wherever you are

Re: [PATCH] 1.3: transparent configure and build of shared DLL modules

Posted by Martin Kraemer <Ma...@Fujitsu-Siemens.com>.
On Wed, Sep 26, 2001 at 03:37:43AM +0200, Stipe Tolj wrote:
> This patch is for the Cygwin platform. 

Committed for 1.3.21. Thanks.

   Martin
-- 
<Ma...@Fujitsu-Siemens.com>         |     Fujitsu Siemens
Fon: +49-89-636-46021, FAX: +49-89-636-47655 | 81730  Munich,  Germany