X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=runlttv;h=40e512eef33cdeaeba5516f6f8bf3acea863ad64;hb=979bddf1cd8bb5268014f566e92f333a3e48b819;hp=1e14fed041c5e3254916a6539356c5a0cccca283;hpb=027dbbca460c595e229fb1e390a0d0ed8ec3c865;p=lttv.git diff --git a/runlttv b/runlttv index 1e14fed0..40e512ee 100755 --- a/runlttv +++ b/runlttv @@ -11,35 +11,38 @@ # while in the same directory as this script. PROGNAME=$0 +BUILDPATH=$(dirname $0) RCFILE="$(dirname $0)/.runlttvrc" -TEXTLIBS="-L lttv/modules/text/.libs -m textDump" -GRAPHLIBS="-L lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\ -"-L lttv/modules/gui/controlflow/.libs -m guicontrolflow "\ -"-L lttv/modules/gui/detailedevents/.libs -m guievents "\ -"-L lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\ -"-L lttv/modules/gui/statistics/.libs -m guistatistics "\ -"-L lttv/modules/gui/resourceview/.libs -m resourceview "\ -"-L lttv/modules/gui/filter/.libs -m guifilter "\ -"-L lttv/modules/gui/interrupts/.libs -m interrupts "\ -"-L lttv/modules/gui/histogram/.libs -m guihistogram" +TEXTLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m textDump" +EVALLIBS="-L ${BUILDPATH}/lttv/modules/text/.libs -m sync_chain_batch" +GRAPHLIBS="-L ${BUILDPATH}/lttv/modules/gui/lttvwindow/lttvwindow/.libs -m lttvwindow "\ +"-L ${BUILDPATH}/lttv/modules/gui/detailedevents/.libs -m guievents "\ +"-L ${BUILDPATH}/lttv/modules/gui/histogram/.libs -m guihistogram "\ +"-L ${BUILDPATH}/lttv/modules/gui/controlflow/.libs -m guicontrolflow" +#"-L ${BUILDPATH}/lttv/modules/gui/tracecontrol/.libs -m guitracecontrol "\ +#"-L ${BUILDPATH}/lttv/modules/gui/statistics/.libs -m guistatistics "\ +#"-L ${BUILDPATH}/lttv/modules/gui/resourceview/.libs -m resourceview "\ +#"-L ${BUILDPATH}/lttv/modules/gui/filter/.libs -m guifilter "\ +#"-L ${BUILDPATH}/lttv/modules/gui/interrupts/.libs -m interrupts " + DEFAULTMODE="gui" usage () { echo "Usage: $0 [OPTION]... [TRACE]..." >/dev/stderr echo "" >/dev/stderr echo "Options:" >/dev/stderr - printf "\t-m MODE Output mode (modes: text, gui)" >/dev/stderr - printf "\t-H HELPER Invoke LTTV through a helper program" >/dev/stderr - printf "\t (helpers: gdb, valgrind, massif, strace)" >/dev/stderr - printf "\t-b OPTIONS LTTV options to specify before the module list" >/dev/stderr - printf "\t-a OPTIONS LTTV options to specify after the module list" >/dev/stderr + printf "\t-m MODE Output mode (modes: text, eval, gui)\n" >/dev/stderr + printf "\t-H HELPER Invoke LTTV through a helper program\n" >/dev/stderr + printf "\t (helpers: gdb, valgrind, massif, strace)\n" >/dev/stderr + printf "\t-b OPTIONS LTTV options to specify before the module list\n" >/dev/stderr + printf "\t-a OPTIONS LTTV options to specify after the module list\n" >/dev/stderr echo "" >/dev/stderr } -if [ -e "lttv/lttv/.libs/lttv.real" ]; then - LTTV_EXEC="lttv/lttv/.libs/lttv.real" -elif [ -e "lttv/lttv/lttv.real" ]; then - LTTV_EXEC="lttv/lttv/lttv.real" +if [ -e "${BUILDPATH}/lttv/lttv/.libs/lttv.real" ]; then + LTTV_EXEC="${BUILDPATH}/lttv/lttv/.libs/lttv.real" +elif [ -e "${BUILDPATH}/lttv/lttv/lttv.real" ]; then + LTTV_EXEC="${BUILDPATH}/lttv/lttv/lttv.real" else echo "error: LTTV should be compiled before running this script." >/dev/stderr exit 1 @@ -74,6 +77,8 @@ fi if [ "$MODE" = "text" ]; then LIBS="$TEXTLIBS" +elif [ "$MODE" = "eval" ]; then + LIBS="$EVALLIBS" elif [ "$MODE" = "gui" ]; then LIBS="$GRAPHLIBS" else @@ -83,13 +88,15 @@ fi LTTV_ARGS="$BOPTIONS $LIBS $TRACEFILES $AOPTIONS" if [ "$HELPER" = "gdb" ]; then - LD_LIBRARY_PATH=ltt/.libs gdb --args $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs gdb --args $LTTV_EXEC $LTTV_ARGS elif [ "$HELPER" = "valgrind" ]; then - LD_LIBRARY_PATH=ltt/.libs valgrind --track-origins=yes --show-reachable=yes --leak-check=full --error-limit=no $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs 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 +elif [ "$HELPER" = "callgrind" ]; then + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --tool=callgrind $LTTV_EXEC $LTTV_ARGS elif [ "$HELPER" = "massif" ]; then - LD_LIBRARY_PATH=ltt/.libs valgrind --tool=massif $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs valgrind --tool=massif $LTTV_EXEC $LTTV_ARGS elif [ "$HELPER" = "strace" ]; then - LD_LIBRARY_PATH=ltt/.libs strace $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs strace $LTTV_EXEC $LTTV_ARGS else - LD_LIBRARY_PATH=ltt/.libs $LTTV_EXEC $LTTV_ARGS + LD_LIBRARY_PATH=${BUILDPATH}/ltt/.libs $LTTV_EXEC $LTTV_ARGS fi