mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-23 21:01:08 +00:00
Bug 1524461 - Run the clock_gettime(CLOCK_MONOTONIC) configure check on OSX. r=froydnj
That will make it detected when we bump the MACOSX_DEPLOYMENT_TARGET to a value >= 10.12. Differential Revision: https://phabricator.services.mozilla.com/D18310 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
040b50d17f
commit
029e8b5700
@ -1003,35 +1003,31 @@ dnl ========================================================
|
||||
AC_CHECK_FUNCS([getc_unlocked _getc_nolock gmtime_r localtime_r pthread_getname_np pthread_get_name_np])
|
||||
|
||||
dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
|
||||
dnl avoid this on Darwin, since depending on your system config, we may think
|
||||
dnl it exists but it really doesn't
|
||||
case "$OS_TARGET" in
|
||||
Darwin)
|
||||
;;
|
||||
*)
|
||||
AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
|
||||
ac_cv_clock_monotonic,
|
||||
[for libs in "" -lrt; do
|
||||
_SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $libs"
|
||||
AC_TRY_LINK([#include <time.h>],
|
||||
[ struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts); ],
|
||||
ac_cv_clock_monotonic=$libs
|
||||
LIBS="$_SAVE_LIBS"
|
||||
break,
|
||||
ac_cv_clock_monotonic=no)
|
||||
LIBS="$_SAVE_LIBS"
|
||||
done])
|
||||
if test "$ac_cv_clock_monotonic" != "no"; then
|
||||
HAVE_CLOCK_MONOTONIC=1
|
||||
REALTIME_LIBS=$ac_cv_clock_monotonic
|
||||
AC_DEFINE(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST_LIST(REALTIME_LIBS)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
|
||||
ac_cv_clock_monotonic,
|
||||
[for libs in "" -lrt; do
|
||||
_SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $libs"
|
||||
dnl clock_gettime is available on OSX since 10.12, so depending on MACOSX_DEPLOYMENT_TARGET,
|
||||
dnl we should or not be able to use it. To detect if we can, we need to make the
|
||||
dnl availability attribute strict, so that compilation fails when the target is < 10.12.
|
||||
AC_TRY_LINK([#define availability(os, ...) availability(os, strict, __VA_ARGS)
|
||||
#include <time.h>],
|
||||
[ struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts); ],
|
||||
ac_cv_clock_monotonic=$libs
|
||||
LIBS="$_SAVE_LIBS"
|
||||
break,
|
||||
ac_cv_clock_monotonic=no)
|
||||
LIBS="$_SAVE_LIBS"
|
||||
done])
|
||||
if test "$ac_cv_clock_monotonic" != "no"; then
|
||||
HAVE_CLOCK_MONOTONIC=1
|
||||
REALTIME_LIBS=$ac_cv_clock_monotonic
|
||||
AC_DEFINE(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST_LIST(REALTIME_LIBS)
|
||||
fi
|
||||
|
||||
dnl Checks for math functions.
|
||||
dnl ========================================================
|
||||
|
@ -1278,35 +1278,31 @@ dnl ========================================================
|
||||
AC_CHECK_FUNCS(stat64 lstat64 truncate64 statvfs64 statvfs statfs64 statfs getpagesize gmtime_r localtime_r arc4random arc4random_buf mallinfo gettid lchown setpriority strerror syscall)
|
||||
|
||||
dnl check for clock_gettime(), the CLOCK_MONOTONIC clock
|
||||
dnl avoid this on Darwin, since depending on your system config, we may think
|
||||
dnl it exists but it really doesn't
|
||||
case "$OS_TARGET" in
|
||||
Darwin)
|
||||
;;
|
||||
*)
|
||||
AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
|
||||
ac_cv_clock_monotonic,
|
||||
[for libs in "" -lrt; do
|
||||
_SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $libs"
|
||||
AC_TRY_LINK([#include <time.h>],
|
||||
[ struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts); ],
|
||||
ac_cv_clock_monotonic=$libs
|
||||
LIBS="$_SAVE_LIBS"
|
||||
break,
|
||||
ac_cv_clock_monotonic=no)
|
||||
LIBS="$_SAVE_LIBS"
|
||||
done])
|
||||
if test "$ac_cv_clock_monotonic" != "no"; then
|
||||
HAVE_CLOCK_MONOTONIC=1
|
||||
REALTIME_LIBS=$ac_cv_clock_monotonic
|
||||
AC_DEFINE(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST_LIST(REALTIME_LIBS)
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
AC_CACHE_CHECK(for clock_gettime(CLOCK_MONOTONIC),
|
||||
ac_cv_clock_monotonic,
|
||||
[for libs in "" -lrt; do
|
||||
_SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $libs"
|
||||
dnl clock_gettime is available on OSX since 10.12, so depending on MACOSX_DEPLOYMENT_TARGET,
|
||||
dnl we should or not be able to use it. To detect if we can, we need to make the
|
||||
dnl availability attribute strict, so that compilation fails when the target is < 10.12.
|
||||
AC_TRY_LINK([#define availability(os, ...) availability(os, strict, __VA_ARGS)
|
||||
#include <time.h>],
|
||||
[ struct timespec ts;
|
||||
clock_gettime(CLOCK_MONOTONIC, &ts); ],
|
||||
ac_cv_clock_monotonic=$libs
|
||||
LIBS="$_SAVE_LIBS"
|
||||
break,
|
||||
ac_cv_clock_monotonic=no)
|
||||
LIBS="$_SAVE_LIBS"
|
||||
done])
|
||||
if test "$ac_cv_clock_monotonic" != "no"; then
|
||||
HAVE_CLOCK_MONOTONIC=1
|
||||
REALTIME_LIBS=$ac_cv_clock_monotonic
|
||||
AC_DEFINE(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST(HAVE_CLOCK_MONOTONIC)
|
||||
AC_SUBST_LIST(REALTIME_LIBS)
|
||||
fi
|
||||
|
||||
dnl Turn on warnings-as-errors to prevent implicit declaration of
|
||||
dnl pthread_cond_timedwait_monotonic_np, which can cause this test to
|
||||
|
Loading…
Reference in New Issue
Block a user