]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Common/ToolDefClassObject.py
License header updated to match correct format.
[mirror_edk2.git] / BaseTools / Source / Python / Common / ToolDefClassObject.py
index b5cd5ee435ef153c14e4495359ea01c9169506d2..4fefbd91e0a0d95224af6e1796c23480f4bb8dfe 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 # This file is used to define each component of tools_def.txt file\r
 #\r
-# Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
 # which accompanies this distribution.  The full text of the license may be found at\r
 ##\r
 # Import Modules\r
 #\r
-import os\r
+import Common.LongFilePathOs as os\r
 import re\r
 import EdkLogger\r
 \r
 from Dictionary import *\r
 from BuildToolError import *\r
 from TargetTxtClassObject import *\r
+from Common.LongFilePathSupport import OpenLongFilePath as open\r
 \r
 ##\r
 # Static variables used for pattern\r
@@ -28,7 +29,7 @@ from TargetTxtClassObject import *
 gMacroRefPattern = re.compile('(DEF\([^\(\)]+\))')\r
 gEnvRefPattern = re.compile('(ENV\([^\(\)]+\))')\r
 gMacroDefPattern = re.compile("DEFINE\s+([^\s]+)")\r
-gDefaultToolsDefFile = "Conf/tools_def.txt"\r
+gDefaultToolsDefFile = "tools_def.txt"\r
 \r
 ## ToolDefClassObject\r
 #\r
@@ -180,8 +181,10 @@ class ToolDefClassObject(object):
         EnvReference = gEnvRefPattern.findall(Value)\r
         for Ref in EnvReference:\r
             if Ref not in self.MacroDictionary:\r
-                return False, Ref\r
-            Value = Value.replace(Ref, self.MacroDictionary[Ref])\r
+                Value = Value.replace(Ref, "")\r
+            else:\r
+                Value = Value.replace(Ref, self.MacroDictionary[Ref])\r
\r
 \r
         MacroReference = gMacroRefPattern.findall(Value)\r
         for Ref in MacroReference:\r
@@ -193,18 +196,23 @@ class ToolDefClassObject(object):
 \r
 ## ToolDefDict\r
 #\r
-# Load tools_def.txt in input workspace dir\r
+# Load tools_def.txt in input Conf dir\r
 #\r
-# @param WorkSpace:  Workspace dir\r
+# @param ConfDir:  Conf dir\r
 #\r
 # @retval ToolDef An instance of ToolDefClassObject() with loaded tools_def.txt\r
 #\r
-def ToolDefDict(WorkSpace):\r
-    Target = TargetTxtDict(WorkSpace)\r
+def ToolDefDict(ConfDir):\r
+    Target = TargetTxtDict(ConfDir)\r
     ToolDef = ToolDefClassObject()\r
     if DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF in Target.TargetTxtDictionary:\r
-        gDefaultToolsDefFile = Target.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]\r
-    ToolDef.LoadToolDefFile(os.path.normpath(os.path.join(WorkSpace, gDefaultToolsDefFile)))\r
+        ToolsDefFile = Target.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]\r
+        if ToolsDefFile:\r
+            ToolDef.LoadToolDefFile(os.path.normpath(ToolsDefFile))\r
+        else:\r
+            ToolDef.LoadToolDefFile(os.path.normpath(os.path.join(ConfDir, gDefaultToolsDefFile)))\r
+    else:\r
+        ToolDef.LoadToolDefFile(os.path.normpath(os.path.join(ConfDir, gDefaultToolsDefFile)))\r
     return ToolDef\r
 \r
 ##\r