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

> >>Before I making too much modifications,
> >>Have anyone succeeded in doing so?

> >
> >I do it routinely.
> >
> >1. Modify Configure script, adding target
> >mingw-cross
> >(this all should go into one line)
> > "mingw-cross", "i586-mingw32msvc-gcc:-mno-cygwin -DL_ENDIAN

> Can you test if './Configure mingw' followed by 'make
> CC=i586-mingw32msvc-gcc RANLIB=i586-mingw32msvc-ranlib' works? I mean

It seems to work. Although when I start make test on real win32 system
after doing make on linux system, it complains about "certificate
rehashing skipped, openssl program not available". I've tried with 0.9.8
I'd repeat this with current development tree.

> question is if it's possible to achieve the goal without adding extra
> target...

First of all, nm program name should be overriden to, but openssl
Makefile.shared do not define variable for nm, and hardcodes program
name instead. Now make complains about "file format not recognized"
multiple times.

Second problem with cross build is that make does certificate
rehash, using freshly compiled c_rehash program. It doesn't lead to make
failure, but it would be nice to be able to redefine c_rehash as well,
and use one from host system OpenSSL during build stage (of course, for
cross-builds only).

If people are interesting, I can publish somewhere results of nightly
build on our test farm. Now we have following platforms

1. Various Linux distributions
2. FreeBSD 4.x, 5.x and 6.x on i386, FreeBSD 6.x on AMD 64
3. Solaris x86 8, 9 and 10
4. Solaris Sparc 10 (both 32-bit and 64-bit build)
5. Mingw build on Win32 system using Cygwin compiler and ActiveState Perl.

We can add build with real mingw compiler on Win32 and linux-hosted build with
mingw compiler.

> >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

> If it's reusable on real mingw and cygwin, then it makes sense to throw
> it in. A.

It is applicable at least to real mingw. I don't remember exact
circumstances, but when we've switched from 0.9.8a to 0.9.8b we have
problems with deploying mingw32 build (which is used in production
environment now) and problem was solved by using proper .def files.
It is applicable for both native and linux-hosted builds (although we
never tested mingw build with cygwin compiler in production
environment). It was related to changes in DSO_WIN32 (which began to
find engine modules correctly in this release).

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