19
19
# -purify Run emulator compiled for purify
20
20
# -quantify Run emulator compiled for quantify
21
21
# -purecov Run emulator compiled for purecov
22
# -valgrind Run emulator compiled for valgrind
22
23
# -nox Unset the DISPLAY variable to disable us of X Windows
24
25
# FIXME For GDB you can also set the break point using "-break FUNCTION".
35
38
while [ $# -gt 0 ]; do
47
55
ROOTDIR=%SRC_ROOTDIR%
48
BINDIR=$ROOTDIR/bin/%TARGET%
56
BINDIR="$ROOTDIR/bin/`$ROOTDIR/erts/autoconf/config.guess`"
57
#BINDIR="$ROOTDIR/bin/%TARGET%"
49
58
PROGNAME=$ROOTDIR/bin/cerl
55
if [ "x$EMACS" = "x" ]; then
62
while [ $# -gt 0 ]; do
63
65
# A system parameter!
66
68
# If next argument does not begin with a hyphen or a plus,
67
69
# it is used as the value of the system parameter.
83
cargs="$cargs -rootdir $1"
85
BINDIR=$ROOTDIR/erts-%VSN%/bin
100
cargs="$cargs -debug"
105
cargs="$cargs -debug"
111
cargs="$cargs -debug" # FIXME will give multiple -debug....
114
GDBBP="$GDBBP (insert-string \"break $1\") (comint-send-input)"
119
# cargs="$cargs -debug"
125
cargs="$cargs -shared"
130
cargs="$cargs -purify"
135
cargs="$cargs -quantify"
140
cargs="$cargs -purecov"
85
BINDIR="$ROOTDIR/bin/$1"
90
cargs="$cargs -rootdir $1"
92
BINDIR=$ROOTDIR/erts-%VSN%/bin
112
cargs="$cargs -gprof"
117
cargs="$cargs -hybrid"
122
cargs="$cargs -debug"
132
GDBBP="$GDBBP (insert-string \"break $1\") (comint-send-input)"
147
cargs="$cargs -shared"
152
cargs="$cargs -purify"
157
cargs="$cargs -quantify"
162
cargs="$cargs -purecov"
167
cargs="$cargs -valgrind"
151
179
EXEC=$BINDIR/erlexec
153
181
PROGNAME="$PROGNAME $cargs"
156
if [ $GDB != "no" ]; then
158
# We create a command to fire up emacs with
159
beam_args=`$EXEC -emu_args_exit ${1+"$@"}`
161
"(progn (gdb \"gdb $EMU\") \
162
(insert-string \"set args $beam_args\") \
163
(comint-send-input) \
167
# Leftovers, look at later....
169
# trap 'rm -f $GF; exit 0' 0 1 2 3 15
170
# echo "break $BREAK_POINT" >> $GF
171
# echo "run -- -root $ROOTDIR -progname \"$PROGNAME\" -- -home $HOME $@" >> $GF
172
# $GDB -command=$GF $EMU
174
#echo "(load \"/usr/share/emacs/21.2/lisp/gud.elc\")">autorun_gdb.el
175
#echo "(gdb \"$1\")" >> autorun_gdb.el
176
#$EMACS -l autorun_gdb.el &
177
#echo usage e.g.: ejj.sh my_prog test.cir
182
EMU=$EMU$TYPE$EMU_TYPE
184
if [ "x$GDB" = "x" ]; then
185
if [ $run_valgrind = yes ]; then
186
emu_xargs=`echo $xargs | sed "s|+|-|g"`
187
if [ "x$VALGRIND_LOG_DIR" = "x" ]; then
190
valgrind_log="--log-file=$VALGRIND_LOG_DIR/$EMU.log"
192
beam_args=`$EXEC -emu_args_exit ${1+"$@"}`
193
# Ahhhh... Need to quote $PROGNAME...
194
early_beam_args=`echo $beam_args | sed "s|^\(.*-progname\).*$|\1|g"`
195
late_beam_args=`echo $beam_args | sed "s|^$pre_beam_args.*\(--.*\)$|\1|g"`
197
exec valgrind $valgrind_log $BINDIR/$EMU $emu_xargs $early_beam_args "$PROGNAME" $late_beam_args
199
exec $EXEC $xargs ${1+"$@"}
181
exec $EXEC $xargs ${1+"$@"}
202
if [ "x$EMACS" = "x" ]; then
208
# Get emu args to use from erlexec...
209
beam_args=`$EXEC -emu_args_exit ${1+"$@"}`
210
gdbcmd="(insert-string \"set args $beam_args\") \
214
gdbcmd="(insert-string \"core ${core}\") (comint-send-input)"
219
gdbcmd="(insert-string \"core ${dir}/${core}\") \
225
gdbcmd="$gdbcmd $GDBBP \
226
(insert-string \"source $ROOTDIR/erts/etc/unix/etp-commands\") \
228
# Fire up gdb in emacs...
229
exec $EMACS --eval "(progn (gdb \"gdb $EMU\") $gdbcmd)"