#!/usr/bin/env bash

# The setsid command is needed so that Ctrl+C in GDB doesn't kill avarice
: ${SETSID:=setsid}

if avr-gdb -v &> /dev/null; then
    GDB=avr-gdb
elif gdb-multiarch -v &> /dev/null; then
    GDB=gdb-multiarch
else
    echo "Couldn't find multiarch GDB or AVR GDB. Check \$PATH."
    exit 1
fi

sleep 2
${SETSID} -w avarice $1 &
sleep 3 && $GDB -ex "target remote localhost:$3" $4

# avarice exits with 1 if the connection is released, therefore we always exit with 0
exit 0
