common/tools/analysis/parselistdirs.pl
author Shabe Razvi <shaber@symbian.org>
Mon, 18 May 2009 11:39:37 +0100
changeset 98 aa585d28e584
parent 97 4f54ca96b7e8
child 100 c222f4b27ad7
permissions -rw-r--r--
Merge updates from master
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
97
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     1
#!/usr/bin/perl
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     2
use strict;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     3
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     4
#listdir_platform_MCL.PDK-3.5_baseline.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     5
#listdir_platform_MCL.PDK-3.5_post-clean.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     6
#listdir_platform_MCL.PDK-3.5_post-clean_delta.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     7
#listdir_platform_MCL.PDK-3.5_post-build-tools2.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     8
#listdir_platform_MCL.PDK-3.5_post-build-tools.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
     9
#listdir_platform_MCL.PDK-3.5_post-build-main.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    10
#listdir_platform_MCL.PDK-3.5_s60-baseline.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    11
#listdir_platform_MCL.PDK-3.5_post-s60-clean.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    12
#listdir_platform_MCL.PDK-3.5_post-s60-clean_delta.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    13
#listdir_platform_MCL.PDK-3.5_post-s60-build-tools.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    14
#listdir_platform_MCL.PDK-3.5_post-s60-build-main.log
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    15
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    16
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    17
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    18
my $lowercase = 1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    19
my $useoutputfiles = 1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    20
main();
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    21
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    22
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    23
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    24
sub main()
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    25
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    26
  if($lowercase)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    27
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    28
    print "Running in lower case mode!\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    29
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    30
  my $path = shift @ARGV;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    31
  my @listfiles = glob($path."listdir*");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    32
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    33
  my $gt_base;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    34
  my $gt_clean;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    35
  my $gt_main;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    36
  my $s60_base;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    37
  my $s60_clean;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    38
  my $s60_main;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    39
  foreach my $file (@listfiles)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    40
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    41
    if($file =~ m/s60/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    42
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    43
      if($file =~ m/baseline/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    44
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    45
        $s60_base = parsefile($file);  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    46
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    47
      elsif($file =~ m/clean.log/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    48
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    49
        $s60_clean = parsefile($file);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    50
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    51
      elsif($file =~ m/main.log/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    52
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    53
        $s60_main = parsefile($file);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    54
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    55
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    56
    else
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    57
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    58
      if($file =~ m/baseline/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    59
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    60
        $gt_base = parsefile($file);  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    61
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    62
      elsif($file =~ m/clean.log/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    63
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    64
        $gt_clean = parsefile($file);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    65
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    66
      elsif($file =~ m/main.log/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    67
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    68
        $gt_main = parsefile($file);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    69
      } 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    70
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    71
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    72
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    73
 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    74
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    75
  my $gt_try = diff($gt_base, $gt_clean);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    76
  my $gt_fail = diff($gt_base, $gt_main);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    77
  my $gt_built = diff($gt_try, $gt_fail);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    78
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    79
#  printgroup($gt_fail,'fail');
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    80
#  printgroup($gt_built,'built');
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    81
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    82
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    83
  my $s60_try = diff($s60_base, $s60_clean);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    84
  my $s60_fail = diff($s60_base, $s60_main);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    85
  my $s60_built = diff($s60_try, $s60_fail);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    86
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    87
  my $s60_add = diff($s60_main,$s60_base); 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    88
  my $gt_add = diff($gt_main,$gt_base); 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    89
 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    90
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    91
  my $try = union($gt_try,$s60_try); # All the stuff we try to build
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    92
  my $untouched = diff($gt_base,$try); # all the stuff we didn't try.
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    93
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    94
 #printgroup($try,"try");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    95
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    96
  my $uptodate = finduptodate($path); # this is a bit dicey, 'cos it might get deleted/rebuilt by another part...
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    97
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    98
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
    99
  printgroup(diff($untouched,$uptodate),"untouched"); # 'clean' doesn't remove headers if they are 'uptodate'
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   100
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   101
  my $rebuildfail = intersect(union($gt_built,$gt_add), $s60_fail); #everything built in GT, minus stuff that failed in S60 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   102
  my $rebuilt = intersect($gt_built, $s60_built); # everything built in both
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   103
  my $built = diff(diff(union($gt_built, $s60_built),$rebuilt),$rebuildfail); # everything built, minus rebuilt, minus rebuildfail  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   104
  my $fail = diff(union($gt_fail,$s60_fail),$rebuildfail); #everyhting that failed, minus the rebuild failures
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   105
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   106
  my $added = diff(union($gt_add,$s60_add),$rebuildfail); #all the stuff that got added, minus the stuff that filaed to rebuild
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   107
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   108
  printgroup($built,"built"); 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   109
  printgroup($rebuilt,'rebuilt');
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   110
  printgroup($rebuildfail,'rebuildfail');
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   111
  printgroup($added,"added");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   112
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   113
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   114
  printgroup($fail,"failed");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   115
  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   116
  $uptodate = diff($uptodate,union($added,$built)); #remove all stuff in other categories...'uptodate' was added late in the program
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   117
  printgroup($uptodate,"uptodate"); # uptodate list isn't that good at the moment...put it last.
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   118
}
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   119
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   120
sub printgroup($$)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   121
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   122
  my $group = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   123
  my $label = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   124
  foreach my $key (sort keys %$group)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   125
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   126
    print $label." : ".$key."\t".$group->{$key}."\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   127
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   128
  if($useoutputfiles)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   129
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   130
    my $filename = "results_$label.log"; 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   131
    open(FILE,">$filename") or die "Couldn't open $filename\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   132
    foreach my $key (sort keys %$group)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   133
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   134
      print FILE $key."\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   135
    }    
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   136
    close FILE;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   137
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   138
}
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   139
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   140
sub diff($s1,$s2)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   141
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   142
  my $s1 = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   143
  my $s2 = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   144
  my %r;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   145
  foreach my $key (keys %$s1)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   146
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   147
    if(!defined $s2->{$key})
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   148
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   149
      $r{$key} = $s1->{$key};
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   150
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   151
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   152
  return \%r;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   153
}
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   154
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   155
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   156
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   157
sub intersect($s1,$s2)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   158
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   159
  my $s1 = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   160
  my $s2 = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   161
  my %r;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   162
  foreach my $key (keys %$s1)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   163
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   164
    if(defined $s2->{$key})
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   165
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   166
      $r{$key} = $s2->{$key};
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   167
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   168
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   169
  return \%r;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   170
}
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   171
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   172
sub union($s1,$s2)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   173
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   174
  my $s1 = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   175
  my $s2 = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   176
  my %r;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   177
  foreach my $key (keys %$s1)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   178
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   179
    $r{$key} = $s1->{$key};
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   180
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   181
  foreach my $key (keys %$s2) #lazy
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   182
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   183
    $r{$key} = $s2->{$key};
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   184
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   185
  return \%r;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   186
}
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   187
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   188
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   189
sub finduptodate($path)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   190
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   191
  my $path = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   192
  my @files = glob($path."*CLEAN*compile.log");
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   193
  my %results;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   194
  foreach my $file (@files)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   195
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   196
    print "Reading $file\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   197
    open(FILE,"<$file") or die "Cannot open $file\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   198
    while( my $line = <FILE>)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   199
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   200
      if($line =~ m/<info>Up-to-date:\s+(.+)<\/info>/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   201
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   202
        my $str = $1;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   203
        $str =~ s/^\S:\///;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   204
        if($lowercase)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   205
        {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   206
          $str = lc($str);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   207
        }      
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   208
 
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   209
        $results{$str} = "";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   210
#        print $str;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   211
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   212
    }     
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   213
    close FILE;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   214
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   215
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   216
  return \%results;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   217
}
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   218
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   219
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   220
sub parsefile($file)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   221
{
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   222
  my $file = shift;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   223
#  my @results;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   224
  my %results;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   225
  print "Reading $file\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   226
  open(FILE,"<$file") or die "Couldn't open $file\n";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   227
  while(my $line = <FILE>)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   228
  {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   229
    $line =~ s/\n//;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   230
    if($line =~ m/\S+/)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   231
    {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   232
      if( $line !~/^epoc32/ ) #latest lists sometimes don't have this...
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   233
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   234
        $line = "epoc32/".$line;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   235
      }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   236
      if( $line !~/epoc32\/build\// ) #ignore epoc32/build
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   237
      {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   238
        if($lowercase)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   239
        {
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   240
          $line = lc($line);
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   241
        }      
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   242
        $results{$line} = "";
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   243
#       $results{$line} = $file; #debugging
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   244
      }  
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   245
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   246
#     push(@results,$line)
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   247
    }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   248
  }
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   249
  close FILE;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   250
#  return \@results;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   251
  return \%results;
4f54ca96b7e8 Add build analysis tools to <sf-run-analysis> target. All output generated in <logs>\analysis dir.
Shabe Razvi <shaber@symbian.org>
parents:
diff changeset
   252
}