On 2006.10.20 at 14:12:44 +0200, Andy Polyakov wrote:

> >2. Makefile.shared
> > Define NM variable to hold name of nm program (which also differs
> > from just nm when cross-compiling)
> > Replace explicit call to nm by reference to this variable.

>
> Haven't you yourself mentioned that one needs to generate .def file as
> well? Care to add and test that?


I've found simplier approach. There is linker option --export-all, which
allows to make working DLL without .def files.
This I've tested.

Probably some eariler version of Mingw32 has this option on by default,
and so it was assumed that correct DLLs can be build without any extra
effort.

Really, .def files are much more flexible thing than just exporting all
public symbol as Unix .so files do, but mkdef.pl really does almost same
as --export-all.

And mkdef.pl needs considerable modification to work correctly with
Unix-style Configure and mingw32.
Problem is that .def file mentions DLL name which is than used by import
libraries to find DLL upon loading. So, this name have to be
cryptoeay32-.dll, not just LIBEAY32 as mkdef.pl now generates.
In my modified makefiles for 0.9.8 I'm postprocessing def files with
perl. This is way too complicated, and doesn't do any better thing than
just adding -Wl,--export-all to shlib linker command line for mingw
target.

__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org