From db01c8e3d87305a406286e972f19b00c5c6960ab Mon Sep 17 00:00:00 2001 From: "Feng, Bob C" Date: Sat, 13 Apr 2019 16:02:02 +0800 Subject: 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 Signed-off-by: Bob Feng Acked-by: Laszlo Ersek Tested-by: Laszlo Ersek Acked-by: Liming Gao --- BaseTools/Source/Python/Common/TargetTxtClassObject.py | 2 ++ BaseTools/Source/Python/Common/ToolDefClassObject.py | 6 ++++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'BaseTools/Source/Python/Common') diff --git a/BaseTools/Source/Python/Common/TargetTxtClassObject.py b/BaseTools/Source/Python/Common/TargetTxtClassObject.py index 9d7673b..79a5acc 100644 --- a/BaseTools/Source/Python/Common/TargetTxtClassObject.py +++ b/BaseTools/Source/Python/Common/TargetTxtClassObject.py @@ -146,6 +146,8 @@ def TargetTxtDict(ConfDir): Target.LoadTargetTxtFile(os.path.normpath(os.path.join(ConfDir, gDefaultTargetTxtFile))) 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 diff --git a/BaseTools/Source/Python/Common/ToolDefClassObject.py b/BaseTools/Source/Python/Common/ToolDefClassObject.py index 4fa3649..063fa00 100644 --- a/BaseTools/Source/Python/Common/ToolDefClassObject.py +++ b/BaseTools/Source/Python/Common/ToolDefClassObject.py @@ -14,7 +14,7 @@ import re from . import EdkLogger from .BuildToolError import * -from Common.TargetTxtClassObject import TargetTxtDict +from Common.TargetTxtClassObject import TargetTxt from Common.LongFilePathSupport import OpenLongFilePath as open from Common.Misc import PathClass from Common.StringUtils import NormPath @@ -263,7 +263,7 @@ class ToolDefClassObject(object): # @retval ToolDef An instance of ToolDefClassObject() with loaded tools_def.txt # def ToolDefDict(ConfDir): - Target = TargetTxtDict(ConfDir) + Target = TargetTxt ToolDef = ToolDefClassObject() if TAB_TAT_DEFINES_TOOL_CHAIN_CONF in Target.TargetTxtDictionary: 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))) 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 -- cgit v1.1