Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Loading...
Searching...
No Matches
CompilerDefs.h
Go to the documentation of this file.
1/*
2* This file is part of Project SkyFire https://www.projectskyfire.org.
3* See LICENSE.md file for Copyright information
4*/
5
6#ifndef SKYFIRE_COMPILERDEFS_H
7#define SKYFIRE_COMPILERDEFS_H
8
9#define PLATFORM_WINDOWS 0
10#define PLATFORM_UNIX 1
11#define PLATFORM_APPLE 2
12#define PLATFORM_INTEL 3
13
14// must be first (win 64 also define _WIN32)
15#if defined( __WIN32__ ) || defined( WIN32 ) || defined( _WIN32 )
16# define PLATFORM PLATFORM_WINDOWS
17#elif defined( __APPLE_CC__ )
18# define PLATFORM PLATFORM_APPLE
19#elif defined( __INTEL_COMPILER )
20# define PLATFORM PLATFORM_INTEL
21#else
22# define PLATFORM PLATFORM_UNIX
23#endif
24
25#define COMPILER_MICROSOFT 0
26#define COMPILER_GNU 1
27#define COMPILER_BORLAND 2
28#define COMPILER_INTEL 3
29#define COMPILER_CLANG 4
30
31#if defined _MSC_VER && _MSC_VER >= 1910
32#include <stack>
33#include <ratio>
34#endif
35
36#ifdef _MSC_VER
37# define COMPILER COMPILER_MICROSOFT
38#elif defined( __BORLANDC__ )
39# define COMPILER COMPILER_BORLAND
40#elif defined( __INTEL_COMPILER )
41# define COMPILER COMPILER_INTEL
42#elif defined( __GNUC__ )
43# define COMPILER COMPILER_GNU
44# define GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
45#elif defined(__clang__)
46# define COMPILER COMPILER_CLANG
47#else
48# error "FATAL ERROR: Unknown compiler."
49#endif
50
51#endif