]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: Create and use a shared value for 'MSFT' from DataType
authorCarsey, Jaben <jaben.carsey@intel.com>
Fri, 24 Aug 2018 16:33:17 +0000 (00:33 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Thu, 30 Aug 2018 00:42:09 +0000 (08:42 +0800)
I see lots of 'MSFT' throughout code and this can reduce them.

Cc: Bob Feng <Bob.c.Feng@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
BaseTools/Source/Python/AutoGen/AutoGen.py
BaseTools/Source/Python/AutoGen/BuildEngine.py
BaseTools/Source/Python/AutoGen/GenMake.py
BaseTools/Source/Python/Common/DataType.py
BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py
BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py
BaseTools/Source/Python/Workspace/DscBuildData.py
BaseTools/Source/Python/Workspace/InfBuildData.py
BaseTools/Source/Python/build/build.py

index 314a321e95c6f02dfaf7846e1cf581a5e255d2d2..15365e7b1d744166347a6420322b6f7d6c847104 100644 (file)
@@ -79,7 +79,7 @@ gEfiVarStoreNamePattern = re.compile("\s*name\s*=\s*(\w+)")
 gEfiVarStoreGuidPattern = re.compile("\s*guid\s*=\s*({.*?{.*?}\s*})")\r
 \r
 ## Mapping Makefile type\r
-gMakeTypeMap = {"MSFT":"nmake", "GCC":"gmake"}\r
+gMakeTypeMap = {TAB_COMPILER_MSFT:"nmake", "GCC":"gmake"}\r
 \r
 \r
 ## Build rule configuration file\r
@@ -1842,7 +1842,7 @@ class PlatformAutoGen(AutoGen):
                or not ToolDefinition[TAB_TOD_DEFINES_FAMILY][self.ToolChain]:\r
                 EdkLogger.verbose("No tool chain family found in configuration for %s. Default to MSFT." \\r
                                    % self.ToolChain)\r
-                self._ToolChainFamily = "MSFT"\r
+                self._ToolChainFamily = TAB_COMPILER_MSFT\r
             else:\r
                 self._ToolChainFamily = ToolDefinition[TAB_TOD_DEFINES_FAMILY][self.ToolChain]\r
         return self._ToolChainFamily\r
@@ -1855,7 +1855,7 @@ class PlatformAutoGen(AutoGen):
                or not ToolDefinition[TAB_TOD_DEFINES_BUILDRULEFAMILY][self.ToolChain]:\r
                 EdkLogger.verbose("No tool chain family found in configuration for %s. Default to MSFT." \\r
                                    % self.ToolChain)\r
-                self._BuildRuleFamily = "MSFT"\r
+                self._BuildRuleFamily = TAB_COMPILER_MSFT\r
             else:\r
                 self._BuildRuleFamily = ToolDefinition[TAB_TOD_DEFINES_BUILDRULEFAMILY][self.ToolChain]\r
         return self._BuildRuleFamily\r
@@ -2977,7 +2977,7 @@ class ModuleAutoGen(AutoGen):
         # 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
-        if self.PlatformInfo.ToolChainFamily in ('MSFT'):\r
+        if self.PlatformInfo.ToolChainFamily in (TAB_COMPILER_MSFT):\r
             BuildOptIncludeRegEx = gBuildOptIncludePatternMsft\r
         elif self.PlatformInfo.ToolChainFamily in ('INTEL', 'GCC', 'RVCT'):\r
             BuildOptIncludeRegEx = gBuildOptIncludePatternOther\r
index 4291da9001b8b4744f4f76bc65fdd15999e784ca..ac7a6687552cde3366a6c2f3fb8b6cafea649666 100644 (file)
@@ -318,7 +318,7 @@ class BuildRule:
     #   @param  LineIndex           The line number from which the parsing will begin\r
     #   @param  SupportedFamily     The list of supported tool chain families\r
     #\r
-    def __init__(self, File=None, Content=None, LineIndex=0, SupportedFamily=["MSFT", "INTEL", "GCC", "RVCT"]):\r
+    def __init__(self, File=None, Content=None, LineIndex=0, SupportedFamily=[TAB_COMPILER_MSFT, "INTEL", "GCC", "RVCT"]):\r
         self.RuleFile = File\r
         # Read build rules from file if it's not none\r
         if File is not None:\r
@@ -596,17 +596,17 @@ if __name__ == '__main__':
     EdkLogger.Initialize()\r
     if len(sys.argv) > 1:\r
         Br = BuildRule(sys.argv[1])\r
-        print(str(Br[".c", SUP_MODULE_DXE_DRIVER, "IA32", "MSFT"][1]))\r
+        print(str(Br[".c", SUP_MODULE_DXE_DRIVER, "IA32", TAB_COMPILER_MSFT][1]))\r
         print()\r
         print(str(Br[".c", SUP_MODULE_DXE_DRIVER, "IA32", "INTEL"][1]))\r
         print()\r
         print(str(Br[".c", SUP_MODULE_DXE_DRIVER, "IA32", "GCC"][1]))\r
         print()\r
-        print(str(Br[".ac", "ACPI_TABLE", "IA32", "MSFT"][1]))\r
+        print(str(Br[".ac", "ACPI_TABLE", "IA32", TAB_COMPILER_MSFT][1]))\r
         print()\r
         print(str(Br[".h", "ACPI_TABLE", "IA32", "INTEL"][1]))\r
         print()\r
-        print(str(Br[".ac", "ACPI_TABLE", "IA32", "MSFT"][1]))\r
+        print(str(Br[".ac", "ACPI_TABLE", "IA32", TAB_COMPILER_MSFT][1]))\r
         print()\r
         print(str(Br[".s", SUP_MODULE_SEC, "IPF", "COMMON"][1]))\r
         print()\r
index 55081acbd82233a0f561e08728df1472af64f3b9..35ee98c82bb134a75d4271b6bde9e4f3c685a413 100644 (file)
@@ -27,6 +27,7 @@ from Common.StringUtils import *
 from .BuildEngine import *\r
 import Common.GlobalData as GlobalData\r
 from collections import OrderedDict\r
+from Common.DataType import TAB_COMPILER_MSFT\r
 \r
 ## Regular expression for finding header file inclusions\r
 gIncludePattern = re.compile(r"^[ \t]*#?[ \t]*include(?:[ \t]*(?:\\(?:\r\n|\r|\n))*[ \t]*)*(?:\(?[\"<]?[ \t]*)([-\w.\\/() \t]+)(?:[ \t]*[\">]?\)?)", re.MULTILINE | re.UNICODE | re.IGNORECASE)\r
@@ -166,7 +167,7 @@ class BuildFile(object):
         "gmake" :   "include"\r
     }\r
 \r
-    _INC_FLAG_ = {"MSFT" : "/I", "GCC" : "-I", "INTEL" : "-I", "RVCT" : "-I"}\r
+    _INC_FLAG_ = {TAB_COMPILER_MSFT : "/I", "GCC" : "-I", "INTEL" : "-I", "RVCT" : "-I"}\r
 \r
     ## Constructor of BuildFile\r
     #\r
index 473fb7473a5a6d9acd6a58f4eff7dcdff537dcd7..1d1d22faa40b447877c00c16651b17f16d489273 100644 (file)
@@ -554,3 +554,5 @@ PACK_CODE_BY_SIZE = {8:'=Q',
                      1:'=B',\r
                      0:'=B',\r
                     16:""}\r
+\r
+TAB_COMPILER_MSFT = 'MSFT'\r
\ No newline at end of file
index a2cd30d3d910a2033ef7df14bd75d29363686c8f..52a78bcbb81391192faad614542ed35c1041916a 100644 (file)
@@ -1111,7 +1111,7 @@ class DscParser(MetaFileParser):
 \r
     ## Override parent's method since we'll do all macro replacements in parser\r
     def _GetMacros(self):\r
-        Macros = dict( [('ARCH', 'IA32'), ('FAMILY', 'MSFT'), ('TOOL_CHAIN_TAG', 'VS2008x86'), ('TARGET', 'DEBUG')])\r
+        Macros = dict( [('ARCH', 'IA32'), ('FAMILY', TAB_COMPILER_MSFT), ('TOOL_CHAIN_TAG', 'VS2008x86'), ('TARGET', 'DEBUG')])\r
         Macros.update(self._FileLocalMacros)\r
         Macros.update(self._GetApplicableSectionMacro())\r
         Macros.update(GlobalData.gEdkGlobal)\r
index 9936498c51582006162193d3e2b92f20c4cb574b..eb106b5744204b099c0a4f84bb383baf1432c2fc 100644 (file)
@@ -66,8 +66,8 @@ class GenFdsGlobalVariable:
     FixedLoadAddress = False\r
     PlatformName = ''\r
 \r
-    BuildRuleFamily = "MSFT"\r
-    ToolChainFamily = "MSFT"\r
+    BuildRuleFamily = DataType.TAB_COMPILER_MSFT\r
+    ToolChainFamily = DataType.TAB_COMPILER_MSFT\r
     __BuildRuleDatabase = None\r
     GuidToolDefinition = {}\r
     FfsCmdDict = {}\r
index 748452623fd36c96e179edeaf1d64b5cdd88dc27..ca20f8dd6c47a197240e0b51803886c3659c6ccf 100644 (file)
@@ -2784,7 +2784,7 @@ class DscBuildData(PlatformBuildClassObject):
             self.Modules.append(Module)\r
 \r
     def _GetToolChainFamily(self):\r
-        self._ToolChainFamily = "MSFT"\r
+        self._ToolChainFamily = TAB_COMPILER_MSFT\r
         BuildConfigurationFile = os.path.normpath(os.path.join(GlobalData.gConfDirectory, "target.txt"))\r
         if os.path.isfile(BuildConfigurationFile) == True:\r
             TargetTxt      = TargetTxtClassObject()\r
@@ -2800,7 +2800,7 @@ class DscBuildData(PlatformBuildClassObject):
                 if TAB_TOD_DEFINES_FAMILY not in ToolDefinition \\r
                    or self._Toolchain not in ToolDefinition[TAB_TOD_DEFINES_FAMILY] \\r
                    or not ToolDefinition[TAB_TOD_DEFINES_FAMILY][self._Toolchain]:\r
-                    self._ToolChainFamily = "MSFT"\r
+                    self._ToolChainFamily = TAB_COMPILER_MSFT\r
                 else:\r
                     self._ToolChainFamily = ToolDefinition[TAB_TOD_DEFINES_FAMILY][self._Toolchain]\r
         return self._ToolChainFamily\r
index 7c3d712efe636855b0753ed06d7a0076fa93008e..1325b4f0295a9e6da50c681708333c8706f72e94 100644 (file)
@@ -252,10 +252,10 @@ class InfBuildData(ModuleBuildClassObject):
                 if self._CustomMakefile is None:\r
                     self._CustomMakefile = {}\r
                 if len(TokenList) < 2:\r
-                    self._CustomMakefile['MSFT'] = TokenList[0]\r
+                    self._CustomMakefile[TAB_COMPILER_MSFT] = TokenList[0]\r
                     self._CustomMakefile['GCC'] = TokenList[0]\r
                 else:\r
-                    if TokenList[0] not in ['MSFT', 'GCC']:\r
+                    if TokenList[0] not in [TAB_COMPILER_MSFT, 'GCC']:\r
                         EdkLogger.error("build", FORMAT_NOT_SUPPORTED,\r
                                         "No supported family [%s]" % TokenList[0],\r
                                         File=self.MetaFile, Line=Record[-1])\r
@@ -353,7 +353,7 @@ class InfBuildData(ModuleBuildClassObject):
                         else:\r
                             Tool = ToolList[0]\r
                         ToolChain = "*_*_*_%s_FLAGS" % Tool\r
-                        ToolChainFamily = 'MSFT'  # Edk.x only support MSFT tool chain\r
+                        # Edk.x only support MSFT tool chain\r
                         # ignore not replaced macros in value\r
                         ValueList = GetSplitList(' ' + Value, '/D')\r
                         Dummy = ValueList[0]\r
@@ -362,11 +362,11 @@ class InfBuildData(ModuleBuildClassObject):
                                 continue\r
                             Dummy = Dummy + ' /D ' + ValueList[Index]\r
                         Value = Dummy.strip()\r
-                        if (ToolChainFamily, ToolChain) not in self._BuildOptions:\r
-                            self._BuildOptions[ToolChainFamily, ToolChain] = Value\r
+                        if (TAB_COMPILER_MSFT, ToolChain) not in self._BuildOptions:\r
+                            self._BuildOptions[TAB_COMPILER_MSFT, ToolChain] = Value\r
                         else:\r
-                            OptionString = self._BuildOptions[ToolChainFamily, ToolChain]\r
-                            self._BuildOptions[ToolChainFamily, ToolChain] = OptionString + " " + Value\r
+                            OptionString = self._BuildOptions[TAB_COMPILER_MSFT, ToolChain]\r
+                            self._BuildOptions[TAB_COMPILER_MSFT, ToolChain] = OptionString + " " + Value\r
         # set _Header to non-None in order to avoid database re-querying\r
         self._Header_ = 'DUMMY'\r
 \r
index 6ad0e389687ce5c501b6eaebfe5d3685ab355350..e6a9c6ef7199e7a4e632fb781ffbd20099e11d8d 100644 (file)
@@ -933,7 +933,7 @@ class Build():
             if TAB_TOD_DEFINES_FAMILY not in ToolDefinition or Tool not in ToolDefinition[TAB_TOD_DEFINES_FAMILY] \\r
                or not ToolDefinition[TAB_TOD_DEFINES_FAMILY][Tool]:\r
                 EdkLogger.warn("build", "No tool chain family found in configuration for %s. Default to MSFT." % Tool)\r
-                ToolChainFamily.append("MSFT")\r
+                ToolChainFamily.append(TAB_COMPILER_MSFT)\r
             else:\r
                 ToolChainFamily.append(ToolDefinition[TAB_TOD_DEFINES_FAMILY][Tool])\r
         self.ToolChainFamily = ToolChainFamily\r