]> www.ginac.de Git - cln.git/blob - m4/times.m4
* Apply patch for autoconf-2.60:
[cln.git] / m4 / times.m4
1 dnl -*- Autoconf -*-
2 dnl Copyright (C) 1993-2006 Free Software Foundation, Inc.
3 dnl This file is free software, distributed under the terms of the GNU
4 dnl General Public License.  As a special exception to the GNU General
5 dnl Public License, this file may be distributed as part of a program
6 dnl that contains a configuration script generated by Autoconf, under
7 dnl the same distribution terms as the rest of that program.
8
9 dnl From Bruno Haible, Marcus Daniels, Sam Steingold.
10
11 AC_PREREQ(2.57)
12
13 AC_DEFUN([CL_TIMES_CLOCK],
14 [AC_REQUIRE([CL_GETTIMEOFDAY])dnl
15 if test $ac_cv_func_gettimeofday = no -a $ac_cv_func_ftime = no; then
16 AC_CHECK_FUNC(times, , no_times=1)dnl
17 if test -z "$no_times"; then
18 AC_CACHE_CHECK(for times return value, cl_cv_func_times_return, [
19 AC_TRY_RUN([
20 #include <stdlib.h> /* needed for exit() */
21 #include <sys/types.h>
22 #include <time.h> /* needed for CLK_TCK */
23 #ifndef CLK_TCK
24 #include <sys/time.h> /* needed for CLK_TCK on SYSV PTX */
25 #endif
26 #include <sys/times.h>
27 int main ()
28 { struct tms buffer;
29   clock_t result1;
30   clock_t result2;
31   int ticks;
32   result1 = times(&buffer);
33   if ((result1 == (clock_t)0) || (result1 == (clock_t)(-1))) exit(1);
34   sleep(1);
35   result2 = times(&buffer);
36   if ((result2 == (clock_t)0) || (result2 == (clock_t)(-1))) exit(1);
37   ticks = result2 - result1;
38   exit(!((ticks >= CLK_TCK/2) && (ticks <= 3*CLK_TCK/2)));
39 }], cl_cv_func_times_return=yes, cl_cv_func_times_return=no,
40 dnl When cross-compiling, don't assume anything.
41 cl_cv_func_times_return="guessing no")
42 ])
43 case "$cl_cv_func_times_return" in
44   *yes) AC_DEFINE(HAVE_TIMES_CLOCK,,[have the times() function and it returns the real time, but do not have the gettimeofday() or ftime() function]) ;;
45   *no)  ;;
46 esac
47 fi
48 fi
49 ])