summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2014-01-10 10:54:37 (GMT)
committer Denys Vlasenko <vda.linux@googlemail.com>2014-01-10 10:54:37 (GMT)
commit9b76f895bcd50c97df66c7e0192e045245eb519f (patch)
tree0ce5dac1b3f7a0996a9bc098d137f278de3b1ced
parent3deabea8932715dae2b7b95e08b1be96d1bc0361 (diff)
downloadbusybox-9b76f895bcd50c97df66c7e0192e045245eb519f.tar.gz
busybox-9b76f895bcd50c97df66c7e0192e045245eb519f.tar.bz2
build system: fix non-portable sed constructs.
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>
-rwxr-xr-xscripts/gen_build_files.sh14
1 files changed, 12 insertions, 2 deletions
diff --git a/scripts/gen_build_files.sh b/scripts/gen_build_files.sh
index 0989b2f..e8fa831 100755
--- a/scripts/gen_build_files.sh
+++ b/scripts/gen_build_files.sh
@@ -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" \