| 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]) | 
|---|