summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-04-05 11:11:36 +0000
committerai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2011-04-05 11:11:36 +0000
commit0f0579e6b5d547fd9be3544734c870633636816e (patch)
treecaa1895386719e636dcab528082855d19938cb25 /configure.in
parent0d8c3857c9e39e421be0f516b98ea1d79e480490 (diff)
downloadhercules-0f0579e6b5d547fd9be3544734c870633636816e.tar.gz
hercules-0f0579e6b5d547fd9be3544734c870633636816e.tar.bz2
hercules-0f0579e6b5d547fd9be3544734c870633636816e.tar.xz
hercules-0f0579e6b5d547fd9be3544734c870633636816e.zip
* Moved detection of monotonic clock support to the configure script, which also checks, whether or not it actually works (bugreport:1003, related r11912 and r11983).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14767 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in42
1 files changed, 40 insertions, 2 deletions
diff --git a/configure.in b/configure.in
index c659ad142..6407cda1b 100644
--- a/configure.in
+++ b/configure.in
@@ -576,9 +576,47 @@ AC_SEARCH_LIBS([sqrt], [m], [], [AC_MSG_ERROR([math library not found... stoppin
#
-# clock_gettime (rt on Debian)
+# clock_gettime (optional, rt on Debian)
#
-AC_CHECK_LIB([rt], [clock_gettime])
+AC_SEARCH_LIBS([clock_gettime], [rt])
+
+
+#
+# CLOCK_MONOTONIC clock for clock_gettime
+# Normally defines _POSIX_TIMERS > 0 and _POSIX_MONOTONIC_CLOCK (for posix
+# compliant systems) and __FreeBSD_cc_version >= 500005 (for FreeBSD
+# >= 5.1.0, which does not have the posix defines (ref. r11983)) would be
+# checked but some systems define them even when they do not support it
+# (ref. bugreport:1003).
+#
+if test "$ac_cv_search_clock_gettime" != "no" ; then
+ AC_MSG_CHECKING([whether CLOCK_MONOTONIC is supported and works])
+ AC_RUN_IFELSE(
+ [
+ #include <sys/time.h>
+ #include <time.h>
+ #include <unistd.h>
+
+ int main(int argc, char** argv)
+ {
+ struct timespec tval;
+ return clock_gettime(CLOCK_MONOTONIC, &tval);
+ }
+ ],
+ [
+ AC_MSG_RESULT([yes])
+ CFLAGS="$CFLAGS -DHAVE_MONOTONIC_CLOCK"
+ ],
+ [
+ # either it failed to compile (CLOCK_MONOTONIC undefined)
+ # or clock_gettime has returned a non-zero value
+ AC_MSG_RESULT([no])
+ ],
+ [
+ AC_MSG_RESULT([guessing no])
+ ]
+ )
+fi
#