Bug 728968 - Detect clock_gettime when it's not in -lrt. r=khuey

This commit is contained in:
Mike Hommey 2012-02-23 11:00:46 +01:00
parent 3184199e4a
commit 48ff755d27

View File

@ -3728,20 +3728,23 @@ AC_CHECK_FUNCS(random strerror lchown fchmod snprintf statvfs memmove rint stat6
AC_CHECK_FUNCS(flockfile getpagesize)
AC_CHECK_FUNCS(localtime_r strtok_r)
dnl check for clock_gettime(), the CLOCK_MONOTONIC clock, and -lrt
_SAVE_LDFLAGS=$LDFLAGS
LDFLAGS="$LDFLAGS -lrt"
AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC) and -lrt,
ac_cv_have_clock_monotonic,
[AC_TRY_LINK([#include <time.h>],
[ struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts); ],
ac_cv_have_clock_monotonic=yes,
ac_cv_have_clock_monotonic=no)])
LDFLAGS=$_SAVE_LDFLAGS
if test "$ac_cv_have_clock_monotonic" = "yes"; then
dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
ac_cv_clock_monotonic,
[for libs in "" -lrt; do
_SAVE_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $libs"
AC_TRY_LINK([#include <time.h>],
[ struct timespec ts;
clock_gettime(CLOCK_MONOTONIC, &ts); ],
ac_cv_clock_monotonic=$libs
break,
ac_cv_clock_monotonic=no)
LDFLAGS="$_SAVE_LDFLAGS"
done])
if test "$ac_cv_clock_monotonic" != "no"; then
HAVE_CLOCK_MONOTONIC=1
REALTIME_LIBS=-lrt
REALTIME_LIBS=$ac_cv_clock_monotonic
AC_DEFINE(HAVE_CLOCK_MONOTONIC)
AC_SUBST(HAVE_CLOCK_MONOTONIC)
AC_SUBST(REALTIME_LIBS)