autotools: tidy-up if expressions

- drop x-hacks for curl internal variables and certain autotools ones
  that do not hold custom values.
- make x-hacks consistently use `"x$var" = "xval"` style.
- add a few x-hacks for input/external variables that may hold custom
  values.
- prefer `-z` and `-n` to test empty/non-empty.
  This also makes some x-hacks unnecessary.
- optimized negated test `-z` and `-n` options.
- prefer `&&` and `||` over `-a` and `-o`.
  For better POSIX compatibility:
  https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
- quote variables passed to `test`, where missing.
- quote string literals in comparisons.
- fix some indentation, whitespace.

Note that a few `case` statements also use the x-hack, which looks
unnecessary. This patch does not change them.

Verified by comparing feature detection results with a reference CI run
from before this patch (PR #19922).

Refs:
https://www.shellcheck.net/wiki/SC2268
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
https://www.vidarholen.net/contents/blog/?p=1035
https://mywiki.wooledge.org/BashPitfalls#A.5B_.24foo_.3D_.22bar.22_.5D

Closes #18189
This commit is contained in:
Viktor Szakats 2025-08-05 16:07:21 +02:00
parent cc285649dc
commit 8db0e286b3
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
19 changed files with 478 additions and 477 deletions

View file

@ -149,7 +149,7 @@ while test "$#" -gt 0; do
;;
--libs)
if test "@libdir@" != '/usr/lib' -a "@libdir@" != '/usr/lib64'; then
if test "@libdir@" != '/usr/lib' && test "@libdir@" != '/usr/lib64'; then
curllibdir="-L@libdir@ "
else
curllibdir=''