From: Mike Frysinger <vapier@gentoo.org>
To: newlib@sourceware.org
Subject: [PATCH] newlib: update preprocessor configure checks
Date: Sun, 23 Jan 2022 00:25:47 -0500 [thread overview]
Message-ID: <20220123052547.10003-1-vapier@gentoo.org> (raw)
In-Reply-To: <20220123013933.911-1-vapier@gentoo.org>
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
next prev parent reply other threads:[~2022-01-23 5:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-23 1:39 [PATCH] newlib: update nds32 " Mike Frysinger
2022-01-23 5:25 ` Mike Frysinger [this message]
2022-01-24 16:39 ` [PATCH] newlib: update preprocessor " Corinna Vinschen
2022-01-24 16:39 ` [PATCH] newlib: update nds32 " Corinna Vinschen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220123052547.10003-1-vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=newlib@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).