#!/bin/sh

PROGRAM_PATH=$(dirname "$0")
PROGRAM_NAME=$(basename "$0" | sed 's/-\?valgrind$//')

if [ -z "$PROGRAM_NAME" ]; then
	echo "Not to be run directly"
	exit 1
fi

PROGRAM=""
for i in "$PROGRAM_PATH/.libs/$PROGRAM_NAME" "$PROGRAM_PATH/.libs/lt-$PROGRAM_NAME" "$PROGRAM_PATH/$PROGRAM_NAME"; do
	if [ -x "$i" ]; then
		PROGRAM=$i
		break
	fi
done

if [ -n "$PROGRAM" ]; then
	LOG_FILE="$PROGRAM_PATH/$PROGRAM_NAME-valgrind.log"
	LD_LIBRARY_PATH="$PROGRAM_PATH/../../src/.libs" valgrind \
		--tool=memcheck --leak-check=full --show-reachable=yes --track-origins=yes \
		--trace-children=yes --child-silent-after-fork=yes --track-fds=yes \
		--log-file="$LOG_FILE" "$PROGRAM" $@
	echo "valgrind output is in file \"$LOG_FILE\""
else
	echo "$PROGRAM_NAME not found"
fi
