]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/framework/BuildDefines.h
Various Mac OS X tweaks to get this to build. Probably breaking things.
[icculus/iodoom3.git] / neo / framework / BuildDefines.h
1 /*
2 ===========================================================================
3
4 Doom 3 GPL Source Code
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company. 
6
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).  
8
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code.  If not, see <http://www.gnu.org/licenses/>.
21
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code.  If not, please request a copy in writing from id Software at the address below.
23
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25
26 ===========================================================================
27 */
28
29 /*
30 ===============================================================================
31
32         Preprocessor settings for compiling different versions.
33
34 ===============================================================================
35 */
36
37 // memory debugging
38 //#define ID_REDIRECT_NEWDELETE
39 //#define ID_DEBUG_MEMORY
40 //#define ID_DEBUG_UNINITIALIZED_MEMORY
41
42 // if enabled, the console won't toggle upon ~, unless you start the binary with +set com_allowConsole 1
43 // Ctrl+Alt+~ will always toggle the console no matter what
44 #ifndef ID_CONSOLE_LOCK
45         #if defined(_WIN32) || defined(MACOS_X)
46                 #ifdef _DEBUG
47                         #define ID_CONSOLE_LOCK 0
48                 #else
49                         #define ID_CONSOLE_LOCK 1
50                 #endif
51         #else
52                 #define ID_CONSOLE_LOCK 0
53         #endif
54 #endif
55
56 // useful for network debugging, turns off 'LAN' checks, all IPs are classified 'internet'
57 #ifndef ID_NOLANADDRESS
58         #define ID_NOLANADDRESS 0
59 #endif
60
61 // let .dds be loaded from FS without altering pure state. only for developement.
62 #ifndef ID_PURE_ALLOWDDS
63         #define ID_PURE_ALLOWDDS 0
64 #endif
65
66 // build an exe with no CVAR_CHEAT controls
67 #ifndef ID_ALLOW_CHEATS
68         #define ID_ALLOW_CHEATS 0
69 #endif
70
71 #ifndef ID_ENABLE_CURL
72         #define ID_ENABLE_CURL 1
73 #endif
74
75 // fake a pure client. useful to connect an all-debug client to a server
76 #ifndef ID_FAKE_PURE
77         #define ID_FAKE_PURE 0
78 #endif
79
80 // verify checksums in clientinfo traffic
81 // NOTE: this makes the network protocol incompatible
82 #ifndef ID_CLIENTINFO_TAGS
83         #define ID_CLIENTINFO_TAGS 0
84 #endif
85
86 // for win32 this is defined in preprocessor settings so that MFC can be
87 // compiled out.
88 //#define ID_DEDICATED
89
90 // if this is defined, the executable positively won't work with any paks other
91 // than the demo pak, even if productid is present.
92 //#define ID_DEMO_BUILD
93
94 // don't define ID_ALLOW_TOOLS when we don't want tool code in the executable.
95 #if defined( _WIN32 ) && !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD )
96         #define ID_ALLOW_TOOLS
97 #endif
98
99 // don't do backtraces in release builds.
100 // atm, we have no useful way to reconstruct the trace, so let's leave it off
101 #define ID_BT_STUB
102 #ifndef ID_BT_STUB
103         #if defined( __linux__ )
104                 #if defined( _DEBUG )
105                         #define ID_BT_STUB
106                 #endif
107         #else
108                 #define ID_BT_STUB
109         #endif
110 #endif
111
112 #ifndef ID_ENFORCE_KEY
113 #       if !defined( ID_DEDICATED ) && !defined( ID_DEMO_BUILD )
114 #               define ID_ENFORCE_KEY 1
115 #       else
116 #               define ID_ENFORCE_KEY 0
117 #       endif
118 #endif
119
120 #ifndef ID_OPENAL
121 #       if ( defined(_WIN32) || defined(MACOS_X) ) && !defined( ID_DEDICATED )
122 #               define ID_OPENAL 1
123 #       else
124 #               define ID_OPENAL 0
125 #       endif
126 #endif
127
128 #ifndef ID_ALLOW_D3XP
129 #       if defined( MACOS_X )
130 #               define ID_ALLOW_D3XP 0
131 #       else
132 #               define ID_ALLOW_D3XP 1
133 #       endif
134 #endif
135