On Sun, Jun 26, 2011 at 06:18:59AM +0400, Mike Korbakov wrote: > Unfortunatly, not all systems (like OpenBSD) has built-in texttools > like nl, that makes it difficult to port dash, with minimum troubles. > To reduce dependencies, I suggest using instead of nl other tools like > awk or cat (as advised openbsd porters team). > Building dash-0.5.6.1 was successfull with this patch: > --- src/mkbuiltins.orig Sat Jun 5 13:34:23 2010 > +++ src/mkbuiltins Sun Jun 26 02:36:23 2011 > @@ -84,7 +84,7 @@ cat <<\! > */ > > ! > -sed 's/ -[a-z]*//' $temp2 | nl -v 0 | LC_COLLATE=C sort -u -k 3,3 | > +sed 's/ -[a-z]*//' $temp2 | awk '{ print " " FNR-1 " " $0 }' | LC_COLLATE=C sort -u -k 3,3 | > tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ | > awk '{ printf "#define %s (builtincmd + %d)\n", $3, $1}' > printf '\n#define NUMBUILTINS %d\n' $(wc -l < $temp2) This looks reasonable. It works here (FreeBSD with somewhat hacked dash source), leaving the resulting binary unchanged. A minor nit: comparing with other awk invocations, it seems more usual to use NR rather than FNR. They both do the same thing if there is only one input file. The nl utility has caused more portability problems already; the code in master has different options. This is so even though nl is in SUSv4 under the XSI option. We already use awk so that should be safer. -- Jilles Tjoelker -- To unsubscribe from this list: send the line "unsubscribe dash" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html