#!/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;