sbsv1/abld/e32util/preprocessor.pm
changeset 599 fa7a3cc6effd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv1/abld/e32util/preprocessor.pm	Fri Jun 25 17:29:25 2010 +0800
@@ -0,0 +1,101 @@
+# Copyright (c) 2004-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:
+# prepocessor.pm
+# Used to allow us to access and manipulate other pre processors
+# 
+#
+
+package Preprocessor;
+
+require Exporter;
+@ISA=qw(Exporter);
+
+@EXPORT=qw(
+	PreprocessorToUseId PreprocessorToUseExe PreprocessorToUsePath 
+);
+
+
+
+#
+# Returns the preprocessor name.
+# (After checking it is valid)
+#
+sub PreprocessorToUseId()
+{
+    $env="0";
+    if (defined $ENV{ALT_PRE})
+    {
+	$env = $ENV{ALT_PRE};
+    }
+    
+    if ( $env eq "1" ) # Only a value of 1 will use alternative preprocessor
+    {
+        return "MINGW_NO_CYGWIN";
+    }
+    else
+    {
+        return "DEFAULT";
+    }
+}
+
+
+
+#
+# Returns the preprocessor exe name.
+# without the exe extension.
+#
+
+
+sub PreprocessorToUseExe()
+{
+    $env = &PreprocessorToUseId();
+    
+    if ( ($env eq "DEFAULT") )
+    {
+        return "cpp";
+    }
+    elsif ( $env eq "MINGW_NO_CYGWIN" )
+    {
+        return "scpp";
+    }
+}
+
+
+
+
+#
+# Returns the full path and exe of the preprocessor relative to the 
+# gcc\bin path.
+#
+sub PreprocessorToUsePath()
+{
+    $env = &PreprocessorToUseId();
+
+    if ( ($env eq "") || ($env eq "DEFAULT") )
+    {
+        return "";
+    }
+    elsif ( $env eq "MINGW_NO_CYGWIN" )
+    {
+        return ""; # Currently same path as default (different name though !)
+    }
+    else
+    { # Nothing really to use.
+        die
+            "Unable to find the correct pre processor\n",
+    }
+}
+
+
+1;
\ No newline at end of file