configure.ac: check for clock_gettime and CLOCK_MONOTONIC
Set or clear Makefile variables HAVE_CLOCK_GETTIME and HAVE_CLOCK_MONOTONIC based upon results of the checks (overriding default values from config.mak.uname). CLOCK_MONOTONIC isn't available on RHEL3, but there are still RHEL3 systems being used in production. Signed-off-by: Reuben Hawkins <reubenhwk@gmail.com> Reviewed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
8bd2c972b1
commit
a6c3c638ac
6
Makefile
6
Makefile
@ -343,6 +343,8 @@ all::
|
|||||||
# return NULL when it receives a bogus time_t.
|
# return NULL when it receives a bogus time_t.
|
||||||
#
|
#
|
||||||
# Define HAVE_CLOCK_GETTIME if your platform has clock_gettime in librt.
|
# Define HAVE_CLOCK_GETTIME if your platform has clock_gettime in librt.
|
||||||
|
#
|
||||||
|
# Define HAVE_CLOCK_MONOTONIC if your platform has CLOCK_MONOTONIC in librt.
|
||||||
|
|
||||||
GIT-VERSION-FILE: FORCE
|
GIT-VERSION-FILE: FORCE
|
||||||
@$(SHELL_PATH) ./GIT-VERSION-GEN
|
@$(SHELL_PATH) ./GIT-VERSION-GEN
|
||||||
@ -1402,6 +1404,10 @@ ifdef HAVE_CLOCK_GETTIME
|
|||||||
EXTLIBS += -lrt
|
EXTLIBS += -lrt
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef HAVE_CLOCK_MONOTONIC
|
||||||
|
BASIC_CFLAGS += -DHAVE_CLOCK_MONOTONIC
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(TCLTK_PATH),)
|
ifeq ($(TCLTK_PATH),)
|
||||||
NO_TCLTK = NoThanks
|
NO_TCLTK = NoThanks
|
||||||
endif
|
endif
|
||||||
|
@ -35,6 +35,7 @@ ifeq ($(uname_S),Linux)
|
|||||||
LIBC_CONTAINS_LIBINTL = YesPlease
|
LIBC_CONTAINS_LIBINTL = YesPlease
|
||||||
HAVE_DEV_TTY = YesPlease
|
HAVE_DEV_TTY = YesPlease
|
||||||
HAVE_CLOCK_GETTIME = YesPlease
|
HAVE_CLOCK_GETTIME = YesPlease
|
||||||
|
HAVE_CLOCK_MONOTONIC = YesPlease
|
||||||
endif
|
endif
|
||||||
ifeq ($(uname_S),GNU/kFreeBSD)
|
ifeq ($(uname_S),GNU/kFreeBSD)
|
||||||
HAVE_ALLOCA_H = YesPlease
|
HAVE_ALLOCA_H = YesPlease
|
||||||
|
22
configure.ac
22
configure.ac
@ -947,6 +947,28 @@ AC_CHECK_LIB([iconv], [locale_charset],
|
|||||||
[CHARSET_LIB=-lcharset])])
|
[CHARSET_LIB=-lcharset])])
|
||||||
GIT_CONF_SUBST([CHARSET_LIB])
|
GIT_CONF_SUBST([CHARSET_LIB])
|
||||||
#
|
#
|
||||||
|
# Define HAVE_CLOCK_GETTIME=YesPlease if clock_gettime is available.
|
||||||
|
GIT_CHECK_FUNC(clock_gettime,
|
||||||
|
[HAVE_CLOCK_GETTIME=YesPlease],
|
||||||
|
[HAVE_CLOCK_GETTIME=])
|
||||||
|
GIT_CONF_SUBST([HAVE_CLOCK_GETTIME])
|
||||||
|
|
||||||
|
AC_DEFUN([CLOCK_MONOTONIC_SRC], [
|
||||||
|
AC_LANG_PROGRAM([[
|
||||||
|
#include <time.h>
|
||||||
|
clockid_t id = CLOCK_MONOTONIC;
|
||||||
|
]])])
|
||||||
|
|
||||||
|
#
|
||||||
|
# Define HAVE_CLOCK_MONOTONIC=YesPlease if CLOCK_MONOTONIC is available.
|
||||||
|
AC_MSG_CHECKING([for CLOCK_MONOTONIC])
|
||||||
|
AC_COMPILE_IFELSE([CLOCK_MONOTONIC_SRC],
|
||||||
|
[AC_MSG_RESULT([yes])
|
||||||
|
HAVE_CLOCK_MONOTONIC=YesPlease],
|
||||||
|
[AC_MSG_RESULT([no])
|
||||||
|
HAVE_CLOCK_MONOTONIC=])
|
||||||
|
GIT_CONF_SUBST([HAVE_CLOCK_MONOTONIC])
|
||||||
|
#
|
||||||
# Define NO_SETITIMER if you don't have setitimer.
|
# Define NO_SETITIMER if you don't have setitimer.
|
||||||
GIT_CHECK_FUNC(setitimer,
|
GIT_CHECK_FUNC(setitimer,
|
||||||
[NO_SETITIMER=],
|
[NO_SETITIMER=],
|
||||||
|
2
trace.c
2
trace.c
@ -322,7 +322,7 @@ int trace_want(struct trace_key *key)
|
|||||||
return !!get_trace_fd(key);
|
return !!get_trace_fd(key);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CLOCK_GETTIME
|
#if defined(HAVE_CLOCK_GETTIME) && defined(HAVE_CLOCK_MONOTONIC)
|
||||||
|
|
||||||
static inline uint64_t highres_nanos(void)
|
static inline uint64_t highres_nanos(void)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user