From 4ec3ab45d4a1aab2c04f02ef3ff972b818ca4faf Mon Sep 17 00:00:00 2001
From: Mot <mail@mueller-martin.net>
Date: Wed, 24 Jul 2019 15:07:52 +0000
Subject: [PATCH] fix(build): Remove GNUisms to allow building on macOS & BSD

Remove -r from ln
-----------------
Quote from Unix Stack Exchange:

> Beware that -r is a GNUism, i.e. non POSIX so won't work [...] as the
> standard OS X ln command is BSD based.

https://unix.stackexchange.com/questions/125132/ln-s-with-a-path-relative-to-pwd#comment455718_263512

Fix tr and dd for macOS
-----------------------

See Unix Stack Exchange question "Filling file with 0xFF gives C3BF in OSX" at

    https://superuser.com/a/1349497/150212

and

https://lists.freebsd.org/pipermail/freebsd-questions/2007-October/160961.html
---
 bootloader/build_multi_image.sh | 4 ++--
 lib/micropython/gen-qstr.sh     | 2 +-
 lib/micropython/gen-version.sh  | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/bootloader/build_multi_image.sh b/bootloader/build_multi_image.sh
index 94a3b46b..15212e43 100755
--- a/bootloader/build_multi_image.sh
+++ b/bootloader/build_multi_image.sh
@@ -6,8 +6,8 @@ BIN1="$2"
 BIN2="$3"
 BINOUT="$4"
 
-dd if=/dev/zero ibs=1k count=448 2>/dev/null | tr "\000" "\377" > "$BINOUT"
+dd if=/dev/zero ibs=1k count=448 2>/dev/null | LANG=C tr "\000" "\377" > "$BINOUT"
 dd if="$BIN1" of="$BINOUT" conv=notrunc 2>/dev/null
-dd if="$BIN2" of="$BINOUT" conv=notrunc oflag=append 2>/dev/null
+dd if="$BIN2" >> "$BINOUT" 2>/dev/null
 
 "$PYTHON" "$(dirname "$0")/crc_patch.py" "$BINOUT"
diff --git a/lib/micropython/gen-qstr.sh b/lib/micropython/gen-qstr.sh
index cd44b428..5f44d649 100755
--- a/lib/micropython/gen-qstr.sh
+++ b/lib/micropython/gen-qstr.sh
@@ -12,7 +12,7 @@ shift 5
 OUTPUT_DIR="$(dirname "$OUTPUT")"
 
 mkdir -p "$OUTPUT_DIR/genhdr"
-ln -sfr "$OUTPUT" "$OUTPUT_DIR/genhdr/$(basename "$OUTPUT")"
+ln -sf "$(realpath --relative-to="$OUTPUT_DIR/genhdr" "$OUTPUT")" "$OUTPUT_DIR/genhdr/$(basename "$OUTPUT")"
 
 # call gcc -E to generate qstr.i.last
 gcc -E -DNO_QSTR -I"$SOURCE_DIR/micropython" -I"$PROJECT_SRC" -I"$OUTPUT_DIR" "$@" >"$OUTPUT_DIR/qstr.i.last"
diff --git a/lib/micropython/gen-version.sh b/lib/micropython/gen-version.sh
index 1afe401e..8f73d942 100755
--- a/lib/micropython/gen-version.sh
+++ b/lib/micropython/gen-version.sh
@@ -7,7 +7,7 @@ OUT="$(realpath "$3")"
 OUTDIR="$(dirname "$OUT")"
 
 mkdir -p "$OUTDIR/genhdr"
-ln -sfr "$OUT" "$OUTDIR/genhdr/$(basename "$OUT")"
+ln -sf "$(realpath --relative-to="$OUTDIR/genhdr" "$3")" "$OUTDIR/genhdr/$(basename "$OUT")"
 
 cd "$2/micropython"
 "$1" "$2/micropython/py/makeversionhdr.py" "$OUT" >/dev/null
-- 
GitLab