DEADSOFTWARE

use sdl2 as default driver
[d2df-sdl.git] / src / shared / a_modes.inc
1 // compiler options, common for all game modules
2 {$MODE OBJFPC}
4 {$MODESWITCH ADVANCEDRECORDS+}
5 {$MODESWITCH ALLOWINLINE+}
6 {$MODESWITCH ANSISTRINGS+} // Allow use of ansistrings.
7 {$MODESWITCH AUTODEREF+} // Automatic (silent) dereferencing of typed pointers.
8 {$MODESWITCH CLASS+}
9 {$MODESWITCH CLASSICPROCVARS+} // Use classical procedural variables.
10 {$MODESWITCH DEFAULTPARAMETERS+} // Allow use of default parameter values.
11 {$MODESWITCH DUPLICATELOCALS-} // Allow local variables in class methods to have the same names as properties of the class.
12 {$MODESWITCH EXCEPTIONS+}
13 {$MODESWITCH HINTDIRECTIVE+} // Support the hint directives (deprecated, platform etc.)
14 {$MODESWITCH INITFINAL+} // Allow use of Initialization and Finalization
15 {.$MODESWITCH ISOUNARYMINUS-} // Unary minus as required by ISO pascal.
16 {$MODESWITCH MACPROCVARS-} // Use mac-style procedural variables.
17 {$MODESWITCH NESTEDCOMMENTS-}
18 {$MODESWITCH NESTEDPROCVARS+}
19 {$MODESWITCH OBJPAS+}
20 {$MODESWITCH OUT+} // Allow use of the out parameter type.
21 {$MODESWITCH PCHARTOSTRING+}
22 {$MODESWITCH POINTERTOPROCVAR+} // Allow silent conversion of pointers to procedural variables.
23 {$MODESWITCH PROPERTIES+}
24 {$MODESWITCH REPEATFORWARD+} // Implementation and Forward declaration must match completely.
25 {$MODESWITCH RESULT+}
26 {$MODESWITCH TYPEHELPERS+} // Allow the use of type helpers.
27 {$MODESWITCH UNICODESTRINGS-}
30 {$ASSERTIONS ON}
31 {$BITPACKING OFF}
32 {$BOOLEVAL OFF}
33 {$COPERATORS ON}
34 {$EXTENDEDSYNTAX ON}
35 {$IFDEF CPU386}
36 {$FPUTYPE SSE}
37 {$ENDIF}
38 {$GOTO ON}
39 {$IEEEERRORS OFF}
40 {$INLINE ON}
41 {$LONGSTRINGS ON}
42 {$MACRO OFF}
43 {$OBJECTCHECKS OFF}
44 {$OVERFLOWCHECKS OFF}
45 {$POINTERMATH ON}
46 {$RANGECHECKS OFF}
47 {$SAFEFPUEXCEPTIONS OFF}
48 {$SCOPEDENUMS ON} // this may be changed later
49 {$SMARTLINK ON}
50 {$TYPEDADDRESS ON}
51 {$TYPEINFO ON}
52 {$VARSTRINGCHECKS OFF}
54 {$S-} // disable stack checking
55 {$MMX-} // get lost, mmx
57 {$IF DEFINED(D2F_DEBUG)}
58 {$STACKFRAMES ON}
59 {$HINTS OFF}
60 {$ELSE}
61 {$STACKFRAMES OFF}
62 {$HINTS OFF}
63 {$DEFINE D2F_MORE_OPTIM}
64 {$ENDIF}
65 {$WARNINGS ON}
66 {$NOTES ON}
68 {$IF DEFINED(D2F_DEBUG_OPTIM) or DEFINED(D2F_MORE_OPTIM)}
69 {$OPTIMIZATION DEADVALUES}
70 {$OPTIMIZATION CONSTPROP}
71 {$OPTIMIZATION DEADSTORE}
72 {$ENDIF}
74 {$IFDEF WIN32}
75 {$IFNDEF MSWINDOWS}
76 {$DEFINE MSWINDOWS}
77 {$ENDIF}
78 {$ENDIF}
80 {$IFDEF MSWINDOWS}
81 {$IFNDEF WINDOWS}
82 {$DEFINE WINDOWS}
83 {$ENDIF WINDOWS}
84 {$ENDIF}
86 (* --------- Build options check --------- *)
88 {$IFDEF HEADLESS}
89 {$DEFINE USE_SYSSTUB}
90 {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)}
91 {$WARNING System drivers not supported in headless mode. Force stub driver...}
92 {$UNDEF USE_SDL}
93 {$UNDEF USE_SDL2}
94 {$ENDIF}
95 {$ENDIF}
97 {$IF DEFINED(USE_SYSSTUB)}
98 {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)}
99 {$ERROR Only one system driver must be selected!}
100 {$ENDIF}
101 {$ELSEIF DEFINED(USE_SDL)}
102 {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL2)}
103 {$ERROR Only one system driver must be selected!}
104 {$ENDIF}
105 {$ELSEIF DEFINED(USE_SDL2)}
106 {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL)}
107 {$ERROR Only one system driver must be selected!}
108 {$ENDIF}
109 {$ELSE}
110 {$DEFINE USE_SDL2}
111 {.$ERROR System driver not selected. Use -dUSE_SYSSTUB or -dUSE_SDL or -dUSE_SDL2}
112 {$ENDIF}
114 {$IF DEFINED(USE_SOUNDSTUB)}
115 {$IF DEFINED(USE_SDLMIXER) OR DEFINED(USE_FMOD) OR DEFINED(USE_OPENAL)}
116 {$ERROR Only one sound driver must be selected!}
117 {$ENDIF}
118 {$ELSEIF DEFINED(USE_SDLMIXER)}
119 {$IF DEFINED(USE_SOUNDSTUB) OR DEFINED(USE_FMOD) OR DEFINED(USE_OPENAL)}
120 {$ERROR Only one sound driver must be selected!}
121 {$ENDIF}
122 {$ELSEIF DEFINED(USE_FMOD)}
123 {$IF DEFINED(USE_SOUNDSTUB) OR DEFINED(USE_SDLMIXER) OR DEFINED(USE_OPENAL)}
124 {$ERROR Only one sound driver must be selected!}
125 {$ENDIF}
126 {$ELSEIF DEFINED(USE_OPENAL)}
127 {$IF DEFINED(USE_SOUNDSTUB) OR DEFINED(USE_SDLMIXER) OR DEFINED(USE_FMOD)}
128 {$ERROR Only one sound driver must be selected!}
129 {$ENDIF}
130 {$ELSE}
131 {$ERROR Sound driver not selected. Use -dUSE_SOUNDSTUB or -dUSE_SDLMIXER or -dUSE_FMOD or -dUSE_OPENAL}
132 {$ENDIF}
134 {$IFDEF ENABLE_HOLMES}
135 {$IFDEF HEADLESS}
136 {$ERROR Holmes in HEADLESS mode has no sense}
137 {$ENDIF}
138 {$IFNDEF USE_SDL2}
139 {$ERROR Holmes supported only with SDL2}
140 {$ENDIF}
141 {$IFDEF USE_GLES1}
142 {$ERROR Holmes not supported with GLES}
143 {$ENDIF}
144 {$ENDIF}