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
|
--- misc/openssl-0.9.8v/Makefile.shared 2008-09-17 17:56:40.000000000 +0200
+++ misc/build/openssl-0.9.8v/Makefile.shared 2009-03-30 11:52:53.684538000 +0200
@@ -254,13 +254,17 @@
base=-Wl,--enable-auto-image-base; \
if expr $(PLATFORM) : 'mingw' > /dev/null; then \
SHLIB=$(LIBNAME)eay32; \
- base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \
+ base=; \
+ if test $(LIBNAME) = "crypto"; then \
+ SHLIB=libeay32; \
+ base=-Wl,--image-base,0x63000000; \
+ fi; \
fi; \
SHLIB_SUFFIX=.dll; \
- SHLIB_SOVER=-$(LIBVERSION); \
+ SHLIB_SOVER=; \
ALLSYMSFLAGS='-Wl,--whole-archive'; \
NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--export-all-symbols -Wl,--out-implib,lib$(LIBNAME).dll.a"; \
[ -f apps/$$SHLIB$$SHLIB_SUFFIX ] && rm apps/$$SHLIB$$SHLIB_SUFFIX; \
[ -f test/$$SHLIB$$SHLIB_SUFFIX ] && rm test/$$SHLIB$$SHLIB_SUFFIX; \
$(LINK_SO_A) || exit 1; \
--- misc/openssl-0.9.8v/e_os2.h 2005-12-19 03:57:07.000000000 +0900
+++ misc/build/openssl-0.9.8v/e_os2.h 2009-04-04 23:07:15.324250000 +0900
@@ -264,7 +264,7 @@
# define OPENSSL_IMPLEMENT_GLOBAL(type,name) \
extern type _hide_##name; \
type *_shadow_##name(void) { return &_hide_##name; } \
- static type _hide_##name
+ type _hide_##name
# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void)
# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name()))
#else
--- misc/openssl-0.9.8v/ms/mingw32.bat 2006-05-05 15:19:32.000000000 +0200
+++ misc/build/openssl-0.9.8v/ms/mingw32.bat 2009-03-30 11:54:10.000000000 +0200
@@ -79,15 +79,41 @@
rem copy ms\tlhelp32.h outinc
echo Building the libraries
-mingw32-make -f ms/mingw32a.mak
+make -f ms/mingw32a.mak
if errorlevel 1 goto end
echo Generating the DLLs and input libraries
-dllwrap --dllname libeay32.dll --output-lib out/libeay32.a --def ms/libeay32.def out/libcrypto.a -lwsock32 -lgdi32
+mv out/libcrypto.a out/libcrypto_static.a
+mv out/libssl.a out/libssl_static.a
+dlltool --dllname libeay32.dll --output-lib out/libcrypto.a --input-def ms/libeay32.def
if errorlevel 1 goto end
-dllwrap --dllname libssl32.dll --output-lib out/libssl32.a --def ms/ssleay32.def out/libssl.a out/libeay32.a
+gcc --shared --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32
if errorlevel 1 goto end
+dlltool --dllname ssleay32.dll --output-lib out/libssl.a --input-def ms/ssleay32.def
+if errorlevel 1 goto end
+if "%MINGW_SHARED_GXXLIB%"=="YES" goto shared_gxxlib
+if "%MINGW_SHARED_GCCLIB%"=="YES" goto shared_gcclib
+gcc --shared --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32
+if errorlevel 1 goto end
+gcc --shared --enable-pseudo-reloc -Wl,-Map,out/ssleay32.map -Lout ms/ssleay32.def -o out/ssleay32.dll out/libssl_static.a -lcrypto
+if errorlevel 1 goto end
+goto finished
+
+:shared_gcclib
+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32
+if errorlevel 1 goto end
+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/ssleay32.map -Lout ms/ssleay32.def -o out/ssleay32.dll out/libssl_static.a -lcrypto
+if errorlevel 1 goto end
+goto finished
+
+:shared_gxxlib
+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lwsock32 -lgdi32 %MINGW_SHARED_LIBSTDSPP%
+if errorlevel 1 goto end
+gcc --shared -shared-libgcc --enable-pseudo-reloc -Wl,-Map,out/ssleay32.map -Lout ms/ssleay32.def -o out/ssleay32.dll out/libssl_static.a -lcrypto %MINGW_SHARED_LIBSTDSPP%
+if errorlevel 1 goto end
+goto finished
+:finished
echo Done compiling OpenSSL
:end
--- misc/openssl-0.9.8v/util/pl/Mingw32.pl 2006-05-05 15:19:34.000000000 +0200
+++ misc/build/openssl-0.9.8v/util/pl/Mingw32.pl 2009-03-30 11:55:04.000000000 +0200
@@ -6,11 +6,11 @@
$o='/';
$cp='cp';
$rm='rm -f';
-$mkdir='gmkdir';
+#$mkdir='gmkdir';
-$o='\\';
-$cp='copy';
-$rm='del';
+#$o='\\';
+#$cp='copy';
+#$rm='del';
$mkdir='mkdir';
# C compiler stuff
@@ -87,7 +87,8 @@
($Name=$name) =~ tr/a-z/A-Z/;
$ret.="$target: \$(${Name}OBJ)\n";
- $ret.="\tif exist $target \$(RM) $target\n";
+ $ret.="\t\$(RM) $target\n";
+# $ret.="\tif exist $target \$(RM) $target\n";
$ret.="\t\$(MKLIB) $target \$(${Name}OBJ)\n";
$ret.="\t\$(RANLIB) $target\n\n";
}
|