[PATCH] newlib: update preprocessor configure checks
Mike Frysinger
vapier@gentoo.org
Sun Jan 23 05:25:47 GMT 2022
The nds32 & spu dirs are using compile tests to look for some
preprocessor defines, but we don't need to compile the code,
just preprocess it. So switch to AC_PREPROC_IFELSE.
The sh dir is using a preprocessor test via grep, but let's
switch it to AC_PREPROC_IFELSE too to be consistent.
This should allow us to drop the uncommon AC_NO_EXECUTABLES call.
---
newlib/libc/machine/nds32/Makefile.in | 1 +
newlib/libc/machine/nds32/configure | 264 +++--
newlib/libc/machine/nds32/configure.ac | 9 +-
newlib/libc/machine/sh/Makefile.in | 2 -
newlib/libc/machine/sh/configure | 232 +----
newlib/libc/machine/sh/configure.ac | 10 +-
newlib/libc/machine/spu/Makefile.in | 6 +
newlib/libc/machine/spu/aclocal.m4 | 64 ++
newlib/libc/machine/spu/configure | 1318 +++++++++++++++++++++---
newlib/libc/machine/spu/configure.ac | 15 +-
newlib/libm/machine/nds32/Makefile.in | 1 +
newlib/libm/machine/nds32/configure | 270 +++--
newlib/libm/machine/nds32/configure.ac | 17 +-
13 files changed, 1656 insertions(+), 553 deletions(-)
mode change 100644 => 100755 newlib/libm/machine/nds32/configure
diff --git a/newlib/libc/machine/nds32/configure.ac b/newlib/libc/machine/nds32/configure.ac
index f22358945c1f..de3d328491e7 100644
--- a/newlib/libc/machine/nds32/configure.ac
+++ b/newlib/libc/machine/nds32/configure.ac
@@ -10,14 +10,11 @@ AC_CONFIG_AUX_DIR(../../../..)
NEWLIB_CONFIGURE(../../..)
dnl Use builtin macro to detect if this is for "AndeStar ISA V3m".
-AC_NO_EXECUTABLES
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
[[#ifdef __NDS32_ISA_V3M__
-warning: This is nds32_isa_v3m.
+# error "This is nds32_isa_v3m."
#endif
-]])],
- [is_nds32_isa_v3m="no"],
- [is_nds32_isa_v3m="yes"])
+]])], [is_nds32_isa_v3m="no"], [is_nds32_isa_v3m="yes"])
AM_CONDITIONAL(IS_NDS32_ISA_V3M, test "$is_nds32_isa_v3m" = "yes")
diff --git a/newlib/libc/machine/sh/configure.ac b/newlib/libc/machine/sh/configure.ac
index c7dd78926d3f..838bef0d7087 100644
--- a/newlib/libc/machine/sh/configure.ac
+++ b/newlib/libc/machine/sh/configure.ac
@@ -7,15 +7,13 @@ AC_CONFIG_SRCDIR([asm.h])
dnl Can't be done in NEWLIB_CONFIGURE because that confuses automake.
AC_CONFIG_AUX_DIR(../../../..)
-AC_NO_EXECUTABLES
-
NEWLIB_CONFIGURE(../../..)
-AC_EGREP_CPP([sh5], [
-#if __SH5__
- sh5
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
+[[#if !defined(__SH5__)
+# error "not SH5"
#endif
-], [have_sh64=yes], [have_sh64=no])
+]])], [have_sh64=yes], [have_sh64=no])
AM_CONDITIONAL(SH64, [test $have_sh64 = yes])
AC_CONFIG_FILES([Makefile])
diff --git a/newlib/libc/machine/spu/configure.ac b/newlib/libc/machine/spu/configure.ac
index 5567df048bb5..a6d19a7c67d0 100644
--- a/newlib/libc/machine/spu/configure.ac
+++ b/newlib/libc/machine/spu/configure.ac
@@ -10,18 +10,11 @@ AC_CONFIG_AUX_DIR(../../../..)
NEWLIB_CONFIGURE(../../..)
AC_MSG_CHECKING([whether the compiler supports __ea])
-dnl We do not use AC_COMPILE_IFELSE to support building newlib with
-dnl a cross-compiler that is not (yet) able to link executables
-cat > conftest.c <<EOF
-#if defined (__EA32__) || defined (__EA64__)
- yes;
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
+[[#if !defined (__EA32__) && !defined (__EA64__)
+# error "__ea not supported"
#endif
-EOF
-if AC_TRY_COMMAND(${CC-cc} -E conftest.c) | egrep yes >/dev/null 2>&1; then
- spu_compiler_has_ea=yes
-else
- spu_compiler_has_ea=no
-fi
+]])], [spu_compiler_has_ea=yes], [spu_compiler_has_ea=no])
AM_CONDITIONAL(HAVE_SPU_EA, test x${spu_compiler_has_ea} != xno)
AC_MSG_RESULT($spu_compiler_has_ea)
diff --git a/newlib/libm/machine/nds32/configure.ac b/newlib/libm/machine/nds32/configure.ac
index 7d49c9ae20bf..e3589a0729ea 100644
--- a/newlib/libm/machine/nds32/configure.ac
+++ b/newlib/libm/machine/nds32/configure.ac
@@ -11,23 +11,18 @@ NEWLIB_CONFIGURE(../../..)
dnl Use builtin macro to detect if FPU extension support is on.
-AC_NO_EXECUTABLES
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
[[#if (__NDS32_EXT_FPU_SP__)
-warning: Has nds32 FPU SP extension support
+# error "Has nds32 FPU SP extension support"
#endif
-]])],
- [has_nds32_fpu_sp="no"],
- [has_nds32_fpu_sp="yes"])
+]])], [has_nds32_fpu_sp="no"], [has_nds32_fpu_sp="yes"])
AM_CONDITIONAL(HAS_NDS32_FPU_SP, test "$has_nds32_fpu_sp" = "yes")
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+AC_PREPROC_IFELSE([AC_LANG_PROGRAM(
[[#if (__NDS32_EXT_FPU_DP__)
-warning: Has nds32 FPU DP extension support
+# error "Has nds32 FPU DP extension support"
#endif
-]])],
- [has_nds32_fpu_dp="no"],
- [has_nds32_fpu_dp="yes"])
+]])], [has_nds32_fpu_dp="no"], [has_nds32_fpu_dp="yes"])
AM_CONDITIONAL(HAS_NDS32_FPU_DP, test "$has_nds32_fpu_dp" = "yes")
AC_CONFIG_FILES([Makefile])
--
2.34.1
More information about the Newlib
mailing list