summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen10do <Ben10do@users.noreply.github.com>2018-06-03 15:18:49 +0100
committerBen10do <Ben10do@users.noreply.github.com>2018-06-03 16:24:23 +0100
commit2dd2ec97f1cbc5ba32f79535087d265610fa1dcb (patch)
tree0be88bcdc0c64c2661d46067b47879f09a9e691e
parent53bcd8f46ca4f78381af70f55d03f3180be277de (diff)
Don’t use GNU extensions when calling sed
Apparently, GNU sed has a few extensions that aren’t supported by the version of BSD sed that currently comes with Macs. This would cause sort_symfile.sh to fail on macOS, causing the build to appear to fail at the last minute. Admittedly, I’m not very familiar with sed, but this seems to do the trick on both macOS and Ubuntu. - The input file must be last in the arguments list. - The -i option, allowing the same file for input and output, doesn’t appear to be supported. Instead, I’m writing the output to a temporary file, and replacing the original file with that temporary file. - Apparently ‘\w’ isn’t supported, so I’m simply using ‘.’ instead, as it appears to match “0_ROM0@” etc. just as well.
-rwxr-xr-xtools/sort_symfile.sh6
1 files changed, 4 insertions, 2 deletions
diff --git a/tools/sort_symfile.sh b/tools/sort_symfile.sh
index d53150faa..82fced560 100755
--- a/tools/sort_symfile.sh
+++ b/tools/sort_symfile.sh
@@ -1,10 +1,12 @@
#!/bin/sh
-sed $1 \
+sed \
-e "s/^..:[0-3]/0_ROM0@&/g" \
-e "s/^..:[4-7]/1_ROMX@&/g" \
-e "s/^..:[8-9]/2_VRAM@&/g" \
-e "s/^..:[A-B]/3_SRAM@&/g" \
-e "s/^00:[C-D]/4_WRAM0@&/g" \
-e "s/^..:[D-D]/5_WRAMX@&/g" \
+ $1 \
| sort -o $1
-sed -i $1 -e "s/^\w*@//g"
+TEMP_FILE=$(mktemp)
+sed -e "s/^.*@//g" $1 > $TEMP_FILE && mv $TEMP_FILE $1