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" ;;