newlib: switch to autoconf long double macro
Now that we require a recent version of autoconf, we can rely on this macro working. This change was already made to libm, but these other dirs were missed as I didn't notice it being duplicated in 3 places.
This commit is contained in:
parent
0a67325726
commit
55e09d5e8c
|
@ -13315,46 +13315,54 @@ $as_echo "#define _HAVE_CC_INHIBIT_LOOP_TO_LIBCALL 1" >>confdefs.h
|
|||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether long double type exists" >&5
|
||||
$as_echo_n "checking whether long double type exists... " >&6; }
|
||||
if ${acnewlib_cv_type_long_double+:} false; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5
|
||||
$as_echo_n "checking for long double... " >&6; }
|
||||
if ${ac_cv_type_long_double+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
/* Check two ways: float.h defines and direct type declaration. */
|
||||
#include <float.h>
|
||||
#if defined(LDBL_MANT_DIG)
|
||||
#define _HAVE_LONG_DOUBLE
|
||||
#else
|
||||
#error "LDBL != DBL"
|
||||
#endif
|
||||
long double test() {
|
||||
long double ld = 0.0L;
|
||||
return ld;
|
||||
if test "$GCC" = yes; then
|
||||
ac_cv_type_long_double=yes
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
/* The Stardent Vistra knows sizeof (long double), but does
|
||||
not support it. */
|
||||
long double foo = 0.0L;
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static int test_array [1 - 2 * !(/* On Ultrix 4.3 cc, long double is 4 and double is 8. */
|
||||
sizeof (double) <= sizeof (long double))];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||
1>&5'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then
|
||||
acnewlib_cv_type_long_double=yes;
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_type_long_double=yes
|
||||
else
|
||||
acnewlib_cv_type_long_double=no;
|
||||
ac_cv_type_long_double=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acnewlib_cv_type_long_double" >&5
|
||||
$as_echo "$acnewlib_cv_type_long_double" >&6; }
|
||||
if test $acnewlib_cv_type_long_double = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double" >&5
|
||||
$as_echo "$ac_cv_type_long_double" >&6; }
|
||||
if test $ac_cv_type_long_double = yes; then
|
||||
|
||||
$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
if test $ac_cv_type_long_double = yes; then
|
||||
|
||||
$as_echo "#define _HAVE_LONG_DOUBLE 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
if test x"$acnewlib_cv_type_long_double" = x"yes"; then
|
||||
if test x"$ac_cv_type_long_double" = x"yes"; then
|
||||
HAVE_LONG_DOUBLE_TRUE=
|
||||
HAVE_LONG_DOUBLE_FALSE='#'
|
||||
else
|
||||
|
|
|
@ -687,39 +687,12 @@ if test $libc_cv_cc_loop_to_function = yes; then
|
|||
fi
|
||||
AC_SUBST(libc_cv_cc_loop_to_function)
|
||||
|
||||
dnl Autoconf 2.59 doesn't support the AC_TYPE_LONG_DOUBLE macro. Instead of:
|
||||
dnl AC_TYPE_LONG_DOUBLE
|
||||
dnl AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$ac_cv_type_long_double" = x"yes")
|
||||
dnl we specify our own long double test.
|
||||
dnl Additionally, ac_cv_objext is broken so that AC_COMPILE_IFELSE cannot be
|
||||
dnl used, so use AC_TRY_COMMAND instead.
|
||||
AC_CACHE_CHECK(whether long double type exists,
|
||||
acnewlib_cv_type_long_double, [dnl
|
||||
cat > conftest.c <<EOF
|
||||
/* Check two ways: float.h defines and direct type declaration. */
|
||||
#include <float.h>
|
||||
#if defined(LDBL_MANT_DIG)
|
||||
#define _HAVE_LONG_DOUBLE
|
||||
#else
|
||||
#error "LDBL != DBL"
|
||||
#endif
|
||||
long double test() {
|
||||
long double ld = 0.0L;
|
||||
return ld;
|
||||
}
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c -o conftest.o conftest.c
|
||||
1>&AS_MESSAGE_LOG_FD])
|
||||
then
|
||||
acnewlib_cv_type_long_double=yes;
|
||||
else
|
||||
acnewlib_cv_type_long_double=no;
|
||||
fi
|
||||
rm -f conftest*])
|
||||
if test $acnewlib_cv_type_long_double = yes; then
|
||||
AC_TYPE_LONG_DOUBLE
|
||||
dnl Export the setting for our installed headers to check.
|
||||
if test $ac_cv_type_long_double = yes; then
|
||||
AC_DEFINE(_HAVE_LONG_DOUBLE, 1, [Define if the platform supports long double type.])
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$acnewlib_cv_type_long_double" = x"yes")
|
||||
AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$ac_cv_type_long_double" = x"yes")
|
||||
|
||||
AC_CACHE_CHECK(whether long double equals double,
|
||||
newlib_cv_ldbl_eq_dbl, [dnl
|
||||
|
|
|
@ -12229,33 +12229,49 @@ fi
|
|||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Checking long double support" >&5
|
||||
$as_echo_n "checking Checking long double support... " >&6; }
|
||||
if ${acnewlib_cv_type_long_double+:} false; then :
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for long double" >&5
|
||||
$as_echo_n "checking for long double... " >&6; }
|
||||
if ${ac_cv_type_long_double+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
cat > conftest.c <<EOF
|
||||
int main() {
|
||||
long double x = 0.0L;
|
||||
return 0;
|
||||
if test "$GCC" = yes; then
|
||||
ac_cv_type_long_double=yes
|
||||
else
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
/* The Stardent Vistra knows sizeof (long double), but does
|
||||
not support it. */
|
||||
long double foo = 0.0L;
|
||||
int
|
||||
main ()
|
||||
{
|
||||
static int test_array [1 - 2 * !(/* On Ultrix 4.3 cc, long double is 4 and double is 8. */
|
||||
sizeof (double) <= sizeof (long double))];
|
||||
test_array [0] = 0;
|
||||
return test_array [0];
|
||||
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if { ac_try='${CC} $CFLAGS $CPPFLAGS -c conftest.c 1>&5'
|
||||
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
|
||||
(eval $ac_try) 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; }
|
||||
then
|
||||
acnewlib_cv_type_long_double=yes
|
||||
_ACEOF
|
||||
if ac_fn_c_try_compile "$LINENO"; then :
|
||||
ac_cv_type_long_double=yes
|
||||
else
|
||||
acnewlib_cv_type_long_double=no
|
||||
ac_cv_type_long_double=no
|
||||
fi
|
||||
rm -f conftest*
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
fi
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acnewlib_cv_type_long_double" >&5
|
||||
$as_echo "$acnewlib_cv_type_long_double" >&6; }
|
||||
if test x"$acnewlib_cv_type_long_double" = x"yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_double" >&5
|
||||
$as_echo "$ac_cv_type_long_double" >&6; }
|
||||
if test $ac_cv_type_long_double = yes; then
|
||||
|
||||
$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
|
||||
if test x"$ac_cv_type_long_double" = x"yes"; then
|
||||
HAVE_LONG_DOUBLE_TRUE=
|
||||
HAVE_LONG_DOUBLE_FALSE='#'
|
||||
else
|
||||
|
|
|
@ -184,25 +184,8 @@ fi
|
|||
AC_SUBST(LIBC_SYS_LIB)
|
||||
AC_SUBST(sys_dir)
|
||||
|
||||
dnl Autoconf 2.59 doesn't support the AC_TYPE_LONG_DOUBLE macro. Instead of:
|
||||
dnl AC_TYPE_LONG_DOUBLE
|
||||
dnl AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$ac_cv_type_long_double" = x"yes")
|
||||
dnl we specify our own long double test.
|
||||
AC_CACHE_CHECK([Checking long double support], [acnewlib_cv_type_long_double],[dnl
|
||||
cat > conftest.c <<EOF
|
||||
int main() {
|
||||
long double x = 0.0L;
|
||||
return 0;
|
||||
}
|
||||
EOF
|
||||
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -c conftest.c 1>&AS_MESSAGE_LOG_FD])
|
||||
then
|
||||
acnewlib_cv_type_long_double=yes
|
||||
else
|
||||
acnewlib_cv_type_long_double=no
|
||||
fi
|
||||
rm -f conftest*])
|
||||
AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$acnewlib_cv_type_long_double" = x"yes")
|
||||
AC_TYPE_LONG_DOUBLE
|
||||
AM_CONDITIONAL(HAVE_LONG_DOUBLE, test x"$ac_cv_type_long_double" = x"yes")
|
||||
|
||||
dnl iconv library will be compiled if --enable-newlib-iconv option is enabled
|
||||
AM_CONDITIONAL(ENABLE_NEWLIB_ICONV, test x${newlib_iconv} != x)
|
||||
|
|
|
@ -14,6 +14,9 @@
|
|||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if the system has the type `long double'. */
|
||||
#undef HAVE_LONG_DOUBLE
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
|
|
Loading…
Reference in New Issue