From 1fe198b6f9581ebfda2e26073585d756cf193e8e Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Wed, 13 Feb 2002 14:44:33 +0000 Subject: [PATCH] Update the configuration of CygWin32 to use the new capabilities of CygWin 1.3.x, which includes thread and shared library support. Submitted by Corinna Vinschen and modified a little bit. --- CHANGES | 4 ++++ Configure | 3 ++- Makefile.org | 26 +++++++++++++++++++++++--- config | 10 +++++++--- 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/CHANGES b/CHANGES index 4db9aadf87..5929f05336 100644 --- a/CHANGES +++ b/CHANGES @@ -13,6 +13,10 @@ *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7 +) applies to 0.9.7 only + *) Add information about CygWin32 1.3 and on, and preserve proper + configuration for the versions before that. + [Corinna Vinschen and Richard Levitte] + *) Make removal from session cache (SSL_CTX_remove_session()) more robust: check whether we deal with a copy of a session and do not delete from the cache in this case. Problem reported by "Izhar Shoshani Levi" diff --git a/Configure b/Configure index b810cd2fde..3a421ab4bb 100755 --- a/Configure +++ b/Configure @@ -504,7 +504,8 @@ my %table=( "Mingw32", "gcc:-DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall:::::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32", # CygWin32 -"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32", +"CygWin32-pre1.3", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall::(unknown):CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32", +"CygWin32", "gcc:-DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall:::CYGWIN32::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}::::::::::win32:cygwin-shared::.dll", # Ultrix from Bernhard Simon "ultrix-cc","cc:-std1 -O -Olimit 1000 -DL_ENDIAN::(unknown):::::::", diff --git a/Makefile.org b/Makefile.org index 669361f88e..89f2747b43 100644 --- a/Makefile.org +++ b/Makefile.org @@ -240,6 +240,9 @@ clean-shared: done; \ fi; \ ( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ + if [ "$(PLATFORM)" = "CygWin32" ]; then \ + ( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ + fi; \ done link-shared: @@ -286,6 +289,15 @@ do_darwin-shared: echo "" ; \ done +do_cygwin-shared: + libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ + ( set -x; ${CC} -shared -o cyg$$i.dll \ + -Wl,--whole-archive lib$$i.a \ + -Wl,--out-implib,lib$$i.dll.a \ + -Wl,--no-whole-archive $$libs ) || exit 1; \ + libs="$$libs -l$$i"; \ + done + # This assumes that GNU utilities are *not* used do_alpha-osf1-shared: if ${DETECT_GNU_LD}; then \ @@ -689,10 +701,18 @@ install: all install_docs tmp="$(SHARED_LIBS)"; \ for i in $${tmp:-x}; \ do \ - if [ -f "$$i" ]; then \ + if [ -f "$$i" -o -f "$$i.a" ]; then \ ( echo installing $$i; \ - cp -f $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \ - chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i ); \ + if [ "$(PLATFORM)" != "CygWin32" ]; then \ + cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/lib; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \ + else \ + c=`echo $$i | sed 's/^lib/cyg/'`; \ + cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ + chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ + cp $$i.a $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.a; \ + fi ); \ fi \ done; \ ( here="`pwd`"; \ diff --git a/config b/config index 74e6f08d93..502ca6720f 100755 --- a/config +++ b/config @@ -333,7 +333,11 @@ case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in ;; CYGWIN*) - echo "${MACHINE}-whatever-cygwin32"; exit 0 + case "$RELEASE" in + [bB]*|1.0|1.[12].*) + echo "${MACHINE}-whatever-cygwin32_pre1.3"; exit 0 + *) + echo "${MACHINE}-whatever-cygwin32"; exit 0 ;; esac @@ -670,8 +674,8 @@ EOF # *-aix) OUT="aix-$CC" ;; # *-dgux) OUT="dgux" ;; mips-sony-newsos4) OUT="newsos4-gcc" ;; - *-*-cygwin32) OUT="CygWin32" - options="$options no-threads no-asm" ;; + *-*-cygwin32_pre1.3) OUT="CygWin32-pre1.3" ;; + *-*-cygwin32) OUT="CygWin32" ;; *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;; esac -- GitLab