[zeromq-dev] [PATCH] Refactor Windows support v3
Steven McCoy
steven.mccoy at miru.hk
Sat Jun 18 00:51:40 CEST 2011
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110617/60661581/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Refactor-Windows-versioning-and-WinSock-usage.patch
Type: application/octet-stream
Size: 6952 bytes
Desc: not available
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20110617/60661581/attachment.obj>
More information about the zeromq-dev
mailing list