## Regular expression for splitting Dependency Expression string into tokens\r
gDepexTokenPattern = re.compile("(\(|\)|\w+| \S+\.inf)")\r
\r
+## Regular expression for match: PCD(xxxx.yyy)\r
+gPCDAsGuidPattern = re.compile(r"^PCD\(.+\..+\)$")\r
+\r
+#\r
+# Regular expression for finding Include Directories, the difference between MSFT and INTEL/GCC/RVCT\r
+# is the former use /I , the Latter used -I to specify include directories\r
+#\r
+gBuildOptIncludePatternMsft = re.compile(r"(?:.*?)/I[ \t]*([^ ]*)", re.MULTILINE | re.DOTALL)\r
+gBuildOptIncludePatternOther = re.compile(r"(?:.*?)-I[ \t]*([^ ]*)", re.MULTILINE | re.DOTALL)\r
+\r
#\r
# Match name = variable\r
#\r
InfFoundFlag = False\r
\r
if FfsFile.NameGuid is not None:\r
- _CheckPCDAsGuidPattern = re.compile("^PCD\(.+\..+\)$")\r
-\r
#\r
# If the NameGuid reference a PCD name. \r
# The style must match: PCD(xxxx.yyy)\r
#\r
- if _CheckPCDAsGuidPattern.match(FfsFile.NameGuid):\r
+ if gPCDAsGuidPattern.match(FfsFile.NameGuid):\r
#\r
# Replace the PCD value.\r
#\r
# is the former use /I , the Latter used -I to specify include directories\r
#\r
if self.PlatformInfo.ToolChainFamily in ('MSFT'):\r
- gBuildOptIncludePattern = re.compile(r"(?:.*?)/I[ \t]*([^ ]*)", re.MULTILINE | re.DOTALL)\r
+ BuildOptIncludeRegEx = gBuildOptIncludePatternMsft\r
elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC', 'RVCT'):\r
- gBuildOptIncludePattern = re.compile(r"(?:.*?)-I[ \t]*([^ ]*)", re.MULTILINE | re.DOTALL)\r
+ BuildOptIncludeRegEx = gBuildOptIncludePatternOther\r
else:\r
#\r
# New ToolChainFamily, don't known whether there is option to specify include directories\r
FlagOption = ''\r
\r
if self.PlatformInfo.ToolChainFamily != 'RVCT':\r
- IncPathList = [NormPath(Path, self.Macros) for Path in gBuildOptIncludePattern.findall(FlagOption)]\r
+ IncPathList = [NormPath(Path, self.Macros) for Path in BuildOptIncludeRegEx.findall(FlagOption)]\r
else:\r
#\r
# RVCT may specify a list of directory seperated by commas\r
#\r
IncPathList = []\r
- for Path in gBuildOptIncludePattern.findall(FlagOption):\r
+ for Path in BuildOptIncludeRegEx.findall(FlagOption):\r
PathList = GetSplitList(Path, TAB_COMMA_SPLIT)\r
IncPathList += [NormPath(PathEntry, self.Macros) for PathEntry in PathList]\r
\r