## @file\r
# This file is used to define each component of tools_def.txt file\r
#\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2016, 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
# @retval Value: The string which has been replaced with real value\r
#\r
def ExpandMacros(self, Value):\r
+ # os.environ contains all environment variables uppercase on Windows which cause the key in the self.MacroDictionary is uppercase, but Ref may not\r
EnvReference = gEnvRefPattern.findall(Value)\r
for Ref in EnvReference:\r
- if Ref not in self.MacroDictionary:\r
+ if Ref not in self.MacroDictionary and Ref.upper() not in self.MacroDictionary:\r
Value = Value.replace(Ref, "")\r
else:\r
- Value = Value.replace(Ref, self.MacroDictionary[Ref])\r
- \r
-\r
+ if Ref in self.MacroDictionary:\r
+ Value = Value.replace(Ref, self.MacroDictionary[Ref])\r
+ else:\r
+ Value = Value.replace(Ref, self.MacroDictionary[Ref.upper()])\r
MacroReference = gMacroRefPattern.findall(Value)\r
for Ref in MacroReference:\r
if Ref not in self.MacroDictionary:\r