[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
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
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
@@ -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
@@ -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])
@@ -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
@@ -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"