Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _INC_CYGWIN
      7 #define _INC_CYGWIN
      8 
      9 #ifndef __CYGWIN__
     10 #error Only Cygwin target is supported!
     11 #endif
     12 
     13 /* This includes the Cygwin gcc definitions for types like wchar_t or size_t. */
     14 #include <stddef.h>
     15 
     16 /* Make sure that POSIX types are not defined by _mingw.h if we're building
     17    for a Cygwin target.  In this case we have to make sure to use the types
     18    defined by the Cygwin/newlib headers. */
     19 #define _SIZE_T_DEFINED
     20 #define _SSIZE_T_DEFINED
     21 #define _INTPTR_T_DEFINED
     22 #define _UINTPTR_T_DEFINED
     23 #define _PTRDIFF_T_DEFINED
     24 #define _WCHAR_T_DEFINED
     25 #define _WCTYPE_T_DEFINED
     26 #define _TIME_T_DEFINED
     27 
     28 /* _WIN64 is defined by the compiler specs when targeting Windows.
     29    The Cygwin-targeting gcc does not define it by default, same as
     30    with _WIN32.  Therefore we set it here.  The result is that _WIN64
     31    is only defined if Windows headers are included. */
     32 #ifdef __x86_64__
     33 #define _WIN64
     34 #endif
     35 
     36 #endif /* _INC_CYGWIN */
     37