45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								#!/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;
							 |