| Index: third_party/lcov-1.9/bin/genpng | 
| diff --git a/third_party/lcov-1.9/bin/genpng b/third_party/lcov-1.9/bin/genpng | 
| deleted file mode 100755 | 
| index 7fe9dfe10caaaceb448d202d8921d0718be0e8c6..0000000000000000000000000000000000000000 | 
| --- a/third_party/lcov-1.9/bin/genpng | 
| +++ /dev/null | 
| @@ -1,384 +0,0 @@ | 
| -#!/usr/bin/perl -w | 
| -# | 
| -#   Copyright (c) International Business Machines  Corp., 2002 | 
| -# | 
| -#   This program is free software;  you can redistribute it and/or modify | 
| -#   it under the terms of the GNU General Public License as published by | 
| -#   the Free Software Foundation; either version 2 of the License, or (at | 
| -#   your option) any later version. | 
| -# | 
| -#   This program is distributed in the hope that it will be useful, but | 
| -#   WITHOUT ANY WARRANTY;  without even the implied warranty of | 
| -#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU | 
| -#   General Public License for more details. | 
| -# | 
| -#   You should have received a copy of the GNU General Public License | 
| -#   along with this program;  if not, write to the Free Software | 
| -#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 
| -# | 
| -# | 
| -# genpng | 
| -# | 
| -#   This script creates an overview PNG image of a source code file by | 
| -#   representing each source code character by a single pixel. | 
| -# | 
| -#   Note that the PERL module GD.pm is required for this script to work. | 
| -#   It may be obtained from http://www.cpan.org | 
| -# | 
| -# History: | 
| -#   2002-08-26: created by Peter Oberparleiter <Peter.Oberparleiter@de.ibm.com> | 
| -# | 
| - | 
| -use strict; | 
| -use File::Basename; | 
| -use Getopt::Long; | 
| - | 
| - | 
| -# Constants | 
| -our $lcov_version	= 'LCOV version 1.9'; | 
| -our $lcov_url		= "http://ltp.sourceforge.net/coverage/lcov.php"; | 
| -our $tool_name		= basename($0); | 
| - | 
| - | 
| -# Prototypes | 
| -sub gen_png($$$@); | 
| -sub check_and_load_module($); | 
| -sub genpng_print_usage(*); | 
| -sub genpng_process_file($$$$); | 
| -sub genpng_warn_handler($); | 
| -sub genpng_die_handler($); | 
| - | 
| - | 
| -# | 
| -# Code entry point | 
| -# | 
| - | 
| -# Prettify version string | 
| -$lcov_version =~ s/\$\s*Revision\s*:?\s*(\S+)\s*\$/$1/; | 
| - | 
| -# Check whether required module GD.pm is installed | 
| -if (check_and_load_module("GD")) | 
| -{ | 
| -	# Note: cannot use die() to print this message because inserting this | 
| -	# code into another script via do() would not fail as required! | 
| -	print(STDERR <<END_OF_TEXT) | 
| -ERROR: required module GD.pm not found on this system (see www.cpan.org). | 
| -END_OF_TEXT | 
| -	; | 
| -	exit(2); | 
| -} | 
| - | 
| -# Check whether we're called from the command line or from another script | 
| -if (!caller) | 
| -{ | 
| -	my $filename; | 
| -	my $tab_size = 4; | 
| -	my $width = 80; | 
| -	my $out_filename; | 
| -	my $help; | 
| -	my $version; | 
| - | 
| -	$SIG{__WARN__} = \&genpng_warn_handler; | 
| -	$SIG{__DIE__} = \&genpng_die_handler; | 
| - | 
| -	# Parse command line options | 
| -	if (!GetOptions("tab-size=i" => \$tab_size, | 
| -			"width=i" => \$width, | 
| -			"output-filename=s" => \$out_filename, | 
| -			"help" => \$help, | 
| -			"version" => \$version)) | 
| -	{ | 
| -		print(STDERR "Use $tool_name --help to get usage ". | 
| -		      "information\n"); | 
| -		exit(1); | 
| -	} | 
| - | 
| -	$filename = $ARGV[0]; | 
| - | 
| -	# Check for help flag | 
| -	if ($help) | 
| -	{ | 
| -		genpng_print_usage(*STDOUT); | 
| -		exit(0); | 
| -	} | 
| - | 
| -	# Check for version flag | 
| -	if ($version) | 
| -	{ | 
| -		print("$tool_name: $lcov_version\n"); | 
| -		exit(0); | 
| -	} | 
| - | 
| -	# Check options | 
| -	if (!$filename) | 
| -	{ | 
| -		die("No filename specified\n"); | 
| -	} | 
| - | 
| -	# Check for output filename | 
| -	if (!$out_filename) | 
| -	{ | 
| -		$out_filename = "$filename.png"; | 
| -	} | 
| - | 
| -	genpng_process_file($filename, $out_filename, $width, $tab_size); | 
| -	exit(0); | 
| -} | 
| - | 
| - | 
| -# | 
| -# genpng_print_usage(handle) | 
| -# | 
| -# Write out command line usage information to given filehandle. | 
| -# | 
| - | 
| -sub genpng_print_usage(*) | 
| -{ | 
| -	local *HANDLE = $_[0]; | 
| - | 
| -	print(HANDLE <<END_OF_USAGE) | 
| -Usage: $tool_name [OPTIONS] SOURCEFILE | 
| - | 
| -Create an overview image for a given source code file of either plain text | 
| -or .gcov file format. | 
| - | 
| -  -h, --help                        Print this help, then exit | 
| -  -v, --version                     Print version number, then exit | 
| -  -t, --tab-size TABSIZE            Use TABSIZE spaces in place of tab | 
| -  -w, --width WIDTH                 Set width of output image to WIDTH pixel | 
| -  -o, --output-filename FILENAME    Write image to FILENAME | 
| - | 
| -For more information see: $lcov_url | 
| -END_OF_USAGE | 
| -	; | 
| -} | 
| - | 
| - | 
| -# | 
| -# check_and_load_module(module_name) | 
| -# | 
| -# Check whether a module by the given name is installed on this system | 
| -# and make it known to the interpreter if available. Return undefined if it | 
| -# is installed, an error message otherwise. | 
| -# | 
| - | 
| -sub check_and_load_module($) | 
| -{ | 
| -	eval("use $_[0];"); | 
| -	return $@; | 
| -} | 
| - | 
| - | 
| -# | 
| -# genpng_process_file(filename, out_filename, width, tab_size) | 
| -# | 
| - | 
| -sub genpng_process_file($$$$) | 
| -{ | 
| -	my $filename		= $_[0]; | 
| -	my $out_filename	= $_[1]; | 
| -	my $width		= $_[2]; | 
| -	my $tab_size		= $_[3]; | 
| -	local *HANDLE; | 
| -	my @source; | 
| - | 
| -	open(HANDLE, "<$filename") | 
| -		or die("ERROR: cannot open $filename!\n"); | 
| - | 
| -	# Check for .gcov filename extension | 
| -	if ($filename =~ /^(.*).gcov$/) | 
| -	{ | 
| -		# Assume gcov text format | 
| -		while (<HANDLE>) | 
| -		{ | 
| -			if (/^\t\t(.*)$/) | 
| -			{ | 
| -				# Uninstrumented line | 
| -				push(@source, ":$1"); | 
| -			} | 
| -			elsif (/^      ######    (.*)$/) | 
| -			{ | 
| -				# Line with zero execution count | 
| -				push(@source, "0:$1"); | 
| -			} | 
| -			elsif (/^( *)(\d*)    (.*)$/) | 
| -			{ | 
| -				# Line with positive execution count | 
| -				push(@source, "$2:$3"); | 
| -			} | 
| -		} | 
| -	} | 
| -	else | 
| -	{ | 
| -		# Plain text file | 
| -		while (<HANDLE>) { push(@source, ":$_"); } | 
| -	} | 
| -	close(HANDLE); | 
| - | 
| -	gen_png($out_filename, $width, $tab_size, @source); | 
| -} | 
| - | 
| - | 
| -# | 
| -# gen_png(filename, width, tab_size, source) | 
| -# | 
| -# Write an overview PNG file to FILENAME. Source code is defined by SOURCE | 
| -# which is a list of lines <count>:<source code> per source code line. | 
| -# The output image will be made up of one pixel per character of source, | 
| -# coloring will be done according to execution counts. WIDTH defines the | 
| -# image width. TAB_SIZE specifies the number of spaces to use as replacement | 
| -# string for tabulator signs in source code text. | 
| -# | 
| -# Die on error. | 
| -# | 
| - | 
| -sub gen_png($$$@) | 
| -{ | 
| -	my $filename = shift(@_);	# Filename for PNG file | 
| -	my $overview_width = shift(@_);	# Imagewidth for image | 
| -	my $tab_size = shift(@_);	# Replacement string for tab signs | 
| -	my @source = @_;	# Source code as passed via argument 2 | 
| -	my $height = scalar(@source);	# Height as define by source size | 
| -	my $overview;		# Source code overview image data | 
| -	my $col_plain_back;	# Color for overview background | 
| -	my $col_plain_text;	# Color for uninstrumented text | 
| -	my $col_cov_back;	# Color for background of covered lines | 
| -	my $col_cov_text;	# Color for text of covered lines | 
| -	my $col_nocov_back;	# Color for background of lines which | 
| -				# were not covered (count == 0) | 
| -	my $col_nocov_text;	# Color for test of lines which were not | 
| -				# covered (count == 0) | 
| -	my $col_hi_back;	# Color for background of highlighted lines | 
| -	my $col_hi_text;	# Color for text of highlighted lines | 
| -	my $line;		# Current line during iteration | 
| -	my $row = 0;		# Current row number during iteration | 
| -	my $column;		# Current column number during iteration | 
| -	my $color_text;		# Current text color during iteration | 
| -	my $color_back;		# Current background color during iteration | 
| -	my $last_count;		# Count of last processed line | 
| -	my $count;		# Count of current line | 
| -	my $source;		# Source code of current line | 
| -	my $replacement;	# Replacement string for tabulator chars | 
| -	local *PNG_HANDLE;	# Handle for output PNG file | 
| - | 
| -	# Create image | 
| -	$overview = new GD::Image($overview_width, $height) | 
| -		or die("ERROR: cannot allocate overview image!\n"); | 
| - | 
| -	# Define colors | 
| -	$col_plain_back	= $overview->colorAllocate(0xff, 0xff, 0xff); | 
| -	$col_plain_text	= $overview->colorAllocate(0xaa, 0xaa, 0xaa); | 
| -	$col_cov_back	= $overview->colorAllocate(0xaa, 0xa7, 0xef); | 
| -	$col_cov_text	= $overview->colorAllocate(0x5d, 0x5d, 0xea); | 
| -	$col_nocov_back = $overview->colorAllocate(0xff, 0x00, 0x00); | 
| -	$col_nocov_text = $overview->colorAllocate(0xaa, 0x00, 0x00); | 
| -	$col_hi_back = $overview->colorAllocate(0x00, 0xff, 0x00); | 
| -	$col_hi_text = $overview->colorAllocate(0x00, 0xaa, 0x00); | 
| - | 
| -	# Visualize each line | 
| -	foreach $line (@source) | 
| -	{ | 
| -		# Replace tabs with spaces to keep consistent with source | 
| -		# code view | 
| -		while ($line =~ /^([^\t]*)(\t)/) | 
| -		{ | 
| -			$replacement = " "x($tab_size - ((length($1) - 1) % | 
| -				       $tab_size)); | 
| -			$line =~ s/^([^\t]*)(\t)/$1$replacement/; | 
| -		} | 
| - | 
| -		# Skip lines which do not follow the <count>:<line> | 
| -		# specification, otherwise $1 = count, $2 = source code | 
| -		if (!($line =~ /(\*?)(\d*):(.*)$/)) { next; } | 
| -		$count = $2; | 
| -		$source = $3; | 
| - | 
| -		# Decide which color pair to use | 
| - | 
| -		# If this line was not instrumented but the one before was, | 
| -		# take the color of that line to widen color areas in | 
| -		# resulting image | 
| -		if (($count eq "") && defined($last_count) && | 
| -		    ($last_count ne "")) | 
| -		{ | 
| -			$count = $last_count; | 
| -		} | 
| - | 
| -		if ($count eq "") | 
| -		{ | 
| -			# Line was not instrumented | 
| -			$color_text = $col_plain_text; | 
| -			$color_back = $col_plain_back; | 
| -		} | 
| -		elsif ($count == 0) | 
| -		{ | 
| -			# Line was instrumented but not executed | 
| -			$color_text = $col_nocov_text; | 
| -			$color_back = $col_nocov_back; | 
| -		} | 
| -		elsif ($1 eq "*") | 
| -		{ | 
| -			# Line was highlighted | 
| -			$color_text = $col_hi_text; | 
| -			$color_back = $col_hi_back; | 
| -		} | 
| -		else | 
| -		{ | 
| -			# Line was instrumented and executed | 
| -			$color_text = $col_cov_text; | 
| -			$color_back = $col_cov_back; | 
| -		} | 
| - | 
| -		# Write one pixel for each source character | 
| -		$column = 0; | 
| -		foreach (split("", $source)) | 
| -		{ | 
| -			# Check for width | 
| -			if ($column >= $overview_width) { last; } | 
| - | 
| -			if ($_ eq " ") | 
| -			{ | 
| -				# Space | 
| -				$overview->setPixel($column++, $row, | 
| -						    $color_back); | 
| -			} | 
| -			else | 
| -			{ | 
| -				# Text | 
| -				$overview->setPixel($column++, $row, | 
| -						    $color_text); | 
| -			} | 
| -		} | 
| - | 
| -		# Fill rest of line | 
| -		while ($column < $overview_width) | 
| -		{ | 
| -			$overview->setPixel($column++, $row, $color_back); | 
| -		} | 
| - | 
| -		$last_count = $2; | 
| - | 
| -		$row++; | 
| -	} | 
| - | 
| -	# Write PNG file | 
| -	open (PNG_HANDLE, ">$filename") | 
| -		or die("ERROR: cannot write png file $filename!\n"); | 
| -	binmode(*PNG_HANDLE); | 
| -	print(PNG_HANDLE $overview->png()); | 
| -	close(PNG_HANDLE); | 
| -} | 
| - | 
| -sub genpng_warn_handler($) | 
| -{ | 
| -	my ($msg) = @_; | 
| - | 
| -	warn("$tool_name: $msg"); | 
| -} | 
| - | 
| -sub genpng_die_handler($) | 
| -{ | 
| -	my ($msg) = @_; | 
| - | 
| -	die("$tool_name: $msg"); | 
| -} | 
|  |