Hello,

as Alexandre said, we should not include "config.h" in any of 
the standard Windows header files.  Unfortunately, this makes
a problem in winsock.h rather difficult to fix.

The basic problem is that winsock.h currently tries to use
the system's standard types / defines like sockaddr, FD_SETSIZE
etc.  to define the Windows types.

This, on the other hand, means that those system types need
to be defined at that point, i.e. that the corresponding
system headers need to be included.  winsock.h does currently
try to do this in a more-or-less portable way, e.g.

#ifdef  HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif  /* HAVE_SYS_SOCKET_H */

Unfortunately, this of course does not work if config.h is
not included beforehand.

I'm now wondering how this is supposed to work.  Why does 
winsock.h use the Unix system types anyway?  Shouldn't it
define the exact Windows types, for binary compatibility?

And what about Winelib apps?  Should they get Windows types
or Unix types, and if the latter, how do we determine which
system includes to use without employing configure checks?

B.t.w. note that windows.h includes winsock.h, and thus 
every Winelib app will encounter compile problems with
the current version of winsock.h ... 

Bye,
Ulrich

-- 
  Dr. Ulrich Weigand
  [EMAIL PROTECTED]

Reply via email to