X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fshared%2Fa_modes.inc;h=9b5d9390f1fadf14f156622520bde230fc91a334;hp=9a17a826784a4ad9ce948730fff2bf6b1eed5f67;hb=82d89552dd0e3241987ce363b71e83c22be306e1;hpb=816a013e42b930a34a1e231c1620bb0dd65bf609 diff --git a/src/shared/a_modes.inc b/src/shared/a_modes.inc index 9a17a82..9b5d939 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+} @@ -27,15 +26,18 @@ {$MODESWITCH TYPEHELPERS+} // Allow the use of type helpers. {$MODESWITCH UNICODESTRINGS-} +{$IFDEF DARWIN} + {$MODESWITCH OBJECTIVEC1} +{$ENDIF} {$ASSERTIONS ON} {$BITPACKING OFF} {$BOOLEVAL OFF} {$COPERATORS ON} {$EXTENDEDSYNTAX ON} -{$IFDEF CPU32} +{$IFDEF CPU386} {$FPUTYPE SSE} -{$ENDIF CPU32} +{$ENDIF} {$GOTO ON} {$IEEEERRORS OFF} {$INLINE ON} @@ -46,7 +48,7 @@ {$POINTERMATH ON} {$RANGECHECKS OFF} {$SAFEFPUEXCEPTIONS OFF} -{$SCOPEDENUMS OFF} // this may be changed later +{$SCOPEDENUMS ON} // this may be changed later {$SMARTLINK ON} {$TYPEDADDRESS ON} {$TYPEINFO ON} @@ -72,8 +74,105 @@ {$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} + {$DEFINE USE_GLSTUB} + {$IF DEFINED(USE_GLES1) OR DEFINED(USE_OPENGL)} + {$WARNING Render drivers not needed in headless mode. Force stub driver...} + {$UNDEF USE_GLES1} + {$UNDEF USE_OPENGL} + {$ENDIF} + {$IFDEF ENABLE_HOLMES} + {$WARNING Holmes in headless mode has no sense. Disabled.} + {$UNDEF ENABLE_HOLMES} + {$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} + {$IFDEF USE_SDLMIXER} + {$ERROR SDL_mixer not supported with SDL 1.2.x} + {$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} + {$IFDEF IN_TOOLS} + {$DEFINE USE_SOUNDSTUB} + {$ELSE} + {$ERROR Sound driver not selected. Use -dUSE_SOUNDSTUB or -dUSE_SDLMIXER or -dUSE_FMOD or -dUSE_OPENAL} + {$ENDIF} +{$ENDIF} + +{$IF DEFINED(USE_GLSTUB)} + {$IF DEFINED(USE_GLES1) OR DEFINED(USE_OPENGL)} + {$ERROR Only one render driver must be selected!} + {$ENDIF} +{$ELSEIF DEFINED(USE_GLES1)} + {$IF DEFINED(USE_GLSTUB) OR DEFINED(USE_OPENGL)} + {$ERROR Only one render driver must be selected!} + {$ENDIF} +{$ELSEIF DEFINED(USE_OPENGL)} + {$IF DEFINED(USE_GLSTUB) OR DEFINED(USE_GLES1)} + {$ERROR Only one render driver must be selected!} + {$ENDIF} +{$ELSE} + {$DEFINE USE_OPENGL} + {.$ERROR Render driver not selected. Use -dUSE_GLSTUB or -dUSE_GLES1 or -dUSE_OPENGL} +{$ENDIF} + +{$IFDEF ENABLE_HOLMES} + {$IFNDEF USE_SDL2} + {$ERROR Holmes supported only with SDL2} + {$ENDIF} + {$IFNDEF USE_OPENGL} + {$ERROR Holmes supported only with desktop OpenGL} + {$ENDIF} +{$ENDIF}