On 2006.10.23 at 13:35:39 +0400, Victor B. Wagner wrote: > I've tested current CVS state of OpenSSL with mingw32-cross compiler > and found out following: > > 1. Everything compiles without error > 2. make rehash is omitted during build > > When testing on real Win32 platform with MSYS installed > > 1. make rehash is omitted again, but shouldn't. > 2. attempt to start very first test (destest.exe) causes dialog window > to popup saying "Application cannot start becouse crypto32.dll is not > found". Just renaming created dlls solves the problem. > This is quite explainable, because build creates > crypto-0.9.8.dll, but def file contains section > > LIBRARY crypto32 > > So, we have either to create crypto32.dll and ssl32 dll instead of > crypto-0.9.8.dll and ssl-0.9.8.dll, or modify mkdef.pl so it would put > real dll names into the LIBRARY section of .def file. > Note that if dll name contain hyphen or dots, it should be quoted and > include extension. > > I.e. section should look like > > LIBRARY "crypto-0.9.8.dll" > > Probably, if we are going to maintain binary compatibility with MSVC > build, changing dll name to crypto32.dll and ssl32.dll is better.
Now, I'm developed a patch which solves this problem. With this patch current CVS state of OpenSSL compiles cleanly with either cross-compiler and native Mingw32 compiler and make test runs. Rationale of the patch - make names of created DLLs same that it is written in the .def file by util/mkdef.pl Index: Makefile.shared =================================================================== RCS file: /cvs-openssl/openssl/Makefile.shared,v retrieving revision 1.59 diff -u -r1.59 Makefile.shared --- Makefile.shared 23 Oct 2006 07:30:18 -0000 1.59 +++ Makefile.shared 23 Oct 2006 11:00:18 -0000 @@ -260,14 +260,15 @@ link_a.cygwin: @ $(CALC_VERSIONS); \ INHIBIT_SYMLINKS=yes; \ + SHLIB_SOVER=-$(LIBVERSION); \ SHLIB=cyg$(LIBNAME); def=; \ if expr $(PLATFORM) : 'mingw' > /dev/null; then \ SHLIB=$(LIBNAME); \ def="$(LIBNAME).def"; \ + SHLIB_SOVER=32; \ $(PERL) util/mkdef.pl 32 $(LIBNAME) > $$def; \ fi; \ SHLIB_SUFFIX=.dll; \ - SHLIB_SOVER=-$(LIBVERSION); \ ALLSYMSFLAGS='-Wl,--whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ base=; [ $(LIBNAME) = "crypto" ] && base=-Wl,--image-base,0x63000000; \ ______________________________________________________________________ OpenSSL Project http://www.openssl.org Development Mailing List openssl-dev@openssl.org Automated List Manager [EMAIL PROTECTED]