[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