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