DEADSOFTWARE

system: add option -dDISABLE_SYSTEM
[d2df-sdl.git] / src / shared / a_modes.inc
index d018fa0ddcc1f35ba5b88ab36e9fde8028a4c8de..13ee251ab42e57a9271428f782b23fba338e33f4 100644 (file)
     {$UNDEF ENABLE_RENDER}
     {$DEFINE DISABLE_RENDER}
   {$ENDIF}
+  {$IFDEF ENABLE_SYSTEM}
+    {$WARNING System in headless mode has no sense. Disabled.}
+    {$UNDEF ENABLE_SYSTEM}
+    {$DEFINE DISABLE_SYSTEM}
+  {$ENDIF}
 {$ENDIF}
 
 {$IF DEFINED(ENABLE_MENU) AND DEFINED(DISABLE_MENU)}
   {$ENDIF}
 {$ENDIF}
 
+{$IF DEFINED(ENABLE_SYSTEM) AND DEFINED(DISABLE_SYSTEM)}
+  {$ERROR Select ENABLE_SYSTEM or DISABLE_SYSTEM}
+{$ELSEIF NOT DEFINED(ENABLE_SYSTEM) AND NOT DEFINED(DISABLE_SYSTEM)}
+  // default ENABLE/DISABLE system driver
+  {$IFDEF HEADLESS}
+    {$DEFINE DISABLE_SYSTEM}
+  {$ELSE}
+    {$DEFINE ENABLE_SYSTEM}
+  {$ENDIF}
+{$ENDIF}
+
 {$IF DEFINED(USE_SYSSTUB)}
   {$IF DEFINED(USE_SDL) OR DEFINED(USE_SDL2)}
     {$ERROR Only one system driver must be selected!}
     {$ERROR Holmes supported only with desktop OpenGL}
   {$ENDIF}
 {$ENDIF}
+
+{$IFDEF ENABLE_MENU}
+  {$IFDEF DISABLE_RENDER}
+    {$FATAL Render driver required for current menu implementation}
+  {$ENDIF}
+{$ENDIF}
+
+{$IFDEF ENABLE_TOUCH}
+  {$IFDEF DISABLE_SYSTEM}
+    {$FATAL System driver required for current touch implementation}
+  {$ENDIF}
+{$ENDIF}