3 * @copy 2012 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
28 #include <sdkddkver.h>
30 /* translate GCC target defines to MS equivalents. Keep this synchronized
32 #if defined(__i686__) && !defined(_M_IX86)
34 #elif defined(__i586__) && !defined(_M_IX86)
36 #elif defined(__i486__) && !defined(_M_IX86)
38 #elif defined(__i386__) && !defined(_M_IX86)
41 #if defined(_M_IX86) && !defined(_X86_)
43 #elif defined(_M_ALPHA) && !defined(_ALPHA_)
45 #elif defined(_M_PPC) && !defined(_PPC_)
47 #elif defined(_M_MRX000) && !defined(_MIPS_)
49 #elif defined(_M_M68K) && !defined(_68K_)
54 /* winresrc.h includes the necessary headers */
72 #ifndef WIN32_LEAN_AND_MEAN
88 #if defined(Win32_Winsock)
89 #warning "The Win32_Winsock macro name is deprecated.\
90 Please use __USE_W32_SOCKETS instead"
91 #ifndef __USE_W32_SOCKETS
92 #define __USE_W32_SOCKETS
95 #if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
96 #if (_WIN32_WINNT >= 0x0400)
99 * MS likes to include mswsock.h here as well,
100 * but that can cause undefined symbols if
101 * winsock2.h is included before windows.h
105 #endif /* (_WIN32_WINNT >= 0x0400) */
108 /* In older versions we disallowed COM declarations in __OBJC__
109 because of conflicts with @interface directive. Define _OBJC_NO_COM
110 to keep this behaviour. */
111 #if !defined (_OBJC_NO_COM)
113 #endif /* _OBJC_NO_COM */
116 #endif /* WIN32_LEAN_AND_MEAN */
118 #endif /* RC_INVOKED */
121 /* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
122 but undefining it causes trouble as well if a file is included after