Processing of UDP events
[lttv.git] / runlttv
CommitLineData
94e22cd1 1#!/bin/sh
2# Released under the GPL
3# pmf - 2008/07/31
4
eb9ab977 5# This script runs LTTV in place in the compile directory without need for
6# installing it with make install.
58f53b56 7#
eb9ab977 8# In order for icons to display correctly, it might be necessary to create a
9# symlink:
94e22cd1 10# $ ln -s ./lttv/modules/gui/lttvwindow/pixmaps
11# while in the same directory as this script.
12
697977bb 13PROGNAME=$0
a104c888 14BUILDPATH=$(dirname $0)
a7bbe2f6 15RCFILE="$(dirname $0)/.runlttvrc"
a104c888
PMF
16TEXTLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m textDump"
17GRAPHLIBS="-L ${BUILDPATH}/lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\
18"-L ${BUILDPATH}/lttv/modules/gui/controlflow/.libs -m guicontrolflow "\
19"-L ${BUILDPATH}/lttv/modules/gui/detailedevents/.libs -m guievents "\
20"-L ${BUILDPATH}/lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\
21"-L ${BUILDPATH}/lttv/modules/gui/statistics/.libs -m guistatistics "\
22"-L ${BUILDPATH}/lttv/modules/gui/resourceview/.libs -m resourceview "\
23"-L ${BUILDPATH}/lttv/modules/gui/filter/.libs -m guifilter "\
24"-L ${BUILDPATH}/lttv/modules/gui/interrupts/.libs -m interrupts "\
25"-L ${BUILDPATH}/lttv/modules/gui/histogram/.libs -m guihistogram"
697977bb 26DEFAULTMODE="gui"
94e22cd1 27
027dbbca 28usage () {
697977bb 29 echo "Usage: $0 [OPTION]... [TRACE]..." >/dev/stderr
ceedc609
PMF
30 echo "" >/dev/stderr
31 echo "Options:" >/dev/stderr
54938463
BP
32 printf "\t-m MODE Output mode (modes: text, gui)\n" >/dev/stderr
33 printf "\t-H HELPER Invoke LTTV through a helper program\n" >/dev/stderr
34 printf "\t (helpers: gdb, valgrind, massif, strace)\n" >/dev/stderr
35 printf "\t-b OPTIONS LTTV options to specify before the module list\n" >/dev/stderr
36 printf "\t-a OPTIONS LTTV options to specify after the module list\n" >/dev/stderr
ceedc609
PMF
37 echo "" >/dev/stderr
38}
3d55af6e 39
a104c888
PMF
40if [ -e "${BUILDPATH}/lttv/lttv/.libs/lttv.real" ]; then
41 LTTV_EXEC="${BUILDPATH}/lttv/lttv/.libs/lttv.real"
42elif [ -e "${BUILDPATH}/lttv/lttv/lttv.real" ]; then
43 LTTV_EXEC="${BUILDPATH}/lttv/lttv/lttv.real"
011e5097 44else
f034e1cb 45 echo "error: LTTV should be compiled before running this script." >/dev/stderr
46 exit 1
47fi
94e22cd1 48
697977bb
BP
49while getopts "H:m:b:a:h" options; do
50 case $options in
51 H) HELPER=$OPTARG;;
ceedc609 52 m) MODE=$OPTARG;;
697977bb
BP
53 b) BOPTIONS="$BOPTIONS $OPTARG";;
54 a) AOPTIONS="$AOPTIONS $OPTARG";;
55 h) usage;
56 exit 0;;
57 \?) usage;
58 exit 1;;
59 esac
ceedc609
PMF
60done
61shift $(($OPTIND - 1))
62
697977bb 63for trace in $@
ceedc609 64do
697977bb 65 TRACEFILES="$TRACEFILES -t $trace "
ceedc609
PMF
66done
67
697977bb 68if [ -e "$RCFILE" ]; then
027dbbca 69 . "$RCFILE";
697977bb
BP
70fi
71
72if [ -z "$MODE" ]; then
73 MODE=$DEFAULTMODE
74fi
75
ceedc609 76if [ "$MODE" = "text" ]; then
697977bb
BP
77 LIBS="$TEXTLIBS"
78elif [ "$MODE" = "gui" ]; then
79 LIBS="$GRAPHLIBS"
ceedc609 80else
697977bb
BP
81 echo "$PROGNAME: unknown mode -- $MODE" >/dev/stderr
82 exit 1
ceedc609
PMF
83fi
84
697977bb 85LTTV_ARGS="$BOPTIONS $LIBS $TRACEFILES $AOPTIONS"
91840ab1 86if [ "$HELPER" = "gdb" ]; then
a104c888 87 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs gdb --args $LTTV_EXEC $LTTV_ARGS
89db30b2 88elif [ "$HELPER" = "valgrind" ]; then
a104c888 89 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs valgrind --track-origins=yes --show-reachable=yes --leak-check=full --error-limit=no $LTTV_EXEC $LTTV_ARGS
ad5078da 90elif [ "$HELPER" = "massif" ]; then
a104c888 91 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs valgrind --tool=massif $LTTV_EXEC $LTTV_ARGS
89db30b2 92elif [ "$HELPER" = "strace" ]; then
a104c888 93 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs strace $LTTV_EXEC $LTTV_ARGS
94e22cd1 94else
a104c888 95 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs $LTTV_EXEC $LTTV_ARGS
94e22cd1 96fi
This page took 0.033799 seconds and 4 git commands to generate.