diff options
Diffstat (limited to 'scripts/.local')
| -rwxr-xr-x | scripts/.local/bin/update-gdb | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/scripts/.local/bin/update-gdb b/scripts/.local/bin/update-gdb new file mode 100755 index 0000000..e6e0c6d --- /dev/null +++ b/scripts/.local/bin/update-gdb @@ -0,0 +1,36 @@ +#!/bin/sh + +set -ef + +TARGETS="aarch64-elf riscv64-elf x86_64-elf" + +[ -z "$1" ] && echo "$0: missing url" && exit 1 + +if [ -n "$2" ]; then + TARGETS="$2" +fi + +TMPFILE=$(mktemp) +TMPDIR=$(mktemp -d) + +echo "downloading..." +curl -o "$TMPFILE" "$1" +echo "extracting..." +tar Jxf "$TMPFILE" --strip-components=1 -C "$TMPDIR" +echo "cleaning up temp file" +rm "$TMPFILE" +cd "$TMPDIR" +for TARGET in $TARGETS +do + echo "configuring target $TARGET..." + ./configure --target="$TARGET" --prefix="$HOME/opt/cross" \ + --disable-nls --disable-werror + echo "building target $TARGET..." + make -j "$(nproc)" + echo "installing target $TARGET..." + make install + echo "cleaning after target $TARGET" + make distclean +done +echo "cleaning up temp dir" +rm -rf "$TMPDIR" |
