Skip to content
Snippets Groups Projects
Commit cb924afe authored by Jonathan Perkin's avatar Jonathan Perkin Committed by Herbert Xu
Browse files

shell: Fix build on Solaris 9


Ensure dash can build in a default Solaris 9 or older environment:

 - Execute scripts with $SHELL rather than /bin/sh, the latter does not
   support e.g. "if ! .." used by mkbuiltins.

 - /bin/awk does not support ?: syntax, use explicit statements instead.

 - /bin/nl requires no spaces between options and arguments.

Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 16cde63e
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -46,13 +46,13 @@ EXTRA_DIST = \
mknodes.c nodetypes nodes.c.pat mksyntax.c mksignames.c
 
token.h token_vars.h: mktokens
sh $^
$(SHELL) $^
 
builtins.def: builtins.def.in $(top_builddir)/config.h
$(COMPILE) -E -x c -o $@ $<
 
builtins.c builtins.h: mkbuiltins builtins.def
sh $^
$(SHELL) $^
 
init.c: mkinit $(dash_CFILES)
./$^
Loading
Loading
Loading
Loading
@@ -84,9 +84,13 @@ awk '{ for (i = 2 ; i <= NF ; i++) {
opt = substr($2, 2)
$2 = $3
}
printf "\t{ \"%s\", %s, %d },\n", $1,
(opt ~ /n/) ? "NULL" : $2,
(opt ~ /s/) + (opt ~ /[su]/) * 2 + (opt ~ /a/) * 4
mask = 0
cmd = $2
if (opt ~ /n/) { cmd = "NULL" }
if (opt ~ /s/) { mask += 1 }
if (opt ~ /[su]/) { mask += 2 }
if (opt ~ /a/) { mask += 4 }
printf "\t{ \"%s\", %s, %d },\n", $1, cmd, mask
}'
echo '};'
 
Loading
Loading
@@ -97,7 +101,7 @@ cat <<\!
*/
 
!
sed 's/ -[a-z]*//' $temp2 | nl -b a -v 0 |
sed 's/ -[a-z]*//' $temp2 | nl -ba -v0 |
LC_ALL= LC_COLLATE=C sort -u -k 3,3 |
tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ |
awk '{ printf "#define %s (builtincmd + %d)\n", $3, $1}'
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment