On Thu, Jan 8, 2015 at 3:00 PM, Reuben Hawkins <reubenhwk@xxxxxxxxx> wrote: > The checks will override and unset YesPlease settings for HAVE_CLOCK_GETTIME > and HAVE_CLOCK_MONOTONIC in config.mak.uname. I find this hard to grok and would rewrite it as: 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@xxxxxxxxx> With or without the minor rewrite above... Reviewed-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx> > --- > diff --git a/Makefile b/Makefile > index 7482a4d..57e33f2 100644 > --- a/Makefile > +++ b/Makefile > @@ -339,6 +339,8 @@ all:: > # return NULL when it receives a bogus time_t. > # > # 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 > @$(SHELL_PATH) ./GIT-VERSION-GEN > @@ -1382,6 +1384,10 @@ ifdef HAVE_CLOCK_GETTIME > EXTLIBS += -lrt > endif > > +ifdef HAVE_CLOCK_MONOTONIC > + BASIC_CFLAGS += -DHAVE_CLOCK_MONOTONIC > +endif > + > ifeq ($(TCLTK_PATH),) > NO_TCLTK = NoThanks > endif > diff --git a/config.mak.uname b/config.mak.uname > index a2f380f..926773e 100644 > --- a/config.mak.uname > +++ b/config.mak.uname > @@ -35,6 +35,7 @@ ifeq ($(uname_S),Linux) > LIBC_CONTAINS_LIBINTL = YesPlease > HAVE_DEV_TTY = YesPlease > HAVE_CLOCK_GETTIME = YesPlease > + HAVE_CLOCK_MONOTONIC = YesPlease > endif > ifeq ($(uname_S),GNU/kFreeBSD) > HAVE_ALLOCA_H = YesPlease > diff --git a/configure.ac b/configure.ac > index 210eb4e..c3293b9 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -924,6 +924,28 @@ AC_CHECK_LIB([iconv], [locale_charset], > [CHARSET_LIB=-lcharset])]) > 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. > GIT_CHECK_FUNC(setitimer, > [NO_SETITIMER=], > diff --git a/trace.c b/trace.c > index 4778608..bfbd48f 100644 > --- a/trace.c > +++ b/trace.c > @@ -324,7 +324,7 @@ int trace_want(struct trace_key *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) > { > -- > 2.2.0.68.g8f72f0c.dirty -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html