summaryrefslogtreecommitdiff
path: root/external/openssl/opensslwnt.patch
blob: e22bea6f077bb2a59547b808ffa44bb2f8e455b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
diff -ru openssl.orig/crypto/x509v3/v3_pci.c openssl/crypto/x509v3/v3_pci.c
--- a/openssl.orig/crypto/x509v3/v3_pci.c	2016-03-01 14:35:05.000000000 +0100
+++ b/openssl/crypto/x509v3/v3_pci.c	2016-03-03 20:27:42.195914432 +0100
@@ -3,7 +3,7 @@
  * Contributed to the OpenSSL Project 2004 by Richard Levitte
  * (richard@levitte.org)
  */
-/* Copyright (c) 2004 Kungliga Tekniska Högskolan
+/* Copyright (c) 2004 Kungliga Tekniska Hoegskolan
  * (Royal Institute of Technology, Stockholm, Sweden).
  * All rights reserved.
  *
diff -ru openssl.orig/crypto/x509v3/v3_pcia.c openssl/crypto/x509v3/v3_pcia.c
--- a/openssl.orig/crypto/x509v3/v3_pcia.c	2016-03-01 14:35:05.000000000 +0100
+++ b/openssl/crypto/x509v3/v3_pcia.c	2016-03-03 20:27:56.495913984 +0100
@@ -3,7 +3,7 @@
  * Contributed to the OpenSSL Project 2004 by Richard Levitte
  * (richard@levitte.org)
  */
-/* Copyright (c) 2004 Kungliga Tekniska Högskolan
+/* Copyright (c) 2004 Kungliga Tekniska Hoegskolan
  * (Royal Institute of Technology, Stockholm, Sweden).
  * All rights reserved.
  *
diff -ru openssl.orig/ms/do_ms.bat openssl/ms/do_ms.bat
--- a/openssl.orig/ms/do_ms.bat	2015-01-15 15:43:14.000000000 +0100
+++ b/openssl/ms/do_ms.bat	2016-03-03 20:31:09.355907935 +0100
@@ -1,11 +1,11 @@
 
-perl util\mkfiles.pl >MINFO
-perl util\mk1mf.pl no-asm VC-WIN32 >ms\nt.mak
-perl util\mk1mf.pl dll no-asm VC-WIN32 >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
-:skipce
+%1 util\mkfiles.pl >MINFO
+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
 
-perl util\mkdef.pl 32 libeay > ms\libeay32.def
-perl util\mkdef.pl 32 ssleay > ms\ssleay32.def
+%1 util\mkdef.pl 32 libeay > ms\libeay32.def
+%1 util\mkdef.pl 32 ssleay > ms\ssleay32.def
diff -ru openssl.orig/util/mk1mf.pl openssl/util/mk1mf.pl
--- a/openssl.orig/util/mk1mf.pl	2016-03-03 20:22:21.043924505 +0100
+++ b/openssl/util/mk1mf.pl	2016-03-03 20:34:45.015901171 +0100
@@ -163,7 +163,7 @@
 $inc_def="outinc";
 $tmp_def="tmp";
 
-$perl="perl" unless defined $perl;
+$perl="$ENV{PERL}" unless defined $perl;
 $mkdir="-mkdir" unless defined $mkdir;
 
 ($ssl,$crypto)=("ssl","crypto");
@@ -347,6 +347,11 @@
 	s/\s*$//; # was chop, didn't work in mixture of perls for Windows...
 
 	($key,$val)=/^([^=]+)=(.*)/;
+
+	# On some Windows machines, $val has linefeeds at the end, which confuses
+	# subsequent code in this file. So we strip all whitespace at the end.
+	$val =~ s/\s+$//;
+
 	if ($key eq "RELATIVE_DIRECTORY")
 		{
 		if ($lib ne "")
@@ -473,7 +478,7 @@
 # Set your compiler options
 PLATFORM=$platform
 CC=$bin_dir${cc}
-CFLAG=$cflags
+CFLAG=$cflags \$(SOLARINC)
 APP_CFLAG=$app_cflag
 LIB_CFLAG=$lib_cflag
 SHLIB_CFLAG=$shl_cflag
@@ -488,7 +493,7 @@
 
 LINK_CMD=$link
 LFLAGS=$lflags
-RSC=$rsc
+RSC=$rsc \$(SOLARINC)
 
 # The output directory for everything interesting
 OUT_D=$out_dir
@@ -669,7 +674,7 @@
 printf OUT <<EOF;
 #ifdef $platform_cpp_symbol
   /* auto-generated/updated by util/mk1mf.pl for crypto/cversion.c */
-  #define CFLAGS "compiler: $cc $cflags"
+  #define CFLAGS "compiler: $cflags"
   #define PLATFORM "$platform"
 EOF
 printf OUT "  #define DATE \"%s\"\n", scalar gmtime();
diff -ru openssl.orig/util/pl/VC-32.pl openssl/util/pl/VC-32.pl
--- a/openssl.orig/util/pl/VC-32.pl	2016-03-01 14:35:53.000000000 +0100
+++ b/openssl/util/pl/VC-32.pl	2016-03-03 21:15:14.083824986 +0100
@@ -30,7 +30,7 @@
 my $ff = "";
 
 # C compiler stuff
-$cc='cl';
+$cc=$ENV{'CC'};
 if ($FLAVOR =~ /WIN64/)
     {
     # Note that we currently don't have /WX on Win64! There is a lot of
@@ -114,7 +114,7 @@
     }
 
     $cc=($ENV{CC} or "cl");
-    $base_cflags=' /W3 /WX /GF /Gy /nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT';
+    $base_cflags=' -W3 -GF -Gy -nologo -DUNICODE -D_UNICODE -DOPENSSL_SYSNAME_WINCE -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DDSO_WIN32 -DNO_CHMOD -DOPENSSL_SMALL_FOOTPRINT';
     $base_cflags.=" $wcecdefs";
     $base_cflags.=' -I$(WCECOMPAT)/include'		if (defined($ENV{'WCECOMPAT'}));
     $base_cflags.=' -I$(PORTSDK_LIBPATH)/../../include'	if (defined($ENV{'PORTSDK_LIBPATH'}));
@@ -123,20 +123,21 @@
     } else {
 	$base_cflags.=' /MC';
     }
-    $opt_cflags=' /O1i';	# optimize for space, but with intrinsics...
-    $dbg_cflags=' /Od -DDEBUG -D_DEBUG';
+    $opt_cflags=' -O1i';   # optimize for space, but with intrinsics...
+    $dbg_cflags=' -Od -DDEBUG -D_DEBUG';
+
     $lflags="/nologo /opt:ref $wcelflag";
     }
 else	# Win32
     {
     $base_cflags= " $mf_cflag";
-    my $f = $shlib || $fips ?' /MD':' /MT';
+    my $f = $shlib || $fips ? (($ENV{MSVC_USE_DEBUG_RUNTIME} eq "TRUE") ? ' -MDd' : ' -MD' ):' -MT';
     $ff = "/fixed";
-    $opt_cflags=$f.' /Ox /O2 /Ob2';
-    $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG';
+    $opt_cflags=$f.' -Ox -O2 -Ob2';
+    $dbg_cflags=$f.'d -Od -DDEBUG -D_DEBUG';
     $lflags="/nologo /subsystem:console /opt:ref";
     }
-$lib_cflag='/Zl' if (!$shlib);	# remove /DEFAULTLIBs from static lib
+$lib_cflag='-Zl' if (!$shlib);	# remove /DEFAULTLIBs from static lib
 $mlflags='';
 
 $out_def ="out32";	$out_def.="dll"			if ($shlib);
@@ -161,7 +162,7 @@
 
 $obj='.obj';
 $asm_suffix='.asm';
-$ofile="/Fo";
+$ofile="-Fo.\\";
 
 # EXE linking stuff
 $link="link";
diff -ru openssl.orig/ms/uplink.c openssl/ms/uplink.c
--- a/openssl.orig/ms/uplink.c	2015-03-19 15:02:02.000000000 +0100
+++ b/openssl/ms/uplink.c	2016-03-03 20:39:19.403892565 +0100
@@ -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