Index: third_party/lcov-1.9/contrib/galaxy/conglomerate_functions.pl |
diff --git a/third_party/lcov-1.9/contrib/galaxy/conglomerate_functions.pl b/third_party/lcov-1.9/contrib/galaxy/conglomerate_functions.pl |
deleted file mode 100755 |
index 4e259feee11c929e093289cce7c87f25f34bb562..0000000000000000000000000000000000000000 |
--- a/third_party/lcov-1.9/contrib/galaxy/conglomerate_functions.pl |
+++ /dev/null |
@@ -1,195 +0,0 @@ |
-#! /usr/bin/perl -w |
- |
-# Takes a set of ps images (belonging to one file) and produces a |
-# conglomerate picture of that file: static functions in the middle, |
-# others around it. Each one gets a box about its area. |
- |
-use strict; |
- |
-my $SCRUNCH = $ARGV [0]; |
-my $BOXSCRUNCH = $ARGV [1]; |
-my $Tmp; |
-my $DEBUG = 1; |
- |
-shift @ARGV; # skip SCRUNCH and BOXSCRUNCH |
-shift @ARGV; |
- |
- |
-DecorateFuncs (@ARGV); |
- |
- |
-#TMPFILE=`mktemp ${TMPDIR:-/tmp}/$$.XXXXXX` |
- |
-# Arrange. |
-my $ArgList = ""; |
- |
-foreach $Tmp (@ARGV) { |
- $ArgList .= "'$Tmp' "; |
-} |
- |
-my @Arranged = `../draw_arrangement $SCRUNCH 0 360 0 $ArgList`; |
- |
-my $CFile = $ARGV [0]; |
-$CFile =~ s/\.c\..*$/.c/; |
-if ($DEBUG) { print ("% Conglomeration of $CFile\n"); } |
- |
-print "gsave angle rotate\n"; |
- |
-# Now output the file, except last line. |
-my $LastLine = pop (@Arranged); |
-my $Fill = Box_2 ($LastLine,$CFile); |
-print $Fill; |
-# Draw box with file name |
-my @Output = Box ('normal', 'Helvetica-Bold', 32, $CFile, $LastLine); |
-splice(@Output, $#Output, 0, "grestore\n"); |
-#print @Output; |
- |
-print (@Arranged); |
-#add a duplicate box to test if this works |
-print @Output; |
- |
- |
-sub ParseBound |
-{ |
- my $BBoxLine = shift; |
- |
- $BBoxLine =~ /(-?[\d.]+)\s+(-?[\d.]+)\s+(-?[\d.]+)\s+(-?[\d.]+)/; |
- |
- # XMin, YMin, XMax, YMax |
- return ($1 * $BOXSCRUNCH, $2 * $BOXSCRUNCH, |
- $3 * $BOXSCRUNCH, $4 * $BOXSCRUNCH); |
-} |
- |
- |
- |
-# Box (type, font, fontsize, Label, BBoxLine) |
-sub Box |
-{ |
- my $Type = shift; |
- my $Font = shift; |
- my $Fontsize = shift; |
- my $Label = shift; |
- my $BBoxLine = shift; |
- my @Output = (); |
- |
- # print (STDERR "Box ('$Type', '$Font', '$Fontsize', '$Label', '$BBoxLine')\n"); |
- push (@Output, "% start of box\n"); |
- |
- push (@Output, "D5\n") if ($Type eq "dashed"); |
- |
- # print (STDERR "BBoxLine: '$BBoxLine'\n"); |
- # print (STDERR "Parsed: '" . join ("' '", ParseBound ($BBoxLine)) . "\n"); |
- my ($XMin, $YMin, $XMax, $YMax) = ParseBound ($BBoxLine); |
- |
- my $LeftSpaced = $XMin + 6; |
- my $BottomSpaced = $YMin + 6; |
- |
- # Put black box around it |
- push (@Output, ( |
- "($Label) $LeftSpaced $BottomSpaced $Fontsize /$Font\n", |
- "$YMin $XMin $YMax $XMax U\n" |
- ) |
- ); |
- |
- push (@Output, "D\n") if ($Type eq "dashed"); |
- # fill bounding box |
- push (@Output, "% end of box\n"); |
- |
- # Output bounding box |
- push (@Output, "% bound $XMin $YMin $XMax $YMax\n"); |
- |
- return @Output; |
-} |
- |
-sub Box_2 |
-{ |
- my $BBoxLine = shift; |
- my $CFile = shift; |
- my $CovFile = "./coverage.dat"; |
- my ($XMin, $YMin, $XMax, $YMax) = ParseBound ($BBoxLine); |
- my @output = `fgrep $CFile $CovFile`; |
- chomp $output[0]; |
- my ($junk, $Class, $per) = split /\t/, $output[0]; |
- return "$XMin $YMin $XMax $YMax $Class\n"; |
-} |
-# Decorate (rgb-vals(1 string) filename) |
-sub Decorate |
-{ |
- my $RGB = shift; |
- my $Filename = shift; |
- |
- my @Input = ReadPS ($Filename); |
- my $LastLine = pop (@Input); |
- my @Output = (); |
- |
- # Color at the beginning. |
- push (@Output, "C$RGB\n"); |
- |
- # Now output the file, except last line. |
- push (@Output, @Input); |
- |
- # Draw dashed box with function name |
- # FIXME Make bound cover the label as well! |
- my $FuncName = $Filename; |
- $FuncName =~ s/^[^.]+\.c\.(.+?)\..*$/$1/; |
- |
- push (@Output, Box ('dashed', 'Helvetica', 24, $FuncName, $LastLine)); |
- |
- # Slap over the top. |
- WritePS ($Filename, @Output); |
-} |
- |
- |
- |
-# Add colored boxes around functions |
-sub DecorateFuncs |
-{ |
- my $FName = ""; |
- my $FType = ""; |
- |
- foreach $FName (@ARGV) |
- { |
- $FName =~ /\+([A-Z]+)\+/; |
- $FType = $1; |
- |
- if ($FType eq 'STATIC') { |
- Decorate ("2", $FName); # Light green. |
- } |
- elsif ($FType eq 'INDIRECT') { |
- Decorate ("3", $FName); # Green. |
- } |
- elsif ($FType eq 'EXPORTED') { |
- Decorate ("4", $FName); # Red. |
- } |
- elsif ($FType eq 'NORMAL') { |
- Decorate ("5", $FName); # Blue. |
- } |
- else { |
- die ("Unknown extension $FName"); |
- } |
- } |
-} |
- |
- |
-sub ReadPS |
-{ |
- my $Filename = shift; |
- my @Contents = (); |
- |
- open (INFILE, "$Filename") or die ("Could not read $Filename: $!"); |
- @Contents = <INFILE>; |
- close (INFILE); |
- |
- return @Contents; |
-} |
- |
-sub WritePS |
-{ |
- my $Filename = shift; |
- |
- open (OUTFILE, ">$Filename") |
- or die ("Could not write $Filename: $!"); |
- print (OUTFILE @_); |
- close (OUTFILE); |
-} |
- |