X-Git-Url: https://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fshared%2Fa_modes.inc;h=733abb82e82d58ff9d11777541efe0924870758b;hb=87c3a28dda4534eec3fde4ef06dc5f324b2c4b3b;hp=a0ea22057a20fde14b3d03f2a2de5dcf87937d7b;hpb=d1fb1fce0a216ed61503c6ad592154eaf2885d1c;p=d2df-sdl.git diff --git a/src/shared/a_modes.inc b/src/shared/a_modes.inc index a0ea220..733abb8 100644 --- a/src/shared/a_modes.inc +++ b/src/shared/a_modes.inc @@ -1,5 +1,4 @@ // compiler options, common for all game modules -{.$MODE DELPHI} {$MODE OBJFPC} {$MODESWITCH ADVANCEDRECORDS+} @@ -24,8 +23,7 @@ {$MODESWITCH PROPERTIES+} {$MODESWITCH REPEATFORWARD+} // Implementation and Forward declaration must match completely. {$MODESWITCH RESULT+} -{$MODESWITCH TYPEHELPERS-} // Allow the use of type helpers. -{$MODESWITCH UNICODESTRINGS-} +{$MODESWITCH TYPEHELPERS+} // Allow the use of type helpers. {$MODESWITCH UNICODESTRINGS-} @@ -34,7 +32,9 @@ {$BOOLEVAL OFF} {$COPERATORS ON} {$EXTENDEDSYNTAX ON} -{$FPUTYPE SSE} +{$IFDEF CPU386} + {$FPUTYPE SSE} +{$ENDIF} {$GOTO ON} {$IEEEERRORS OFF} {$INLINE ON} @@ -45,7 +45,7 @@ {$POINTERMATH ON} {$RANGECHECKS OFF} {$SAFEFPUEXCEPTIONS OFF} -{$SCOPEDENUMS OFF} // this will possibly be changed later +{$SCOPEDENUMS ON} // this may be changed later {$SMARTLINK ON} {$TYPEDADDRESS ON} {$TYPEINFO ON} @@ -59,13 +59,86 @@ {$HINTS OFF} {$ELSE} {$STACKFRAMES OFF} + {$HINTS OFF} + {$DEFINE D2F_MORE_OPTIM} {$ENDIF} {$WARNINGS ON} {$NOTES ON} +{$IF DEFINED(D2F_DEBUG_OPTIM) or DEFINED(D2F_MORE_OPTIM)} + {$OPTIMIZATION DEADVALUES} + {$OPTIMIZATION CONSTPROP} + {$OPTIMIZATION DEADSTORE} +{$ENDIF} + +{$IFDEF WIN32} + {$IFNDEF MSWINDOWS} + {$DEFINE MSWINDOWS} + {$ENDIF} +{$ENDIF} {$IFDEF MSWINDOWS} {$IFNDEF WINDOWS} {$DEFINE WINDOWS} {$ENDIF WINDOWS} -{$ENDIF MSWINDOWS} +{$ENDIF} + +(* --------- Build options check --------- *) + +{$IFDEF HEADLESS} + {$DEFINE USE_SYSSTUB} + {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)} + {$WARNING System drivers not supported in headless mode. Force stub driver...} + {$UNDEF USE_SDL} + {$UNDEF USE_SDL2} + {$ENDIF} +{$ENDIF} + +{$IF DEFINED(USE_SYSSTUB)} + {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)} + {$ERROR Only one system driver must be selected!} + {$ENDIF} +{$ELSEIF DEFINED(USE_SDL)} + {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL2)} + {$ERROR Only one system driver must be selected!} + {$ENDIF} +{$ELSEIF DEFINED(USE_SDL2)} + {$IF DEFINED(USE_SYSSTUB) OR DEFINED(USE_SDL)} + {$ERROR Only one system driver must be selected!} + {$ENDIF} +{$ELSE} + {$DEFINE USE_SDL2} + {.$ERROR System driver not selected. Use -dUSE_SYSSTUB or -dUSE_SDL or -dUSE_SDL2} +{$ENDIF} + +{$IF DEFINED(USE_SOUNDSTUB)} + {$IF DEFINED(USE_SDLMIXER) OR DEFINED(USE_FMOD) OR DEFINED(USE_OPENAL)} + {$ERROR Only one sound driver must be selected!} + {$ENDIF} +{$ELSEIF DEFINED(USE_SDLMIXER)} + {$IF DEFINED(USE_SOUNDSTUB) OR DEFINED(USE_FMOD) OR DEFINED(USE_OPENAL)} + {$ERROR Only one sound driver must be selected!} + {$ENDIF} +{$ELSEIF DEFINED(USE_FMOD)} + {$IF DEFINED(USE_SOUNDSTUB) OR DEFINED(USE_SDLMIXER) OR DEFINED(USE_OPENAL)} + {$ERROR Only one sound driver must be selected!} + {$ENDIF} +{$ELSEIF DEFINED(USE_OPENAL)} + {$IF DEFINED(USE_SOUNDSTUB) OR DEFINED(USE_SDLMIXER) OR DEFINED(USE_FMOD)} + {$ERROR Only one sound driver must be selected!} + {$ENDIF} +{$ELSE} + {$ERROR Sound driver not selected. Use -dUSE_SOUNDSTUB or -dUSE_SDLMIXER or -dUSE_FMOD or -dUSE_OPENAL} +{$ENDIF} + +{$IFDEF ENABLE_HOLMES} + {$IFDEF HEADLESS} + {$ERROR Holmes in HEADLESS mode has no sense} + {$ENDIF} + {$IFNDEF USE_SDL2} + {$ERROR Holmes supported only with SDL2} + {$ENDIF} + {$IFDEF USE_GLES1} + {$ERROR Holmes not supported with GLES} + {$ENDIF} +{$ENDIF}