Hash :
a9b04535
Author :
Date :
2017-07-13T21:06:02
Improve cross-compilation guesses for native Windows. * m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native Windows. * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise. * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise. * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise. * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise. * m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise. * m4/ceil.m4 (gl_FUNC_CEIL): Likewise. * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise. * m4/ceill.m4 (gl_FUNC_CEILL): Likewise. * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise. * m4/dup.m4 (gl_FUNC_DUP): Likewise. * m4/expl.m4 (gl_FUNC_EXPL): Likewise. * m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise. * m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise. * m4/expm1.m4 (gl_FUNC_EXPM1): Likewise. * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise. * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise. * m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise. * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise. * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise. * m4/float_h.m4 (gl_FLOAT_H): Likewise. * m4/floor.m4 (gl_FUNC_FLOOR): Likewise. * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise. * m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise. * m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise. * m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise. * m4/fmod.m4 (gl_FUNC_FMOD): Likewise. * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise. * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise. * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise. * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise. * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise. * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise. * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise. * m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise. * m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise. * m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise. * m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise. * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise. * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise. * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise. * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise. * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise. * m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise. * m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise. * m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise. * m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise. * m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise. * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise. * m4/log1p.m4 (gl_FUNC_LOG1P): Likewise. * m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise. * m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise. * m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise. * m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise. * m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise. * m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise. * m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise. * m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise. * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise. * m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise. * m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise. * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise. * m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise. * m4/modf.m4 (gl_FUNC_MODF): Likewise. * m4/modff.m4 (gl_FUNC_MODFF): Likewise. * m4/modfl.m4 (gl_FUNC_MODFL): Likewise. * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise. * m4/perror.m4 (gl_FUNC_PERROR): Likewise. * m4/popen.m4 (gl_FUNC_POPEN): Likewise. * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise. * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise. * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise. * m4/regex.m4 (gl_REGEX): Likewise. * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise. * m4/remainderf.m4 (gl_FUNC_REMAINDERF, gl_FUNC_REMAINDERF_WORKS): Likewise. * m4/remainderl.m4 (gl_FUNC_REMAINDERL, gl_FUNC_REMAINDERL_WORKS): Likewise. * m4/rename.m4 (gl_FUNC_RENAME): Likewise. * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise. * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise. * m4/round.m4 (gl_FUNC_ROUND): Likewise. * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise. * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise. * m4/signbit.m4 (gl_SIGNBIT): Likewise. * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise. * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise. * m4/stdint.m4 (gl_STDINT_H): Likewise. * m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise. * m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise. * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise. * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise. * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise. * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise. * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise. * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise. * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise. * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise. * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise. * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise. * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise. * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise. * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise. * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL): Likewise. * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise. * m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native Windows. Enable also on Autoconf 2.70. * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N, gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess for native Windows. (gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99): Add comment.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136
# logl.m4 serial 10
dnl Copyright (C) 2010-2017 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
AC_DEFUN([gl_FUNC_LOGL],
[
AC_REQUIRE([gl_MATH_H_DEFAULTS])
AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE])
dnl Persuade glibc <math.h> to declare logl().
AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
LOGL_LIBM=
AC_CACHE_CHECK([whether logl() can be used without linking with libm],
[gl_cv_func_logl_no_libm],
[
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#ifndef __NO_MATH_INLINES
# define __NO_MATH_INLINES 1 /* for glibc */
#endif
#include <math.h>
long double (*funcptr) (long double) = logl;
long double x;]],
[[return funcptr (x) > 1
|| logl (x) > 1;]])],
[gl_cv_func_logl_no_libm=yes],
[gl_cv_func_logl_no_libm=no])
])
if test $gl_cv_func_logl_no_libm = no; then
AC_CACHE_CHECK([whether logl() can be used with libm],
[gl_cv_func_logl_in_libm],
[
save_LIBS="$LIBS"
LIBS="$LIBS -lm"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[#ifndef __NO_MATH_INLINES
# define __NO_MATH_INLINES 1 /* for glibc */
#endif
#include <math.h>
long double (*funcptr) (long double) = logl;
long double x;]],
[[return funcptr (x) > 1
|| logl (x) > 1;]])],
[gl_cv_func_logl_in_libm=yes],
[gl_cv_func_logl_in_libm=no])
LIBS="$save_LIBS"
])
if test $gl_cv_func_logl_in_libm = yes; then
LOGL_LIBM=-lm
fi
fi
if test $gl_cv_func_logl_no_libm = yes \
|| test $gl_cv_func_logl_in_libm = yes; then
dnl Also check whether it's declared.
dnl Mac OS X 10.3 has logl() in libc but doesn't declare it in <math.h>.
AC_CHECK_DECL([logl], , [HAVE_DECL_LOGL=0], [[#include <math.h>]])
save_LIBS="$LIBS"
LIBS="$LIBS $LOGL_LIBM"
gl_FUNC_LOGL_WORKS
LIBS="$save_LIBS"
case "$gl_cv_func_logl_works" in
*yes) ;;
*) REPLACE_LOGL=1 ;;
esac
else
HAVE_LOGL=0
HAVE_DECL_LOGL=0
fi
if test $HAVE_LOGL = 0 || test $REPLACE_LOGL = 1; then
dnl Find libraries needed to link lib/logl.c.
if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then
AC_REQUIRE([gl_FUNC_LOG])
LOGL_LIBM="$LOG_LIBM"
else
if test $HAVE_LOGL = 0; then
AC_REQUIRE([gl_FUNC_FREXPL])
AC_REQUIRE([gl_FUNC_ISNANL])
AC_REQUIRE([gl_FUNC_FLOORL])
dnl Append $FREXPL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates.
case " $LOGL_LIBM " in
*" $FREXPL_LIBM "*) ;;
*) LOGL_LIBM="$LOGL_LIBM $FREXPL_LIBM" ;;
esac
dnl Append $ISNANL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates.
case " $LOGL_LIBM " in
*" $ISNANL_LIBM "*) ;;
*) LOGL_LIBM="$LOGL_LIBM $ISNANL_LIBM" ;;
esac
dnl Append $FLOORL_LIBM to LOGL_LIBM, avoiding gratuitous duplicates.
case " $LOGL_LIBM " in
*" $FLOORL_LIBM "*) ;;
*) LOGL_LIBM="$LOGL_LIBM $FLOORL_LIBM" ;;
esac
fi
fi
fi
AC_SUBST([LOGL_LIBM])
])
dnl Test whether logl() works.
dnl On OSF/1 5.1, logl(-0.0L) is NaN.
AC_DEFUN([gl_FUNC_LOGL_WORKS],
[
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
AC_CACHE_CHECK([whether logl works], [gl_cv_func_logl_works],
[
AC_RUN_IFELSE(
[AC_LANG_SOURCE([[
#include <math.h>
volatile long double x;
long double y;
int main ()
{
x = -0.0L;
y = logl (x);
if (!(y + y == y))
return 1;
return 0;
}
]])],
[gl_cv_func_logl_works=yes],
[gl_cv_func_logl_works=no],
[case "$host_os" in
osf*) gl_cv_func_logl_works="guessing no" ;;
# Guess yes on native Windows.
mingw*) gl_cv_func_logl_works="guessing yes" ;;
*) gl_cv_func_logl_works="guessing yes" ;;
esac
])
])
])