You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.0 KiB
Perl
45 lines
1.0 KiB
Perl
#!/usr/bin/perl
|
|
$prefix = "c:/WinAVR";
|
|
$datadir = "c:/WinAVR/doc";
|
|
$debugger = "avr-gdb";
|
|
|
|
@argcmds = ( "-b", "--cd", "--command", "--core", "--pid", "--directory",
|
|
"--exec", "--interpreter", "--se", "--symbols", "--tty",
|
|
"-s", "-e", "-se", "-x", "-d" );
|
|
|
|
for ($i = 0; $i <= $#ARGV; $i++) {
|
|
$arg = $ARGV[$i];
|
|
|
|
if ($arg =~ /^-/ &&
|
|
(grep $_ eq $arg, @argcmds || grep /^-$arg$/, @argcmds)) {
|
|
$i++;
|
|
}
|
|
elsif ($arg eq "--debugger" && $i < $#ARGV) {
|
|
$debugger = $ARGV[$i + 1];
|
|
splice @ARGV, $i, 2;
|
|
$i--;
|
|
}
|
|
elsif ($arg eq "--capture" || $arg eq "--ignore-intr") {
|
|
$ENV{AVARICE_ARGS} = "$ENV{AVARICE_ARGS} $arg";
|
|
splice @ARGV, $i, 1;
|
|
# Don't load an executable
|
|
$capture = 1 if $arg eq "--capture";
|
|
$i--;
|
|
}
|
|
elsif ($arg eq "--external") {
|
|
$avarice_running = 1;
|
|
splice @ARGV, $i, 1;
|
|
$i--;
|
|
}
|
|
elsif (!($arg =~ /^-/)) {
|
|
$exe = $arg;
|
|
break;
|
|
}
|
|
}
|
|
|
|
$exe = "" if $capture;
|
|
|
|
system "start-avarice $exe" unless $avarice_running;
|
|
unshift @ARGV, ($debugger, "-x", "$datadir/avarice/gdb-avarice-script" );
|
|
exec @ARGV;
|