diff -r a151135b0cf9 -r aa2539c91954 tracefw/tracecompiler/tracecompiler/tracecompiler.pm --- a/tracefw/tracecompiler/tracecompiler/tracecompiler.pm Wed Sep 29 17:45:35 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,174 +0,0 @@ -# -# Copyright (c) 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: -# -# Module for TraceCompiler -# -package tracecompiler; - -# If this is 1, debug prints are shown -my $DEBUG = 0; - -use FindBin; - -# Get current directory as TraceCompiler path -my $trace_compiler_path = $FindBin::Bin; # e.g. X:/epoc32/tools -$trace_compiler_path =~ s/\\/\//g; # Replace all "\" with "/" -$trace_compiler_path =~ s/\/$//; # Remove possible trailing slash - -#------------------------------------------------------- -# Concatenate path -#------------------------------------------------------- -sub concatenatePath -{ - my $concatenatePathBase = $_[0]; - my $concatenatePathFile = $_[1]; - - my $backCount = 0; - - # Change all "\" characters to "/" - $concatenatePathBase =~ s/\\/\//g; - $concatenatePathFile =~ s/\\/\//g; - - # Replace all "/./" with "/" - $concatenatePathBase =~ s/\/\.\//\//g; - $concatenatePathFile =~ s/\/\.\//\//g; - - # Find how many back references there are and remove them - while ($concatenatePathFile =~ /\.\.\//g) - { - $backCount++ - } - $concatenatePathFile =~ s/\.\.\///g; - - # If there is / in the end of the base remove it - $concatenatePathBase =~ s/\/$//; - - # Remove directories from the end of the path - $concatenatePathBase = reverse($concatenatePathBase); - for (my $i=0; $i<$backCount; $i++) - { - $concatenatePathBase =~ s/.*?\///; - } - $concatenatePathBase = reverse($concatenatePathBase); - - my $concatenatePathFullFilePath = "$concatenatePathBase\/$concatenatePathFile"; - - # Replace again all "/./" with "/" - $concatenatePathFullFilePath =~ s/\/\.\//\//g; - - debugMsg("Concatenate returns $concatenatePathFullFilePath"); - return $concatenatePathFullFilePath; -} - -#------------------------------------------------------- -# Get java command -#------------------------------------------------------- -sub getJavaCommand -{ - my @java_commands = ("/tools/ncp_tools/helium/external/jdk1.5/jre/bin/java.exe", "java.exe", "c:/apps/seeinstaller/jre/bin/java.exe"); - - my $java_command; - - foreach my $command (@java_commands) - { - if (checkJava($command)) - { - $java_command = $command; - last; - } - } - - return $java_command; -} - -#------------------------------------------------------- -# Check java -#------------------------------------------------------- -sub checkJava -{ - open (IN, "$_[0] -version 2>&1 |"); - while() - { - if (/(\d+\.\d+)/) - { - if ($1 >= 1.5) - { - return 1; - } - } - } - - return 0; -} - -#------------------------------------------------------- -# Gets TraceCompiler version number -#------------------------------------------------------- -sub getTraceCompilerVersion -{ - # Get Java command or EXIT if not found - my $java_command = getJavaCommand(); - - if (not defined $java_command) - { - return "Java 1.5 or newer required!\n"; - exit; - } - - # run from class files class files - my $version_query_command = "$java_command -classpath $trace_compiler_path/tracecompiler com.nokia.tracecompiler.TraceCompilerMain -v"; - - # run from jar file command - #my $version_query_command = "$java_command -jar $trace_compiler_path/tracecompiler.jar -version"; - - my $version = qx($version_query_command); - - return $version; -} - - -#------------------------------------------------------- -# Debug Message. Writes to log file and outputs to screen. -#------------------------------------------------------- -sub debugMsg -{ - if ($DEBUG) - { - open FILE, ">>/tracecompiler_debug.txt" or die $!; - print FILE $_[0] . "\n"; - close FILE; - - return print "DEBUG: $_[0]\n"; - } -} - -#------------------------------------------------------- -# Writes TraceCompiler version to log and screen if Debug is on. -#------------------------------------------------------- -sub debugTraceCompilerVersion -{ - if ($DEBUG) - { - open FILE, ">>/tracecompiler_debug.txt" or die $!; - my $version = getTraceCompilerVersion(); - print FILE $version; - close FILE; - - return print "DEBUG: $version\n"; - } -} - -1; -