## @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
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
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
\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