newlib: fix preprocessor checks

Restore the call to AC_NO_EXECUTABLES -- I naively assumed in commit
2e9aa5f56c ("newlib: update preprocessor
configure checks") that checking for a preprocessor would not involve
linking code.  Unfortunately, autoconf will implicitly check that the
compiler "works" before allowing it to be used, and that involves a
link test, and that fails because newlib provides the C library which
is needed to pass a link test.

There is some code in NEWLIB_CONFIGURE specifically to help mitigate
these, but it's not kicking in here for some reason, so let's just add
the AC_NO_EXECUTABLES call back until we can unwind that custom logic.

Additionally, we have to call AC_PROG_CPP explicitly.  This was being
invoked later on, but only in the use_libtool=yes codepath, and that
is almost never enabled.
This commit is contained in:
Mike Frysinger 2022-01-28 05:12:54 -05:00
parent 6a59fc444b
commit 4b0e66093c
4 changed files with 974 additions and 742 deletions

866
newlib/libc/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -45,7 +45,9 @@ AC_ARG_ENABLE(newlib-retargetable-locking,
esac],[newlib_retargetable_locking=no])
AM_CONDITIONAL(NEWLIB_RETARGETABLE_LOCKING, test x$newlib_retargetable_locking = xyes)
AC_NO_EXECUTABLES
NEWLIB_CONFIGURE(..)
AC_PROG_CPP
AM_CONDITIONAL(NEWLIB_NANO_MALLOC, test x$newlib_nano_malloc = xyes)

846
newlib/libm/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,9 @@ AM_CONDITIONAL(NEWLIB_HW_FP, test x$newlib_hw_fp = xtrue)
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
AC_CONFIG_AUX_DIR(../..)
AC_NO_EXECUTABLES
NEWLIB_CONFIGURE(..)
AC_PROG_CPP
dnl We have to enable libtool after NEWLIB_CONFIGURE because if we try and
dnl add it into NEWLIB_CONFIGURE, executable tests are made before the first