X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Ffmod.m4;h=de7d32e05a277a1212086efc9b47385ef9777a27;hb=cd56634a4a8179fd5a4419fbb3e27211b042ab1c;hp=67cf49ac7b2dbd8982d1fb4033443204a67c5e16;hpb=ea346fbdca66ab2d3bca40f65def36014ba6e432;p=gnulib.git diff --git a/m4/fmod.m4 b/m4/fmod.m4 index 67cf49ac7..de7d32e05 100644 --- a/m4/fmod.m4 +++ b/m4/fmod.m4 @@ -1,5 +1,5 @@ -# fmod.m4 serial 2 -dnl Copyright (C) 2011-2012 Free Software Foundation, Inc. +# fmod.m4 serial 4 +dnl Copyright (C) 2011-2014 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. @@ -14,6 +14,7 @@ AC_DEFUN([gl_FUNC_FMOD], m4_ifdef([gl_FUNC_FMOD_IEEE], [ if test $gl_fmod_required = ieee && test $REPLACE_FMOD = 0; then + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles AC_CACHE_CHECK([whether fmod works according to ISO C 99 with IEC 60559], [gl_cv_func_fmod_ieee], [ @@ -56,7 +57,13 @@ int main (int argc, char *argv[]) ]])], [gl_cv_func_fmod_ieee=yes], [gl_cv_func_fmod_ieee=no], - [gl_cv_func_fmod_ieee="guessing no"]) + [case "$host_os" in + # Guess yes on glibc systems. + *-gnu*) gl_cv_func_fmod_ieee="guessing yes" ;; + # If we don't know, assume the worst. + *) gl_cv_func_fmod_ieee="guessing no" ;; + esac + ]) LIBS="$save_LIBS" ]) case "$gl_cv_func_fmod_ieee" in @@ -67,18 +74,36 @@ int main (int argc, char *argv[]) ]) if test $REPLACE_FMOD = 1; then dnl Find libraries needed to link lib/fmod.c. + AC_REQUIRE([gl_FUNC_FABS]) + AC_REQUIRE([gl_FUNC_FREXP]) AC_REQUIRE([gl_FUNC_TRUNC]) - AC_REQUIRE([gl_FUNC_FMA]) + AC_REQUIRE([gl_FUNC_LDEXP]) + AC_REQUIRE([gl_FUNC_ISNAND]) FMOD_LIBM= + dnl Append $FABS_LIBM to FMOD_LIBM, avoiding gratuitous duplicates. + case " $FMOD_LIBM " in + *" $FABS_LIBM "*) ;; + *) FMOD_LIBM="$FMOD_LIBM $FABS_LIBM" ;; + esac + dnl Append $FREXP_LIBM to FMOD_LIBM, avoiding gratuitous duplicates. + case " $FMOD_LIBM " in + *" $FREXP_LIBM "*) ;; + *) FMOD_LIBM="$FMOD_LIBM $FREXP_LIBM" ;; + esac dnl Append $TRUNC_LIBM to FMOD_LIBM, avoiding gratuitous duplicates. case " $FMOD_LIBM " in *" $TRUNC_LIBM "*) ;; *) FMOD_LIBM="$FMOD_LIBM $TRUNC_LIBM" ;; esac - dnl Append $FMA_LIBM to FMOD_LIBM, avoiding gratuitous duplicates. + dnl Append $LDEXP_LIBM to FMOD_LIBM, avoiding gratuitous duplicates. + case " $FMOD_LIBM " in + *" $LDEXP_LIBM "*) ;; + *) FMOD_LIBM="$FMOD_LIBM $LDEXP_LIBM" ;; + esac + dnl Append $ISNAND_LIBM to FMOD_LIBM, avoiding gratuitous duplicates. case " $FMOD_LIBM " in - *" $FMA_LIBM "*) ;; - *) FMOD_LIBM="$FMOD_LIBM $FMA_LIBM" ;; + *" $ISNAND_LIBM "*) ;; + *) FMOD_LIBM="$FMOD_LIBM $ISNAND_LIBM" ;; esac fi ])