Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
IcePreprocessor.h
Go to the documentation of this file.
1
8
11
// Include Guard
12
#ifndef __ICEPREPROCESSOR_H__
13
#define __ICEPREPROCESSOR_H__
14
#include "config.h"
15
16
// Check platform
17
#if defined( _WIN32 ) || defined( WIN32 )
18
//#pragma message("Compiling on Windows...")
19
#define PLATFORM_WINDOWS
20
#else
21
//#pragma message("Compiling on unknown platform...")
22
#endif
23
24
// Check compiler
25
#if defined(_MSC_VER)
26
//#pragma message("Compiling with VC++...")
27
#define COMPILER_VISUAL_CPP
28
#else
29
//#pragma message("Compiling with unknown compiler...")
30
#endif
31
32
// Check compiler options. If this file is included in user-apps, this
33
// shouldn't be needed, so that they can use what they like best.
34
#ifndef ICE_DONT_CHECK_COMPILER_OPTIONS
35
#ifdef COMPILER_VISUAL_CPP
36
#if defined(_CHAR_UNSIGNED)
37
#endif
38
39
#if defined(_CPPRTTI)
40
#error Please disable RTTI...
41
#endif
42
43
#if defined(_CPPUNWIND)
44
#error Please disable exceptions...
45
#endif
46
47
#if defined(_MT)
48
// Multithreading
49
#endif
50
#endif
51
#endif
52
53
// Check debug mode
54
#ifdef DEBUG // May be defined instead of _DEBUG. Let's fix it.
55
#ifndef _DEBUG
56
#define _DEBUG
57
#endif
58
#endif
59
60
#ifdef _DEBUG
61
// Here you may define items for debug builds
62
#endif
63
64
#ifndef THIS_FILE
65
#define THIS_FILE __FILE__
66
#endif
67
68
#ifndef ICE_NO_DLL
69
#ifdef ICECORE_EXPORTS
70
#define ICECORE_API __declspec(dllexport)
71
#else
72
#define ICECORE_API __declspec(dllimport)
73
#endif
74
#else
75
#define ICECORE_API
76
#endif
77
78
// Don't override new/delete
79
// #define DEFAULT_NEWDELETE
80
#define DONT_TRACK_MEMORY_LEAKS
81
82
#define FUNCTION extern "C"
83
84
// Cosmetic stuff [mainly useful with multiple inheritance]
85
#define override(base_class) virtual
86
87
// Our own inline keyword, so that:
88
// - we can switch to __forceinline to check it's really better or not
89
// - we can remove __forceinline if the compiler doesn't support it
90
// #define inline_ __forceinline
91
// #define inline_ inline
92
93
// Contributed by Bruce Mitchener
94
#if defined(COMPILER_VISUAL_CPP)
95
#define inline_ __forceinline
96
// #define inline_ inline
97
#elif defined(__GNUC__) && __GNUC__ < 3
98
#define inline_ inline
99
#elif defined(__GNUC__)
100
#define inline_ inline __attribute__ ((always_inline))
101
#else
102
#define inline_ inline
103
#endif
104
105
106
#ifdef COMPILER_VISUAL_CPP
107
// Down the hatch
108
#pragma inline_depth( 255 )
109
#pragma intrinsic(labs)
110
#endif
111
112
// Silly Cygwin defines _X in ctypes.h
113
#ifdef _X
114
#undef _X
115
#endif
116
117
#endif // __ICEPREPROCESSOR_H__
src
cmd
collide2
Ice
IcePreprocessor.h
Generated on Fri May 29 2015 23:07:11 for Vegastrike 0.5.1 rc1 by
1.8.4