diff options
author | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-04-05 11:11:36 +0000 |
---|---|---|
committer | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2011-04-05 11:11:36 +0000 |
commit | 0f0579e6b5d547fd9be3544734c870633636816e (patch) | |
tree | caa1895386719e636dcab528082855d19938cb25 /configure.in | |
parent | 0d8c3857c9e39e421be0f516b98ea1d79e480490 (diff) | |
download | hercules-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.in | 42 |
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 # |