Ok, another cleanup attempt. Important notes: - Windows atomic APIs require Windows 2000. - *getaddrinfo()* requires XP for MinGW to compile. - Windows 2000 + IPv6 preview or XP required for IPv6 aware * getaddrinfo()* version. - Windows 2000 pulls in *WspiapiGetAddrInfo()* not *getaddrinfo()*. - Potentially interesting function *IsWow64Process()* requires XP SP2. - Visual Studio 2010 requires XP SP3. - Visual Studio 2008 requires XP SP2. - Visual Studio 2005 requires 2000 SP4. - Visual Studio .NET 2003 requires NT 4.03. - ZeroMQ projects are currently targeting to Visual Studio 2008, the 2010 IDE can update to the latest "solution" format.
So I pulled the NT 3.5 code as it doesn't match *zmq.h* and hence is broken before even looking at atomics or NS API. Extended *NOxxx* support for all *windows.h* items listed in SDK 7 as per the intention of the leading comment: *// The purpose of this header file is to turn on only the items actually needed* *// on the windows platform.* Force target platform to be Windows XP if not overridden in the project to ensure correct *getaddrinfo()* API is linked. On MinGW32 if the version is already defined as NT 4.0 re-define to XP as necessary. Verified build platforms on Windows 7 SP1 64-bit: - MSVC 2010 Express (32-bit) - MinGW32 on Cygwin (32-bit) - MinGW-w64 on Cygwin (32-bit) - MinGW-w64 on Cygwin (64-bit) - MinGW32 on MSYS (32-bit) Verified build platforms on XP Mode on Windows 7: - MSVC 2008 SP1 Express (32-bit) On Debian 7 (Wheezy) 64-bit: - MinGW-w64 (32-bit) - *package gcc-mingw-w64* - MinGW-w64 (64-bit) - MinGW32 (32-bit) - *package mingw32, conflicting dependencies with gcc-mingw-w64* I do actually have a Windows NT 4 & 2000 Server licenses but neither function in a VM so completely useless. -- Steve-o
0001-Refactor-Windows-versioning-and-WinSock-usage.patch
Description: Binary data
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
