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.
24 /* Written by Anders Norlander <anorland@hem2.passagen.se> */
27 #pragma GCC system_header
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)
42 #if defined(_M_IX86) && !defined(_X86_)
44 #elif defined(_M_ALPHA) && !defined(_ALPHA_)
46 #elif defined(_M_PPC) && !defined(_PPC_)
48 #elif defined(_M_MRX000) && !defined(_MIPS_)
50 #elif defined(_M_M68K) && !defined(_68K_)
55 /* winresrc.h includes the necessary headers */
73 #ifndef WIN32_LEAN_AND_MEAN
91 /* __USE_W32_SOCKETS is a __CYGWIN__ guard */
92 #if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__))
97 /* In older versions we disallowed COM declarations in __OBJC__
98 because of conflicts with @interface directive. Define _OBJC_NO_COM
99 to keep this behaviour. */
100 #if !defined (_OBJC_NO_COM)
102 #endif /* _OBJC_NO_COM */
105 #endif /* WIN32_LEAN_AND_MEAN */
107 #endif /* RC_INVOKED */
110 /* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
111 but undefining it causes trouble as well if a file is included after