mirror of https://github.com/acidanthera/audk.git
BaseTools: Singleton the object to handle build conf file
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1875 The build config files are target.txt, build rule, tooldef During a build, the config is not changed, so the object to handle them need to be singleton. Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Bob Feng <bob.c.feng@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Acked-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
parent
4b1b7c1913
commit
db01c8e3d8
|
@ -24,7 +24,8 @@ from . import GenDepex
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
from .StrGather import *
|
from .StrGather import *
|
||||||
from .BuildEngine import BuildRule
|
from .BuildEngine import BuildRuleObj as BuildRule
|
||||||
|
from .BuildEngine import gDefaultBuildRuleFile,AutoGenReqBuildRuleVerNum
|
||||||
import shutil
|
import shutil
|
||||||
from Common.LongFilePathSupport import CopyLongFilePath
|
from Common.LongFilePathSupport import CopyLongFilePath
|
||||||
from Common.BuildToolError import *
|
from Common.BuildToolError import *
|
||||||
|
@ -78,12 +79,6 @@ gEfiVarStoreGuidPattern = re.compile("\s*guid\s*=\s*({.*?{.*?}\s*})")
|
||||||
gMakeTypeMap = {TAB_COMPILER_MSFT:"nmake", "GCC":"gmake"}
|
gMakeTypeMap = {TAB_COMPILER_MSFT:"nmake", "GCC":"gmake"}
|
||||||
|
|
||||||
|
|
||||||
## Build rule configuration file
|
|
||||||
gDefaultBuildRuleFile = 'build_rule.txt'
|
|
||||||
|
|
||||||
## Build rule default version
|
|
||||||
AutoGenReqBuildRuleVerNum = "0.1"
|
|
||||||
|
|
||||||
## default file name for AutoGen
|
## default file name for AutoGen
|
||||||
gAutoGenCodeFileName = "AutoGen.c"
|
gAutoGenCodeFileName = "AutoGen.c"
|
||||||
gAutoGenHeaderFileName = "AutoGen.h"
|
gAutoGenHeaderFileName = "AutoGen.h"
|
||||||
|
@ -1972,28 +1967,6 @@ class PlatformAutoGen(AutoGen):
|
||||||
def EdkIIBuildOption(self):
|
def EdkIIBuildOption(self):
|
||||||
return self._ExpandBuildOption(self.Platform.BuildOptions, EDKII_NAME)
|
return self._ExpandBuildOption(self.Platform.BuildOptions, EDKII_NAME)
|
||||||
|
|
||||||
## Parse build_rule.txt in Conf Directory.
|
|
||||||
#
|
|
||||||
# @retval BuildRule object
|
|
||||||
#
|
|
||||||
@cached_property
|
|
||||||
def BuildRule(self):
|
|
||||||
BuildRuleFile = None
|
|
||||||
if TAB_TAT_DEFINES_BUILD_RULE_CONF in self.Workspace.TargetTxt.TargetTxtDictionary:
|
|
||||||
BuildRuleFile = self.Workspace.TargetTxt.TargetTxtDictionary[TAB_TAT_DEFINES_BUILD_RULE_CONF]
|
|
||||||
if not BuildRuleFile:
|
|
||||||
BuildRuleFile = gDefaultBuildRuleFile
|
|
||||||
RetVal = BuildRule(BuildRuleFile)
|
|
||||||
if RetVal._FileVersion == "":
|
|
||||||
RetVal._FileVersion = AutoGenReqBuildRuleVerNum
|
|
||||||
else:
|
|
||||||
if RetVal._FileVersion < AutoGenReqBuildRuleVerNum :
|
|
||||||
# If Build Rule's version is less than the version number required by the tools, halting the build.
|
|
||||||
EdkLogger.error("build", AUTOGEN_ERROR,
|
|
||||||
ExtraData="The version number [%s] of build_rule.txt is less than the version number required by the AutoGen.(the minimum required version number is [%s])"\
|
|
||||||
% (RetVal._FileVersion, AutoGenReqBuildRuleVerNum))
|
|
||||||
return RetVal
|
|
||||||
|
|
||||||
## Summarize the packages used by modules in this platform
|
## Summarize the packages used by modules in this platform
|
||||||
@cached_property
|
@cached_property
|
||||||
def PackageList(self):
|
def PackageList(self):
|
||||||
|
@ -3151,7 +3124,7 @@ class ModuleAutoGen(AutoGen):
|
||||||
@cached_property
|
@cached_property
|
||||||
def BuildRules(self):
|
def BuildRules(self):
|
||||||
RetVal = {}
|
RetVal = {}
|
||||||
BuildRuleDatabase = self.PlatformInfo.BuildRule
|
BuildRuleDatabase = BuildRule
|
||||||
for Type in BuildRuleDatabase.FileTypeList:
|
for Type in BuildRuleDatabase.FileTypeList:
|
||||||
#first try getting build rule by BuildRuleFamily
|
#first try getting build rule by BuildRuleFamily
|
||||||
RuleObject = BuildRuleDatabase[Type, self.BuildType, self.Arch, self.BuildRuleFamily]
|
RuleObject = BuildRuleDatabase[Type, self.BuildType, self.Arch, self.BuildRuleFamily]
|
||||||
|
|
|
@ -20,6 +20,9 @@ from Common.BuildToolError import *
|
||||||
from Common.Misc import tdict, PathClass
|
from Common.Misc import tdict, PathClass
|
||||||
from Common.StringUtils import NormPath
|
from Common.StringUtils import NormPath
|
||||||
from Common.DataType import *
|
from Common.DataType import *
|
||||||
|
from Common.TargetTxtClassObject import TargetTxt
|
||||||
|
gDefaultBuildRuleFile = 'build_rule.txt'
|
||||||
|
AutoGenReqBuildRuleVerNum = '0.1'
|
||||||
|
|
||||||
import Common.EdkLogger as EdkLogger
|
import Common.EdkLogger as EdkLogger
|
||||||
|
|
||||||
|
@ -583,6 +586,25 @@ class BuildRule:
|
||||||
_UnknownSection : SkipSection,
|
_UnknownSection : SkipSection,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def GetBuildRule():
|
||||||
|
BuildRuleFile = None
|
||||||
|
if TAB_TAT_DEFINES_BUILD_RULE_CONF in TargetTxt.TargetTxtDictionary:
|
||||||
|
BuildRuleFile = TargetTxt.TargetTxtDictionary[TAB_TAT_DEFINES_BUILD_RULE_CONF]
|
||||||
|
if not BuildRuleFile:
|
||||||
|
BuildRuleFile = gDefaultBuildRuleFile
|
||||||
|
RetVal = BuildRule(BuildRuleFile)
|
||||||
|
if RetVal._FileVersion == "":
|
||||||
|
RetVal._FileVersion = AutoGenReqBuildRuleVerNum
|
||||||
|
else:
|
||||||
|
if RetVal._FileVersion < AutoGenReqBuildRuleVerNum :
|
||||||
|
# If Build Rule's version is less than the version number required by the tools, halting the build.
|
||||||
|
EdkLogger.error("build", AUTOGEN_ERROR,
|
||||||
|
ExtraData="The version number [%s] of build_rule.txt is less than the version number required by the AutoGen.(the minimum required version number is [%s])"\
|
||||||
|
% (RetVal._FileVersion, AutoGenReqBuildRuleVerNum))
|
||||||
|
return RetVal
|
||||||
|
|
||||||
|
BuildRuleObj = GetBuildRule()
|
||||||
|
|
||||||
# This acts like the main() function for the script, unless it is 'import'ed into another
|
# This acts like the main() function for the script, unless it is 'import'ed into another
|
||||||
# script.
|
# script.
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
|
@ -146,6 +146,8 @@ def TargetTxtDict(ConfDir):
|
||||||
Target.LoadTargetTxtFile(os.path.normpath(os.path.join(ConfDir, gDefaultTargetTxtFile)))
|
Target.LoadTargetTxtFile(os.path.normpath(os.path.join(ConfDir, gDefaultTargetTxtFile)))
|
||||||
return Target
|
return Target
|
||||||
|
|
||||||
|
TargetTxt = TargetTxtDict(os.path.join(os.getenv("WORKSPACE"),"Conf"))
|
||||||
|
|
||||||
##
|
##
|
||||||
#
|
#
|
||||||
# This acts like the main() function for the script, unless it is 'import'ed into another
|
# This acts like the main() function for the script, unless it is 'import'ed into another
|
||||||
|
|
|
@ -14,7 +14,7 @@ import re
|
||||||
from . import EdkLogger
|
from . import EdkLogger
|
||||||
|
|
||||||
from .BuildToolError import *
|
from .BuildToolError import *
|
||||||
from Common.TargetTxtClassObject import TargetTxtDict
|
from Common.TargetTxtClassObject import TargetTxt
|
||||||
from Common.LongFilePathSupport import OpenLongFilePath as open
|
from Common.LongFilePathSupport import OpenLongFilePath as open
|
||||||
from Common.Misc import PathClass
|
from Common.Misc import PathClass
|
||||||
from Common.StringUtils import NormPath
|
from Common.StringUtils import NormPath
|
||||||
|
@ -263,7 +263,7 @@ class ToolDefClassObject(object):
|
||||||
# @retval ToolDef An instance of ToolDefClassObject() with loaded tools_def.txt
|
# @retval ToolDef An instance of ToolDefClassObject() with loaded tools_def.txt
|
||||||
#
|
#
|
||||||
def ToolDefDict(ConfDir):
|
def ToolDefDict(ConfDir):
|
||||||
Target = TargetTxtDict(ConfDir)
|
Target = TargetTxt
|
||||||
ToolDef = ToolDefClassObject()
|
ToolDef = ToolDefClassObject()
|
||||||
if TAB_TAT_DEFINES_TOOL_CHAIN_CONF in Target.TargetTxtDictionary:
|
if TAB_TAT_DEFINES_TOOL_CHAIN_CONF in Target.TargetTxtDictionary:
|
||||||
ToolsDefFile = Target.TargetTxtDictionary[TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
ToolsDefFile = Target.TargetTxtDictionary[TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
||||||
|
@ -275,6 +275,8 @@ def ToolDefDict(ConfDir):
|
||||||
ToolDef.LoadToolDefFile(os.path.normpath(os.path.join(ConfDir, gDefaultToolsDefFile)))
|
ToolDef.LoadToolDefFile(os.path.normpath(os.path.join(ConfDir, gDefaultToolsDefFile)))
|
||||||
return ToolDef
|
return ToolDef
|
||||||
|
|
||||||
|
ToolDef = ToolDefDict((os.path.join(os.getenv("WORKSPACE"),"Conf")))
|
||||||
|
|
||||||
##
|
##
|
||||||
#
|
#
|
||||||
# This acts like the main() function for the script, unless it is 'import'ed into another
|
# This acts like the main() function for the script, unless it is 'import'ed into another
|
||||||
|
|
|
@ -20,7 +20,7 @@ from linecache import getlines
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
|
||||||
import Common.LongFilePathOs as os
|
import Common.LongFilePathOs as os
|
||||||
from Common.TargetTxtClassObject import TargetTxtClassObject
|
from Common.TargetTxtClassObject import TargetTxt
|
||||||
from Common.DataType import *
|
from Common.DataType import *
|
||||||
import Common.GlobalData as GlobalData
|
import Common.GlobalData as GlobalData
|
||||||
from Common import EdkLogger
|
from Common import EdkLogger
|
||||||
|
@ -207,8 +207,6 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None):
|
||||||
GlobalData.gConfDirectory = GenFdsGlobalVariable.ConfDir
|
GlobalData.gConfDirectory = GenFdsGlobalVariable.ConfDir
|
||||||
BuildConfigurationFile = os.path.normpath(os.path.join(ConfDirectoryPath, "target.txt"))
|
BuildConfigurationFile = os.path.normpath(os.path.join(ConfDirectoryPath, "target.txt"))
|
||||||
if os.path.isfile(BuildConfigurationFile) == True:
|
if os.path.isfile(BuildConfigurationFile) == True:
|
||||||
TargetTxt = TargetTxtClassObject()
|
|
||||||
TargetTxt.LoadTargetTxtFile(BuildConfigurationFile)
|
|
||||||
# if no build target given in command line, get it from target.txt
|
# if no build target given in command line, get it from target.txt
|
||||||
if not GenFdsGlobalVariable.TargetName:
|
if not GenFdsGlobalVariable.TargetName:
|
||||||
BuildTargetList = TargetTxt.TargetTxtDictionary[TAB_TAT_DEFINES_TARGET]
|
BuildTargetList = TargetTxt.TargetTxtDictionary[TAB_TAT_DEFINES_TARGET]
|
||||||
|
|
|
@ -22,9 +22,9 @@ from Common.BuildToolError import COMMAND_FAILURE,GENFDS_ERROR
|
||||||
from Common import EdkLogger
|
from Common import EdkLogger
|
||||||
from Common.Misc import SaveFileOnChange
|
from Common.Misc import SaveFileOnChange
|
||||||
|
|
||||||
from Common.TargetTxtClassObject import TargetTxtClassObject
|
from Common.TargetTxtClassObject import TargetTxt
|
||||||
from Common.ToolDefClassObject import ToolDefClassObject, ToolDefDict
|
from Common.ToolDefClassObject import ToolDef
|
||||||
from AutoGen.BuildEngine import BuildRule
|
from AutoGen.BuildEngine import BuildRuleObj
|
||||||
import Common.DataType as DataType
|
import Common.DataType as DataType
|
||||||
from Common.Misc import PathClass
|
from Common.Misc import PathClass
|
||||||
from Common.LongFilePathSupport import OpenLongFilePath as open
|
from Common.LongFilePathSupport import OpenLongFilePath as open
|
||||||
|
@ -95,21 +95,11 @@ class GenFdsGlobalVariable:
|
||||||
def _LoadBuildRule():
|
def _LoadBuildRule():
|
||||||
if GenFdsGlobalVariable.__BuildRuleDatabase:
|
if GenFdsGlobalVariable.__BuildRuleDatabase:
|
||||||
return GenFdsGlobalVariable.__BuildRuleDatabase
|
return GenFdsGlobalVariable.__BuildRuleDatabase
|
||||||
BuildConfigurationFile = os.path.normpath(os.path.join(GenFdsGlobalVariable.ConfDir, "target.txt"))
|
GenFdsGlobalVariable.__BuildRuleDatabase = BuildRuleObj
|
||||||
TargetTxt = TargetTxtClassObject()
|
|
||||||
if os.path.isfile(BuildConfigurationFile) == True:
|
|
||||||
TargetTxt.LoadTargetTxtFile(BuildConfigurationFile)
|
|
||||||
if DataType.TAB_TAT_DEFINES_BUILD_RULE_CONF in TargetTxt.TargetTxtDictionary:
|
|
||||||
BuildRuleFile = TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_BUILD_RULE_CONF]
|
|
||||||
if not BuildRuleFile:
|
|
||||||
BuildRuleFile = 'Conf/build_rule.txt'
|
|
||||||
GenFdsGlobalVariable.__BuildRuleDatabase = BuildRule(BuildRuleFile)
|
|
||||||
ToolDefinitionFile = TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
ToolDefinitionFile = TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
||||||
if ToolDefinitionFile == '':
|
if ToolDefinitionFile == '':
|
||||||
ToolDefinitionFile = "Conf/tools_def.txt"
|
ToolDefinitionFile = "Conf/tools_def.txt"
|
||||||
if os.path.isfile(ToolDefinitionFile):
|
if os.path.isfile(ToolDefinitionFile):
|
||||||
ToolDef = ToolDefClassObject()
|
|
||||||
ToolDef.LoadToolDefFile(ToolDefinitionFile)
|
|
||||||
ToolDefinition = ToolDef.ToolsDefTxtDatabase
|
ToolDefinition = ToolDef.ToolsDefTxtDatabase
|
||||||
if DataType.TAB_TOD_DEFINES_BUILDRULEFAMILY in ToolDefinition \
|
if DataType.TAB_TOD_DEFINES_BUILDRULEFAMILY in ToolDefinition \
|
||||||
and GenFdsGlobalVariable.ToolChainTag in ToolDefinition[DataType.TAB_TOD_DEFINES_BUILDRULEFAMILY] \
|
and GenFdsGlobalVariable.ToolChainTag in ToolDefinition[DataType.TAB_TOD_DEFINES_BUILDRULEFAMILY] \
|
||||||
|
@ -839,7 +829,7 @@ class GenFdsGlobalVariable:
|
||||||
# @param NameGuid The Guid name
|
# @param NameGuid The Guid name
|
||||||
#
|
#
|
||||||
def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
|
def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
|
||||||
ToolDb = ToolDefDict(GenFdsGlobalVariable.ConfDir).ToolsDefTxtDatabase
|
ToolDb = ToolDef.ToolsDefTxtDatabase
|
||||||
# if user not specify filter, try to deduce it from global data.
|
# if user not specify filter, try to deduce it from global data.
|
||||||
if KeyStringList is None or KeyStringList == []:
|
if KeyStringList is None or KeyStringList == []:
|
||||||
Target = GenFdsGlobalVariable.TargetName
|
Target = GenFdsGlobalVariable.TargetName
|
||||||
|
@ -855,15 +845,15 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid):
|
||||||
if NameGuid in GenFdsGlobalVariable.GuidToolDefinition:
|
if NameGuid in GenFdsGlobalVariable.GuidToolDefinition:
|
||||||
return GenFdsGlobalVariable.GuidToolDefinition[NameGuid]
|
return GenFdsGlobalVariable.GuidToolDefinition[NameGuid]
|
||||||
|
|
||||||
ToolDefinition = ToolDefDict(GenFdsGlobalVariable.ConfDir).ToolsDefTxtDictionary
|
ToolDefinition = ToolDef.ToolsDefTxtDictionary
|
||||||
ToolPathTmp = None
|
ToolPathTmp = None
|
||||||
ToolOption = None
|
ToolOption = None
|
||||||
ToolPathKey = None
|
ToolPathKey = None
|
||||||
ToolOptionKey = None
|
ToolOptionKey = None
|
||||||
KeyList = None
|
KeyList = None
|
||||||
for ToolDef in ToolDefinition.items():
|
for tool_def in ToolDefinition.items():
|
||||||
if NameGuid.lower() == ToolDef[1].lower():
|
if NameGuid.lower() == tool_def[1].lower():
|
||||||
KeyList = ToolDef[0].split('_')
|
KeyList = tool_def[0].split('_')
|
||||||
Key = KeyList[0] + \
|
Key = KeyList[0] + \
|
||||||
'_' + \
|
'_' + \
|
||||||
KeyList[1] + \
|
KeyList[1] + \
|
||||||
|
|
|
@ -19,8 +19,8 @@ from Common.Misc import *
|
||||||
from types import *
|
from types import *
|
||||||
from Common.Expression import *
|
from Common.Expression import *
|
||||||
from CommonDataClass.CommonClass import SkuInfoClass
|
from CommonDataClass.CommonClass import SkuInfoClass
|
||||||
from Common.TargetTxtClassObject import TargetTxtClassObject
|
from Common.TargetTxtClassObject import TargetTxt
|
||||||
from Common.ToolDefClassObject import ToolDefClassObject
|
from Common.ToolDefClassObject import ToolDef
|
||||||
from .MetaDataTable import *
|
from .MetaDataTable import *
|
||||||
from .MetaFileTable import *
|
from .MetaFileTable import *
|
||||||
from .MetaFileParser import *
|
from .MetaFileParser import *
|
||||||
|
@ -3262,15 +3262,11 @@ class DscBuildData(PlatformBuildClassObject):
|
||||||
self._ToolChainFamily = TAB_COMPILER_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.LoadTargetTxtFile(BuildConfigurationFile)
|
|
||||||
ToolDefinitionFile = TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
ToolDefinitionFile = TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
||||||
if ToolDefinitionFile == '':
|
if ToolDefinitionFile == '':
|
||||||
ToolDefinitionFile = "tools_def.txt"
|
ToolDefinitionFile = "tools_def.txt"
|
||||||
ToolDefinitionFile = os.path.normpath(mws.join(self.WorkspaceDir, 'Conf', ToolDefinitionFile))
|
ToolDefinitionFile = os.path.normpath(mws.join(self.WorkspaceDir, 'Conf', ToolDefinitionFile))
|
||||||
if os.path.isfile(ToolDefinitionFile) == True:
|
if os.path.isfile(ToolDefinitionFile) == True:
|
||||||
ToolDef = ToolDefClassObject()
|
|
||||||
ToolDef.LoadToolDefFile(ToolDefinitionFile)
|
|
||||||
ToolDefinition = ToolDef.ToolsDefTxtDatabase
|
ToolDefinition = ToolDef.ToolsDefTxtDatabase
|
||||||
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] \
|
||||||
|
|
|
@ -30,8 +30,8 @@ from subprocess import *
|
||||||
from Common import Misc as Utils
|
from Common import Misc as Utils
|
||||||
|
|
||||||
from Common.LongFilePathSupport import OpenLongFilePath as open
|
from Common.LongFilePathSupport import OpenLongFilePath as open
|
||||||
from Common.TargetTxtClassObject import TargetTxtClassObject
|
from Common.TargetTxtClassObject import TargetTxt
|
||||||
from Common.ToolDefClassObject import ToolDefClassObject
|
from Common.ToolDefClassObject import ToolDef
|
||||||
from Common.DataType import *
|
from Common.DataType import *
|
||||||
from Common.BuildVersion import gBUILD_VERSION
|
from Common.BuildVersion import gBUILD_VERSION
|
||||||
from AutoGen.AutoGen import *
|
from AutoGen.AutoGen import *
|
||||||
|
@ -716,8 +716,8 @@ class Build():
|
||||||
self.ConfDirectory = BuildOptions.ConfDirectory
|
self.ConfDirectory = BuildOptions.ConfDirectory
|
||||||
self.SpawnMode = True
|
self.SpawnMode = True
|
||||||
self.BuildReport = BuildReport(BuildOptions.ReportFile, BuildOptions.ReportType)
|
self.BuildReport = BuildReport(BuildOptions.ReportFile, BuildOptions.ReportType)
|
||||||
self.TargetTxt = TargetTxtClassObject()
|
self.TargetTxt = TargetTxt
|
||||||
self.ToolDef = ToolDefClassObject()
|
self.ToolDef = ToolDef
|
||||||
self.AutoGenTime = 0
|
self.AutoGenTime = 0
|
||||||
self.MakeTime = 0
|
self.MakeTime = 0
|
||||||
self.GenFdsTime = 0
|
self.GenFdsTime = 0
|
||||||
|
@ -816,8 +816,8 @@ class Build():
|
||||||
EdkLogger.quiet("%-16s = %s" % ("POSTBUILD", self.Postbuild))
|
EdkLogger.quiet("%-16s = %s" % ("POSTBUILD", self.Postbuild))
|
||||||
if self.Prebuild:
|
if self.Prebuild:
|
||||||
self.LaunchPrebuild()
|
self.LaunchPrebuild()
|
||||||
self.TargetTxt = TargetTxtClassObject()
|
self.TargetTxt = TargetTxt
|
||||||
self.ToolDef = ToolDefClassObject()
|
self.ToolDef = ToolDef
|
||||||
if not (self.LaunchPrebuildFlag and os.path.exists(self.PlatformBuildPath)):
|
if not (self.LaunchPrebuildFlag and os.path.exists(self.PlatformBuildPath)):
|
||||||
self.InitBuild()
|
self.InitBuild()
|
||||||
|
|
||||||
|
@ -829,23 +829,6 @@ class Build():
|
||||||
# This method will parse target.txt and get the build configurations.
|
# This method will parse target.txt and get the build configurations.
|
||||||
#
|
#
|
||||||
def LoadConfiguration(self):
|
def LoadConfiguration(self):
|
||||||
#
|
|
||||||
# Check target.txt and tools_def.txt and Init them
|
|
||||||
#
|
|
||||||
BuildConfigurationFile = os.path.normpath(os.path.join(GlobalData.gConfDirectory, gBuildConfiguration))
|
|
||||||
if os.path.isfile(BuildConfigurationFile) == True:
|
|
||||||
StatusCode = self.TargetTxt.LoadTargetTxtFile(BuildConfigurationFile)
|
|
||||||
|
|
||||||
ToolDefinitionFile = self.TargetTxt.TargetTxtDictionary[TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
|
||||||
if ToolDefinitionFile == '':
|
|
||||||
ToolDefinitionFile = gToolsDefinition
|
|
||||||
ToolDefinitionFile = os.path.normpath(mws.join(self.WorkspaceDir, 'Conf', ToolDefinitionFile))
|
|
||||||
if os.path.isfile(ToolDefinitionFile) == True:
|
|
||||||
StatusCode = self.ToolDef.LoadToolDefFile(ToolDefinitionFile)
|
|
||||||
else:
|
|
||||||
EdkLogger.error("build", FILE_NOT_FOUND, ExtraData=ToolDefinitionFile)
|
|
||||||
else:
|
|
||||||
EdkLogger.error("build", FILE_NOT_FOUND, ExtraData=BuildConfigurationFile)
|
|
||||||
|
|
||||||
# if no ARCH given in command line, get it from target.txt
|
# if no ARCH given in command line, get it from target.txt
|
||||||
if not self.ArchList:
|
if not self.ArchList:
|
||||||
|
|
Loading…
Reference in New Issue