]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Add NetBSD /bin/sh to the -n whitelist.
authorZack Weinberg <zackw@panix.com>
Wed, 26 Aug 2020 19:08:26 +0000 (15:08 -0400)
committerZack Weinberg <zackw@panix.com>
Wed, 26 Aug 2020 19:08:26 +0000 (15:08 -0400)
NetBSD’s /bin/sh sets a special variable “NETBSD_SHELL” to identify
itself.  This means we can whitelist it as not having a buggy -n
implementation.

 * configure.ac: Assume -n mode works in shells that have a preset
 variable named NETBSD_SHELL.

configure.ac

index 38a8ff951907d738c96c5ed2e37ac2659a5f652a..56d275491327695031009c02d9ea85c15da6eef0 100644 (file)
@@ -64,7 +64,7 @@ AC_CACHE_CHECK([for a shell whose -n mode is known to work],
 # follow with a hardwired list of shells that are known to work and can
 # be identified as such, starting with the ones with the fewest
 # syntactic extensions.  Unfortunately, several shells that are also
-# known to work can't be easily identified (e.g. BSD sh, dash).
+# known to work can't be easily identified (e.g. some BSD shells and dash).
 # Try ksh93, which is often buggy, and plain ksh and sh last.
 for cand_sh in "$SHELL" pdksh bash zsh ksh93 ksh sh
 do
@@ -72,8 +72,9 @@ do
     unset BASH_VERSION ZSH_VERSION
     "$cand_sh" -c '
       test ${BASH_VERSION+y} || # Bash
-      test ${KSH_VERSION+y} || # pdksh
-      test ${ZSH_VERSION+y} || # zsh
+      test ${KSH_VERSION+y}  || # pdksh
+      test ${ZSH_VERSION+y}  || # zsh
+      test ${NETBSD_SHELL+y} || # NetBSD sh
       test -n "${.sh.version}" # ksh93; put this last since its syntax is dodgy
     '
   ) 2>/dev/null