diff options
Diffstat (limited to 'contrib/libf2c/libU77/aclocal.m4')
-rw-r--r-- | contrib/libf2c/libU77/aclocal.m4 | 80 |
1 files changed, 64 insertions, 16 deletions
diff --git a/contrib/libf2c/libU77/aclocal.m4 b/contrib/libf2c/libU77/aclocal.m4 index d230dad..b9a74fd 100644 --- a/contrib/libf2c/libU77/aclocal.m4 +++ b/contrib/libf2c/libU77/aclocal.m4 @@ -1,16 +1,64 @@ -dnl See whether we have struct timezone -dnl LIBU77_HAVE_STRUCT_TIMEZONE -AC_DEFUN(LIBU77_HAVE_STRUCT_TIMEZONE, -[AC_MSG_CHECKING([whether struct timezone exists]) -AC_CACHE_VAL(libu77_cv_have_struct_timezone, -[AC_TRY_COMPILE([#include <sys/time.h>], -[struct timezone tz;], -libu77_ac_have_struct_timezone=yes, libu77_ac_have_struct_timezone=no)]) -if test $libu77_ac_have_struct_timezone = yes; then - AC_MSG_RESULT(yes) - AC_DEFINE_UNQUOTED(HAVE_STRUCT_TIMEZONE) -else - AC_MSG_RESULT(no) -fi -])dnl - +dnl Check: +dnl * If we have gettimeofday; +dnl * If we have struct timezone for use in calling it; +dnl * If calling it with a timezone pointer actually works -- this is deemed +dnl obsolete or undefined on some systems which say you should use a null +dnl pointer -- and undefine HAVE_TIMEZONE if so; +dnl * Whether it only takes one arg. +AC_DEFUN(LIBU77_GETTIMEOFDAY, [ + AC_CHECK_FUNCS(gettimeofday) + if test "$ac_cv_func_gettimeofday" = yes; then + AC_CACHE_CHECK([for struct timezone], g77_cv_struct_timezone, + [AC_TRY_COMPILE([#include <sys/time.h>], + [struct timezone tz;], + g77_cv_struct_timezone=yes, g77_cv_struct_timezone=no)]) + if test $g77_cv_struct_timezone = yes; then + dnl It may be that we can't call gettimeofday with a non-null pointer. + dnl In that case we'll lie about struct timezone. + AC_TRY_RUN([ +#ifdef TIME_WITH_SYS_TIME +#include <sys/time.h> +#include <time.h> +#else +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#else +#include <time.h> +#endif +#endif +main () +{ + struct timeval time; + struct timezone dummy; + if (gettimeofday (&time, &dummy)) + exit (1); + else + exit (0); +}], + [AC_DEFINE(HAVE_TIMEZONE)], ,[AC_DEFINE(HAVE_TIMEZONE)]) + fi + AC_REQUIRE([AC_HEADER_TIME]) + AC_CACHE_CHECK(whether gettimeofday can accept two arguments, + emacs_cv_gettimeofday_two_arguments, + AC_TRY_LINK([ +#ifdef TIME_WITH_SYS_TIME +#include <sys/time.h> +#include <time.h> +#else +#ifdef HAVE_SYS_TIME_H +#include <sys/time.h> +#else +#include <time.h> +#endif +#endif + ], + [ + struct timeval time; + struct timezone dummy; + gettimeofday (&time, &dummy);], + emacs_cv_gettimeofday_two_arguments=yes, + emacs_cv_gettimeofday_two_arguments=no)) + if test $emacs_cv_gettimeofday_two_arguments = no; then + AC_DEFINE(GETTIMEOFDAY_ONE_ARGUMENT) + fi + fi]) |