#!/bin/sh

if [ ! -e src ]; then echo "Not in source directory"; exit 1; fi
if [ -e output ]; then rm -r output; fi
if [ -e '/tmp/eartag' ]; then rm -r '/tmp/eartag'; fi

set -e
meson setup --prefix=/tmp/eartag -Ddevel=true . output
meson compile -C output
meson install -C output
set +e

#GSETTINGS_SCHEMA_DIR=/tmp/eartag/share/glib-2.0/schemas /tmp/eartag/bin/eartag-devel "$@"
ret=$?

if [ "$1" = "memray" ]; then
	shift
	[ -e memray-eartag.bin ] && rm memray-eartag.bin
	[ -e memray-flamegraph-eartag.html ] && rm memray-flamegraph-eartag.html
	GSETTINGS_SCHEMA_DIR=/tmp/eartag/share/glib-2.0/schemas memray run --live /tmp/eartag/bin/eartag-devel "$@"
	ret=$?
elif [ "$1" = "memray-flamegraph" ]; then
	shift
	[ -e memray-eartag.bin ] && rm memray-eartag.bin
	[ -e memray-flamegraph-eartag.html ] && rm memray-flamegraph-eartag.html
	GSETTINGS_SCHEMA_DIR=/tmp/eartag/share/glib-2.0/schemas memray run -o memray-eartag.bin /tmp/eartag/bin/eartag-devel "$@"
	ret=$?
	memray flamegraph memray-eartag.bin
	xdg-open memray-flamegraph-eartag.html
elif [ "$1" = "profiler" ]; then
	shift
	GSETTINGS_SCHEMA_DIR=/tmp/eartag/share/glib-2.0/schemas pyinstrument -r html /tmp/eartag/bin/eartag-devel "$@"
	ret=$?
else
	GSETTINGS_SCHEMA_DIR=/tmp/eartag/share/glib-2.0/schemas /tmp/eartag/bin/eartag-devel "$@"
	ret=$?
fi

exit $ret
