Message ID | 20220322171117.1945898-1-sam@gentoo.org |
---|---|
State | New |
Headers | show |
Series | [v2] configure.ac: fix bashisms in configure.ac | expand |
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"
> 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
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"
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(-)