t9c: Fix case patterns for DragonFly and other BSDs - plan9port - [fork] Plan 9 from user space
(HTM) git clone git://src.adamsgaard.dk/plan9port
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 194178b5788a09379e01e8ff8bff391b8a8d5c18
(DIR) parent e6ed10f25e4b2ea791d8e52253f7d806316420e9
(HTM) Author: Martin Kühl <martin.kuehl@posteo.net>
Date: Tue, 7 Jan 2020 23:27:39 +0100
9c: Fix case patterns for DragonFly and other BSDs
POSIX does not support grouping in case item patterns.
Installing with a strict POSIX shell fails with:
/usr/local/plan9/bin/9c: line 82: syntax error near unexpected token `('
/usr/local/plan9/bin/9c: line 82: `*(DragonFly|BSD)*gcc*) usegcc ;;'
This change expands the patterns to work around the limitation.
See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_10
(and search for case_clause)
Diffstat:
M bin/9c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
---
(DIR) diff --git a/bin/9c b/bin/9c
t@@ -79,8 +79,8 @@ useclang()
tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}"
case "$tag" in
-*(DragonFly|BSD)*gcc*) usegcc ;;
-*(DragonFly|BSD)*clang*) useclang ;;
+*DragonFly*gcc*|*BSD*gcc*) usegcc ;;
+*DragonFly*clang|*BSD*clang*) useclang ;;
*Darwin-x86_64*)
useclang
cflags="$ngflags -g3 -m64"