Commit 4c1a6e00 authored by Lutz Jänicke's avatar Lutz Jänicke
Browse files

Apply mingw patches as supplied by Roumen Petrov an Alon Bar-Lev

PR: 1552
Submitted by: Roumen Petrov <openssl@roumenpetrov.info>, "Alon Bar-Lev" <alon.barlev@gmail.com>
parent 6e6ada18
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -20,3 +20,4 @@ libssl.pc
*.flc
semantic.cache
Makefile
*.dll*
+4 −1
Original line number Diff line number Diff line
@@ -494,7 +494,7 @@ my %table=(
"BC-32","bcc32::::WIN32::BN_LLONG DES_PTR RC4_INDEX EXPORT_VAR_AS_FN:${no_asm}:win32",

# MinGW
"mingw", "gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin -shared:.dll.a",
"mingw", "gcc:-mno-cygwin -DL_ENDIAN -fomit-frame-pointer -O3 -march=i486 -Wall:::MINGW32:-lws2_32 -lgdi32:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts} EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL -DOPENSSL_USE_APPLINK:-mno-cygwin:.dll.a",

# UWIN 
"UWIN", "cc:-DTERMIOS -DL_ENDIAN -O -Wall:::UWIN::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:win32",
@@ -1192,13 +1192,16 @@ if (!$no_shared)

if (!$IsMK1MF)
	{
	# add {no-}static-engine to options to allow mkdef.pl to work without extra arguments
	if ($no_shared)
		{
		$openssl_other_defines.="#define OPENSSL_NO_DYNAMIC_ENGINE\n";
		$options.=" static-engine";
		}
	else
		{
		$openssl_other_defines.="#define OPENSSL_NO_STATIC_ENGINE\n";
		$options.=" no-static-engine";
		}
	}

+10 −0
Original line number Diff line number Diff line
@@ -534,6 +534,16 @@ install_sw:
					chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new; \
					mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/$$i; \
				fi ); \
				if expr $(PLATFORM) : 'mingw' > /dev/null; then \
				(	case $$i in \
						*crypto*) i=libeay32.dll;; \
						*ssl*)    i=ssleay32.dll;; \
					esac; \
					echo installing $$i; \
	 				cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
	 				chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \
	 				mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \
				fi; \
			fi; \
		done; \
		(	here="`pwd`"; \
+13 −4
Original line number Diff line number Diff line
@@ -248,16 +248,21 @@ link_o.cygwin:
	INHIBIT_SYMLINKS=yes; \
	SHLIB=cyg$(LIBNAME); \
	base=-Wl,--enable-auto-image-base; \
	deffile=; \
	if expr $(PLATFORM) : 'mingw' > /dev/null; then \
		 SHLIB=$(LIBNAME); base=; \
		SHLIB=$(LIBNAME)eay32; base=; \
		if test -f $(LIBNAME)eay32.def; then \
			deffile=$(LIBNAME)eay32.def; \
		fi; \
	fi; \
	SHLIB_SUFFIX=.dll; \
	LIBVERSION="$(LIBVERSION)"; \
	SHLIB_SOVER=${LIBVERSION:+"-$(LIBVERSION)"}; \
	ALLSYMSFLAGS='-Wl,--whole-archive'; \
	NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic"; \
	SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base $$deffile -Wl,-s,-Bsymbolic"; \
	$(LINK_SO_O)
#for mingw target if def-file is in use dll-name should match library-name
link_a.cygwin:
	@ $(CALC_VERSIONS); \
	INHIBIT_SYMLINKS=yes; \
@@ -265,9 +270,13 @@ link_a.cygwin:
	dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; extras=; \
	base=-Wl,--enable-auto-image-base; \
	if expr $(PLATFORM) : 'mingw' > /dev/null; then \
		SHLIB=$(LIBNAME); SHLIB_SOVER=32; \
		case $(LIBNAME) in \
			crypto) SHLIB=libeay;; \
			ssl) SHLIB=ssleay;; \
		esac; \
		SHLIB_SOVER=32; \
		extras="$(LIBNAME).def"; \
		$(PERL) util/mkdef.pl 32 $(LIBNAME) > $$extras; \
		$(PERL) util/mkdef.pl 32 $$SHLIB > $$extras; \
		base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
	fi; \
	dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \
+1 −0
Original line number Diff line number Diff line
@@ -5,3 +5,4 @@ der_chop.bak
CA.pl
*.flc
semantic.cache
*.dll
Loading