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:
@ -19,8 +19,8 @@ from Common.Misc import *
|
||||
from types import *
|
||||
from Common.Expression import *
|
||||
from CommonDataClass.CommonClass import SkuInfoClass
|
||||
from Common.TargetTxtClassObject import TargetTxtClassObject
|
||||
from Common.ToolDefClassObject import ToolDefClassObject
|
||||
from Common.TargetTxtClassObject import TargetTxt
|
||||
from Common.ToolDefClassObject import ToolDef
|
||||
from .MetaDataTable import *
|
||||
from .MetaFileTable import *
|
||||
from .MetaFileParser import *
|
||||
@ -3262,15 +3262,11 @@ class DscBuildData(PlatformBuildClassObject):
|
||||
self._ToolChainFamily = TAB_COMPILER_MSFT
|
||||
BuildConfigurationFile = os.path.normpath(os.path.join(GlobalData.gConfDirectory, "target.txt"))
|
||||
if os.path.isfile(BuildConfigurationFile) == True:
|
||||
TargetTxt = TargetTxtClassObject()
|
||||
TargetTxt.LoadTargetTxtFile(BuildConfigurationFile)
|
||||
ToolDefinitionFile = TargetTxt.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF]
|
||||
if ToolDefinitionFile == '':
|
||||
ToolDefinitionFile = "tools_def.txt"
|
||||
ToolDefinitionFile = os.path.normpath(mws.join(self.WorkspaceDir, 'Conf', ToolDefinitionFile))
|
||||
if os.path.isfile(ToolDefinitionFile) == True:
|
||||
ToolDef = ToolDefClassObject()
|
||||
ToolDef.LoadToolDefFile(ToolDefinitionFile)
|
||||
ToolDefinition = ToolDef.ToolsDefTxtDatabase
|
||||
if TAB_TOD_DEFINES_FAMILY not in ToolDefinition \
|
||||
or self._Toolchain not in ToolDefinition[TAB_TOD_DEFINES_FAMILY] \
|
||||
|
Reference in New Issue
Block a user