X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=libs%2Fglobaldefs.h;fp=libs%2Fglobaldefs.h;h=146dd788b1c5d24209b3f89836f92bc21ae11636;hb=0f2e4b773715b05595f1c149d99fcc4795e01948;hp=0000000000000000000000000000000000000000;hpb=83113718a4fb6a8e2318841f16f8a0b0eb85675c;p=xonotic%2Fnetradiant.git diff --git a/libs/globaldefs.h b/libs/globaldefs.h new file mode 100644 index 00000000..146dd788 --- /dev/null +++ b/libs/globaldefs.h @@ -0,0 +1,125 @@ +#ifndef INCLUDED_LIBS_GLOBALDEFS +#define INCLUDED_LIBS_GLOBALDEFS + +// ARCH_ENDIAN + +#if defined(__BIG_ENDIAN__) || defined(_SGI_SOURCE) +#define GDEF_ARCH_ENDIAN_BIG 1 +#else +#define GDEF_ARCH_ENDIAN_BIG 0 +#endif + +// ARCH_BITS + +#if defined(__i386__) || defined(_M_IX86) +#define GDEF_ARCH_BITS_32 1 +#else +#define GDEF_ARCH_BITS_32 0 +#endif + +#if defined(__LP64__) || defined(_M_X64) || defined(_M_AMD64) || defined(_WIN64) +#define GDEF_ARCH_BITS_64 1 +#else +#define GDEF_ARCH_BITS_64 0 +#endif + +// OS + +#if defined(POSIX) +#define GDEF_OS_POSIX 1 +#else +#define GDEF_OS_POSIX 0 +#endif + +#if defined(WIN32) || defined(_WIN32) || defined(_WIN64) +#define GDEF_OS_WINDOWS 1 +#else +#define GDEF_OS_WINDOWS 0 +#endif + +#if defined(__APPLE__) +#define GDEF_OS_MACOS 1 +#else +#define GDEF_OS_MACOS 0 +#endif + +#if defined(__linux__) +#define GDEF_OS_LINUX 1 +#else +#define GDEF_OS_LINUX 0 +#endif + + +#define GDEF_OS_BSD 0 + +#if defined(__FreeBSD__) +#undef GDEF_OS_BSD +#define GDEF_OS_BSD 1 +#define GDEF_OS_BSD_FREE 1 +#else +#define GDEF_OS_BSD_FREE 0 +#endif + +#if defined(__NetBSD__) +#undef GDEF_OS_BSD +#define GDEF_OS_BSD 1 +#define GDEF_OS_BSD_NET 1 +#else +#define GDEF_OS_BSD_NET 0 +#endif + +#if defined(__OpenBSD__) +#undef GDEF_OS_BSD +#define GDEF_OS_BSD 1 +#define GDEF_OS_BSD_OPEN 1 +#else +#define GDEF_OS_BSD_OPEN 0 +#endif + +#if defined(__DragonFly__) +#undef GDEF_OS_BSD +#define GDEF_OS_BSD 1 +#define GDEF_OS_BSD_DRAGONFLY 1 +#else +#define GDEF_OS_BSD_DRAGONFLY 0 +#endif + +// COMPILER + +#if defined(_MSC_VER) +#define GDEF_COMPILER_MSVC 1 +#else +#define GDEF_COMPILER_MSVC 0 +#endif + +#if defined(__GNUC__) +#define GDEF_COMPILER_GNU 1 +#else +#define GDEF_COMPILER_GNU 0 +#endif + +// ATTRIBUTE + +#if GDEF_COMPILER_GNU +#define GDEF_ATTRIBUTE_NORETURN __attribute__((noreturn)) +#else +#define GDEF_ATTRIBUTE_NORETURN +#endif + +#ifdef GDEF_COMPILER_MSVC +#define GDEF_ATTRIBUTE_INLINE __inline +#else +#define GDEF_ATTRIBUTE_INLINE inline +#endif + +// MISC + +#define GDEF_DEBUG 0 +#if defined(_DEBUG) +#if _DEBUG +#undef GDEF_DEBUG +#define GDEF_DEBUG 1 +#endif +#endif + +#endif