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.
This commit is contained in:
Ben10do 2018-06-03 15:18:49 +01:00
parent 53bcd8f46c
commit 2dd2ec97f1
No known key found for this signature in database
GPG Key ID: DFBC5B504E8D20B9

View File

@ -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