Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure: fix broken bashism resulting in logic failure #567

Merged
merged 1 commit into from
Mar 8, 2024

Commits on Dec 20, 2023

  1. configure: fix broken bashism resulting in logic failure

    After carefully using configure checks designed to work on pre-unix wars
    bourne shells -- that is, the `test "$var" = ""` construct once upon a
    time wasn't specified to treat "" as a distinct argument, and various
    buggy implementations mishandled various forms where the first argument
    started with a dash, so the "x" padding provided a guaranteed comparison
    -- the configure.ac check then fails to run on any shells at all other
    than GNU bash.
    
    Bash provides the standard `test XXX = YYY` or `[ XXX = YYY ]`
    utilities. It also provides the ability to spell the equals sign as a
    double equals. This does nothing whatsoever -- it adds no new
    functionality to bash, it forbids nothing, it is *literally* an exact
    alias.
    
    It should never be used under any circumstances. All developers must
    immediately forget that it exists. Using it is non-portable and does not
    work in /bin/sh scripts such as configure scripts, and it results in
    dangerous muscle memory when used in bash scripts because it makes
    people unthinkingly use the double equals even in /bin/sh scripts. To
    add insult to injury, it makes scripts take up more disk space (by a
    whole byte! and sometimes even a few bytes...)
    
    Delete this accidental bashism, and restore the ability to get correct
    ./configure behavior on systems where /bin/sh is something other than a
    symlink to GNU bash.
    eli-schwartz committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    3fc60a2 View commit details
    Browse the repository at this point in the history