diff --git a/CMakeLists.txt b/CMakeLists.txt index 5910154ad..d19ad993e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2179,7 +2179,7 @@ elseif(APPLE) set(SDL_TIMER_UNIX 1) sdl_glob_sources("${SDL3_SOURCE_DIR}/src/timer/unix/*.c") set(HAVE_SDL_TIMERS TRUE) - endif(SDL_TIMERS) + endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_COCOA 1) @@ -2831,8 +2831,7 @@ if(NOT HAVE_SDL_THREADS) endif() endif() if(NOT HAVE_SDL_TIMERS) - set(SDL_TIMER_DUMMY 1) - sdl_glob_sources("${SDL3_SOURCE_DIR}/src/timer/dummy/*.c") + message(FATAL_ERROR "Timers are needed by many SDL subsystems and may not be disabled") endif() # Most platforms use this. diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj index 2f9d04f15..c6ea6f7ad 100644 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj @@ -96,7 +96,6 @@ A7D8AB2523E2514100DCD162 /* SDL_log.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A5DD23E2513D00DCD162 /* SDL_log.c */; }; A7D8AB2B23E2514100DCD162 /* SDL_timer.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A5DF23E2513D00DCD162 /* SDL_timer.c */; }; A7D8AB3123E2514100DCD162 /* SDL_timer_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A5E023E2513D00DCD162 /* SDL_timer_c.h */; }; - A7D8AB3723E2514100DCD162 /* SDL_systimer.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A5E223E2513D00DCD162 /* SDL_systimer.c */; }; A7D8AB4923E2514100DCD162 /* SDL_systimer.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A5E823E2513D00DCD162 /* SDL_systimer.c */; }; A7D8AB5B23E2514100DCD162 /* SDL_offscreenevents_c.h in Headers */ = {isa = PBXBuildFile; fileRef = A7D8A5EE23E2513D00DCD162 /* SDL_offscreenevents_c.h */; }; A7D8AB6123E2514100DCD162 /* SDL_offscreenwindow.c in Sources */ = {isa = PBXBuildFile; fileRef = A7D8A5EF23E2513D00DCD162 /* SDL_offscreenwindow.c */; }; @@ -592,7 +591,6 @@ A7D8A5DD23E2513D00DCD162 /* SDL_log.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_log.c; sourceTree = ""; }; A7D8A5DF23E2513D00DCD162 /* SDL_timer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_timer.c; sourceTree = ""; }; A7D8A5E023E2513D00DCD162 /* SDL_timer_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_timer_c.h; sourceTree = ""; }; - A7D8A5E223E2513D00DCD162 /* SDL_systimer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_systimer.c; sourceTree = ""; }; A7D8A5E823E2513D00DCD162 /* SDL_systimer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_systimer.c; sourceTree = ""; }; A7D8A5EE23E2513D00DCD162 /* SDL_offscreenevents_c.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_offscreenevents_c.h; sourceTree = ""; }; A7D8A5EF23E2513D00DCD162 /* SDL_offscreenwindow.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_offscreenwindow.c; sourceTree = ""; }; @@ -1388,7 +1386,6 @@ A7D8A5DE23E2513D00DCD162 /* timer */ = { isa = PBXGroup; children = ( - A7D8A5E123E2513D00DCD162 /* dummy */, A7D8A5E723E2513D00DCD162 /* unix */, A7D8A5E023E2513D00DCD162 /* SDL_timer_c.h */, A7D8A5DF23E2513D00DCD162 /* SDL_timer.c */, @@ -1396,14 +1393,6 @@ path = timer; sourceTree = ""; }; - A7D8A5E123E2513D00DCD162 /* dummy */ = { - isa = PBXGroup; - children = ( - A7D8A5E223E2513D00DCD162 /* SDL_systimer.c */, - ); - path = dummy; - sourceTree = ""; - }; A7D8A5E723E2513D00DCD162 /* unix */ = { isa = PBXGroup; children = ( @@ -2544,7 +2533,6 @@ A7D8B9DD23E2514400DCD162 /* SDL_blendpoint.c in Sources */, A7D8B4EE23E2514300DCD162 /* SDL_gamepad.c in Sources */, E4A568B62AF763940062EEC4 /* SDL_sysmain_callbacks.c in Sources */, - A7D8AB3723E2514100DCD162 /* SDL_systimer.c in Sources */, A7D8BA1323E2514400DCD162 /* SDL_render_sw.c in Sources */, A7D8B42223E2514300DCD162 /* SDL_syssem.c in Sources */, A7D8B53923E2514300DCD162 /* SDL_hidapi_xbox360.c in Sources */, diff --git a/include/build_config/SDL_build_config.h.cmake b/include/build_config/SDL_build_config.h.cmake index 3a201d7e5..9deb5555c 100644 --- a/include/build_config/SDL_build_config.h.cmake +++ b/include/build_config/SDL_build_config.h.cmake @@ -268,7 +268,6 @@ #cmakedefine SDL_LOADSO_DISABLED @SDL_LOADSO_DISABLED@ #cmakedefine SDL_RENDER_DISABLED @SDL_RENDER_DISABLED@ #cmakedefine SDL_THREADS_DISABLED @SDL_THREADS_DISABLED@ -#cmakedefine SDL_TIMERS_DISABLED @SDL_TIMERS_DISABLED@ #cmakedefine SDL_VIDEO_DISABLED @SDL_VIDEO_DISABLED@ #cmakedefine SDL_POWER_DISABLED @SDL_POWER_DISABLED@ #cmakedefine SDL_FILESYSTEM_DISABLED @SDL_FILESYSTEM_DISABLED@ diff --git a/include/build_config/SDL_build_config_minimal.h b/include/build_config/SDL_build_config_minimal.h index 689234a88..276881a77 100644 --- a/include/build_config/SDL_build_config_minimal.h +++ b/include/build_config/SDL_build_config_minimal.h @@ -83,9 +83,6 @@ typedef unsigned int uintptr_t; /* Enable the stub thread support (src/thread/generic/\*.c) */ #define SDL_THREADS_DISABLED 1 -/* Enable the stub timer support (src/timer/dummy/\*.c) */ -#define SDL_TIMERS_DISABLED 1 - /* Enable the dummy video driver (src/video/dummy/\*.c) */ #define SDL_VIDEO_DRIVER_DUMMY 1 diff --git a/src/SDL.c b/src/SDL.c index b6b20fb97..ae2ab3bb1 100644 --- a/src/SDL.c +++ b/src/SDL.c @@ -48,9 +48,7 @@ #include "sensor/SDL_sensor_c.h" /* Initialization/Cleanup routines */ -#ifndef SDL_TIMERS_DISABLED #include "timer/SDL_timer_c.h" -#endif #ifdef SDL_VIDEO_DRIVER_WINDOWS extern int SDL_HelperWindowCreate(void); extern int SDL_HelperWindowDestroy(void); @@ -202,9 +200,7 @@ int SDL_InitSubSystem(Uint32 flags) } #endif -#ifndef SDL_TIMERS_DISABLED SDL_InitTicks(); -#endif /* Initialize the event subsystem */ if (flags & SDL_INIT_EVENTS) { @@ -227,7 +223,6 @@ int SDL_InitSubSystem(Uint32 flags) /* Initialize the timer subsystem */ if (flags & SDL_INIT_TIMER) { -#if !defined(SDL_TIMERS_DISABLED) && !defined(SDL_TIMER_DUMMY) if (SDL_ShouldInitSubsystem(SDL_INIT_TIMER)) { SDL_IncrementSubsystemRefCount(SDL_INIT_TIMER); if (SDL_InitTimers() < 0) { @@ -238,10 +233,6 @@ int SDL_InitSubSystem(Uint32 flags) SDL_IncrementSubsystemRefCount(SDL_INIT_TIMER); } flags_initialized |= SDL_INIT_TIMER; -#else - SDL_SetError("SDL not built with timer support"); - goto quit_and_error; -#endif } /* Initialize the video subsystem */ @@ -454,14 +445,12 @@ void SDL_QuitSubSystem(Uint32 flags) } #endif -#if !defined(SDL_TIMERS_DISABLED) && !defined(SDL_TIMER_DUMMY) if (flags & SDL_INIT_TIMER) { if (SDL_ShouldQuitSubsystem(SDL_INIT_TIMER)) { SDL_QuitTimers(); } SDL_DecrementSubsystemRefCount(SDL_INIT_TIMER); } -#endif #ifndef SDL_EVENTS_DISABLED if (flags & SDL_INIT_EVENTS) { @@ -513,9 +502,7 @@ void SDL_Quit(void) #endif SDL_QuitSubSystem(SDL_INIT_EVERYTHING); -#ifndef SDL_TIMERS_DISABLED SDL_QuitTicks(); -#endif #ifdef SDL_USE_LIBDBUS SDL_DBus_Quit(); diff --git a/src/timer/dummy/SDL_systimer.c b/src/timer/dummy/SDL_systimer.c deleted file mode 100644 index 3d54655c5..000000000 --- a/src/timer/dummy/SDL_systimer.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - Simple DirectMedia Layer - Copyright (C) 1997-2024 Sam Lantinga - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ -#include "SDL_internal.h" - -#if defined(SDL_TIMER_DUMMY) || defined(SDL_TIMERS_DISABLED) - -Uint64 SDL_GetPerformanceCounter(void) -{ - SDL_Unsupported(); - return 0; -} - -Uint64 SDL_GetPerformanceFrequency(void) -{ - return 1; -} - -void SDL_DelayNS(Uint64 ns) -{ - SDL_Unsupported(); -} - -#endif /* SDL_TIMER_DUMMY || SDL_TIMERS_DISABLED */ diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 34e33db84..1bd3055c6 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -465,9 +465,7 @@ int SDL_VideoInit(const char *driver_name) SDL_VideoQuit(); } -#ifndef SDL_TIMERS_DISABLED SDL_InitTicks(); -#endif /* Start the event loop */ if (SDL_InitSubSystem(SDL_INIT_EVENTS) < 0) {