blob: 78452cf2b076cb66ca03c14d8bb4fd7fb62b8ae4 [file] [log] [blame] [edit]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_CYGWIN
#define _INC_CYGWIN
#ifndef __CYGWIN__
#error Only Cygwin target is supported!
#endif
/* This includes the Cygwin gcc definitions for types like wchar_t or size_t. */
#include <stddef.h>
/* Make sure that POSIX types are not defined by _mingw.h if we're building
for a Cygwin target. In this case we have to make sure to use the types
defined by the Cygwin/newlib headers. */
#define _SIZE_T_DEFINED
#define _SSIZE_T_DEFINED
#define _INTPTR_T_DEFINED
#define _UINTPTR_T_DEFINED
#define _PTRDIFF_T_DEFINED
#define _WCHAR_T_DEFINED
#define _WCTYPE_T_DEFINED
#define _TIME_T_DEFINED
/* _WIN64 is defined by the compiler specs when targeting Windows.
The Cygwin-targeting gcc does not define it by default, same as
with _WIN32. Therefore we set it here. The result is that _WIN64
is only defined if Windows headers are included. */
#ifdef __x86_64__
#define _WIN64
#endif
#endif /* _INC_CYGWIN */