This is a discussion on Re: Cross compile OpenSSL in Linux using MinGW32 - Openssl ; On Oct 20 13:33, Victor B. Wagner wrote: > 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 ...
On Oct 20 13:33, Victor B. Wagner wrote:
> 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.
ws2tcpip.h is incompatible with winsock.h since winsock.h is only meant
for supporting old Winsock 1.1 applications. A "modern" Winsock 2
application should include winsock2.h and ws2tcpip.h.
> 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
The IPv6 stuff is defined in ws2tcpip.h...
And here's another problem. The functions getaddrinfo, getnameinfo and
freeaddrinfo are only exported by ws2_32.dll beginning with Windows XP.
There's an earlier implementation for Windows 2000 which is exported by
a DLL called wship6.dll. There's no v6 for 9x or NT4. Consequentially,
on native Windows (not Cygwin) the functions should not be linked
against, but instead corresponding function pointers should be loaded at
runtime from either ws2_32.dll or wship6.dll using
Cygwin Project Co-Leader
OpenSSL Project http://www.openssl.org
Development Mailing List email@example.com
Automated List Manager firstname.lastname@example.org