From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: redhat.com, ip: 209.85.221.67, mailfrom: philmd@redhat.com) Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by groups.io with SMTP; Wed, 10 Jul 2019 03:45:58 -0700 Received: by mail-wr1-f67.google.com with SMTP id g17so1917226wrr.5 for ; Wed, 10 Jul 2019 03:45:57 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:openpgp:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=3B3oVKnLnTMpsT7cXmrhTXSoGsOkMwOHKYq9S+RloQ8=; b=XVqi36sEpuIgDf7hDrOZwlJnFoRNo2sYQHPjURxlIqFQ9MWBrdAWuMCkTKY0yKnUbv tpntGnQjTH3W/Jx/+YrHBzkDuJhfPXWur08BlrTR8rm7p01BcZh41wNEyrIWYbfeOhkd LplWE4ebPTVPNm1f8J16R+QlS8dwcVo/LuWKHFWWAjB96+AOw+jVCQ1wn5WNYAV562ng SYgWTQrS7dmeWlzHwd+eAgoICIbDvjEaHiPaPvYZwDymMQMO2bowMINmsfi1uGTmEPz6 235PqmNRwf15A76zMnAT1LsJPbenzfdlyQb+kGJw0Sxd47wfgyXKsU8g616RXB45CE79 t+2Q== X-Gm-Message-State: APjAAAW1fQ1o2KoLbYvjV6JnAATEcAoKG4SforQ0PJ7l2wcdSNSAO31y 946T40tk+lJFqCnuv3Sz/zC6GA== X-Google-Smtp-Source: APXvYqw7UjXKp9T37IPcgi3uXOgAR5zcYsKYdDgFgKJQ8sVyXHGgq/SmYlqlbJOcOCETDxKAogn2MA== X-Received: by 2002:a5d:4642:: with SMTP id j2mr29015897wrs.211.1562755556472; Wed, 10 Jul 2019 03:45:56 -0700 (PDT) Return-Path: Received: from [10.32.224.100] (red-hat-inc.vlan560.asr1.mad1.gblx.net. [159.63.51.90]) by smtp.gmail.com with ESMTPSA id e19sm2206880wra.71.2019.07.10.03.45.55 (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Wed, 10 Jul 2019 03:45:55 -0700 (PDT) Subject: Re: [edk2-devel] [Patch 1/1] BaseTools: Detect the change of env variable used in tooldef.txt To: devel@edk2.groups.io, bob.c.feng@intel.com Cc: Liming Gao , Michael D Kinney , Steven Shi References: <20190628033227.14892-1-bob.c.feng@intel.com> From: =?UTF-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= Openpgp: id=89C1E78F601EE86C867495CBA2A3FD6EDEADC0DE; url=http://pgp.mit.edu/pks/lookup?op=get&search=0xA2A3FD6EDEADC0DE Message-ID: Date: Wed, 10 Jul 2019 12:45:54 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 MIME-Version: 1.0 In-Reply-To: <20190628033227.14892-1-bob.c.feng@intel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 6/28/19 5:32 AM, Bob Feng wrote: > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1921 > > Add TOOLS_DEF.ARCH file to all workspace meta files list. > TOOLS_DEF.ARCH include the evaluated Tool definition information > which is filtered by current tool_chain. > > With this change, when the environment variable which > is used in ToolDef.txt is changed, build tool will > rebuild the platform. > > Signed-off-by: Bob Feng > Cc: Liming Gao > Cc: Michael D Kinney > Cc: Steven Shi > --- > BaseTools/Source/Python/AutoGen/AutoGen.py | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/Python/AutoGen/AutoGen.py > index e8e09dc8a366..24592593c868 100644 > --- a/BaseTools/Source/Python/AutoGen/AutoGen.py > +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py > @@ -792,10 +792,13 @@ class WorkspaceAutoGen(AutoGen): > > # add PcdToken Number file for Dynamic/DynamicEx Pcd > # > AllWorkSpaceMetaFiles.add(os.path.join(self.BuildDir, 'PcdTokenNumber')) > > + for Pa in self.AutoGenObjectList: > + AllWorkSpaceMetaFiles.add(Pa.ToolDefinitionFile) > + > for Arch in self.ArchList: > # > # add dec > # > for Package in PlatformAutoGen(self, self.MetaFile, Target, Toolchain, Arch).PackageList: > @@ -1859,11 +1862,11 @@ class PlatformAutoGen(AutoGen): > def ToolDefinition(self): > ToolDefinition = self.Workspace.ToolDef.ToolsDefTxtDictionary > if TAB_TOD_DEFINES_COMMAND_TYPE not in self.Workspace.ToolDef.ToolsDefTxtDatabase: > EdkLogger.error('build', RESOURCE_NOT_AVAILABLE, "No tools found in configuration", > ExtraData="[%s]" % self.MetaFile) > - RetVal = {} > + RetVal = OrderedDict() > DllPathList = set() > for Def in ToolDefinition: > Target, Tag, Arch, Tool, Attr = Def.split("_") > if Target != self.BuildTarget or Tag != self.ToolChain or Arch != self.Arch: > continue > @@ -1873,11 +1876,11 @@ class PlatformAutoGen(AutoGen): > if Attr == "DLL": > DllPathList.add(Value) > continue > > if Tool not in RetVal: > - RetVal[Tool] = {} > + RetVal[Tool] = OrderedDict() > RetVal[Tool][Attr] = Value > > ToolsDef = '' > if GlobalData.gOptions.SilentMode and "MAKE" in RetVal: > if "FLAGS" not in RetVal["MAKE"]: > Reviewed-by: Philippe Mathieu-Daude