1#!/bin/sh
2
3PROGRAM_PATH=$(dirname "$0")
4PROGRAM_NAME=$(basename "$0" | sed 's/-\?valgrind$//')
5
6if [ -z "$PROGRAM_NAME" ]; then
7	echo "Not to be run directly"
8	exit 1
9fi
10
11PROGRAM=""
12for i in "$PROGRAM_PATH/.libs/$PROGRAM_NAME" "$PROGRAM_PATH/.libs/lt-$PROGRAM_NAME" "$PROGRAM_PATH/$PROGRAM_NAME"; do
13	if [ -x "$i" ]; then
14		PROGRAM=$i
15		break
16	fi
17done
18
19if [ -n "$PROGRAM" ]; then
20	LOG_FILE="$PROGRAM_PATH/$PROGRAM_NAME-valgrind.log"
21	LD_LIBRARY_PATH="$PROGRAM_PATH/../../src/.libs" valgrind \
22		--tool=memcheck --leak-check=full --show-reachable=yes --track-origins=yes \
23		--trace-children=yes --child-silent-after-fork=yes --track-fds=yes \
24		--log-file="$LOG_FILE" "$PROGRAM" $@
25	echo "valgrind output is in file \"$LOG_FILE\""
26else
27	echo "$PROGRAM_NAME not found"
28fi
29