From c7d5b046d90805eacd5eb6df669d2e4998cb149c Mon Sep 17 00:00:00 2001 From: Pierre Gondois Date: Thu, 23 Sep 2021 16:59:03 +0800 Subject: [PATCH] BaseTools: Remove hard-coded strings for target and tools_def REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3653 The "target.txt" and "tools_def.txt" filenames are hard-coded at some places when global definitions are available at: BaseTools/Source/Python/Common/TargetTxtClassObject.py: DefaultTargetTxtFile and BaseTools/Source/Python/Common/ToolDefClassObject.py: DefaultToolsDefFile Use these global definitions instead. Also remove the unused gBuildConfiguration and gToolsDefinition variables from build.py Signed-off-by: Pierre Gondois Reviewed-by: Chris Jones Reviewed-by: Liming Gao Reviewed-by: Bob Feng --- BaseTools/Source/Python/GenFds/GenFds.py | 4 ++-- BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py | 4 ++-- BaseTools/Source/Python/TargetTool/TargetTool.py | 3 ++- BaseTools/Source/Python/Workspace/DscBuildData.py | 9 ++++----- BaseTools/Source/Python/build/build.py | 4 ---- 5 files changed, 10 insertions(+), 14 deletions(-) diff --git a/BaseTools/Source/Python/GenFds/GenFds.py b/BaseTools/Source/Python/GenFds/GenFds.py index ae3e776a55..c341045000 100644 --- a/BaseTools/Source/Python/GenFds/GenFds.py +++ b/BaseTools/Source/Python/GenFds/GenFds.py @@ -20,7 +20,7 @@ from linecache import getlines from io import BytesIO import Common.LongFilePathOs as os -from Common.TargetTxtClassObject import TargetTxtDict +from Common.TargetTxtClassObject import TargetTxtDict,gDefaultTargetTxtFile from Common.DataType import * import Common.GlobalData as GlobalData from Common import EdkLogger @@ -207,7 +207,7 @@ def GenFdsApi(FdsCommandDict, WorkSpaceDataBase=None): GenFdsGlobalVariable.ConfDir = ConfDirectoryPath if not GlobalData.gConfDirectory: GlobalData.gConfDirectory = GenFdsGlobalVariable.ConfDir - BuildConfigurationFile = os.path.normpath(os.path.join(ConfDirectoryPath, "target.txt")) + BuildConfigurationFile = os.path.normpath(os.path.join(ConfDirectoryPath, gDefaultTargetTxtFile)) if os.path.isfile(BuildConfigurationFile) == True: # if no build target given in command line, get it from target.txt TargetObj = TargetTxtDict() diff --git a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py index 25f9d54874..d7668ba681 100644 --- a/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py +++ b/BaseTools/Source/Python/GenFds/GenFdsGlobalVariable.py @@ -24,7 +24,7 @@ from Common import EdkLogger from Common.Misc import SaveFileOnChange from Common.TargetTxtClassObject import TargetTxtDict -from Common.ToolDefClassObject import ToolDefDict +from Common.ToolDefClassObject import ToolDefDict,gDefaultToolsDefFile from AutoGen.BuildEngine import ToolBuildRule import Common.DataType as DataType from Common.Misc import PathClass,CreateDirectory @@ -103,7 +103,7 @@ class GenFdsGlobalVariable: TargetObj = TargetTxtDict() ToolDefinitionFile = TargetObj.Target.TargetTxtDictionary[DataType.TAB_TAT_DEFINES_TOOL_CHAIN_CONF] if ToolDefinitionFile == '': - ToolDefinitionFile = "Conf/tools_def.txt" + ToolDefinitionFile = os.path.join('Conf', gDefaultToolsDefFile) if os.path.isfile(ToolDefinitionFile): ToolDefObj = ToolDefDict((os.path.join(os.getenv("WORKSPACE"), "Conf"))) ToolDefinition = ToolDefObj.ToolDef.ToolsDefTxtDatabase diff --git a/BaseTools/Source/Python/TargetTool/TargetTool.py b/BaseTools/Source/Python/TargetTool/TargetTool.py index 71222e3cc8..7f2479f0f0 100644 --- a/BaseTools/Source/Python/TargetTool/TargetTool.py +++ b/BaseTools/Source/Python/TargetTool/TargetTool.py @@ -17,6 +17,7 @@ import Common.BuildToolError as BuildToolError from Common.DataType import * from Common.BuildVersion import gBUILD_VERSION from Common.LongFilePathSupport import OpenLongFilePath as open +from Common.TargetTxtClassObject import gDefaultTargetTxtFile # To Do 1.set clean, 2. add item, if the line is disabled. @@ -25,7 +26,7 @@ class TargetTool(): self.WorkSpace = os.path.normpath(os.getenv('WORKSPACE')) self.Opt = opt self.Arg = args[0] - self.FileName = os.path.normpath(os.path.join(self.WorkSpace, 'Conf', 'target.txt')) + self.FileName = os.path.normpath(os.path.join(self.WorkSpace, 'Conf', gDefaultTargetTxtFile)) if os.path.isfile(self.FileName) == False: print("%s does not exist." % self.FileName) sys.exit(1) diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py index 4d5b1ad4d9..d1ee0ccaea 100644 --- a/BaseTools/Source/Python/Workspace/DscBuildData.py +++ b/BaseTools/Source/Python/Workspace/DscBuildData.py @@ -19,8 +19,8 @@ from Common.Misc import * from types import * from Common.Expression import * from CommonDataClass.CommonClass import SkuInfoClass -from Common.TargetTxtClassObject import TargetTxtDict -from Common.ToolDefClassObject import ToolDefDict +from Common.TargetTxtClassObject import TargetTxtDict,gDefaultTargetTxtFile +from Common.ToolDefClassObject import ToolDefDict,gDefaultToolsDefFile from .MetaDataTable import * from .MetaFileTable import * from .MetaFileParser import * @@ -3526,12 +3526,11 @@ class DscBuildData(PlatformBuildClassObject): self._ToolChainFamily = TAB_COMPILER_MSFT TargetObj = TargetTxtDict() TargetTxt = TargetObj.Target - BuildConfigurationFile = os.path.normpath(os.path.join(GlobalData.gConfDirectory, "target.txt")) + BuildConfigurationFile = os.path.normpath(os.path.join(GlobalData.gConfDirectory, gDefaultTargetTxtFile)) if os.path.isfile(BuildConfigurationFile) == True: 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)) + ToolDefinitionFile = os.path.normpath(mws.join(self.WorkspaceDir, 'Conf', gDefaultToolsDefFile)) if os.path.isfile(ToolDefinitionFile) == True: ToolDefObj = ToolDefDict((os.path.join(os.getenv("WORKSPACE"), "Conf"))) ToolDefinition = ToolDefObj.ToolDef.ToolsDefTxtDatabase diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py index e4969d863f..07187c0361 100755 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -67,10 +67,6 @@ from AutoGen.AutoGen import CalculatePriorityValue ## standard targets of build command gSupportedTarget = ['all', 'genc', 'genmake', 'modules', 'libraries', 'fds', 'clean', 'cleanall', 'cleanlib', 'run'] -## build configuration file -gBuildConfiguration = "target.txt" -gToolsDefinition = "tools_def.txt" - TemporaryTablePattern = re.compile(r'^_\d+_\d+_[a-fA-F0-9]+$') TmpTableDict = {} -- 2.39.2