| 1 | dnl Check:
|
|---|
| 2 | dnl * If we have gettimeofday;
|
|---|
| 3 | dnl * If we have struct timezone for use in calling it;
|
|---|
| 4 | dnl * If calling it with a timezone pointer actually works -- this is deemed
|
|---|
| 5 | dnl obsolete or undefined on some systems which say you should use a null
|
|---|
| 6 | dnl pointer -- and undefine HAVE_TIMEZONE if so;
|
|---|
| 7 | dnl * Whether it only takes one arg.
|
|---|
| 8 | AC_DEFUN(LIBU77_GETTIMEOFDAY, [
|
|---|
| 9 | AC_CHECK_FUNCS(gettimeofday)
|
|---|
| 10 | if test "$ac_cv_func_gettimeofday" = yes; then
|
|---|
| 11 | AC_CACHE_CHECK([for struct timezone], g77_cv_struct_timezone,
|
|---|
| 12 | [AC_TRY_COMPILE([#include <sys/time.h>],
|
|---|
| 13 | [struct timezone tz;],
|
|---|
| 14 | g77_cv_struct_timezone=yes, g77_cv_struct_timezone=no)])
|
|---|
| 15 | if test $g77_cv_struct_timezone = yes; then
|
|---|
| 16 | dnl It may be that we can't call gettimeofday with a non-null pointer.
|
|---|
| 17 | dnl In that case we'll lie about struct timezone.
|
|---|
| 18 | AC_TRY_RUN([
|
|---|
| 19 | #ifdef TIME_WITH_SYS_TIME
|
|---|
| 20 | #include <sys/time.h>
|
|---|
| 21 | #include <time.h>
|
|---|
| 22 | #else
|
|---|
| 23 | #ifdef HAVE_SYS_TIME_H
|
|---|
| 24 | #include <sys/time.h>
|
|---|
| 25 | #else
|
|---|
| 26 | #include <time.h>
|
|---|
| 27 | #endif
|
|---|
| 28 | #endif
|
|---|
| 29 | main ()
|
|---|
| 30 | {
|
|---|
| 31 | struct timeval time;
|
|---|
| 32 | struct timezone dummy;
|
|---|
| 33 | if (gettimeofday (&time, &dummy))
|
|---|
| 34 | exit (1);
|
|---|
| 35 | else
|
|---|
| 36 | exit (0);
|
|---|
| 37 | }],
|
|---|
| 38 | [AC_DEFINE(HAVE_TIMEZONE)], ,[AC_DEFINE(HAVE_TIMEZONE)])
|
|---|
| 39 | fi
|
|---|
| 40 | AC_REQUIRE([AC_HEADER_TIME])
|
|---|
| 41 | AC_CACHE_CHECK(whether gettimeofday can accept two arguments,
|
|---|
| 42 | emacs_cv_gettimeofday_two_arguments,
|
|---|
| 43 | AC_TRY_LINK([
|
|---|
| 44 | #ifdef TIME_WITH_SYS_TIME
|
|---|
| 45 | #include <sys/time.h>
|
|---|
| 46 | #include <time.h>
|
|---|
| 47 | #else
|
|---|
| 48 | #ifdef HAVE_SYS_TIME_H
|
|---|
| 49 | #include <sys/time.h>
|
|---|
| 50 | #else
|
|---|
| 51 | #include <time.h>
|
|---|
| 52 | #endif
|
|---|
| 53 | #endif
|
|---|
| 54 | ],
|
|---|
| 55 | [
|
|---|
| 56 | struct timeval time;
|
|---|
| 57 | #ifdef HAVE_TIMEZONE
|
|---|
| 58 | struct timezone dummy;
|
|---|
| 59 | #define DUMMY &dummy
|
|---|
| 60 | #else
|
|---|
| 61 | #define DUMMY NULL
|
|---|
| 62 | #endif
|
|---|
| 63 | gettimeofday (&time, DUMMY);],
|
|---|
| 64 | emacs_cv_gettimeofday_two_arguments=yes,
|
|---|
| 65 | emacs_cv_gettimeofday_two_arguments=no))
|
|---|
| 66 | if test $emacs_cv_gettimeofday_two_arguments = no; then
|
|---|
| 67 | AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT)
|
|---|
| 68 | fi
|
|---|
| 69 | fi])
|
|---|