Update the README file to mark the project as unmaintained
[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 16TEXTLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m textDump"
dd47d0d8 17FORMATEDLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m formatedDump"
9a9ca632 18EVALLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m sync_chain_batch"
9a366873 19GRAPHLIBS="-L ${BUILDPATH}/lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\
64242d13 20"-L ${BUILDPATH}/lttv/modules/gui/detailedevents/.libs -m guievents "\
88bf15f0 21"-L ${BUILDPATH}/lttv/modules/gui/histogram/.libs -m guihistogram "\
dd47d0d8 22"-L ${BUILDPATH}/lttv/modules/gui/resourceview/.libs -m resourceview "\
88bf15f0 23"-L ${BUILDPATH}/lttv/modules/gui/controlflow/.libs -m guicontrolflow"
451aaf27
FD
24#"-L ${BUILDPATH}/lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\
25#"-L ${BUILDPATH}/lttv/modules/gui/statistics/.libs -m guistatistics "\
451aaf27 26#"-L ${BUILDPATH}/lttv/modules/gui/filter/.libs -m guifilter "\
64242d13
YB
27#"-L ${BUILDPATH}/lttv/modules/gui/interrupts/.libs -m interrupts "
28
697977bb 29DEFAULTMODE="gui"
94e22cd1 30
027dbbca 31usage () {
697977bb 32 echo "Usage: $0 [OPTION]... [TRACE]..." >/dev/stderr
ceedc609
PMF
33 echo "" >/dev/stderr
34 echo "Options:" >/dev/stderr
9a9ca632 35 printf "\t-m MODE Output mode (modes: text, eval, gui)\n" >/dev/stderr
54938463 36 printf "\t-H HELPER Invoke LTTV through a helper program\n" >/dev/stderr
4ed00749 37 printf "\t (helpers: gdb, valgrind, massif, strace, callgrind)\n" >/dev/stderr
54938463
BP
38 printf "\t-b OPTIONS LTTV options to specify before the module list\n" >/dev/stderr
39 printf "\t-a OPTIONS LTTV options to specify after the module list\n" >/dev/stderr
f71db7f9 40 printf "\t-d Activate LTTV debug level\n" >/dev/stderr
ceedc609
PMF
41 echo "" >/dev/stderr
42}
3d55af6e 43
a104c888
PMF
44if [ -e "${BUILDPATH}/lttv/lttv/.libs/lttv.real" ]; then
45 LTTV_EXEC="${BUILDPATH}/lttv/lttv/.libs/lttv.real"
46elif [ -e "${BUILDPATH}/lttv/lttv/lttv.real" ]; then
47 LTTV_EXEC="${BUILDPATH}/lttv/lttv/lttv.real"
011e5097 48else
f034e1cb 49 echo "error: LTTV should be compiled before running this script." >/dev/stderr
50 exit 1
51fi
94e22cd1 52
f71db7f9 53while getopts "H:m:b:a:dh" options; do
697977bb
BP
54 case $options in
55 H) HELPER=$OPTARG;;
ceedc609 56 m) MODE=$OPTARG;;
697977bb
BP
57 b) BOPTIONS="$BOPTIONS $OPTARG";;
58 a) AOPTIONS="$AOPTIONS $OPTARG";;
f71db7f9 59 d) DEBUG_ARGS="--debug"; G_MESSAGES_DEBUG="all";;
697977bb
BP
60 h) usage;
61 exit 0;;
62 \?) usage;
63 exit 1;;
64 esac
ceedc609
PMF
65done
66shift $(($OPTIND - 1))
67
697977bb 68for trace in $@
ceedc609 69do
697977bb 70 TRACEFILES="$TRACEFILES -t $trace "
ceedc609
PMF
71done
72
697977bb 73if [ -e "$RCFILE" ]; then
027dbbca 74 . "$RCFILE";
697977bb
BP
75fi
76
77if [ -z "$MODE" ]; then
78 MODE=$DEFAULTMODE
79fi
80
ceedc609 81if [ "$MODE" = "text" ]; then
697977bb 82 LIBS="$TEXTLIBS"
dd47d0d8
YB
83elif [ "$MODE" = "format" ]; then
84 LIBS="$FORMATLIBS"
9a9ca632
BP
85elif [ "$MODE" = "eval" ]; then
86 LIBS="$EVALLIBS"
697977bb
BP
87elif [ "$MODE" = "gui" ]; then
88 LIBS="$GRAPHLIBS"
ceedc609 89else
697977bb
BP
90 echo "$PROGNAME: unknown mode -- $MODE" >/dev/stderr
91 exit 1
ceedc609
PMF
92fi
93
f71db7f9 94LTTV_ARGS="$DEBUG_ARGS $BOPTIONS $LIBS $TRACEFILES $AOPTIONS"
91840ab1 95if [ "$HELPER" = "gdb" ]; then
f71db7f9 96 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} gdb --args $LTTV_EXEC $LTTV_ARGS
89db30b2 97elif [ "$HELPER" = "valgrind" ]; then
f71db7f9 98 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --show-reachable=yes --leak-check=full --tool=memcheck --suppressions=debug/gtk.suppression --track-origins=yes --error-limit=no $LTTV_EXEC $LTTV_ARGS
1167062f 99elif [ "$HELPER" = "callgrind" ]; then
f71db7f9 100 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --tool=callgrind $LTTV_EXEC $LTTV_ARGS
ad5078da 101elif [ "$HELPER" = "massif" ]; then
f71db7f9 102 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} valgrind --tool=massif $LTTV_EXEC $LTTV_ARGS
89db30b2 103elif [ "$HELPER" = "strace" ]; then
f71db7f9 104 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} strace $LTTV_EXEC $LTTV_ARGS
94e22cd1 105else
f71db7f9 106 LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_MESSAGES_DEBUG=${G_MESSAGES_DEBUG} $LTTV_EXEC $LTTV_ARGS
94e22cd1 107fi
This page took 0.041894 seconds and 4 git commands to generate.