X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Fldexpl.m4;h=6959f42699b104c22460badc0dc4db00b713b80e;hb=6a0fd2e2d7d6a7e787ada21ffbe5f8ac0e3a06f1;hp=37dc2302280020a046111d15e5fc9650ed9322c5;hpb=4b6dad7e35019625bd5eb30796beebac099a7422;p=gnulib.git diff --git a/m4/ldexpl.m4 b/m4/ldexpl.m4 index 37dc23022..6959f4269 100644 --- a/m4/ldexpl.m4 +++ b/m4/ldexpl.m4 @@ -1,5 +1,5 @@ -# ldexpl.m4 serial 10 -dnl Copyright (C) 2007-2011 Free Software Foundation, Inc. +# ldexpl.m4 serial 16 +dnl Copyright (C) 2007-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. @@ -7,10 +7,16 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_FUNC_LDEXPL], [ AC_REQUIRE([gl_MATH_H_DEFAULTS]) + AC_REQUIRE([gl_LONG_DOUBLE_VS_DOUBLE]) AC_REQUIRE([gl_FUNC_ISNANL]) dnl for ISNANL_LIBM + + dnl Persuade glibc to declare ldexpl(). + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + dnl Check whether it's declared. - dnl MacOS X 10.3 has ldexpl() in libc but doesn't declare it in . - AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include ]) + dnl Mac OS X 10.3 has ldexpl() in libc but doesn't declare it in . + AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [[#include ]]) + LDEXPL_LIBM= if test $HAVE_DECL_LDEXPL = 1; then gl_CHECK_LDEXPL_NO_LIBM @@ -52,8 +58,13 @@ AC_DEFUN([gl_FUNC_LDEXPL], fi fi if test $HAVE_DECL_LDEXPL = 0 || test $gl_func_ldexpl = no; then - AC_LIBOBJ([ldexpl]) - LDEXPL_LIBM="$ISNANL_LIBM" + dnl Find libraries needed to link lib/ldexpl.c. + if test $HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = 1; then + AC_REQUIRE([gl_FUNC_LDEXP]) + LDEXPL_LIBM="$LDEXP_LIBM" + else + LDEXPL_LIBM="$ISNANL_LIBM" + fi fi AC_SUBST([LDEXPL_LIBM]) ]) @@ -76,7 +87,7 @@ AC_DEFUN([gl_CHECK_LDEXPL_NO_LIBM], ]) dnl Test whether ldexpl() works on finite numbers (this fails on AIX 5.1 -dnl and MacOS X 10.4/PowerPC). +dnl and Mac OS X 10.4/PowerPC). AC_DEFUN([gl_FUNC_LDEXPL_WORKS], [ AC_REQUIRE([AC_PROG_CC]) @@ -86,7 +97,11 @@ AC_DEFUN([gl_FUNC_LDEXPL_WORKS], AC_RUN_IFELSE( [AC_LANG_SOURCE([[ #include -extern long double ldexpl (long double, int); +extern +#ifdef __cplusplus +"C" +#endif +long double ldexpl (long double, int); int main() { int result = 0;