summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Lantinga <slouken@libsdl.org>2021-02-01 21:56:56 -0800
committerSam Lantinga <slouken@libsdl.org>2021-02-01 21:56:56 -0800
commit3387f0126c3733814ac39bffe82b8af75972f251 (patch)
tree7e72632d5a1f12acde3a6114deae0f1bddec4fec
parentcb5a3b73ba92c31b96a44b6ba3fe49a8aa46fb35 (diff)
downloadsdl-3387f0126c3733814ac39bffe82b8af75972f251.tar.gz
Removed support for clock_gettime_nsec_np()
SDL_GetTicks() was broken and it's not adding any real value here.
-rw-r--r--CMakeLists.txt12
-rwxr-xr-xconfigure46
-rw-r--r--configure.ac27
-rw-r--r--include/SDL_config.h.cmake1
-rw-r--r--include/SDL_config.h.in1
-rw-r--r--include/SDL_config_iphoneos.h1
-rw-r--r--include/SDL_config_macosx.h3
-rw-r--r--src/timer/unix/SDL_systimer.c27
8 files changed, 5 insertions, 113 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4e20eefd2..b66a81486 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -875,18 +875,6 @@ if(LIBC)
else()
set(HAVE_ALLOCA_H 1)
set(HAVE_ALLOCA 1)
- if(IOS OR TVOS) # assuming iOS / TVOS >= 10.0
- set(HAVE_CLOCK_GETTIME_NSEC_NP 1)
- else()
- CHECK_C_SOURCE_COMPILES("
- #include <AvailabilityMacros.h>
- #include <time.h>
- #if MAC_OS_X_VERSION_MIN_REQUIRED < 101200
- #error Need 10.12 or newer target
- #endif
- int main(int argc, char **argv) { return !clock_gettime_nsec_np(CLOCK_MONOTONIC); }
- " HAVE_CLOCK_GETTIME_NSEC_NP)
- endif()
endif()
check_struct_has_member("struct sigaction" "sa_sigaction" "signal.h" HAVE_SA_SIGACTION)
diff --git a/configure b/configure
index 4f5f6ca59..da4ee6ece 100755
--- a/configure
+++ b/configure
@@ -24769,47 +24769,6 @@ $as_echo "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h
fi
}
-CheckClockGettimeAPPLE()
-{
- have_clock_gettime_apple=no
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime_nsec_np" >&5
-$as_echo_n "checking for clock_gettime_nsec_np... " >&6; }
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-#include <AvailabilityMacros.h>
-#include <time.h>
-
-int
-main ()
-{
-
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 101200
-#error Need 10.12 or newer target
-#endif
- return !clock_gettime_nsec_np(CLOCK_MONOTONIC);
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
- have_clock_gettime_apple=yes
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_clock_gettime_apple" >&5
-$as_echo "$have_clock_gettime_apple" >&6; }
-
- if test x$have_clock_gettime_apple = xyes; then
-
-$as_echo "#define HAVE_CLOCK_GETTIME_NSEC_NP 1" >>confdefs.h
-
- fi
-}
-
CheckLinuxVersion()
{
ac_fn_c_check_header_mongrel "$LINENO" "linux/version.h" "ac_cv_header_linux_version_h" "$ac_includes_default"
@@ -25504,10 +25463,6 @@ fi
CheckVulkan
CheckPTHREAD
-
-$as_echo "#define HAVE_CLOCK_GETTIME_NSEC_NP 1" >>confdefs.h
-
-
SOURCES="$SOURCES $srcdir/src/misc/ios/*.m"
have_misc=yes
@@ -25625,7 +25580,6 @@ $as_echo "#define SDL_VIDEO_RENDER_OGL_ES2 1" >>confdefs.h
CheckVisibilityHidden
CheckDeclarationAfterStatement
- CheckClockGettimeAPPLE
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
diff --git a/configure.ac b/configure.ac
index ed1645ade..107563dba 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3496,29 +3496,6 @@ AS_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettime
fi
}
-dnl Check for clock_gettime_nsec_np()
-CheckClockGettimeAPPLE()
-{
- have_clock_gettime_apple=no
- AC_MSG_CHECKING(for clock_gettime_nsec_np)
- AC_TRY_LINK([
-#include <AvailabilityMacros.h>
-#include <time.h>
- ],[
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 101200
-#error Need 10.12 or newer target
-#endif
- return !clock_gettime_nsec_np(CLOCK_MONOTONIC);
- ],[
- have_clock_gettime_apple=yes
- ])
- AC_MSG_RESULT($have_clock_gettime_apple)
-
- if test x$have_clock_gettime_apple = xyes; then
- AC_DEFINE(HAVE_CLOCK_GETTIME_NSEC_NP, 1, [ ])
- fi
-}
-
dnl Check for a valid linux/version.h
CheckLinuxVersion()
{
@@ -4054,9 +4031,6 @@ AS_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
CheckVulkan
CheckPTHREAD
- dnl assuming iOS >= 10.0
- AC_DEFINE(HAVE_CLOCK_GETTIME_NSEC_NP, 1, [ ])
-
SOURCES="$SOURCES $srcdir/src/misc/ios/*.m"
have_misc=yes
@@ -4152,7 +4126,6 @@ AS_HELP_STRING([--enable-render-d3d], [enable the Direct3D render driver [[defau
CheckVisibilityHidden
CheckDeclarationAfterStatement
- CheckClockGettimeAPPLE
CheckDummyVideo
CheckDiskAudio
CheckDummyAudio
diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake
index ede9bbabc..977050db3 100644
--- a/include/SDL_config.h.cmake
+++ b/include/SDL_config.h.cmake
@@ -191,7 +191,6 @@
#cmakedefine HAVE_SYSCONF 1
#cmakedefine HAVE_SYSCTLBYNAME 1
#cmakedefine HAVE_CLOCK_GETTIME 1
-#cmakedefine HAVE_CLOCK_GETTIME_NSEC_NP 1
#cmakedefine HAVE_GETPAGESIZE 1
#cmakedefine HAVE_MPROTECT 1
#cmakedefine HAVE_ICONV 1
diff --git a/include/SDL_config.h.in b/include/SDL_config.h.in
index 9480eb43f..eb2b4172c 100644
--- a/include/SDL_config.h.in
+++ b/include/SDL_config.h.in
@@ -196,7 +196,6 @@
#undef HAVE_SYSCONF
#undef HAVE_SYSCTLBYNAME
#undef HAVE_CLOCK_GETTIME
-#undef HAVE_CLOCK_GETTIME_NSEC_NP
#undef HAVE_GETPAGESIZE
#undef HAVE_MPROTECT
#undef HAVE_ICONV
diff --git a/include/SDL_config_iphoneos.h b/include/SDL_config_iphoneos.h
index 08524b4f9..9a748beb6 100644
--- a/include/SDL_config_iphoneos.h
+++ b/include/SDL_config_iphoneos.h
@@ -53,7 +53,6 @@
#define HAVE_REALLOC 1
#define HAVE_FREE 1
#define HAVE_ALLOCA 1
-#define HAVE_CLOCK_GETTIME_NSEC_NP 1
#define HAVE_GETENV 1
#define HAVE_SETENV 1
#define HAVE_PUTENV 1
diff --git a/include/SDL_config_macosx.h b/include/SDL_config_macosx.h
index 464b197c2..9a8f720fa 100644
--- a/include/SDL_config_macosx.h
+++ b/include/SDL_config_macosx.h
@@ -56,9 +56,6 @@
#define HAVE_CALLOC 1
#define HAVE_REALLOC 1
#define HAVE_FREE 1
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 101200
-#define HAVE_CLOCK_GETTIME_NSEC_NP 1
-#endif
#define HAVE_ALLOCA 1
#define HAVE_GETENV 1
#define HAVE_SETENV 1
diff --git a/src/timer/unix/SDL_systimer.c b/src/timer/unix/SDL_systimer.c
index 5af307ba9..05db3a9f7 100644
--- a/src/timer/unix/SDL_systimer.c
+++ b/src/timer/unix/SDL_systimer.c
@@ -46,7 +46,7 @@
Also added OS X Monotonic clock support
Based on work in https://github.com/ThomasHabets/monotonic_clock
*/
-#if HAVE_NANOSLEEP || HAVE_CLOCK_GETTIME || HAVE_CLOCK_GETTIME_NSEC_NP
+#if HAVE_NANOSLEEP || HAVE_CLOCK_GETTIME
#include <time.h>
#endif
#ifdef __APPLE__
@@ -54,7 +54,7 @@
#endif
/* Use CLOCK_MONOTONIC_RAW, if available, which is not subject to adjustment by NTP */
-#if HAVE_CLOCK_GETTIME || HAVE_CLOCK_GETTIME_NSEC_NP
+#if HAVE_CLOCK_GETTIME
#ifdef CLOCK_MONOTONIC_RAW
#define SDL_MONOTONIC_CLOCK CLOCK_MONOTONIC_RAW
#else
@@ -65,7 +65,7 @@
/* The first ticks value of the application */
#if HAVE_CLOCK_GETTIME
static struct timespec start_ts;
-#elif defined(__APPLE__) && !HAVE_CLOCK_GETTIME_NSEC_NP
+#elif defined(__APPLE__)
static uint64_t start_mach;
mach_timebase_info_data_t mach_base_info;
#endif
@@ -87,17 +87,11 @@ SDL_TicksInit(void)
has_monotonic_time = SDL_TRUE;
} else
#elif defined(__APPLE__)
-#if !HAVE_CLOCK_GETTIME_NSEC_NP
kern_return_t ret = mach_timebase_info(&mach_base_info);
if (ret == 0) {
has_monotonic_time = SDL_TRUE;
start_mach = mach_absolute_time();
} else
-#else
- if (clock_gettime_nsec_np(SDL_MONOTONIC_CLOCK) > 0) {
- has_monotonic_time = SDL_TRUE;
- } else
-#endif
#endif
{
gettimeofday(&start_tv, NULL);
@@ -124,13 +118,9 @@ SDL_GetTicks(void)
clock_gettime(SDL_MONOTONIC_CLOCK, &now);
ticks = (Uint32)((now.tv_sec - start_ts.tv_sec) * 1000 + (now.tv_nsec - start_ts.tv_nsec) / 1000000);
#elif defined(__APPLE__)
-#if !HAVE_CLOCK_GETTIME_NSEC_NP
uint64_t now = mach_absolute_time();
ticks = (Uint32)((((now - start_mach) * mach_base_info.numer) / mach_base_info.denom) / 1000000);
#else
- ticks = (Uint32)clock_gettime_nsec_np(SDL_MONOTONIC_CLOCK);
-#endif
-#else
SDL_assert(SDL_FALSE);
ticks = 0;
#endif
@@ -160,12 +150,8 @@ SDL_GetPerformanceCounter(void)
ticks *= 1000000000;
ticks += now.tv_nsec;
#elif defined(__APPLE__)
-#if !HAVE_CLOCK_GETTIME_NSEC_NP
ticks = mach_absolute_time();
#else
- ticks = (Uint32)clock_gettime_nsec_np(SDL_MONOTONIC_CLOCK);
-#endif
-#else
SDL_assert(SDL_FALSE);
ticks = 0;
#endif
@@ -191,16 +177,13 @@ SDL_GetPerformanceFrequency(void)
#if HAVE_CLOCK_GETTIME
return 1000000000;
#elif defined(__APPLE__)
-#if !HAVE_CLOCK_GETTIME_NSEC_NP
Uint64 freq = mach_base_info.denom;
freq *= 1000000000;
freq /= mach_base_info.numer;
return freq;
-#else
- return 1000000000;
-#endif
#endif
- }
+ }
+
return 1000000;
}