On 2006.10.20 at 10:56:35 +0200, Andy Polyakov wrote:
> >It is not perfect to, because it assumes that if one uses mingw32
> >target, there is always some Unix emulation environment (i.e. cygwin,
> >msys or real Unix in case of cross-builds).

>
> As implied earlier I'd actually prefer this, i.e. mingw build to
> *require* Unix emulation environment. Is it really unreasonable? In


I think it is reasonable. Unless it would break some non-gcc build
(i.e Visual Studio, Borland or some netware one).

> other words I'd simply scrap "$IsMK1MF=1 if ($target eq "mingw" && $^O
> ne "cygwin" && !is_msys());" line for good. A.


Now, some further info.

Next problem I've encountered building current CVS state of 0.9.9
was error in e_os.h
"ws2tcpip.h is not compatible with winsock.h". It was fixed by removal
of #include from mentioned file.

I'm not an expert on Win32 tcpip history and cannot tell whether it is
problem of my mingw32 runtime headers or something also.

Next problem was "dereferencing pointer to incomplete type" in
line 728 of b_sock.c. It seems that symbol AF_INET6 is somehow declared
(may be cross-compiler picks some native header), but appropriate
structures are not defined. I've temporary solved this problem by
replacing

#if defined(OPENSSL_SYS_BEOS_BONE)
/* BONE's IP6 support is incomplete */
#undef AF_INET6
#endif

with

#if defined(OPENSSL_SYS_BEOS_BONE) || defined(_WIN32)
/* BONE's IP6 support is incomplete */
#undef AF_INET6
#endif

in line 90 of crypto/bio/b_sock.c.

After this static build succeeds.

If I attempt to do

../Configure mingw shared

and then make CC=i586-mingw32msvc-gcc RANLIB=i586-mingw32msvc-ranlib\
NM=i586-mingw32msvc-nm
(i've patched Makefile.shared to support NM overriding),
I get following results:

shared library cryptoeay-0.9.8.dll (why not 0.9.9?) is created,
but it exports no symbols. So build of ssleay-0.9.8.dll fails due to
multiple unresolved symbols. This is why proper .def file is needed.

I've not tried

../Configure mingw shared zlib, because I don't have win32 zlib
develpment files on machine where I'm doing my experiments.


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