--- 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 @@ -278,7 +278,7 @@ link_a.cygwin: @ $(CALC_VERSIONS); \ INHIBIT_SYMLINKS=yes; \ - SHLIB=cyg$(LIBNAME); SHLIB_SOVER=-$(LIBVERSION); SHLIB_SUFFIX=.dll; \ + SHLIB=cyg$(LIBNAME); SHLIB_SOVER=; SHLIB_SUFFIX=.dll; \ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; extras=; \ base=-Wl,--enable-auto-image-base; \ if expr $(PLATFORM) : 'mingw' > /dev/null; then \ @@ -289,7 +289,11 @@ SHLIB_SOVER=32; \ extras="$(LIBNAME).def"; \ $(PERL) util/mkdef.pl 32 $$SHLIB > $$extras; \ - base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \ + base=; \ + if test $(LIBNAME) = "crypto"; then \ + SHLIB=libeay32; \ + base=-Wl,--image-base,0x63000000; \ + fi; \ fi; \ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \ $(PERL) util/mkrc.pl $$dll_name | \ @@ -297,7 +301,7 @@ extras="$$extras rc.o"; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ - SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \ + SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-s,-Bsymbolic -Wl,--export-all-symbols -Wl,--out-implib,lib$(LIBNAME).dll.a $$extras"; \ [ -f apps/$$dll_name ] && rm apps/$$dll_name; \ [ -f test/$$dll_name ] && rm test/$$dll_name; \ $(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 @@ -287,7 +287,7 @@ # ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION # define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ type *_shadow_##name(void) \ - { static type _hide_##name=value; return &_hide_##name; } + { type _hide_##name=value; return &_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 -lws2_32 -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 -lws2_32 -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%"=="TRUE" goto shared_gxxlib +if "%MINGW_SHARED_GCCLIB%"=="TRUE" goto shared_gcclib +gcc --shared --enable-pseudo-reloc -Wl,-Map,out/libeay32.map ms/libeay32.def -o out/libeay32.dll out/libcrypto_static.a -lws2_32 -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 -lws2_32 -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 -lws2_32 -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"; }