[v2] configure.ac: fix bashisms in configure.ac

Message ID 20220322171117.1945898-1-sam@gentoo.org
State Superseded
Headers
Series [v2] configure.ac: fix bashisms in configure.ac |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent
dj/TryBot-32bit success Build for i686

Commit Message

Sam James March 22, 2022, 5:11 p.m. UTC
  configure scripts need to be runnable with a POSIX-compliant /bin/sh.

On many (but not all!) systems, /bin/sh is provided by Bash, so errors
like this aren't spotted. Notably Debian defaults to /bin/sh provided
by dash which doesn't tolerate such bashisms as '=='.

This retains compatibility with bash.

Fixes configure warnings/errors like:
```
checking if compiler warns about alias for function with incompatible types... yes
/var/tmp/portage/sys-libs/glibc-2.34-r10/work/glibc-2.34/configure: 4209: test: xyes: unexpected operator
```

Signed-off-by: Sam James <sam@gentoo.org>
---
 configure                                               | 2 +-
 configure.ac                                            | 2 +-
 sysdeps/powerpc/powerpc64/le/configure.ac               | 2 +-
 sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
  

Comments

Adhemerval Zanella Netto March 22, 2022, 5:30 p.m. UTC | #1
On 22/03/2022 14:11, Sam James via Libc-alpha wrote:
> configure scripts need to be runnable with a POSIX-compliant /bin/sh.
> 
> On many (but not all!) systems, /bin/sh is provided by Bash, so errors
> like this aren't spotted. Notably Debian defaults to /bin/sh provided
> by dash which doesn't tolerate such bashisms as '=='.
> 
> This retains compatibility with bash.
> 
> Fixes configure warnings/errors like:
> ```
> checking if compiler warns about alias for function with incompatible types... yes
> /var/tmp/portage/sys-libs/glibc-2.34-r10/work/glibc-2.34/configure: 4209: test: xyes: unexpected operator
> ```
> 
> Signed-off-by: Sam James <sam@gentoo.org>

I think you need to regenerate the powerpc64le configure as well.

> ---
>  configure                                               | 2 +-
>  configure.ac                                            | 2 +-
>  sysdeps/powerpc/powerpc64/le/configure.ac               | 2 +-
>  sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac | 2 +-
>  4 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/configure b/configure
> index 8e5bee775a..2a3cb49b0b 100755
> --- a/configure
> +++ b/configure
> @@ -4232,7 +4232,7 @@ if test x"$libc_cv_gcc_indirect_function" != xyes; then
>    # GCC 8+ emits a warning for alias with incompatible types and it might
>    # fail to build ifunc resolvers aliases to either weak or internal
>    # symbols.  Disables multiarch build in this case.
> -  if test x"$libc_cv_gcc_incompatible_alias" == xyes; then
> +  if test x"$libc_cv_gcc_incompatible_alias" = xyes; then
>      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gcc emits a warning for alias between functions of incompatible types" >&5
>  $as_echo "$as_me: WARNING: gcc emits a warning for alias between functions of incompatible types" >&2;}
>      if test x"$multi_arch" = xyes; then
> diff --git a/configure.ac b/configure.ac
> index 87f67d25ec..fa7d3c025b 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -767,7 +767,7 @@ if test x"$libc_cv_gcc_indirect_function" != xyes; then
>    # GCC 8+ emits a warning for alias with incompatible types and it might
>    # fail to build ifunc resolvers aliases to either weak or internal
>    # symbols.  Disables multiarch build in this case.
> -  if test x"$libc_cv_gcc_incompatible_alias" == xyes; then
> +  if test x"$libc_cv_gcc_incompatible_alias" = xyes; then
>      AC_MSG_WARN([gcc emits a warning for alias between functions of incompatible types])
>      if test x"$multi_arch" = xyes; then
>        AC_MSG_ERROR([--enable-multi-arch support requires a gcc with gnu-indirect-function support])
> diff --git a/sysdeps/powerpc/powerpc64/le/configure.ac b/sysdeps/powerpc/powerpc64/le/configure.ac
> index 9f0423ede2..48d7089b63 100644
> --- a/sysdeps/powerpc/powerpc64/le/configure.ac
> +++ b/sysdeps/powerpc/powerpc64/le/configure.ac
> @@ -63,7 +63,7 @@ long double x;
>  		  [libc_cv_compiler_powerpc64le_ldbl128_mabi=yes],
>  		  [libc_cv_compiler_powerpc64le_ldbl128_mabi=no])
>  CFLAGS="$save_CFLAGS"])
> -AS_IF([test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" == "no"],
> +AS_IF([test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" = "no"],
>        [critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlong-double-128 simultaneously."])
>  
>  dnl objcopy (binutils) 2.26 or newer required to support the --update-section
> diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac
> index ceb578cc59..257ca6c110 100644
> --- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac
> +++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac
> @@ -9,6 +9,6 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
>  	       [libc_cv_mcpu_power10=yes],
>  	       [libc_cv_mcpu_power10=no])])
>  LIBC_CONFIG_VAR([mcpu-power10], [$libc_cv_mcpu_power10])
> -AS_IF([[test "$libc_cv_mcpu_power10" == "yes"]],[
> +AS_IF([[test "$libc_cv_mcpu_power10" = "yes"]],[
>  	AC_DEFINE(USE_PPC64_MCPU_POWER10)])
>  CFLAGS="$OLD_CFLAGS"
  
Sam James March 22, 2022, 5:32 p.m. UTC | #2
> On 22 Mar 2022, at 17:30, Adhemerval Zanella <adhemerval.zanella@linaro.org> wrote:
> 
> 
> 
> On 22/03/2022 14:11, Sam James via Libc-alpha wrote:
>> configure scripts need to be runnable with a POSIX-compliant /bin/sh.
>> 
>> On many (but not all!) systems, /bin/sh is provided by Bash, so errors
>> like this aren't spotted. Notably Debian defaults to /bin/sh provided
>> by dash which doesn't tolerate such bashisms as '=='.
>> 
>> This retains compatibility with bash.
>> 
>> Fixes configure warnings/errors like:
>> ```
>> checking if compiler warns about alias for function with incompatible types... yes
>> /var/tmp/portage/sys-libs/glibc-2.34-r10/work/glibc-2.34/configure: 4209: test: xyes: unexpected operator
>> ```
>> 
>> Signed-off-by: Sam James <sam@gentoo.org>
> 
> I think you need to regenerate the powerpc64le configure as well.
> 

Pff:
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
	modified:   sysdeps/powerpc/powerpc64/le/configure
	modified:   sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure

Let's fix that...

Best,
sam
  

Patch

diff --git a/configure b/configure
index 8e5bee775a..2a3cb49b0b 100755
--- a/configure
+++ b/configure
@@ -4232,7 +4232,7 @@  if test x"$libc_cv_gcc_indirect_function" != xyes; then
   # GCC 8+ emits a warning for alias with incompatible types and it might
   # fail to build ifunc resolvers aliases to either weak or internal
   # symbols.  Disables multiarch build in this case.
-  if test x"$libc_cv_gcc_incompatible_alias" == xyes; then
+  if test x"$libc_cv_gcc_incompatible_alias" = xyes; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: gcc emits a warning for alias between functions of incompatible types" >&5
 $as_echo "$as_me: WARNING: gcc emits a warning for alias between functions of incompatible types" >&2;}
     if test x"$multi_arch" = xyes; then
diff --git a/configure.ac b/configure.ac
index 87f67d25ec..fa7d3c025b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -767,7 +767,7 @@  if test x"$libc_cv_gcc_indirect_function" != xyes; then
   # GCC 8+ emits a warning for alias with incompatible types and it might
   # fail to build ifunc resolvers aliases to either weak or internal
   # symbols.  Disables multiarch build in this case.
-  if test x"$libc_cv_gcc_incompatible_alias" == xyes; then
+  if test x"$libc_cv_gcc_incompatible_alias" = xyes; then
     AC_MSG_WARN([gcc emits a warning for alias between functions of incompatible types])
     if test x"$multi_arch" = xyes; then
       AC_MSG_ERROR([--enable-multi-arch support requires a gcc with gnu-indirect-function support])
diff --git a/sysdeps/powerpc/powerpc64/le/configure.ac b/sysdeps/powerpc/powerpc64/le/configure.ac
index 9f0423ede2..48d7089b63 100644
--- a/sysdeps/powerpc/powerpc64/le/configure.ac
+++ b/sysdeps/powerpc/powerpc64/le/configure.ac
@@ -63,7 +63,7 @@  long double x;
 		  [libc_cv_compiler_powerpc64le_ldbl128_mabi=yes],
 		  [libc_cv_compiler_powerpc64le_ldbl128_mabi=no])
 CFLAGS="$save_CFLAGS"])
-AS_IF([test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" == "no"],
+AS_IF([test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" = "no"],
       [critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlong-double-128 simultaneously."])
 
 dnl objcopy (binutils) 2.26 or newer required to support the --update-section
diff --git a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac
index ceb578cc59..257ca6c110 100644
--- a/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac
+++ b/sysdeps/powerpc/powerpc64/le/fpu/multiarch/configure.ac
@@ -9,6 +9,6 @@  AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
 	       [libc_cv_mcpu_power10=yes],
 	       [libc_cv_mcpu_power10=no])])
 LIBC_CONFIG_VAR([mcpu-power10], [$libc_cv_mcpu_power10])
-AS_IF([[test "$libc_cv_mcpu_power10" == "yes"]],[
+AS_IF([[test "$libc_cv_mcpu_power10" = "yes"]],[
 	AC_DEFINE(USE_PPC64_MCPU_POWER10)])
 CFLAGS="$OLD_CFLAGS"