common/tools/analysis/scan_antlogs.pl
author Shabe Razvi <shaber@symbian.org>
Wed, 27 May 2009 14:11:37 +0100
changeset 111 5b0bc2f89660
parent 97 4f54ca96b7e8
child 164 9a13f5f790ee
permissions -rw-r--r--
Add postbuild RnD packaging. Add .whatlog to os tools build.
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
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
# Copyright (c) 2009 Symbian Foundation Ltd
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
# This component and the accompanying materials are made available
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
# under the terms of the License "Eclipse Public License v1.0"
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
# which accompanies this distribution, and is available
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
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
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
#
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
# Initial Contributors:
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
# Symbian Foundation Ltd - initial contribution.
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
# 
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
# Contributors:
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
#
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
# Description:
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
# Parse "ant" logs from SBS build to determine missing source 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
    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
my $pdk_src = "../.."; # path to sf tree - correct from "build/output"
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
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 %missing_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
    20
my %damaged_components;
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
my %excluded_things;
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
my %abld_import;
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
my %damaged_bldinfs;
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
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
sub canonical_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
    26
  {
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
  my ($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
    28
  my @bits = split /\//, $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
    29
  my @newbits = ();
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
  
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
  foreach my $bit (@bits)
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
    next if ($bit eq ".");
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
    if ($bit eq "..")
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
      {
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
      pop @newbits;
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
      next;
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
      }
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
      push @newbits, $bit;
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
  return join("/", @newbits);
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
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
sub excluded_thing($$$)
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
  {
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
  my ($path, $missing, $reason) = @_;
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
  if (!defined $excluded_things{$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
    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
    @{$excluded_things{$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
    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
  push @{$excluded_things{$path}}, $missing;
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
  # print "Missing $missing from excluded $path ($reason)\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
    53
  }
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
sub do_missing_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
    56
  {
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
  my ($missing, $missing_from, $reason) = @_;
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
  
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
  $missing = canonical_path($missing);
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
  $missing_from = canonical_path($missing_from);
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
  my $component = "??";
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
  if ($missing_from ne "??")
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
    {
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
    my @dirs = split /\//, $missing_from;
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
    shift @dirs if ($dirs[0] eq "sf");
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
    $path = $pdk_src . "/sf/$dirs[0]/$dirs[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
    69
    if (!-e $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
    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
      # no sign of the package
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
      excluded_thing($path, $missing, $reason);
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
      return;
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
    $path .= "/$dirs[2]";
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
    if (!-e $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
    77
      {
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
      # no sign of the collection
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
      excluded_thing($path, $missing, $reason);
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
      return;
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
    $path .= "/$dirs[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
    83
    if (!-e $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
    84
      {
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
      # no sign of the component
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
      excluded_thing($path, $missing, $reason);
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
      return;
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
      }
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
    $component = join("/", $dirs[0], $dirs[1], $dirs[2], $dirs[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
    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
  
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
  $missing_files{$missing} = $reason if ($missing ne "??");
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
  if (!defined $damaged_components{$component})
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
    @{$damaged_components{$component}} = ();
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
  push @{$damaged_components{$component}}, $missing;
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
  }
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
sub scan_logfile($)
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
{
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 ($logfile) = @_;
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
  
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
  open FILE, "<$logfile" or print "Error: cannot open $logfile: $!\n" and return;
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
  
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
  my $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
   108
  while ($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
   109
    {
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
    # Could not export s:/sf/mw/classicui/commonuisupport/uikon/docs/Uikon_1.2_Caps_Lock_Extension.doc to s:/epoc32/engdoc/application_framework/uikon/uikon_1.2_caps_lock_extension.doc
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
    if ($line =~ /^Could not export .*\/(sf\/.*) to .:\/(epoc32\/.*)$/)
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
      my $source = $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
   114
      my $exported = $2;
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
      if (-e "m:/$exported")
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
        {
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
        $abld_import{$source} = $exported;
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
      next;
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
      }
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
    # Source of export does not exist:  s:/sf/mw/messagingmw/messagingfw/msgtests/group/msgerr.ra
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
    # Source zip for export does not exist: s:/sf/os/deviceplatformrelease/S60LocFiles/data/96.zip
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
    if ($line =~ /^Source (of|zip for) export does not exist.\s+.*\/(sf\/.*)$/)
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
      {
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
      do_missing_file($2, "??", "source of export");
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
      next;
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
    # No bld.inf found at sf/os/buildtools/toolsandutils/burtestserver/Group in s:/output/build/canonical_system_definition_GT_tb91sf.xml
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
    # No bld.inf found at s:/sf/adaptation/stubs/licensee_tsy_stub/group in s:/output/build/canonical_system_definition_S60_5_1_clean.xml
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
    if ($line =~ /No bld.inf found at (.*\/)?(sf\/.*) in /i)
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
      {
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
      my $bldinf = "$2/bld.inf";
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
      do_missing_file($bldinf, $bldinf, "no bld.inf");
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
      $damaged_bldinfs{"$bldinf\t(missing)"} = 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
   136
      next;
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
    # D:/Symbian/Tools/PDT_1.0/raptor/win32/mingw/bin/cpp.exe: s:/sf/os/networkingsrv/networksecurity/ipsec/group/bld.inf:19:42: ../eventmediator/group/bld.inf: No such file or directory
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
    if ($line =~ /cpp.exe: .*\/(sf\/[^:]*):.*\s+([^:]+): No such 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
   140
      {
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
      my $parent = $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
   142
      my $relative = $2;
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
  
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
      if ($parent =~ /\.inf$/i)
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
        {
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
        my $parent = canonical_path($parent);
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
        $damaged_bldinfs{"$parent\t$relative"} = 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
   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
      do_missing_file("$parent/../$relative", $parent, "#include");
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
      next;  
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
    }
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
    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
   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
  my @logfiles = map(glob,@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
   157
  foreach my $logfile (@logfiles)
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
    print "Scanning $logfile...\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
   160
    scan_logfile($logfile);
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
    }
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
  
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
  printf "%d Excluded things\n", scalar keys %excluded_things;
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
  foreach my $component (sort keys %excluded_things)
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
    my @list = @{$excluded_things{$component}};
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
    my %hash;
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
    foreach my $missing (@list)
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
      {
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
      $hash{$missing} = 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
   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
    printf "%s\t%d\n", $component, scalar keys %hash;
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
    print "\t", join("\n\t", sort keys %hash), "\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
   174
    }
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
  print "\nDamaged components\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
   176
  foreach my $component (sort keys %damaged_components)
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
    {
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
    my @list = @{$damaged_components{$component}};
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
    my %hash;
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
    foreach my $missing (@list)
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
      {
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
      $hash{$missing} = 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
   183
      }
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
    printf "%s\t%d\n", $component, scalar keys %hash;
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
    print "\t", join("\n\t", sort keys %hash), "\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
   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
  print "\nMissing files\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
   188
  foreach my $missing (sort keys %missing_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
   189
    {
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
    my $exported = $abld_import{$missing};
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
    $exported = "(not in PDK)" if (!defined $exported);
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 $reason = $missing_files{$missing};
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 @dirs = split /\//, $missing;
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
    my $path = shift @dirs;
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
    my $dir;
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
    
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
    while ($dir = shift @dirs)
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
      {
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
      if (-e "$pdk_src/$path/$dir")
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
        {
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
        # still exists at this point
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
        $path .= "/$dir";
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
        next;
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
        }
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
      print "\t$reason\t$path\t\t", join("/", $dir,@dirs), "\t$exported\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
   206
      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
   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
  
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 "\nDamaged bld.infs\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
   211
  print join("\n", sort keys %damaged_bldinfs, "");
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
  print "\n\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
   214
  printf "%d files missing from ", scalar keys %missing_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
   215
  printf "%d damaged components\n", scalar keys %damaged_components;
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