sdkcreationmw/sdkbuild/sdk_build.pl
author rajpuroh
Wed, 21 Apr 2010 09:56:53 +0530
changeset 1 ac50fd48361b
parent 0 b26acd06ea60
permissions -rw-r--r--
Second Contribution
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     1
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     2
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     3
# All rights reserved.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     4
# This component and the accompanying materials are made available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     5
# under the terms of "Eclipse Public License v1.0"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     6
# which accompanies this distribution, and is available
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     8
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
     9
# Initial Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    10
# Nokia Corporation - initial contribution.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    11
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    12
# Contributors:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    13
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    14
# Description:
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    15
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    16
#! /usr/bin/perl
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    17
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    18
# Series 60 SDK build script.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    19
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    20
# Reads the configuration from sdk_build.conf file located in the same
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    21
# directory as the build script. The comments in the configuration file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    22
# descripe its format.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    23
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    24
# The important feature of this script is that it's not only part of the
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    25
# nightly build, but also part of the SDK development environment.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    26
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    27
#   First, it re-generates the diffs after developer has
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    28
#   modified a platform file. It uses the diff utility
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    29
#   provided by the Symbian build environment (as opposed
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    30
#   to taking it from the PATH, be it MKS Toolkit, cygwin
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    31
#   or whatever else you may have installed). That makes
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    32
#   sure that the diff is produced in a standard format.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    33
#   Also, if the diff didn't really change (the script will
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    34
#   ignore non-essential changes in the diff, such as time
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    35
#   stamps in the header) the diff file in platform_mod
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    36
#   doesn't get updated.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    37
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    38
#   Second, the developers can (and do) re-run this script in
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    39
#   their work area, and that will produce the same result as
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    40
#   when it runs on top of a clean build area. Maybe not 100%
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    41
#   the same, but accurate enough to provide, say 95% guarantee
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    42
#   that if the build compiles on the developer's machine, it
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    43
#   will do the same in the nightly build. That will help us
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    44
#   to avoid broken builds.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    45
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    46
#   Third, the script has minimal dependency on the
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    47
#   environment (i.e. environment variables, where the
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    48
#   CodeWarrior/VisualStudio/Perl are installed, etc.)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    49
#   A typical problem of the build scripts is that they
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    50
#   make too many assumptions about the environment, and
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    51
#   it's only a matter of time when one build script starts
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    52
#   conflicting with another. Most developers build multiple
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    53
#   products on their machines. I've been in the situations
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    54
#   when one development environment breaks another. Very
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    55
#   frustrating and inefficient.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    56
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    57
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    58
use Cwd;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    59
use File::Copy;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    60
use File::Temp;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    61
use File::Path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    62
use File::Find;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    63
use FindBin;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    64
use Env qw(JAVA_HOME EPOCROOT BUILD_ROOT MWCIncludes PATH);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    65
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    66
push (@INC, $FindBin::RealBin);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    67
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    68
require "sdk_env.pl";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    69
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    70
MAIN:{
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    71
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    72
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    73
# Log levels
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    74
$LOG_DEBUG = 2;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    75
$LOG_VERBOSE = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    76
$LOG_NORMAL = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    77
$LOG_QUIET = -1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    78
$LOG_SILENT = -2;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    79
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    80
# Build types
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    81
$BUILD_TYPE_CPP = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    82
$BUILD_TYPE_MIDP = 2;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    83
$BUILD_TYPE_ALL = 3;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    84
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    85
# Editable configuration
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    86
$LOGLEVEL = $LOG_NORMAL;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    87
$DO_PATCH = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    88
$DO_DIFF = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    89
$BUILD_PLATFORM = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    90
$BUILD_JAVA = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    91
$BUILD_SDK = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    92
$LOG = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    93
$CLEAN = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    94
$REBUILD = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    95
$BUILD_TYPE = $BUILD_TYPE_ALL;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    96
$CHECK_BUILD = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    97
$DO_UNPATCH = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
    98
$FINALIZE_S60EX = 0;
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
    99
$DO_EMU_PATCH=0;  ## Added to run optimize emulator patch only when complete build is given
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   100
$DO_DB_UPDATE=0;  ## Added to update commsdb only when complete build is given
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   101
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   102
# Non-edtable configuration
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   103
$FS = '/';  # File separator
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   104
$PS = ';';  # Path separator
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   105
@PLATFORMS = ("winscw");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   106
@VARIANTS  = ("udeb", "urel");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   107
@SDK_MODULES = (
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   108
  "NMIT",
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   109
 #"sdkcommonutils",
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   110
  "msgsimulation",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   111
  "xrpcrt",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   112
  "wsock",
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   113
  "new_wsock_3pc",
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   114
  "emumenubar",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   115
  "bluetoothdriver",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   116
  #"Tools",
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   117
  "scard",
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   118
  "MIDP",  
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   119
  "AsyStub"
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   120
);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   121
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   122
$PATCH_LIST_FNAME = "sdk_build.conf";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   123
$PLATFORM = get_plat_name ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   124
$SDK_PROJ_NAME = "PublicSDK/sdkcreationmw"; 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   125
$PATCH_DIR = "$SDK_PROJ_NAME/sdkplatformupdates/";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   126
$BUILD_SCRIPTS_DIR = $BUILD_ROOT . "$SDK_PROJ_NAME/sdkbuild";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   127
$S60_TOOLS_DIR = $BUILD_ROOT . "$SDK_PROJ_NAME/sdkruntimes";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   128
$BACKUP_PREFIX = ".#";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   129
$PATCH_EXT = "diff";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   130
$DIED_MSG = "ERROR!";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   131
$WARNING = "WARNING:";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   132
$NOTE = "NOTE:";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   133
$NULL_NAME = "NULL";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   134
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   135
$patch_list_path = "$BUILD_ROOT$PATCH_DIR/$PATCH_LIST_FNAME";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   136
$TMP_CONF = "$BUILD_SCRIPTS_DIR/__tmp.conf";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   137
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   138
$DIFF_EXE =  "$BUILD_SCRIPTS_DIR/diff.exe";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   139
$PATCH_EXE = "$BUILD_SCRIPTS_DIR/patch.exe";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   140
$REDIFF_CMD = "$DIFF_EXE -N -c5";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   141
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   142
$LOG_FILE = sprintf ("sdk_build-%d%02d%02d_%02d-%02d-%02d.log",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   143
                     $year + 1900, $mon + 1, $mday, $hour, $min, $sec);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   144
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   145
# Define Java build configuration
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   146
$JAVA_SRC_ROOT = "${BUILD_ROOT}PublicSDK/sdkcreationmw/sdkconnectivityfw/emuconnectmanager/epdt_java";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   147
$JAVA_BUILD_DIR = "${JAVA_SRC_ROOT}";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   148
$JAVA_DIST_DIR = "${JAVA_SRC_ROOT}/build/ecmt";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   149
$JAVA_TARGET_DIR = "${BUILD_ROOT}epoc32/tools/ecmt";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   150
@JAVA_CLEAN_DIRS = (
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   151
  "$JAVA_TARGET_DIR/config",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   152
  "$JAVA_TARGET_DIR/language",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   153
  "$JAVA_TARGET_DIR/lib",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   154
  "$JAVA_TARGET_DIR/log",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   155
  "$JAVA_TARGET_DIR/plugins"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   156
);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   157
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   158
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   159
# parse the command line
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   160
  parse_cmd_line (@ARGV);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   161
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   162
  $BUILD_ROOT = $ENV{BUILD_ROOT};
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   163
  $EPOCROOT = $ENV{EPOCROOT};
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   164
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   165
  @bld_info = ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   166
  if ($LOG && !(open (LOG_FH, "> $LOG_FILE"))) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   167
    warn "Could'n open log file $LOG_FILE. Logging is turned OFF.\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   168
    $LOG = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   169
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   170
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   171
  # Make sure that the required executables are there
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   172
  if (!-e $DIFF_EXE) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   173
    err ($DIFF_EXE . " is missing");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   174
    exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   175
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   176
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   177
  if (!-e $PATCH_EXE) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   178
    err ($PATCH_EXE . " is missing");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   179
    exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   180
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   181
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   182
  msg ("Build script started at " . localtime());
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   183
  msg ("Cmd line: $0 @ARGV");
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   184
  
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   185
  
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   186
  if ($DO_EMU_PATCH)
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   187
  {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   188
	  #Apply OptimiseEmulator patch to improve the SDK performance
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   189
	  #Do not remove eval error handling, it will cause issues with build scripts
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   190
	  msg ("Starting Optimise Emulator Patch,  " . localtime());
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   191
	  eval
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   192
	  {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   193
## 	do_apply_patch_OptimiseEmulator();
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   194
	  };
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   195
	  if ($@)
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   196
	  {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   197
	        print "\n ERROR: $@";
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   198
	  }
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   199
	  msg ("End of Optimise Emulator Patch,  " . localtime());
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   200
	}
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   201
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   202
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   203
  open PATCH_LIST, $patch_list_path or die "$DIED_MSG Could not find $patch_list_path!";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   204
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   205
  if ($DO_PATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   206
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   207
    # IMPORTANT! SDK now maintains two startup-lists, which both are modified
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   208
    # versions of the original one, but patched differently. To achieve this
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   209
    # we have to first make a copy of the original list. The copy is made of
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   210
    # .orig, if such exists - if not (i.e. very first patch), then from then
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   211
    # original file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   212
    # Unfortunately there is no simple way to do this without hardcoding.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   213
    #
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   214
    #$starter_path = "${BUILD_ROOT}sf/os/devicesrv/sysstatemgmt/starter/starterserver/data";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   215
    #$starter_list = "starter.rss";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   216
    #$starter_list2 = "starter_full.rss";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   217
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   218
    #if (not -e "$starter_path/$starter_list2") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   219
     # dbg ("making a copy of the startup-list");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   220
     # if (-e "$starter_path/$starter_list.orig") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   221
      #  copy_or_die ("$starter_path/$starter_list.orig", "$starter_path/$starter_list2");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   222
     # } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   223
      #  copy_or_die ("$starter_path/$starter_list", "$starter_path/$starter_list2");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   224
     # }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   225
   # }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   226
    #else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   227
     # dbg ("full startup-list already exists");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   228
   # }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   229
    
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   230
   #  This starter is commented by Dhanvantri For Integration  
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   231
   # $starter_non_critical_path = "${BUILD_ROOT}sf/os/devicesrv/sysstatemgmt/starter/starterserver/data";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   232
   # $starter_non_critical_list = "starter_non_critical_1.rss";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   233
   # $starter_non_critical_list2 = "starter_non_critical_1_full.rss";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   234
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   235
   # if (not -e "$starter_non_critical_path/$starter_non_critical_list2") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   236
   #   dbg ("making a copy of the startup-list");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   237
   #   if (-e "$starter_non_critical_path/$starter_non_critical_list.orig") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   238
   #     copy_or_die ("$starter_non_critical_path/$starter_non_critical_list.orig", "$starter_non_critical_path/$starter_non_critical_list2");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   239
    #  } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   240
     #   copy_or_die ("$starter_non_critical_path/$starter_non_critical_list", "$starter_non_critical_path/$starter_non_critical_list2");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   241
     # }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   242
   # }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   243
   # else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   244
    #  dbg ("full startup-list for non critical section already exists");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   245
    #}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   246
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   247
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   248
  # Collect full path names for all pathes.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   249
  @all_patches = find_all ("$BUILD_ROOT$PATCH_DIR");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   250
  $lineno = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   251
  while (<PATCH_LIST>) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   252
    $lineno++;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   253
    chomp;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   254
    # Input lines might end in backslashes to indicate continuation
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   255
    if (s/\\$//) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   256
        $_ .= <PATCH_LIST>;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   257
        redo unless eof;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   258
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   259
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   260
    s/\#.*$//;                 # Get rid of the comments
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   261
    next if (/^\s*$/);         # Skip empty lines
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   262
    my @fdata = split /:/;     # Split the input line
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   263
    foreach (@fdata) {         # Ignore spaces before and after delimiters
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   264
      s/^\s+//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   265
      s/\s+$//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   266
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   267
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   268
    my $path = shift @fdata;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   269
    next if ($path eq "");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   270
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   271
    # The first field is a name of the patch file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   272
    # By default it's "diff"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   273
    my $relative_path = $path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   274
    my $patch_file = get_patch_fname ($path, @all_patches);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   275
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   276
    if ($patch_file eq "") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   277
      $patch_file = "$BUILD_ROOT" . "$PATCH_DIR" . "$path.$PATCH_EXT";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   278
      dbg ("Looking for: $patch_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   279
      if (not -e $patch_file) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   280
        # This means that there is an entry in the patch list file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   281
        # but there is no actual patch file under patch dir.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   282
        # If so skip the line. The exception is DO_DIFF case since do_diff
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   283
        # can create patch files.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   284
        if ($DO_DIFF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   285
          $patch_file = "";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   286
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   287
        else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   288
          msg("$WARNING $PATCH_LIST_FNAME:$lineno: Missing patch file for $path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   289
          next;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   290
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   291
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   292
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   293
    else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   294
      $patch_file .= ".$PATCH_EXT";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   295
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   296
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   297
    # This shouldn't happen: there is a patch file name but no name for file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   298
    # to be patched. If so skip this line.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   299
    next if ($path eq "");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   300
    $path = "$BUILD_ROOT" . $path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   301
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   302
    if ($LOGLEVEL >= $LOG_VERBOSE) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   303
      if (-e "$patch_file") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   304
        dbg ("patch file: $patch_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   305
      } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   306
        dbg ("patch file does not exist: $patch_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   307
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   308
      dbg ("fdata: @fdata");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   309
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   310
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   311
    # Diff'ing files only. It will generate new "diff" files.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   312
    if ($DO_DIFF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   313
      chdir_or_die ($BUILD_ROOT);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   314
      do_diff ($path, $patch_file);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   315
      next;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   316
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   317
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   318
    # Patch platform files
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   319
    if ($DO_PATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   320
      my $res_file = $patch_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   321
      $res_file =~ s/\.$PATCH_EXT$//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   322
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   323
      # Make a backup copy of the current version of the patched file.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   324
      if (-e $path) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   325
        my $backup_path = get_last_backup_path ($path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   326
        if (!run("$DIFF_EXE $res_file $path", $NULL_NAME)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   327
          dbg("$path is identical to $res_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   328
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   329
        elsif (-e $backup_path &&
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   330
            !run("$DIFF_EXE $backup_path $path", $NULL_NAME)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   331
          dbg("$path is identical to $backup_path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   332
        } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   333
          # file has changed, create a backup copy
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   334
          my $backup_path = get_new_backup_path ($path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   335
          dbg ("backup to $backup_path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   336
          copy ("$path", "$backup_path") or
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   337
            msg("$WARNING failed to copy $path -> $backup_path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   338
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   339
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   340
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   341
      # If patch file does not exist, patch means a copy
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   342
      if (-e "$patch_file") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   343
        patch_files ($path, $patch_file);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   344
      } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   345
        copy_or_die ($res_file, $path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   346
        msg ("Copied $path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   347
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   348
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   349
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   350
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   351
    if ($DO_UNPATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   352
      do_unpatch($path, $patch_file);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   353
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   354
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   355
    # Process build info
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   356
    if ($#fdata >= 0) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   357
      if ($BUILD_PLATFORM || $CHECK_BUILD) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   358
        process_bld_info ($path, @fdata);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   359
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   360
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   361
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   362
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   363
  close PATCH_LIST;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   364
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   365
  # if temp conf-file was used (i.e. -t option given), remove tmp-file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   366
  if ($patch_list_path == $TMP_CONF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   367
    dbg("deleting $TMP_CONF");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   368
    unlink $TMP_CONF;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   369
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   370
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   371
  # Build Java first
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   372
  if ($BUILD_JAVA) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   373
    build_java ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   374
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   375
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   376
  # build SDK modules
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   377
  # NOTE: some of the hooks in the platform code depend on the headers
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   378
  # exported by, for example, MsgRelay module
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   379
  if ($BUILD_SDK) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   380
    foreach $m (@SDK_MODULES) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   381
      if ($m =~ m/^wsock$/i) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   382
        # hack to make EXPORT work reliably
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   383
        my $now = time;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   384
        my $esk = "$S60_TOOLS_DIR/wsock/data/wsock.esk";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   385
        dbg ("touching $esk");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   386
        utime ($now, $now, $esk) or msg ("$WARNING couldn't touch $esk\n");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   387
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   388
      # the rest is a standard procedure for all modules
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   389
      build_series60_tools_component ($m); 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   390
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   391
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   392
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   393
  if ($BUILD_PLATFORM) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   394
    dbg ("Build info: @bld_info");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   395
    do_platform_build (@bld_info);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   396
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   397
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   398
  #rebuild Java Subsystem in S60 (System AMS) except for C++ SDK
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   399
  if($BUILD_PLATFORM && $BUILD_TYPE != $BUILD_TYPE_CPP){
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   400
  	dbg ("Building java platform:");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   401
  	do_java_platform_build();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   402
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   403
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   404
  if ($CHECK_BUILD) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   405
    foreach $m (@SDK_MODULES) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   406
      check_series60_tools_component ($m);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   407
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   408
    dbg ("Build info: @bld_info");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   409
    check_platform_build (@bld_info);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   410
  }
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   411
##  Remove the example application build:  As example application build should happen only after SDK installation. So 
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   412
##  this has to be moved from build phase to sanity test phase
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   413
 # if($FINALIZE_S60EX && $BUILD_TYPE != $BUILD_TYPE_MIDP){
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   414
#  	dbg ("Finalizing S60 C++ examples:");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   415
 # 	do_s60ex_finalizing();
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   416
  	#TODO: Cleaning may not be required for 9.l check and add components in the below function
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   417
  	#do_s60_rndtools_cleaning();
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   418
 # }
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   419
  
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   420
  
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   421
	msg ("Build script finished at " . localtime());
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   422
	if ($DO_DB_UPDATE)
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   423
	{
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   424
	do_Db_Update();
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   425
     }
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   426
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   427
  close ($LOG_FH) if $LOG;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   428
}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   429
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   430
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   431
  sub usage
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   432
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   433
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   434
    print "Usage: sdk_build [-p | --patch] [-d | --diff] [-u | --unpatch]\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   435
                 [-b | --build] [-m | --module [mod]] [-a | --all]\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   436
                 [-r | --rebuild] [-c | --clean] [-e | -- err] [-l | --log]\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   437
                 [-s | --silent] [-q | --quiet] [-v | --verbose]\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   438
                 [-f | --config <file>] [-h | --help]\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   439
                 [-t | --target <file>]\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   440
                 [--env] [--midp] [--cpp] [--udeb] [--urel] [--s60ex]\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   441
Options:\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   442
  -p, --patch         patch the platform files\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   443
  -d, --diff          diff the platform files and update patches\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   444
  -u, --unpatch       undo patches and return platform to it's original state\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   445
  -b, --build         build patched platform modules (implies -p)\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   446
  -m, --module [mod]  build SDK modules (or one module if specified)\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   447
  -j, --java          build Java mofules (EcmtManager, ...)\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   448
  -a, --all           build everything (implies -b, -p, -m and -j)\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   449
  -r, --rebuild       do complete rebuild rather than incremental build\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   450
  -c, --clean         delete the output and intermediate files\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   451
  -e, --err           check build errors\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   452
  -l, --log           create log file in the current directory\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   453
  -q, --quiet         be quiet\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   454
  -s, --silent        be completely silent\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   455
  -v, --verbose       be verbose (repeatable)\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   456
  -f, --config <file> use <file> instead of patches/$PATCH_LIST_FNAME\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   457
  -t, --target <file> patch/diff/unpatch a single target: <file>\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   458
  -h, --help          print this help message and exit\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   459
  --midp              MIDP build (don't build C++ specific components)\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   460
  --cpp               C++ build (don't build MIDP specific components)\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   461
  --udeb              only build debug (UDEB) targets\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   462
  --urel              only build release (UREL) targets\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   463
  --s60ex             finalize S60 C++ example applications\
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   464
  --env               print (some) build environment and exit\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   465
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   466
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   467
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   468
  sub parse_cmd_line
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   469
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   470
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   471
    if ($#_ < 0) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   472
      usage ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   473
      exit;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   474
    } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   475
      $CONF_FILE_GIVEN = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   476
      $TARGET_FILE_GIVEN = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   477
      my $n = $#_ + 1;  # total number of options
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   478
      my $u = 0;        # number of unknown options
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   479
      while(defined (@_[0])) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   480
        my $arg = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   481
        if ($arg eq "-v" || $arg eq "--verbose")  { $LOGLEVEL++; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   482
        elsif ($arg eq "--env") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   483
          $LOGLEVEL = $LOG_VERBOSE;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   484
          dbg("Environment variables:\n  JAVA_HOME: $ENV{JAVA_HOME}\n  EPOCROOT: $ENV{EPOCROOT}\n  BUILD_ROOT: $ENV{BUILD_ROOT}\n  MWCIncludes: $ENV{MWCIncludes}\n  PATH: $ENV{PATH}\n  INCLUDE: $ENV{INCLUDE}\n  LIB: $ENV{LIB}\n");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   485
          exit;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   486
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   487
        elsif ($arg eq "--midp") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   488
          if ($BUILD_TYPE == $BUILD_TYPE_CPP) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   489
            err ("--midp and --cpp options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   490
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   491
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   492
          $BUILD_TYPE = $BUILD_TYPE_MIDP;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   493
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   494
        elsif ($arg eq "--cpp" || $arg eq "--c++") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   495
          if ($BUILD_TYPE == $BUILD_TYPE_MIDP) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   496
            err ("--midp and --cpp options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   497
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   498
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   499
          $BUILD_TYPE = $BUILD_TYPE_CPP;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   500
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   501
        elsif ($arg eq "--udeb") { @VARIANTS  = ("udeb"); }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   502
        elsif ($arg eq "--urel") { @VARIANTS  = ("urel"); }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   503
        elsif ($arg eq "-m" || $arg eq "--module" ) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   504
          $BUILD_SDK = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   505
          if ($DO_DIFF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   506
            err ("--diff and --module options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   507
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   508
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   509
          # optional module name
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   510
          if (defined(@_[0])) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   511
            my $mod = @_[0];
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   512
            if (!($mod =~ m/^-/)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   513
              @SDK_MODULES = (shift);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   514
            }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   515
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   516
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   517
        elsif ($arg eq "-b" || $arg eq "--build" ) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   518
          $BUILD_PLATFORM = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   519
          if (!$DO_UNPATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   520
          $DO_PATCH = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   521
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   522
          if ($DO_DIFF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   523
            err ("--diff and --build options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   524
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   525
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   526
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   527
        elsif ($arg eq "-p" || $arg eq "--patch" ) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   528
          $DO_PATCH = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   529
          if ($DO_DIFF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   530
            err ("--diff and --patch options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   531
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   532
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   533
          if ($DO_UNPATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   534
            err ("--patch and --unpatch options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   535
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   536
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   537
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   538
        elsif ($arg eq "-u" || $arg eq "--unpatch") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   539
          $DO_UNPATCH = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   540
          if ($DO_DIFF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   541
            err ("--diff and --unpatch options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   542
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   543
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   544
          if ($BUILD_PLATFORM) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   545
            $DO_PATCH = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   546
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   547
          if ($DO_PATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   548
            err("--patch and --unpatch options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   549
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   550
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   551
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   552
        elsif ($arg eq "-d" || $arg eq "--diff") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   553
          $DO_DIFF = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   554
          if ($BUILD_PLATFORM) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   555
            err ("--diff and --build options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   556
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   557
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   558
          if ($DO_PATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   559
            err ("--diff and --patch options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   560
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   561
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   562
          if ($DO_UNPATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   563
            err ("--diff and --unpatch options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   564
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   565
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   566
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   567
        elsif ($arg eq "-l" || $arg eq "--log") { $LOG = 1; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   568
        elsif ($arg eq "-q" || $arg eq "--quiet") { $LOGLEVEL = $LOG_QUIET; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   569
        elsif ($arg eq "-s" || $arg eq "--silent") { $LOGLEVEL = $LOG_SILENT; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   570
        elsif ($arg eq "-j" || $arg eq "--java") { $BUILD_JAVA = 1; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   571
        elsif ($arg eq "-a" || $arg eq "--all") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   572
          $BUILD_PLATFORM = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   573
          $BUILD_JAVA = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   574
          $BUILD_SDK = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   575
          $DO_PATCH = 1;
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   576
          $DO_EMU_PATCH=1;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   577
          $DO_DB_UPDATE=1;
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   578
         
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   579
          if ($DO_DIFF) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   580
            err ("--diff and --all options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   581
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   582
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   583
          if ($DO_UNPATCH) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   584
            err ("--all and --unpatch options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   585
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   586
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   587
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   588
        elsif ($arg eq "-r" || $arg eq "--rebuild") { $REBUILD = 1; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   589
        elsif ($arg eq "-c" || $arg eq "--clean") { $CLEAN = 1; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   590
        elsif ($arg eq "-e" || $arg eq "--err") { $CHECK_BUILD = 1; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   591
        elsif ($arg eq "-h" || $arg eq "--help" ) { usage (); exit; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   592
        elsif ($arg eq "-f" || $arg eq "--config" ) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   593
          $CONF_FILE_GIVEN = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   594
          if ($TARGET_FILE_GIVEN) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   595
            err ("--config and --target options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   596
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   597
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   598
          if (defined(@_[0])) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   599
            $patch_list_path = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   600
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   601
          else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   602
            err ("-f should follow the filename");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   603
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   604
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   605
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   606
        elsif ($arg eq "-t" || $arg eq "--target") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   607
          $TARGET_FILE_GIVEN = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   608
          if ($CONF_FILE_GIVEN) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   609
            err ("--config and --target options are mutually exclusive");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   610
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   611
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   612
          if ($BUILD_PLATFORM) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   613
            err ("--target can only be used with --patch, --unpatch or --diff");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   614
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   615
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   616
          if (defined(@_[0])) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   617
            # patch or diff target-file given. create a temporary config-file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   618
            # note, makes sense only when doing just patch, unpatch or diff
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   619
            # operation.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   620
            my $tmp_file = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   621
            system("echo $tmp_file > $TMP_CONF");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   622
            $patch_list_path = $TMP_CONF;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   623
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   624
          else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   625
            err ("--target should follow the path to the patched file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   626
            exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   627
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   628
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   629
        elsif ($arg eq "--s60ex") { $FINALIZE_S60EX = 1; }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   630
        else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   631
          warn "unrecognized commang line option $arg\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   632
          $u++;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   633
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   634
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   635
      if ($n == $u) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   636
        # not a single valid option
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   637
        usage ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   638
        exit;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   639
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   640
      if ($CHECK_BUILD) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   641
        $BUILD_SDK = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   642
        $BUILD_PLATFORM = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   643
        $DO_PATCH = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   644
        $BUILD_JAVA = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   645
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   646
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   647
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   648
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   649
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   650
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   651
# Builds Java part of the SDK.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   652
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   653
  sub build_java
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   654
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   655
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   656
    if ($REBUILD || $CLEAN) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   657
      chdir_or_die ($JAVA_SRC_ROOT);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   658
      for $i (0 .. $#JAVA_CLEAN_DIRS) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   659
        $dir = $JAVA_CLEAN_DIRS[$i];
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   660
        dbg ("Deleting $dir");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   661
        rmtree($dir);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   662
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   663
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   664
      chdir_or_die ($JAVA_BUILD_DIR);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   665
      run_build_cmd ("ant clean");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   666
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   667
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   668
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   669
    if (!$CLEAN) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   670
      chdir_or_die ($JAVA_BUILD_DIR);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   671
      my $epdt_target = "build";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   672
      if ($BUILD_TYPE == $BUILD_TYPE_MIDP) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   673
        $epdt_target = "midp";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   674
      } elsif ($BUILD_TYPE == $BUILD_TYPE_CPP) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   675
        $epdt_target = "cpp";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   676
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   677
      run_build_cmd ("ant " . $epdt_target);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   678
      xcopy ($JAVA_DIST_DIR, $JAVA_TARGET_DIR);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   679
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   680
      if ($BUILD_TYPE == $BUILD_TYPE_MIDP ||
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   681
      					$BUILD_TYPE == $BUILD_TYPE_ALL) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   682
				open(DUMMY_FH, ">","${JAVA_TARGET_DIR}\\MIDP.txt");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   683
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   684
				if(!copy("${BUILD_ROOT}\\sdkcreationmw\\sdkcomponents\\Common_Patch\\epoc32\\data\\sdk_info.properties",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   685
				"${BUILD_ROOT}\\epoc32\\data\\sdk_info.properties"))
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   686
				{
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   687
					msg("Couldn't copy file sdk_info.properties\n");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   688
					msg($!);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   689
				}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   690
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   691
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   692
			}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   693
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   694
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   695
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   696
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   697
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   698
  sub do_diff
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   699
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   700
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   701
    my $path = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   702
    my $patch_file = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   703
    my $relative_path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   704
    my $relative_orig;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   705
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   706
    ($relative_path = $path) =~ s/^([A-Za-z])\:$FS//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   707
    $relative_orig = $relative_path . ".orig";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   708
    if (! -e $relative_path) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   709
      msg ("$WARNING Missing $relative_path. No diff was done.");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   710
      return;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   711
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   712
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   713
    if ($patch_file eq "") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   714
      # if don't have patch file yet. Pehaps we running diff for a first time.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   715
      $patch_file = $PATCH_DIR . $relative_path . ".$PATCH_EXT";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   716
      dbg ("patch_file is empty. New patch_file is $patch_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   717
      my $patch_dir = get_dir_name ($patch_file);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   718
      if (! -e $patch_dir) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   719
        mkpath ($patch_dir) or die "Couldn't create $patch_dir: $@";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   720
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   721
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   722
    $patch_file =~ s/^([A-Za-z])\:$FS//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   723
    my $result_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   724
    ($result_file = $patch_file) =~ s/\.$PATCH_EXT$//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   725
    my $esc_path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   726
    ($esc_path = $relative_path) =~ s/([\\\/\.])/\\$1/g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   727
    my $ignore_match = "\"^[\\*-][\\*-][\\*-] $esc_path\"";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   728
    my $tmp_file = $patch_dir . $BACKUP_PREFIX .
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   729
                      File::Temp::mktemp (get_fname ($patch_file) . "XXXXX");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   730
    my $cmd = $REDIFF_CMD . " $relative_orig $relative_path";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   731
    my $res = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   732
    my $derr = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   733
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   734
    if (-e "$relative_orig") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   735
      $res = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   736
      dbg ("working on $relative_path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   737
      run ($cmd, $tmp_file);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   738
      if (-e $patch_file) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   739
        # Let's see if we got a different patch file that we already have.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   740
        # We don't want to just replace patch file we have with new one
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   741
        # because source save might be too picky about changing time stamp
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   742
        # and if new and old patch file are equal we will keep the old one.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   743
        $res = run ("$DIFF_EXE -N -I $ignore_match $tmp_file $patch_file",
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   744
                    $NULL_NAME);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   745
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   746
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   747
      if ($res == 2) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   748
        die "$DIED_MSG Couldn't diff $tmp_file and $patch_file\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   749
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   750
      elsif ($res == 1) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   751
          # New patch file is differerent so replace old patch file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   752
          # with new one.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   753
          msg ("Diffing $relative_path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   754
          chmod 666, $patch_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   755
          rename "$tmp_file", "$patch_file";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   756
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   757
      else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   758
        unlink $tmp_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   759
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   760
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   761
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   762
    # check, if resulted .diff-file is zero-size. If so, abort.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   763
    # (either patch is obsolete or you manually messed things up)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   764
    if (-e $patch_file && not -s "$patch_file") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   765
        die "$DIED_MSG $patch_file size is 0!\nCheck the patch!\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   766
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   767
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   768
    $derr = run ("$DIFF_EXE $relative_path $result_file", $NULL_NAME);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   769
    dbg ("derr: $derr, res: $res");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   770
    if ($res == 1 || $derr > 0) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   771
      # Patch files are different so the result file has to be updated.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   772
      if (-e "$relative_orig") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   773
        # This is normal condition, no need to display this message
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   774
        # unless verbose output is on
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   775
        dbg ("Copying $relative_path to $result_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   776
      } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   777
        # Or we don't have .orig file, so we just want to copy plat. file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   778
        # to patch dir. In that case issue a normal message
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   779
        msg ("Copying $relative_path to $result_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   780
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   781
      copy ($relative_path, $result_file);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   782
      chmod 666, $result_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   783
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   784
    else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   785
      msg ("Checking $relative_path ...");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   786
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   787
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   788
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   789
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   790
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   791
  sub patch_files
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   792
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   793
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   794
    my $path = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   795
    my $patch_file = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   796
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   797
    # remove read-only bits from all the files in the dir of the file-to-be-patched
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   798
    my $tmp_dir = get_dir_name ($path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   799
    my $cmd = "attrib -r /s /d $tmp_dir*.*";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   800
    dbg($cmd);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   801
    system($cmd);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   802
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   803
    my ($p_err, $d_err) = do_patch ($path, $patch_file);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   804
    my $res_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   805
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   806
    ($res_file = $patch_file) =~ s/\.$PATCH_EXT$//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   807
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   808
    if ($p_err == 0) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   809
      msg ("Patched $path");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   810
      if ($d_err == 2) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   811
        die "$DIED_MSG PATCH RESULT: Diff failed while comparing $path and $res_file\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   812
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   813
      elsif ($d_err == 1) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   814
       msg ("$WARNING PATCH RESULT: $path does not match $res_file\n");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   815
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   816
      else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   817
        dbg ("PATCH RESULT: res $p_err, diff res: $d_err. Proceeding");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   818
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   819
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   820
      # additionally check, if .diff-file is zero-size. If so, print a note.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   821
      # (either patch is obsolete or you manually messed things up)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   822
      # note, that we still continue.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   823
      if (not -s "$patch_file") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   824
          msg ("$NOTE $patch_file size is 0!\nCheck the patch!\n");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   825
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   826
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   827
    elsif ($p_err == -1) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   828
      die "$DIED_MSG PATCH FAILED: Couldn't start the patch command!\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   829
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   830
    else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   831
      die "$DIED_MSG PATCH FAILED for $path!\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   832
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   833
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   834
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   835
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   836
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   837
  sub chdir_to_build_specific_dir
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   838
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   839
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   840
    my $dir;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   841
    if ($BUILD_TYPE == $BUILD_TYPE_MIDP) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   842
      $dir = "midp";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   843
    } elsif ($BUILD_TYPE == $BUILD_TYPE_CPP) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   844
      $dir = "cpp";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   845
    } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   846
      return;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   847
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   848
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   849
    if (-f "$dir/bld.inf") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   850
      chdir $dir;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   851
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   852
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   853
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   854
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   855
  sub do_platform_build
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   856
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   857
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   858
    # Build patched platform modules
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   859
    foreach $b (@bld_info) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   860
      my @modules = split /,/, $b;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   861
      my $group_dir = shift @modules;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   862
      chdir_or_die ("$BUILD_ROOT$group_dir");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   863
      dbg ("Building in $BUILD_ROOT$group_dir");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   864
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   865
      #modules are optional
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   866
      if(@modules>0)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   867
      {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   868
	      foreach $m (@modules)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   869
	      {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   870
	        build_module ($m);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   871
	      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   872
	    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   873
	    else
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   874
	    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   875
	    	build_module('');
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   876
	    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   877
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   878
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   879
 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   880
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   881
  sub do_java_platform_build
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   882
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   883
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   884
    # Build java system ams
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   885
  		my $java_group_dir = "sf/app/jrt/group";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   886
      chdir_or_die ("$BUILD_ROOT$java_group_dir");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   887
      dbg ("Building in $BUILD_ROOT$java_group_dir");
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   888
      run ("cmd /c sbs export");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   889
      run ("cmd /c pbuild build winscw udeb midp2ams");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   890
      run ("cmd /c pbuild build winscw udeb wma");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   891
      run ("cmd /c pbuild build winscw udeb multimedia11");
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   892
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   893
			my $s60ex_dir = $BUILD_ROOT . "$SDK_PROJ_NAME/sdkexamples/java";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   894
			chdir_or_die ($s60ex_dir);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   895
			
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   896
			run_build_cmd("ant IAPInfoMIDlet eSWTMIDlet SystemProperties");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   897
			run_build_cmd("ant copy_documentation");
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   898
		  $cmd = "unzip -o \\\\filerblr\\SP\\AM\\DT_SDK\\SDK_BIS\\Repository\\Java_API\\IAPInfoMIDlet_doc.zip -d Z\:\\PublicSDK\\sdkcreationmw\\sdkexamples\\java\\dist\\examples\\IAPInfoMIDlet";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   899
      print ($cmd."\n"); system ($cmd);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   900
      $cmd = "unzip -o \\\\filerblr\\SP\\AM\\DT_SDK\\SDK_BIS\\Repository\\Java_API\\eSWTMIDlet_doc.zip -d Z\:\\PublicSDK\\sdkcreationmw\\sdkexamples\\java\\dist\\examples\\eSWTMIDlet";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   901
      print ($cmd."\n"); system ($cmd);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   902
      $cmd = "unzip -o \\\\filerblr\\SP\\AM\\DT_SDK\\SDK_BIS\\Repository\\Java_API\\SystemPropertiesMidlet_doc.zip -d Z\:\\PublicSDK\\sdkcreationmw\\sdkexamples\\java\\dist\\examples\\SystemProperties";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   903
      print ($cmd."\n"); system ($cmd);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   904
      system("copy /V Z\:\\PublicSDK\\sdkcreationmw\\sdkexamples\\java\\examples\\examples.html Z\:\\PublicSDK\\sdkcreationmw\\sdkexamples\\java\\dist\\examples");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   905
      system("copy /V \\\\filerblr\\SP\\AM\\DT_SDK\\SDK_BIS\\Repository\\Java_API\\build.xml Z\:\\PublicSDK\\sdkcreationmw\\sdkexamples\\java\\dist\\examples\\IAPInfoMIDlet\\targets");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   906
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   907
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   908
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   909
  sub check_platform_build
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   910
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   911
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   912
    foreach $b (@bld_info) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   913
      my @modules = split /,/, $b;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   914
      my $group_dir = shift @modules;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   915
      if (!chdir ("$BUILD_ROOT$group_dir")) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   916
        msg ("$DIED_MSG missing $BUILD_ROOT$group_dir!!!!!!!!");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   917
        return;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   918
      };
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   919
      #modules are optional
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   920
      if(@modules>0)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   921
      {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   922
	      foreach $m (@modules)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   923
	      {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   924
          check_module_build ($m);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   925
	      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   926
	    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   927
	    else
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   928
	    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   929
        check_module_build ('');
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   930
	    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   931
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   932
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   933
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   934
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   935
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   936
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   937
  sub check_module_build
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   938
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   939
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   940
    my $dir = getcwd;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   941
    my $module = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   942
    dbg ("Checking $dir");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   943
    foreach $t (@PLATFORMS) {
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   944
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   945
      run (" cmd /c sbs -c winscw $module");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   946
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   947
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   948
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   949
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   950
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   951
  sub build_series60_tools_component
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   952
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   953
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   954
    my $name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   955
    my $dir = "$S60_TOOLS_DIR/$name/group";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   956
    chdir_or_die ($dir);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   957
    chdir_to_build_specific_dir ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   958
    dbg ("Building in " . getcwd);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   959
 
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   960
    foreach $bt (@VARIANTS) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   961
      if($REBUILD || $CLEAN) {
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   962
        run_build_cmd ( "cmd /c sbs clean");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   963
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   964
      if (!$CLEAN) {
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   965
        # Build only for winscw , No need to build for ARM targets
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   966
        run_build_cmd ( "cmd /c sbs -c winscw");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   967
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   968
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   969
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   970
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   971
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   972
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   973
  sub check_series60_tools_component
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   974
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   975
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   976
    my $name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   977
    my $dir = "$S60_TOOLS_DIR/$name/group";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   978
    if (!chdir ($dir)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   979
      msg ("$DIED_MSG Missing $dir!!!!!!!!");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   980
      return;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   981
    };
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   982
    chdir_to_build_specific_dir ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   983
    dbg ("Checking " . getcwd);
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   984
    
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   985
    run ("cmd /c sbs -c winscw");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   986
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   987
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   988
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   989
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   990
  sub build_module
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   991
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   992
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   993
    my $module = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   994
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   995
    foreach $t (@PLATFORMS) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   996
      if (!$CLEAN) 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   997
      {
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
   998
        run_build_cmd ( "cmd /c sbs -m winscw");
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
   999
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1000
      foreach $bt (@VARIANTS) 
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1001
      {
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1002
          run_build_cmd ( "cmd /c sbs reallyclean");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1003
        
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1004
          run_build_cmd ( "cmd /c sbs -c winscw");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1005
        
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1006
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1007
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1008
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1009
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1010
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1011
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1012
  sub do_patch
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1013
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1014
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1015
    my $dest = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1016
    my $patch_file = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1017
    my $res_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1018
    my $perr = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1019
    my $derr = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1020
    my $silent = ($LOGLEVEL > $LOG_NORMAL) ? "" : "-s";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1021
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1022
    ($res_file = $patch_file) =~ s/\.diff$//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1023
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1024
    # Overwrite the destination file with the .orig file. If .orig file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1025
    # is not found, assume that it's the very first patch and create the
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1026
    # .orig file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1027
    if (-e "$dest.orig") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1028
      copy_or_die ("$dest.orig", "$dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1029
    } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1030
      dbg ("creating new orig file $dest.orig");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1031
      copy_or_die ("$dest", "$dest.orig");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1032
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1033
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1034
    $perr = run ("$PATCH_EXE $silent -d $BUILD_ROOT -p0 -N --ignore-whitespace --no-backup-if-mismatch -i $patch_file $dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1035
    dbg ("PATCH: error $perr");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1036
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1037
    if ($perr == 0) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1038
      if ($LOGLEVEL >= $LOG_VERBOSE) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1039
        $derr = run ("$DIFF_EXE $dest $res_file");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1040
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1041
      else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1042
        $derr = run ("$DIFF_EXE $dest $res_file", $NULL_NAME);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1043
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1044
      dbg ("Diff for $dest and $res_file returned $derr");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1045
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1046
    return ($perr, $derr);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1047
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1048
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1049
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1050
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1051
  sub do_unpatch
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1052
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1053
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1054
    my $dest = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1055
    my $patch_file = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1056
    my $backup_path = get_first_backup_path($dest);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1057
    my $res_file = $patch_file;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1058
    $res_file =~ s/\.$PATCH_EXT$//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1059
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1060
    # try to restore the original version
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1061
    if (-e "$dest.orig") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1062
      # there is a "orig file", so just rename "orig" back to $dest
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1063
      msg("restoring $dest from \".orig\"...");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1064
      copy_or_die("$dest.orig", "$dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1065
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1066
    elsif (-e "$backup_path") {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1067
        # there is no ".orig" file but there is backup file,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1068
        # restore from there.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1069
        msg("Restoring $dest from backup file.");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1070
        copy_or_die("$backup_path", "$dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1071
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1072
    elsif (!-e $patch_file &&
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1073
           !run("$DIFF_EXE $dest $res_file", $NULL_NAME)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1074
        # there are no .orig and backup files and the result
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1075
        # file ($res_file) is the same as in the platform ($dest).
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1076
        # This is most likely the file that was copied to the platform,
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1077
        # so remove it.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1078
        msg("Removing current copy of $dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1079
        unlink $dest;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1080
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1081
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1082
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1083
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1084
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1085
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1086
  sub process_bld_info
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1087
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1088
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1089
    my $file = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1090
    my $idx = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1091
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1092
    foreach $b (@_) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1093
      @bld_data = split /,/, $b;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1094
      $bld_inf_path = shift @bld_data;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1095
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1096
      die "$DIED_MSG Dir. name for bld.inf is empty. Line: $b\n" if $bld_inf_path eq "";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1097
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1098
      # Get the index of the $bld_info element that starts with $bld_inf_path.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1099
      $idx = bld_info_arr_idx ($bld_inf_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1100
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1101
      if ($idx < 0) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1102
        # There is no such entry in the $bld_info, so just add entire line.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1103
        push (@bld_info, $b);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1104
      } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1105
        # There is an entry that starts with $bld_inf_path, so just add
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1106
        # modules that are not there to the $idx-th line (element of $bld_info)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1107
        @bld_data_idx = split /,/, $bld_info[$idx];
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1108
        shift @bld_data_idx;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1109
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1110
        foreach $m (@bld_data) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1111
          $bld_info[$idx] =~ s/\,$m\,/\,/g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1112
          $bld_info[$idx] =~ s/\,$m$//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1113
          $bld_info[$idx] .= ",$m";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1114
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1115
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1116
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1117
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1118
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1119
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1120
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1121
  sub bld_info_arr_idx
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1122
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1123
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1124
    my $val = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1125
    my $idx = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1126
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1127
    for ($idx = 0; $idx < $#bld_info + 1; $idx++) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1128
      last if ($bld_info[$idx] =~ m/^$val\,/);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1129
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1130
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1131
    if ($idx ==  $#bld_info + 1) {$idx = -1;}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1132
    return $idx;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1133
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1134
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1135
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1136
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1137
  sub get_last_backup_path
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1138
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1139
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1140
    my $orig_path = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1141
    my $new_ver = get_last_file_ver ($orig_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1142
    my $dir = get_dir_name ($orig_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1143
    my $fname = get_fname ($orig_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1144
    my $backup_path = $dir . $BACKUP_PREFIX . $fname . ".$new_ver";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1145
    return $backup_path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1146
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1147
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1148
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1149
  sub get_first_backup_path
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1150
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1151
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1152
    my $orig_path = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1153
    my $dir = get_dir_name ($orig_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1154
    my $fname = get_fname ($orig_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1155
    my $backup_path = $dir . $BACKUP_PREFIX . $fname . ".1";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1156
    return $backup_path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1157
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1158
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1159
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1160
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1161
  sub get_new_backup_path
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1162
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1163
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1164
    my $orig_path = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1165
    my $new_ver = get_last_file_ver ($orig_path) + 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1166
    my $dir = get_dir_name ($orig_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1167
    my $fname = get_fname ($orig_path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1168
    my $backup_path = $dir . $BACKUP_PREFIX . $fname . ".$new_ver";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1169
    return $backup_path;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1170
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1171
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1172
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1173
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1174
  sub get_last_file_ver
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1175
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1176
# Assupmtion: if file name is "foo.cpp" the n-th version of this file would be
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1177
# in the same directory and would have name "#foo.cpp.n"
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1178
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1179
    my $path = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1180
    my $dir = get_dir_name ($path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1181
    my $fname = get_fname ($path);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1182
    my $basename = get_basename ($fname);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1183
    my $postfix = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1184
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1185
    if ($dir eq "") {$dir = "."}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1186
    opendir (DIR, $dir);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1187
    @flist = grep {/^$BACKUP_PREFIX$basename.*\..*\.[0-9]+$/} readdir (DIR);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1188
    closedir DIR;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1189
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1190
    if ($#flist + 1 > 0) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1191
      foreach $f (@flist) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1192
        my $p = unpack ("A*", get_ext ($f));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1193
        $postfix = $p if $postfix < $p;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1194
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1195
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1196
    return $postfix;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1197
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1198
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1199
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1200
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1201
  sub get_basename
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1202
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1203
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1204
    my $orig_name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1205
    my $basename;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1206
    ($basename = $orig_name) =~ s/\..*$//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1207
    return $basename;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1208
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1209
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1210
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1211
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1212
  sub get_ext
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1213
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1214
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1215
    my $orig_name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1216
    my $ext;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1217
    ($ext = $orig_name) =~ s/^.*\.//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1218
    return $ext;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1219
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1220
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1221
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1222
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1223
  sub get_fname
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1224
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1225
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1226
    my $orig_name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1227
    my $dir = get_dir_name ($orig_name);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1228
    my $fname;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1229
    ($fname = $orig_name) =~ s/\\/\//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1230
    $fname =~ s/^$dir//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1231
    return $fname;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1232
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1233
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1234
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1235
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1236
  sub get_dir_name
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1237
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1238
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1239
    my $orig_name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1240
    my $dir_name;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1241
    ($dir_name = $orig_name) =~ s/\\/\//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1242
    $dir_name =~ s/[^\/]+$//g;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1243
    return $dir_name;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1244
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1245
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1246
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1247
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1248
  sub err
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1249
# =======================================================================/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1250
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1251
    my $m = "ERROR: @_[0]\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1252
    print $m;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1253
    print LOG_FH $m if $LOG;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1254
    exit 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1255
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1256
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1257
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1258
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1259
  sub quiet
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1260
# =======================================================================/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1261
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1262
    if ($LOGLEVEL => $LOG_QUIET) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1263
      my $m = "*** @_[0]\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1264
      print $m;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1265
      print LOG_FH $m if $LOG;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1266
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1267
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1268
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1269
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1270
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1271
  sub msg
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1272
# =======================================================================/
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1273
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1274
    if ($LOGLEVEL >= $LOG_NORMAL) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1275
      my $m = "*** @_[0]\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1276
      print $m;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1277
      print LOG_FH $m if $LOG;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1278
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1279
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1280
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1281
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1282
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1283
  sub dbg
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1284
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1285
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1286
    if ($LOGLEVEL >= $LOG_VERBOSE) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1287
      my $dbg_msg = "=== @_[0]\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1288
      print $dbg_msg;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1289
      print LOG_FH $dbg_msg if $LOG;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1290
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1291
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1292
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1293
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1294
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1295
  sub noisy
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1296
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1297
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1298
    if ($LOGLEVEL > $LOG_VERBOSE) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1299
      my $m = "=== @_[0]\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1300
      print $m;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1301
      print LOG_FH $m if $LOG;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1302
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1303
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1304
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1305
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1306
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1307
  sub run_build_cmd
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1308
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1309
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1310
    my $cmd = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1311
    if ($LOGLEVEL >= $LOG_NORMAL) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1312
      my $dir = getcwd;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1313
      msg ("***********************************************************");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1314
      msg ("* DIR:   $dir");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1315
      msg ("* BUILD: $cmd");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1316
      msg ("***********************************************************");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1317
    } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1318
      msg ($cmd);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1319
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1320
    my $err = run ($cmd);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1321
    dbg ("$cmd returned $err");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1322
    return $err;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1323
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1324
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1325
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1326
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1327
  sub run
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1328
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1329
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1330
    my $cmd = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1331
    my $out_name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1332
    my $close_out = 0;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1333
    my $out;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1334
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1335
    dbg ("Running: $cmd");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1336
    if (defined($out_name)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1337
      if ($out_name eq $NULL_NAME) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1338
        # no output desired
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1339
        undef $out;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1340
      } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1341
        open OUT, "> $out_name" or
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1342
          die "$DIED_MSG $cmd couldn't write to output $out_name!!!\n";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1343
        $out = OUT;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1344
        $close_out = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1345
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1346
    } elsif ($LOGLEVEL <= $LOG_SILENT) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1347
      # output supressed by log level
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1348
      undef $out;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1349
    } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1350
      $out = STDOUT;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1351
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1352
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1353
    open CHILD, "$cmd 2>&1|" or die "$DIED_MSG $cmd Err: $!";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1354
    while (<CHILD>) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1355
      if (defined ($out)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1356
        print $out $_;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1357
        print LOG_FH $_ if $LOG;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1358
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1359
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1360
    close CHILD;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1361
    close $out if $close_out;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1362
    noisy ("return code " . ($? >> 8));
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1363
    return $? >> 8;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1364
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1365
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1366
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1367
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1368
# Changes the current direcctory, dies on error
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1369
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1370
  sub chdir_or_die
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1371
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1372
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1373
    my $dir = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1374
    dbg ("chdir $dir");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1375
    chdir $dir or die "$DIED_MSG $dir: $!";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1376
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1377
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1378
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1379
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1380
# Copies a file, dies on error
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1381
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1382
  sub copy_or_die
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1383
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1384
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1385
    my $src = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1386
    my $dest = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1387
    dbg ("copying $src -> $dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1388
    #if the file exists, rename it to .orig_X - safer than overwriting
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1389
    #note: if we neither rename nor remove existing $dest, copy gives
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1390
    #fatal error
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1391
    if(-e $dest)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1392
    {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1393
    	my $i = 1;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1394
    	while(-e "$dest.orig_$i")
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1395
    	{
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1396
    		$i++;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1397
    	}
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1398
    	move($dest, "$dest.orig_$i");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1399
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1400
    copy ($src, $dest) or
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1401
      die "$DIED_MSG : failed to copy $src -> $dest: $!";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1402
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1403
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1404
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1405
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1406
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1407
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1408
# Recursive copy
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1409
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1410
# Copies a folder, its sub folders & files therein.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1411
# Paramter 1: Source folder path.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1412
# Paramter 2: Destination folder path.
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1413
#
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1414
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1415
  sub xcopy
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1416
# =======================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1417
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1418
    my ($CopyFrom,$CopyTo) = @_;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1419
    my ($src,$RelativePath,$dest);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1420
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1421
    # Make sure that the source directory exists, create the top level
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1422
    # destination directory
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1423
    if (-d $CopyFrom) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1424
      eval { mkpath($CopyTo) };
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1425
      if ($@) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1426
        err("Couldn't create $_[0]: $@");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1427
        exit(1);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1428
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1429
    } else {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1430
      err("Directory $CopyFrom does not exist");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1431
      return;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1432
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1433
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1434
    dbg("Copying $CopyFrom -> $CopyTo");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1435
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1436
    # Traverse file tree (highest level directory first)
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1437
    find(sub{
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1438
      $src=$File::Find::name;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1439
      $RelativePath=$src;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1440
      $RelativePath=~s/^\Q$CopyFrom\E//;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1441
      $dest=$CopyTo.$RelativePath;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1442
      if (-f $src) {  # Copy file
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1443
        noisy ("$dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1444
        if (!copy($src,$dest)) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1445
          err("Couldn't copy $src: $@");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1446
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1447
      } else {  # Make a duplicate directory if necessary
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1448
        unless($dest eq '..'||$dest eq '.') {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1449
          unless(-e $dest) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1450
            noisy ("Creating $dest");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1451
            mkdir($dest,0775);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1452
          }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1453
        }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1454
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1455
    },$CopyFrom);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1456
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1457
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1458
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1459
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1460
  sub get_patch_fname
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1461
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1462
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1463
    my $patch_name = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1464
    my $res;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1465
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1466
    foreach $f (@_) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1467
      if ($f =~ m/$patch_name$/i) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1468
        $res = $f;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1469
        last;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1470
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1471
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1472
    return $res;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1473
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1474
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1475
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1476
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1477
  sub find_all
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1478
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1479
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1480
    my $base_dir = shift;
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1481
    my @flist = ();
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1482
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1483
    find (sub {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1484
      if (-f $File::Find::name) {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1485
        push (@flist, $File::Find::name);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1486
      }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1487
    }, $base_dir);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1488
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1489
    return @flist
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1490
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1491
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1492
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1493
  sub get_plat_name
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1494
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1495
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1496
    return "3.0";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1497
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1498
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1499
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1500
  sub do_s60ex_finalizing
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1501
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1502
  {
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1503
    my $s60ex_dir = $BUILD_ROOT . "$SDK_PROJ_NAME/tools_config/build";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1504
    chdir_or_die ($s60ex_dir);
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1505
    run ("cmd /c finalize.bat");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1506
  }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1507
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1508
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1509
sub do_s60_rndtools_cleaning
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1510
# ========================================================================
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1511
  {
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1512
  	# List of tools that needs to be make cleaned to remove "rnd tools" from emulator menu
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1513
    print "\n \n ======== Start Clean RnD Tools===========";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1514
    @rndtools_cleandirs = qw ( s:/s60/tools/commontools/group s:/s60/tools/performancetools/group s:/s60/tools/nettools/ConnTest/group s:/ppd_sw/rd_sw/prism_rnd/group  s:/ppd_sw/rd_sw/btproxy_rnd/group  s:/ppd_sw/rd_sw/bappeaprofiler/group  s:/ppd_sw/rd_sw/analyzetool/group  s:/ppd_sw/rd_sw/hti/src/HtiAdmin/group  s:/ppd_sw/rd_sw/hti/src/HtiAutoStart/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiBtCommPlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiIPCommPlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiIsaCommPlugin/HtiIsaCommEcomPlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiIsaCommPlugin/HtiIsaCommServer/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiSerialCommPlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiTraceCommPlugin/HtiTraceCommEcomPlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiTraceCommPlugin/HtiTraceCommServer/group  s:/ppd_sw/rd_sw/hti/src/HtiCommPlugins/HtiUsbSerialCommPlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiDeviceReboot  s:/ppd_sw/rd_sw/hti/src/HtiFileHlp  s:/ppd_sw/rd_sw/hti/src/HtiFramework/group  s:/ppd_sw/rd_sw/hti/src/HtiWatchDog  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiAppServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiAudioServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiEchoServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiFtpServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiIpProxyServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiIsiMsgServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiKeyEventServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiMessagesServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiPIMServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiScreenshotServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiStifTfServicePlugin/group  s:/ppd_sw/rd_sw/hti/src/HtiServicePlugins/HtiSysInfoServicePlugin/group  s:/ppd_sw/cs_salo_domain/aiemailplugin/group s:/s60/mw/securityservices/iaupdate/IAD/group );
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1515
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1516
    # Make clean to remove "rnd tools" from emulator: suggestion given by pf team
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1517
    foreach my $rndtools_cleandirs ( @rndtools_cleandirs )
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1518
    {     
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1519
      print "\n\n=== Clean up of rnd tools: $rndtools_cleandirs\n\n ===";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1520
      chdir $rndtools_cleandirs or print  " WARNING: Can chdir to $rndtools_cleandirs: $!";
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1521
    
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1522
 
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1523
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1524
      $cmd = "call sbs -m winscw";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1525
      system ($cmd); #==0 or print ($cmd."\n\n");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1526
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1527
      $cmd = "call sbs reallyclean";
0
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1528
      system ($cmd); #==0 or print ($cmd."\n\n");
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1529
    }
b26acd06ea60 First Contribution of SDK components
rajpuroh
parents:
diff changeset
  1530
  }
1
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1531
# ========================================================================
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1532
  sub do_Db_Update()
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1533
# ========================================================================
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1534
  {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1535
  	
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1536
msg("Updating the commsDb\n");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1537
my $CommsDb_update = "${BUILD_ROOT}epoc32/release/winscw/udeb";
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1538
chdir_or_die ($CommsDb_update);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1539
run ("cmd /c ced -dtextshell -- -i c:\\cedout.cfg");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1540
run ("cmd /c dbcreator -dtextshell --");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1541
msg("Finished Updating the commsDb\n");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1542
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1543
  }
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1544
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1545
# ========================================================================
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1546
  sub do_apply_patch_OptimiseEmulator
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1547
# ========================================================================
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1548
  {
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1549
    #return 0 if (! -d optEmuPatch);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1550
    msg("Start Apply Emulator performance boost patching...");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1551
    my $optEmuPatch = $BUILD_ROOT . "OptimiseEmulator";
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1552
    #Add patch path to System path
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1553
    $ENV{'PATH'}=$optEmuPatch.";".$ENV{'PATH'};
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1554
    chdir_or_die ($optEmuPatch);
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1555
    run ("cmd /c OptimiseEmulator.bat");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1556
    msg("Finished Applying Emulator performance boost Patch...");
ac50fd48361b Second Contribution
rajpuroh
parents: 0
diff changeset
  1557
  }