This is an initial posting of a patch for comments.
I will Bugzilla it in a few days if no one has requested any changes.

This patch handles a few independently-reviewable changes that do not entirely fix the build on Cygwin, but do make important progress in that direction.


* build/install.sh: Automagically append .exe - this is needed because libtool will not pass unknown options to an install program, so we are unable to use "-e .exe" in this case.

* build/instdso.sh: On Cygwin we can't rename DLLs either, and we _need_
   the .la files installed to allow DSOs built by other software packages
   to link against installed DSOs - e.g. mod_dav_svn -> mod_dav.
   So, disable the latter part of instdso.sh, just like on OS/2.

* modules/dav/fs/config6.m4: Cygwin is a DLL platform too. Add it to the
   list alongside OS/2.


Max.



--- ./build/install.sh.packet2 2005-02-04 20:21:18.000000000 +0000
+++ ./build/install.sh 2005-02-06 13:43:21.239926400 +0000
@@ -102,6 +102,14 @@
src="$src$ext"
dst="$dst$ext"

+# Automagically append .exe - this is needed because libtool will not pass
+# unknown options to an install program, so we are unable to use "-e .exe"
+# in this case.
+if [ -f "$src.exe" ]; then
+  src="$src.exe"
+  dst="$dst.exe"
+fi
+
#  Make a temp file name in the proper directory.
dstdir=`dirname $dst`
dsttmp=$dstdir/#inst.$$#


--- ./build/instdso.sh.packet2 2005-02-04 20:21:18.000000000 +0000 +++ ./build/instdso.sh 2005-02-06 13:47:07.294977600 +0000 @@ -61,6 +61,15 @@ exit 0 fi

+case "$SYS" in
+ CYGWIN*)
+ # On Cygwin we can't rename DLLs either, and we _need_ the .la files
+ # installed to allow DSOs built by other software packages to link against
+ # installed DSOs - e.g. mod_dav_svn -> mod_dav.
+ exit 0
+ ;;
+esac
+
DLNAME=`grep "^dlname" $TARGETDIR/$DSOARCHIVE_BASENAME | sed -e "s/dlname='\([^']*\)'/\1/"`
LIBRARY_NAMES=`grep "library_names" $TARGETDIR/$DSOARCHIVE_BASENAME | sed -e "s/dlname='\([^']*\)'/\1/"`
LIBRARY_NAMES=`echo $LIBRARY_NAMES | sed -e "s/ *$DLNAME//g"`



--- ./modules/dav/fs/config6.m4.packet2 2004-11-24 19:31:09.000000000 +0000 +++ ./modules/dav/fs/config6.m4 2005-02-06 13:47:25.611315200 +0000 @@ -11,8 +11,8 @@ fi

case "$host" in
-  *os2*)
-    # OS/2 DLLs must resolve all symbols at build time
+  *os2*|*cygwin*)
+    # DLLs must resolve all symbols at build time
    # and we need some from main DAV module
    dav_fs_objects="$dav_fs_objects ../main/mod_dav.la"
    ;;



Reply via email to