build system: fix non-portable sed constructs.
authorMatthias Andree <matthias.andree@gmx.de>
Fri, 10 Jan 2014 10:54:37 +0000 (11:54 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 10 Jan 2014 10:54:37 +0000 (11:54 +0100)
This includes proper line breaks for labels and closing braces,
and removing non-portable \n and \t in s/// functions.

Signed-off-by: Matthias Andree <matthias.andree@gmx.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
scripts/gen_build_files.sh

index 0989b2fe5e0c3fac01f2e0ac5506d5fb06ab070d..e8fa831bed01a5dca0843597e598f846b8ed0465 100755 (executable)
@@ -31,7 +31,12 @@ generate()
                # copy stdin to stdout
                cat
                # print everything after INSERT line
-               sed -n '/^INSERT$/ { :l; n; p; bl }' "${src}"
+               sed -n '/^INSERT$/ {
+               :l
+                   n
+                   p
+                   bl
+               }' "${src}"
        } >"${dst}.tmp"
        if ! cmp -s "${dst}" "${dst}.tmp"; then
                gen "${dst}"
@@ -52,7 +57,12 @@ sed -n 's@^//applet:@@p' "$srctree"/*/*.c "$srctree"/*/*/*.c \
 # We add line continuation backslash after each line,
 # and insert empty line before each line which doesn't start
 # with space or tab
-sed -n -e 's@^//usage:\([ \t].*\)$@\1 \\@p' -e 's@^//usage:\([^ \t].*\)$@\n\1 \\@p' \
+TAB="$(printf '\tX')"
+TAB="${TAB%X}"
+LF="$(printf '\nX')"
+LF="${LF%X}"
+sed -n -e 's@^//usage:\([ '"$TAB"'].*\)$@\1 \\@p' \
+       -e 's@^//usage:\([^ '"$TAB"'].*\)$@\'"$LF"'\1 \\@p' \
        "$srctree"/*/*.c "$srctree"/*/*/*.c \
 | generate \
        "$srctree/include/usage.src.h" \