Mercurial > gnulib
view m4/fmod.m4 @ 17363:5a51fb7777a9
sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
Problem reported by Marco Atzeri in
<http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
* lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
Simply delegate to the system <sys/select.h> in this case too.
Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
be needed on Solaris either.
* lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
Simply delgate to the system <sys/time.h> in this case.
author | Paul Eggert <eggert@cs.ucla.edu> |
---|---|
date | Tue, 19 Mar 2013 09:08:47 -0700 |
parents | e542fd46ad6f |
children | 344018b6e5d7 |
line wrap: on
line source
# fmod.m4 serial 4 dnl Copyright (C) 2011-2013 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_FMOD], [ m4_divert_text([DEFAULTS], [gl_fmod_required=plain]) AC_REQUIRE([gl_MATH_H_DEFAULTS]) dnl Determine FMOD_LIBM. gl_COMMON_DOUBLE_MATHFUNC([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], [ save_LIBS="$LIBS" LIBS="$LIBS $FMOD_LIBM" AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #ifndef __NO_MATH_INLINES # define __NO_MATH_INLINES 1 /* for glibc */ #endif #include <math.h> ]gl_DOUBLE_MINUS_ZERO_CODE[ ]gl_DOUBLE_SIGNBIT_CODE[ /* Compare two numbers with ==. This is a separate function because IRIX 6.5 "cc -O" miscompiles an 'x == x' test. */ static int numeric_equal (double x, double y) { return x == y; } static double dummy (double x, double y) { return 0; } int main (int argc, char *argv[]) { double (*my_fmod) (double, double) = argc ? fmod : dummy; int result = 0; double f; /* Test fmod(...,0.0). This test fails on OSF/1 5.1. */ f = my_fmod (2.0, 0.0); if (numeric_equal (f, f)) result |= 1; /* Test fmod(-0.0,...). This test fails on native Windows. */ f = my_fmod (minus_zerod, 2.0); if (!(f == 0.0) || (signbitd (minus_zerod) && !signbitd (f))) result |= 2; return result; } ]])], [gl_cv_func_fmod_ieee=yes], [gl_cv_func_fmod_ieee=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 *yes) ;; *) REPLACE_FMOD=1 ;; esac fi ]) 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_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 $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 *" $ISNAND_LIBM "*) ;; *) FMOD_LIBM="$FMOD_LIBM $ISNAND_LIBM" ;; esac fi ])