deprecated/buildtools/emulatorlauncher/perl/epoc.pl
changeset 668 fb8810d63524
parent 667 a3b39a14147a
child 669 ac2dc5c059f3
--- a/deprecated/buildtools/emulatorlauncher/perl/epoc.pl	Thu Oct 28 11:18:50 2010 +0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-# Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-# Launcher for the Symbian Emulator, including
-# functionality to read the $ENV{EPOCROOT}epoc32\data\BuildInfo.txt
-# file to find out information regarding the current Emulator.
-# Depends on the current working directory providing
-# the drive of the currently used SDK.
-# 
-#
-
-use Cwd;
-
-#
-# Check the argument(s), if any.
-#
-$numArgs = $#ARGV + 1;
-
-if($numArgs == 0) 
-	{
-    	&launchEmulator("udeb","winscw");
-    	exit(0);
-	}
-
-if($numArgs > 2) 
-	{
-    	&printHelp;
-    	die "ERROR: Too many arguments.\n";
-	}
-
-if($numArgs == 1)
-	{ 
-	if(lc($ARGV[0]) eq "-rel") 
-		{
-    		&launchEmulator("urel","winscw");
-    		exit(0);
-		}
-
-	if (lc($ARGV[0]) eq "-version") 
-		{
-    		&printVersion;
-    		exit(0);
-		}
-
-	if(lc($ARGV[0]) eq "-wins") 
-		{
-    		&launchEmulator("udeb", "wins");
-    		exit(0);
-		}
-
-	if(lc($ARGV[0]) eq "-winscw") 
-		{
-    		&launchEmulator("udeb", "winscw");
-    		exit(0);
-		}
-
-	if(lc($ARGV[0]) eq "-help") 
-		{
-    		&printHelp;
-    		exit(0);
-		}
-	}
-
-if ($numArgs == 2)
-	{
-	if(lc($ARGV[0]) eq "-rel") 
-		{
-		if (lc($ARGV[1]) eq "-wins")
-			{
-    			&launchEmulator("urel","wins");
-    			exit(0);
-			}
-
-		if (lc($ARGV[1]) eq "-winscw")
-			{
-    			&launchEmulator("urel","winscw");
-    			exit(0);
-			}
-		}	
-	
-	if (lc($ARGV[0]) eq "-winscw")
-		{
-		if (lc($ARGV[1] eq "-rel"))
-			{
-			&launchEmulator("urel","winscw");
-			exit(0);	
-			}
-		}
-	
-	if (lc($ARGV[0]) eq "-wins")
-		{
-		if (lc($ARGV[1] eq "-rel"))
-			{
-			&launchEmulator("urel","wins");
-			exit(0);	
-			}
-		}	
-	}
-
-# Error, unknown argument.
-&printHelp;
-die "ERROR: Unknown argument " . "\"" . $ARGV[0] . "\".\n";
-
-sub launchEmulator
-{
-    my ($type,$win) = @_;
-
-    my $epocroot = &getEpocroot;
-    my $drive = &getDrive;
-    my $emu = $drive . $epocroot . "epoc32" . "\\" 
-	      . "release\\" . $win . "\\" . $type . "\\" . "epoc.exe";
-    -e $emu ||
-	die "ERROR: File \"$emu\" not found.\n\n" .
-	    "The EPOCROOT environment variable does not identify\n" .
-	    "a valid Symbian emulator installation on this drive.\n" . 
-		"EPOCROOT must be an absolute path to an existing\n" .
-		    "directory - it should have no drive qualifier and\n" .
-			"must end with a backslash.\n";
-    # If the execute is successful, this never returns.
-    exec("\"" . $emu . "\"") || die "Failed to execute the emulator \"$emu\": $!";
-}
-
-sub printHelp
-{
-    print "Symbian Platform Emulator Launcher\n";
-    print "Syntax :\tepoc [-rel] [-wins|-winscw] [-version] [-help]\n";
-    print "(no options)\tLaunch active winscw debug emulator\n";
-    print "-rel\t\tLaunch active release emulator\n";
-    print "-wins\t\tLaunch active wins emulator\n";
-    print "-winscw\t\tLaunch active winscw emulator\n";
-    print "-version\tDisplay active emulator details\n";
-    print "-help\tOutput this help message\n";
-}
-
-sub printVersion
-{
-    my $epocroot = &getEpocroot;
-    my $drive = &getDrive;
-
-    my $binfo = $drive . $epocroot . "epoc32" . "\\" 
-	        . "data" . "\\" . "BuildInfo.txt";
-
-    -e $binfo || die "ERROR: File \"" . $binfo . "\" does not exist.\n";
-    open(IFILE, $binfo) ||
-	die "ERROR: Failed to open file \"" . $binfo . "\": $!";
-
-    my $DeviceFamily = "";
-    my $DeviceFamilyRev = "";
-    my $ManufacturerSoftwareRev = "";
-    my $ManufacturerSoftwareBuild = "";
-
-    while(<IFILE>) {
-	if(/DeviceFamily\s+(.*\S)\s*$/i) {
-	    $DeviceFamily = $1;
-	}
-	if(/DeviceFamilyRev\s+(.*\S)\s*$/i) {
-	    $DeviceFamilyRev = $1;
-	}
-	if(/ManufacturerSoftwareRev\s+(.*\S)\s*$/i) {
-	    $ManufacturerSoftwareRev = $1;
-	}
-	if(/ManufacturerSoftwareBuild\s+(.*\S)\s*$/i) {
-	    $ManufacturerSoftwareBuild = $1;
-	}
-    }
-
-    close(IFILE);
-
-    #
-    # Verify that we got everything we should have.
-    #
-    $DeviceFamily ne "" ||
-	die "ERROR: Device family not specified in file \"" . $binfo .
-	    "\".\n";
-    $DeviceFamilyRev ne "" ||
-	die "ERROR: Device family revision not specified in file \"" . $binfo .
-	    "\".\n";
-    $ManufacturerSoftwareBuild ne "" ||
-	die "ERROR: Manufacturer software build not specified in file \"" .
-	    $binfo . "\".\n";
-
-    $Revision = (($ManufacturerSoftwareRev eq "")?($DeviceFamilyRev):
-		 ($ManufacturerSoftwareRev));
-
-    $DeviceFamily = getDFRDName($DeviceFamily);
-
-    #
-    # Make the standard revision representation prettier,
-    # but leave other representations untouched.
-    #
-    if($Revision =~ /^0x([0-9])([0-9][0-9])$/) {
-	$Revision = $1 . "." . $2;
-    }
-   
-    print $DeviceFamily . " " .
-	"version " . $Revision . " " .
-	    "build " . $ManufacturerSoftwareBuild . "\n";
-}
-
-#
-# Determines, validates, and returns EPOCROOT.
-#
-sub getEpocroot
-{
-    my $epocroot = $ENV{EPOCROOT};
-    die "ERROR: Must set the EPOCROOT environment variable.\n"
-	if (!defined($epocroot));
-    $epocroot =~ s-/-\\-go;	# for those working with UNIX shells
-    die "ERROR: EPOCROOT must be an absolute path, " .
-	"not containing a drive letter.\n" if ($epocroot !~ /^\\/);
-    die "ERROR: EPOCROOT must not be a UNC path.\n" if ($epocroot =~ /^\\\\/);
-    die "ERROR: EPOCROOT must end with a backslash.\n" if ($epocroot !~ /\\$/);
-    die "ERROR: EPOCROOT must specify an existing directory.\n" 
-	if (!-d $epocroot);
-    return $epocroot;
-}
-
-#
-# Determines and returns the current drive, if any.
-#
-sub getDrive
-{
-    my $wd = cwd;
-    my $drive;
-    if($wd =~ /^([a-zA-Z]:)/) {
-	$drive = $1;
-    } else {
-	# Perhaps we're on a machine that has no drives.
-	$drive = "";
-    }
-    return $drive;
-}
-
-#
-# The DFRD may be represented by a numeric value, as defined by HAL.
-# Changes known numeric values to the name of the DFRD,
-# and leaves all other values untouched.
-#
-sub getDFRDName
-{
-    my $dfrd = shift;
-    return "Crystal" if $dfrd eq "0";
-    return "Pearl" if $dfrd eq "1";
-    return "Quartz" if $dfrd eq "2";
-    return $dfrd; # as fallback
-}