From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 BA68421A134AE for ; Fri, 5 May 2017 02:14:55 -0700 (PDT) Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga105.fm.intel.com with ESMTP; 05 May 2017 02:14:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,291,1491289200"; d="scan'208";a="257258240" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga004.fm.intel.com with ESMTP; 05 May 2017 02:14:55 -0700 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Fri, 5 May 2017 02:14:55 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.246]) by SHSMSX104.ccr.corp.intel.com ([10.239.4.70]) with mapi id 14.03.0319.002; Fri, 5 May 2017 17:14:53 +0800 From: "Gao, Liming" To: "Zhu, Yonghong" , "edk2-devel@lists.01.org" Thread-Topic: [Patch] BaseTools: PCD can only use single access method by source build Thread-Index: AQHSw+6dAjKA2bSnk0WqGxhEv3Z316HleDtQ Date: Fri, 5 May 2017 09:14:52 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14D72A9CA@shsmsx102.ccr.corp.intel.com> References: <1493803235-55844-1-git-send-email-yonghong.zhu@intel.com> In-Reply-To: <1493803235-55844-1-git-send-email-yonghong.zhu@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch] BaseTools: PCD can only use single access method by source build X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 05 May 2017 09:14:55 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Liming Gao >-----Original Message----- >From: Zhu, Yonghong >Sent: Wednesday, May 03, 2017 5:21 PM >To: edk2-devel@lists.01.org >Cc: Gao, Liming >Subject: [Patch] BaseTools: PCD can only use single access method by sourc= e >build > >Add the error check that A PCD can only use one type for all source >modules. > >Cc: Liming Gao >Contributed-under: TianoCore Contribution Agreement 1.0 >Signed-off-by: Yonghong Zhu >--- > BaseTools/Source/Python/AutoGen/AutoGen.py | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > >diff --git a/BaseTools/Source/Python/AutoGen/AutoGen.py >b/BaseTools/Source/Python/AutoGen/AutoGen.py >index 8075afc..205a75d 100644 >--- a/BaseTools/Source/Python/AutoGen/AutoGen.py >+++ b/BaseTools/Source/Python/AutoGen/AutoGen.py >@@ -502,10 +502,26 @@ class WorkspaceAutoGen(AutoGen): > elif 'FixedAtBuild' in BuildData.Pcds[key].Type: > if (BuildData.Pcds[key].TokenCName, >BuildData.Pcds[key].TokenSpaceGuidCName) not in >SourcePcdDict['FixedAtBuild']: > >SourcePcdDict['FixedAtBuild'].append((BuildData.Pcds[key].TokenCName, >BuildData.Pcds[key].TokenSpaceGuidCName)) > else: > pass >+ # >+ # A PCD can only use one type for all source modules >+ # >+ for i in SourcePcdDict_Keys: >+ for j in SourcePcdDict_Keys: >+ if i !=3D j: >+ IntersectionList =3D >list(set(SourcePcdDict[i]).intersection(set(SourcePcdDict[j]))) >+ if len(IntersectionList) > 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 access method."= % >(i, j), >+ ExtraData=3D"%s" % '\n\t'.join([str(P[1]+'.'+= P[0]) for P in >IntersectionList]) >+ ) >+ else: >+ pass > > # > # intersection the BinaryPCD for Mixed PCD > # > for i in BinaryPcdDict_Keys: >-- >2.6.1.windows.1