On Thursday 19 October 2006 12:02, Victor B. Wagner wrote:
> I do it routinely.


Thank you for your reply!

>
> 1. Modify Configure script, adding target
> mingw-cross
> (this all should go into one line)
> "mingw-cross", "i586-mingw32msvc-gcc:-mno-cygwin -DL_ENDIAN
> -fomit-frame-pointer -O3 -march=i486 -Wall
> -D_WIN32_WINNT=0x333:::MINGW32:-lwsock32 -lgdi32:BN_LLONG
> ${x86_gcc_des} ${x86_gcc_opts}
> EXPORT_VAR_AS_FN:${x86_coff_asm}:win32:cygwin-shared:-D_WINDLL
> -DOPENSSL_USE_APPLINK:-mno-cygwin
> -shared:.dll.a:i586-mingw32msvc-ranlib",


Works.
Although I had to remove EXPORT_VAR_AS_FN.

> 2. Modify Makefile shared so it would call
> util/mkdef.pl script. and add generated .def file to linking
> command Note that DEF file should contain correct DLL name, not
> just crypteay32 mingw32 builds libcrypto-0.9.8.dll, and this name
> should exactly appear in the .def file


I couldn't understand what I should do...
First of all the asn1 stuff does not compile... Strange. I use
openssl-0.9.8d and mingw32-gcc (GCC) 4.1.1.
The problem lays in ASN1_ITEM_ref, which returns none constant item
into constants arrays declares by ASN1_SIMPLE.

But assuming I remove this code, which target do you copy? cygwin?
You just add $(LIBNAME).def to SHAREDFLAGS?

> 3. Forget about dllwrap and such. Modern Mingw32 produce absolutely
> correct dlls with just gcc -shared -o dllname,
> if you specify .def file along with object file.


Thanks!

Best Regards,
Alon Bar-Lev.
__________________________________________________ ____________________
OpenSSL Project http://www.openssl.org
Development Mailing List openssl-dev@openssl.org
Automated List Manager majordomo@openssl.org