From nobody Sun Apr 28 22:28:28 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1522875423240576.34859927401; Wed, 4 Apr 2018 13:57:03 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 05A2322526495; Wed, 4 Apr 2018 13:57:01 -0700 (PDT) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 90C2B2252648D for ; Wed, 4 Apr 2018 13:56:59 -0700 (PDT) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Apr 2018 13:56:58 -0700 Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.141]) by orsmga004.jf.intel.com with ESMTP; 04 Apr 2018 13:56:58 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,408,1517904000"; d="scan'208";a="188725167" From: Jaben Carsey To: edk2-devel@lists.01.org Date: Wed, 4 Apr 2018 13:56:55 -0700 Message-Id: <5215e0ea57bad69db3ebed53bc1c25a85d53712b.1522874754.git.jaben.carsey@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: References: In-Reply-To: References: Subject: [edk2] [PATCH v1 1/3] BaseTools: move RegEx to root of file and share it X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" make it easy to import and use by others Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey Reviewed-by: Yonghong Zhu =20 --- BaseTools/Source/Python/Common/Expression.py | 4 ++-- BaseTools/Source/Python/Common/RangeExpression.py | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/BaseTools/Source/Python/Common/Expression.py b/BaseTools/Sourc= e/Python/Common/Expression.py index 320f0015009b..462e8f93f883 100644 --- a/BaseTools/Source/Python/Common/Expression.py +++ b/BaseTools/Source/Python/Common/Expression.py @@ -43,6 +43,7 @@ ERR_IN_OPERAND =3D 'Macro after IN operator can = only be: $(FAMILY), $(ARC __ValidString =3D re.compile(r'[_a-zA-Z][_0-9a-zA-Z]*$') _ReLabel =3D re.compile('LABEL\((\w+)\)') _ReOffset =3D re.compile('OFFSET_OF\((\w+)\)') +PcdPattern =3D re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-z_]*= $') =20 ## SplitString # Split string to list according double quote @@ -214,7 +215,6 @@ class ValueExpression(object): =20 NonLetterOpLst =3D ['+', '-', '*', '/', '%', '&', '|', '^', '~', '<<',= '>>', '!', '=3D', '>', '<', '?', ':'] =20 - PcdPattern =3D re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-= z_]*$') =20 SymbolPattern =3D re.compile("(" "\$\([A-Z][A-Z0-9_]*\)|\$\(\w+\.\w+\)|\w+= \.\w+|" @@ -616,7 +616,7 @@ class ValueExpression(object): raise BadExpression(ERR_EMPTY_TOKEN) =20 # PCD token - if self.PcdPattern.match(self._Token): + if PcdPattern.match(self._Token): if self._Token not in self._Symb: Ex =3D BadExpression(ERR_PCD_RESOLVE % self._Token) Ex.Pcd =3D self._Token diff --git a/BaseTools/Source/Python/Common/RangeExpression.py b/BaseTools/= Source/Python/Common/RangeExpression.py index 5fcc8a432a56..5ee59184e66e 100644 --- a/BaseTools/Source/Python/Common/RangeExpression.py +++ b/BaseTools/Source/Python/Common/RangeExpression.py @@ -16,6 +16,7 @@ from Common.GlobalData import * from CommonDataClass.Exceptions import BadExpression from CommonDataClass.Exceptions import WrnExpression import uuid +from Common.Expression import PcdPattern =20 ERR_STRING_EXPR =3D 'This operator cannot be used in string expression: [%= s].' ERR_SNYTAX =3D 'Syntax error, the rest of expression cannot be evaluated: = [%s].' @@ -209,8 +210,6 @@ class RangeExpression(object): =20 NonLetterOpLst =3D ['+', '-', '&', '|', '^', '!', '=3D', '>', '<'] =20 - PcdPattern =3D re.compile(r'[_a-zA-Z][0-9A-Za-z_]*\.[_a-zA-Z][0-9A-Za-= z_]*$') - =20 RangePattern =3D re.compile(r'[0-9]+ - [0-9]+') =20 def preProcessRangeExpr(self, expr): @@ -573,7 +572,7 @@ class RangeExpression(object): raise BadExpression(ERR_EMPTY_TOKEN) =20 # PCD token - if self.PcdPattern.match(self._Token): + if PcdPattern.match(self._Token): if self._Token not in self._Symb: Ex =3D BadExpression(ERR_PCD_RESOLVE % self._Token) Ex.Pcd =3D self._Token --=20 2.16.2.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Sun Apr 28 22:28:28 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1522875425467895.660402143479; Wed, 4 Apr 2018 13:57:05 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 3159122526498; Wed, 4 Apr 2018 13:57:01 -0700 (PDT) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id AEECA22526487 for ; Wed, 4 Apr 2018 13:56:59 -0700 (PDT) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Apr 2018 13:56:58 -0700 Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.141]) by orsmga004.jf.intel.com with ESMTP; 04 Apr 2018 13:56:58 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,408,1517904000"; d="scan'208";a="188725168" From: Jaben Carsey To: edk2-devel@lists.01.org Date: Wed, 4 Apr 2018 13:56:56 -0700 Message-Id: <054482c397c80cedda62b4c23f93a3db0e96e5ea.1522874754.git.jaben.carsey@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: References: In-Reply-To: References: Subject: [edk2] [PATCH v1 2/3] BaseTools: Autogen - change from list to set X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" by changing from list to set(), we can skip all the preprocessing to prevent duplication and we dont need to convert to a set() later on for each use Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey Reviewed-by: Yonghong Zhu =20 --- BaseTools/Source/Python/AutoGen/AutoGen.py | 36 ++++++++------------ 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/= Python/AutoGen/AutoGen.py index 3384fdb70b7e..b4575bcb8436 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -404,8 +404,8 @@ class WorkspaceAutoGen(AutoGen): =20 =20 =20 - SourcePcdDict =3D {'DynamicEx':[], 'PatchableInModule':[],'Dyn= amic':[],'FixedAtBuild':[]} - BinaryPcdDict =3D {'DynamicEx':[], 'PatchableInModule':[]} + SourcePcdDict =3D {'DynamicEx':set(), 'PatchableInModule':set(= ),'Dynamic':set(),'FixedAtBuild':set()} + BinaryPcdDict =3D {'DynamicEx':set(), 'PatchableInModule':set(= )} SourcePcdDict_Keys =3D SourcePcdDict.keys() BinaryPcdDict_Keys =3D BinaryPcdDict.keys() =20 @@ -431,27 +431,21 @@ class WorkspaceAutoGen(AutoGen): =20 if 'DynamicEx' in BuildData.Pcds[key].Type: if BuildData.IsBinaryModule: - if (BuildData.Pcds[key].TokenCName, BuildD= ata.Pcds[key].TokenSpaceGuidCName) not in BinaryPcdDict['DynamicEx']: - BinaryPcdDict['DynamicEx'].append((Bui= ldData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) + BinaryPcdDict['DynamicEx'].add((BuildData.= Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) else: - if (BuildData.Pcds[key].TokenCName, BuildD= ata.Pcds[key].TokenSpaceGuidCName) not in SourcePcdDict['DynamicEx']: - SourcePcdDict['DynamicEx'].append((Bui= ldData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) + SourcePcdDict['DynamicEx'].add((BuildData.= Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) =20 elif 'PatchableInModule' in BuildData.Pcds[key].Ty= pe: if BuildData.MetaFile.Ext =3D=3D '.inf': if BuildData.IsBinaryModule: - if (BuildData.Pcds[key].TokenCName, Bu= ildData.Pcds[key].TokenSpaceGuidCName) not in BinaryPcdDict['PatchableInMod= ule']: - BinaryPcdDict['PatchableInModule']= .append((BuildData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuid= CName)) + BinaryPcdDict['PatchableInModule'].add= ((BuildData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) else: - if (BuildData.Pcds[key].TokenCName, Bu= ildData.Pcds[key].TokenSpaceGuidCName) not in SourcePcdDict['PatchableInMod= ule']: - SourcePcdDict['PatchableInModule']= .append((BuildData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuid= CName)) + SourcePcdDict['PatchableInModule'].add= ((BuildData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) =20 elif 'Dynamic' in BuildData.Pcds[key].Type: - if (BuildData.Pcds[key].TokenCName, BuildData.= Pcds[key].TokenSpaceGuidCName) not in SourcePcdDict['Dynamic']: - SourcePcdDict['Dynamic'].append((BuildData= .Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) + SourcePcdDict['Dynamic'].add((BuildData.Pcds[k= ey].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) elif 'FixedAtBuild' in BuildData.Pcds[key].Type: - if (BuildData.Pcds[key].TokenCName, BuildData.= Pcds[key].TokenSpaceGuidCName) not in SourcePcdDict['FixedAtBuild']: - SourcePcdDict['FixedAtBuild'].append((Buil= dData.Pcds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) + SourcePcdDict['FixedAtBuild'].add((BuildData.P= cds[key].TokenCName, BuildData.Pcds[key].TokenSpaceGuidCName)) else: pass # @@ -460,13 +454,13 @@ class WorkspaceAutoGen(AutoGen): for i in SourcePcdDict_Keys: for j in SourcePcdDict_Keys: if i !=3D j: - IntersectionList =3D list(set(SourcePcdDict[i]).in= tersection(set(SourcePcdDict[j]))) - if len(IntersectionList) > 0: + Intersections =3D SourcePcdDict[i].intersection(So= urcePcdDict[j]) + if len(Intersections) > 0: EdkLogger.error( 'build', FORMAT_INVALID, "Building modules from source INFs, following = PCD use %s and %s access method. It must be corrected to use only one acces= s method." % (i, j), - ExtraData=3D"%s" % '\n\t'.join([str(P[1]+'.'+P= [0]) for P in IntersectionList]) + ExtraData=3D"%s" % '\n\t'.join([str(P[1]+'.'+P= [0]) for P in Intersections]) ) else: pass @@ -477,8 +471,8 @@ class WorkspaceAutoGen(AutoGen): for i in BinaryPcdDict_Keys: for j in BinaryPcdDict_Keys: if i !=3D j: - IntersectionList =3D list(set(BinaryPcdDict[i]).in= tersection(set(BinaryPcdDict[j]))) - for item in IntersectionList: + Intersections =3D BinaryPcdDict[i].intersection(Bi= naryPcdDict[j]) + for item in Intersections: NewPcd1 =3D (item[0] + '_' + i, item[1]) NewPcd2 =3D (item[0] + '_' + j, item[1]) if item not in GlobalData.MixedPcd: @@ -497,8 +491,8 @@ class WorkspaceAutoGen(AutoGen): for i in SourcePcdDict_Keys: for j in BinaryPcdDict_Keys: if i !=3D j: - IntersectionList =3D list(set(SourcePcdDict[i]).in= tersection(set(BinaryPcdDict[j]))) - for item in IntersectionList: + Intersections =3D SourcePcdDict[i].intersection(Bi= naryPcdDict[j]) + for item in Intersections: NewPcd1 =3D (item[0] + '_' + i, item[1]) NewPcd2 =3D (item[0] + '_' + j, item[1]) if item not in GlobalData.MixedPcd: --=20 2.16.2.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel From nobody Sun Apr 28 22:28:28 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) smtp.mailfrom=edk2-devel-bounces@lists.01.org Return-Path: Received: from ml01.01.org (ml01.01.org [198.145.21.10]) by mx.zohomail.com with SMTPS id 1522875427864980.1499227834529; Wed, 4 Apr 2018 13:57:07 -0700 (PDT) Received: from [127.0.0.1] (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 5BEF32252649B; Wed, 4 Apr 2018 13:57:01 -0700 (PDT) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id D55782252648D for ; Wed, 4 Apr 2018 13:56:59 -0700 (PDT) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Apr 2018 13:56:59 -0700 Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.141]) by orsmga004.jf.intel.com with ESMTP; 04 Apr 2018 13:56:58 -0700 X-Original-To: edk2-devel@lists.01.org Received-SPF: none (zoho.com: 198.145.21.10 is neither permitted nor denied by domain of lists.01.org) client-ip=198.145.21.10; envelope-from=edk2-devel-bounces@lists.01.org; helo=ml01.01.org; Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.136; helo=mga12.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,408,1517904000"; d="scan'208";a="188725170" From: Jaben Carsey To: edk2-devel@lists.01.org Date: Wed, 4 Apr 2018 13:56:57 -0700 Message-Id: X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: References: In-Reply-To: References: Subject: [edk2] [PATCH v1 3/3] BaseTools: small cleanup X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Liming Gao MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Errors-To: edk2-devel-bounces@lists.01.org Sender: "edk2-devel" X-ZohoMail: RSF_4 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" just deleting else: then pass as they have no effect. Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey Reviewed-by: Yonghong Zhu =20 --- BaseTools/Source/Python/AutoGen/AutoGen.py | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py b/BaseTools/Source/= Python/AutoGen/AutoGen.py index b4575bcb8436..82bca531a178 100644 --- a/BaseTools/Source/Python/AutoGen/AutoGen.py +++ b/BaseTools/Source/Python/AutoGen/AutoGen.py @@ -399,11 +399,6 @@ class WorkspaceAutoGen(AutoGen): for Arch in self.ArchList: Platform =3D self.BuildDatabase[self.MetaFile, Arch, Target, T= oolchain] =20 - - - - - SourcePcdDict =3D {'DynamicEx':set(), 'PatchableInModule':set(= ),'Dynamic':set(),'FixedAtBuild':set()} BinaryPcdDict =3D {'DynamicEx':set(), 'PatchableInModule':set(= )} SourcePcdDict_Keys =3D SourcePcdDict.keys() @@ -462,8 +457,6 @@ class WorkspaceAutoGen(AutoGen): "Building modules from source INFs, following = PCD use %s and %s access method. It must be corrected to use only one acces= s method." % (i, j), ExtraData=3D"%s" % '\n\t'.join([str(P[1]+'.'+P= [0]) for P in Intersections]) ) - else: - pass =20 # # intersection the BinaryPCD for Mixed PCD @@ -482,8 +475,6 @@ class WorkspaceAutoGen(AutoGen): GlobalData.MixedPcd[item].append(NewPc= d1) if NewPcd2 not in GlobalData.MixedPcd[item= ]: GlobalData.MixedPcd[item].append(NewPc= d2) - else: - pass =20 # # intersection the SourcePCD and BinaryPCD for Mixed PCD @@ -502,8 +493,6 @@ class WorkspaceAutoGen(AutoGen): GlobalData.MixedPcd[item].append(NewPc= d1) if NewPcd2 not in GlobalData.MixedPcd[item= ]: GlobalData.MixedPcd[item].append(NewPc= d2) - else: - pass =20 for BuildData in PGen.BuildDatabase._CACHE_.values(): if BuildData.Arch !=3D Arch: @@ -524,11 +513,7 @@ class WorkspaceAutoGen(AutoGen): del BuildData.Pcds[key] BuildData.Pcds[newkey] =3D Value break - else: - pass break - else: - pass =20 # handle the mixed pcd in FDF file for key in PcdSet: --=20 2.16.2.windows.1 _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel