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([LIBGFOR_GETTIMEOFDAY], [ AC_CHECK_FUNCS(gettimeofday) if test "$ac_cv_func_gettimeofday" = yes; then AC_CACHE_CHECK([for struct timezone], gfor_cv_struct_timezone, [AC_TRY_COMPILE([#include ], [struct timezone tz;], gfor_cv_struct_timezone=yes, gfor_cv_struct_timezone=no)]) if test $gfor_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 #include #else #ifdef HAVE_SYS_TIME_H #include #else #include #endif #endif main () { struct timeval time; struct timezone dummy; if (gettimeofday (&time, &dummy)) exit (1); else exit (0); }], [gfor_have_struct_timezone=yes], [gfor_have_struct_timezone=no], [gfor_have_struct_timezone=yes]) if test $gfor_have_struct_timezone = yes; then AC_DEFINE(HAVE_TIMEZONE, 1, [Do we have struct timezone]) fi 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 #include #else #ifdef HAVE_SYS_TIME_H #include #else #include #endif #endif ], [ struct timeval time; #ifdef HAVE_TIMEZONE struct timezone dummy; #define DUMMY &dummy #else #define DUMMY NULL #endif 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, 1, [Does gettimeofday take a single argument]) fi fi]) sinclude(../libtool.m4) dnl The lines below arrange for aclocal not to bring an installed dnl libtool.m4 into aclocal.m4, while still arranging for automake to dnl add a definition of LIBTOOL to Makefile.in. ifelse(,,,[AC_SUBST(LIBTOOL) AC_DEFUN([AM_PROG_LIBTOOL]) AC_DEFUN([AC_LIBTOOL_DLOPEN]) AC_DEFUN([AC_PROG_LD]) ]) dnl Check whether the target is ILP32. AC_DEFUN([LIBGFOR_TARGET_ILP32], [ AC_CACHE_CHECK([whether the target is ILP32], target_ilp32, [ save_CFLAGS="$CFLAGS" CFLAGS="-O2" AC_TRY_LINK(,[ if (sizeof(int) == 4 && sizeof(long) == 4 && sizeof(void *) == 4) ; else undefined_function (); ], target_ilp32=yes, target_ilp32=no) CFLAGS="$save_CFLAGS"]) if test $target_ilp32 = yes; then AC_DEFINE(TARGET_ILP32, 1, [Define to 1 if the target is ILP32.]) fi ]) dnl Check whether the target supports hidden visibility. AC_DEFUN([LIBGFOR_CHECK_ATTRIBUTE_VISIBILITY], [ AC_CACHE_CHECK([whether the target supports hidden visibility], have_attribute_visibility, [ save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror" AC_TRY_COMPILE([void __attribute__((visibility("hidden"))) foo(void) { }], [], have_attribute_visibility=yes, have_attribute_visibility=no) CFLAGS="$save_CFLAGS"]) if test $have_attribute_visibility = yes; then AC_DEFINE(HAVE_ATTRIBUTE_VISIBILITY, 1, [Define to 1 if the target supports __attribute__((visibility(...))).]) fi]) dnl Check whether the target supports dllexport AC_DEFUN([LIBGFOR_CHECK_ATTRIBUTE_DLLEXPORT], [ AC_CACHE_CHECK([whether the target supports dllexport], have_attribute_dllexport, [ save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -Werror" AC_TRY_COMPILE([void __attribute__((dllexport)) foo(void) { }], [], have_attribute_dllexport=yes, have_attribute_dllexport=no) CFLAGS="$save_CFLAGS"]) if test $have_attribute_dllexport = yes; then AC_DEFINE(HAVE_ATTRIBUTE_DLLEXPORT, 1, [Define to 1 if the target supports __attribute__((dllexport)).]) fi]) dnl Check whether the target supports symbol aliases. AC_DEFUN([LIBGFOR_CHECK_ATTRIBUTE_ALIAS], [ AC_CACHE_CHECK([whether the target supports symbol aliases], have_attribute_alias, [ AC_TRY_LINK([ #define ULP STR1(__USER_LABEL_PREFIX__) #define STR1(x) STR2(x) #define STR2(x) #x void foo(void) { } extern void bar(void) __attribute__((alias(ULP "foo")));], [bar();], have_attribute_alias=yes, have_attribute_alias=no)]) if test $have_attribute_alias = yes; then AC_DEFINE(HAVE_ATTRIBUTE_ALIAS, 1, [Define to 1 if the target supports __attribute__((alias(...))).]) fi])