summaryrefslogtreecommitdiff
path: root/openssl
diff options
context:
space:
mode:
authorTor Lillqvist <tlillqvist@novell.com>2011-01-23 18:49:49 +0200
committerTor Lillqvist <tlillqvist@novell.com>2011-01-24 01:20:05 +0200
commit77d90bd7ba4b93779e15fc5238271b156c31ea84 (patch)
treebb5930c4b0df300ea2cf0d482c7ede25c20e2eda /openssl
parent5fbc20dab425bf6b7985b5b42dc9dbdecdce2774 (diff)
Fix OpenSSL build for x64 Windows
For wntmscx, pass the platform code as VC-WIN64A to the OpenSSL build mechanism. Add the additional steps described in INSTALL.W64 to do_ms.bat: generate uptable.asm and assemble it. Avoid a problem with _vsnprintf by defining _CRT_NON_CONFORMING_SWPRINTFS.
Diffstat (limited to 'openssl')
-rw-r--r--openssl/makefile.mk9
-rw-r--r--openssl/openssl.patch23
2 files changed, 24 insertions, 8 deletions
diff --git a/openssl/makefile.mk b/openssl/makefile.mk
index 9bd5d5054c20..d5efcf747cb4 100644
--- a/openssl/makefile.mk
+++ b/openssl/makefile.mk
@@ -152,8 +152,13 @@ OUT2BIN += out/libeay32.dll
#CONFIGURE_ACTION=cmd /c $(PERL:s!\!/!) configure
CONFIGURE_ACTION=$(PERL) configure
- CONFIGURE_FLAGS=VC-WIN32 no-idea
- BUILD_ACTION=cmd /c "ms$(EMQ)\do_ms.bat $(subst,/,\ $(normpath,1 $(PERL)))" && nmake -f ms/ntdll.mak
+.IF "$(CPU") == "I"
+ OPENSSL_PLATFORM=VC-WIN32
+.ELSE
+ OPENSSL_PLATFORM=VC-WIN64A
+.ENDIF
+ CONFIGURE_FLAGS=$(OPENSSL_PLATFORM) no-idea
+ BUILD_ACTION=cmd /c "ms$(EMQ)\do_ms.bat $(subst,/,\ $(normpath,1 $(PERL))) $(OPENSSL_PLATFORM)" && nmake -f ms/ntdll.mak
OUT2LIB = out32dll$/ssleay32.lib
OUT2LIB += out32dll$/libeay32.lib
diff --git a/openssl/openssl.patch b/openssl/openssl.patch
index 5d245f450642..88f7088415d1 100644
--- a/openssl/openssl.patch
+++ b/openssl/openssl.patch
@@ -28,14 +28,16 @@
-perl util\mk1mf.pl no-asm VC-WIN32 >ms\nt.mak
-perl util\mk1mf.pl dll no-asm VC-WIN32 >ms\ntdll.mak
+%1 util\mkfiles.pl >MINFO
-+%1 util\mk1mf.pl no-asm VC-WIN32 >ms\nt.mak
-+%1 util\mk1mf.pl dll no-asm VC-WIN32 >ms\ntdll.mak
- if x%OSVERSION% == x goto skipce
++if %2 == VC-WIN32 goto not64a
++perl ms\uplink.pl win64a > ms\uptable.asm
++ml64 -c -Foms\uptable.obj ms\uptable.asm
++:not64a
++%1 util\mk1mf.pl no-asm %2 >ms\nt.mak
++%1 util\mk1mf.pl dll no-asm %2 >ms\ntdll.mak
+-if x%OSVERSION% == x goto skipce
-perl util\mk1mf.pl no-asm VC-CE >ms\ce.mak
-perl util\mk1mf.pl dll no-asm VC-CE >ms\cedll.mak
-+%1 util\mk1mf.pl no-asm VC-CE >ms\ce.mak
-+%1 util\mk1mf.pl dll no-asm VC-CE >ms\cedll.mak
- :skipce
+-:skipce
-perl util\mkdef.pl 32 libeay > ms\libeay32.def
-perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
@@ -132,3 +134,12 @@
sub do_lib_rule
{
+--- misc/build/openssl-0.9.8o/ms/uplink.c
++++ misc/build/openssl-0.9.8o/ms/uplink.c
+@@ -1,5 +1,6 @@
+ #if (defined(_WIN64) || defined(_WIN32_WCE)) && !defined(UNICODE)
+ #define UNICODE
++#define _CRT_NON_CONFORMING_SWPRINTFS
+ #endif
+ #if defined(UNICODE) && !defined(_UNICODE)
+ #define _UNICODE