From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web11.17714.1606476343510587981 for ; Fri, 27 Nov 2020 03:25:44 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=DIDpE56w; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: bob.c.feng@intel.com) IronPort-SDR: HNtem0WudMFZ21vMxe9JoDlve6jSdV9uJ+7Tu9+bEaMq0UjIf8G3zvR+5qyV0voKCn/Q3AChG0 DZ4yAcTPUtxw== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="233988928" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="233988928" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 03:25:41 -0800 IronPort-SDR: 4/SqFxltSGE23h9jIn+5KYlubKXLun51d5Q58W/G8mBEQj51gd3Dh1OKidAXP8dGiDt7gpnQzw u94W9noiY7ow== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="333659065" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga006.jf.intel.com with ESMTP; 27 Nov 2020 03:25:41 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 27 Nov 2020 03:25:40 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 27 Nov 2020 03:25:40 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Fri, 27 Nov 2020 03:25:40 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.105) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Fri, 27 Nov 2020 03:25:40 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KLnE6sY+YnG3CO+Yt1x+SBcgBxX9tuuv57PGFsFAebHvPBgNZ5cVt8tSMmr/8djMoL2GbwV8lQtKmek4H1IEeaFRhPfYc6gGIZDkQZGMBlvstidJ5sx3Uw9V4uj0hrg+0m0RaJueAJg0OmhboyjYCEn6NIRRgLh3BSwyhRRRhZIvj7S18jarna9AdFdKa8nK1xlAFnL6BLo60tsTspntVy8B2k3eI+STYQO82xW2jgPPWae9J+WfIP8BahA23gwA60TEc8caF7pdNmUcN993ljWpuugeYeYL0jiBYatGmF0v6gxP4jyAYaUIiGKZail5fxg3SMl71ekbjon//zoeyw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2BmQvtfV7SBcyn0+VxVZuUptTJFLZVg78LozHumC6Y8=; b=lAnQrIPGNX052oP457WH3jR2J7pgVwZUG+qxR8lnu4ny9IT0147kPdCK+bLpRLbwV3Ccwzp+3GgdID9lLt2Qul0KN5dHl7jvc+2/MAvEI5C3q7NcMNajfCZ0QaEtCuw1ZuH3PLcY+LBCmpZ/hv8SZZq+Rs8w+qoLvd2vuhL7uBahEDjOgLutI8+UfhM03QKzeWlEXYSoKVQEgHpCNOqtexgYjTUko813Ucd/qLBETZKgICsNBt9dPD6xv4J/fZPj3xs+BQac45GNvnCEpgYxxf7syAIZIngYfrhDpWcIGCT3He1mvK2owE2Xp+PaL/jdEa4MG5BYQRyvy2cRnYXVtA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=2BmQvtfV7SBcyn0+VxVZuUptTJFLZVg78LozHumC6Y8=; b=DIDpE56w65kC4RMzObiJ7RY480Yu8wmhOyTLdm1toGsAcD3GmfSajf4l3lFFe59U0+pMn1CwRv/RNffhgXqwD/+LZ7Qbw5VnzavkPWiZc3rR1cd6YZGeCdTMJjxYaUQPV79pDkZsGb3vha324WtJ5Y+W4E74dlPy443+sdsoNHY= Received: from DM6PR11MB4073.namprd11.prod.outlook.com (2603:10b6:5:19f::22) by DM5PR11MB0025.namprd11.prod.outlook.com (2603:10b6:4:63::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3564.25; Fri, 27 Nov 2020 11:25:39 +0000 Received: from DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::c9f:47ea:6321:5ccb]) by DM6PR11MB4073.namprd11.prod.outlook.com ([fe80::c9f:47ea:6321:5ccb%3]) with mapi id 15.20.3589.032; Fri, 27 Nov 2020 11:25:39 +0000 From: "Bob Feng" To: "Chen, Christine" , "devel@edk2.groups.io" CC: Liming Gao Subject: Re: [Patch v2 1/1] BaseTools: Collect full Header files for struct finding. Thread-Topic: [Patch v2 1/1] BaseTools: Collect full Header files for struct finding. Thread-Index: AQHWwj2I1HvXGjh0wUiQyNWmwynaoqnb21wA Date: Fri, 27 Nov 2020 11:25:38 +0000 Message-ID: References: <20201124084023.1579-1-yuwei.chen@intel.com> In-Reply-To: <20201124084023.1579-1-yuwei.chen@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ec4f337d-74b9-497a-cc56-08d892c72afc x-ms-traffictypediagnostic: DM5PR11MB0025: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:565; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TfzuZa0TpZZHl4xYOVljxdjdbxD4iTQ4tWxAGqxOr3A0PTOOkFPfcj+ymmWIr89GdN595oDioo6/8VTgrzIFSDz7knRs3H0mr3c82NI0v/aRd49XmmlLTS8yjV+3ZWJQ4FNickmjgH3xKGc4woUn/zb8nEQny8lYEG8ziRWeraU4CDx6jm3Rm5B375tvoR/N+qA2DoyB4U5Q850qK8wYbcP0Ef5zOnMU3KYJnhG4QqWp17lZSPgXq5Jgt1ctG6sPdJGTOzdQeSERW+hdeEjAAR6o8uLbAdRefMZPrC8uC/Zm3tMOG01B0yR8U80OG4phXoswGDi5pW2Gg8l7+y4CEg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4073.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(136003)(396003)(346002)(39860400002)(376002)(2906002)(5660300002)(86362001)(26005)(8936002)(83380400001)(4326008)(110136005)(8676002)(186003)(53546011)(55016002)(316002)(52536014)(71200400001)(66476007)(76116006)(33656002)(7696005)(6506007)(66446008)(9686003)(66556008)(478600001)(66946007)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?SPP9OV9viVNc4mpJn1hDyyepFyCm6mw3qdSjYECE9YkzYL6n7jaag9Kb1aJ4?= =?us-ascii?Q?DmMdqpB9ij2vDeggXvmg1fafc+b4In/Up5q6hxY3H9uorWEoGypWa4S20hfi?= =?us-ascii?Q?ecB7PoGGDO6v6AyR9Avt8YRK4HkJSoGuNb5TcJXaF3u0T1Oi0PnRbz98z3A3?= =?us-ascii?Q?SQtE0TLmsd9jFMFInTEanfOYagI2RYfDd1e4BVS+sW/fcpY7eGOleIUQH10A?= =?us-ascii?Q?mUVFgCK1nbLwdI7Y4F35lttJ9XY303fkNOT7KObo7URmrvF8E+3XI7W61eSR?= =?us-ascii?Q?9zlA8EYOD0mxHI1PUbWArhHpSl9Kyc2wTg6bMGfI5AfH4K3FaBVcB5PxVjoV?= =?us-ascii?Q?cLd2Jay/eJqsYTQ3fcaDsrLXoQg9rZ3vjGkd6fWHr9+UXvH31GNVeFOrqC3O?= =?us-ascii?Q?WsVkIR/6JiDFwxQs5n+mfnDN+V7Nlv/2Jk1nJbiRqz1KGdXuCoffqZA/7VS4?= =?us-ascii?Q?vIK6DdJ4DhEVosEj0Mla9+tp6LmMvAAkPIZzGV4Kggs1V7qwruC+Np3JW4oz?= =?us-ascii?Q?dfUzBYpm1bQZaz8XWG5t94XTHM14IcZLRfMfOFJrSHPSukKjcfw3IrtM80vh?= =?us-ascii?Q?QSXoioQSykRBjPyDTD8f0vzAwTVODh64YW+5q0UxrkmpLBO+V5+DnP1ESS5f?= =?us-ascii?Q?QDBNxLeILK7+OsMdxLhrIiKT+9OtGueKBiqMBnD0GsM0q+jdFbhWtUswTOGN?= =?us-ascii?Q?yAhyRdTcghFz3aDXEdxceCgQNpCmlKR9czCrtdFyOX0AKpQ/XmOf3I7j01xF?= =?us-ascii?Q?8+1gASVdRyiAiDhwzCiTRTMN/YEqzqgt9QSrW6n3aoT/V6QLae+P2H03jsZb?= =?us-ascii?Q?uHfqi/We4DMv4eDM5Sn4P8geEbL21NgV1qR2RMfKFBOn58vDGNCGJFWNanec?= =?us-ascii?Q?dGbwWUbMt3lsoLx31aNaoY/OS0SuMF/i45bg9g9GUCb0zud3zoxeNgyTISM8?= =?us-ascii?Q?CELxCeql0GMt1yTMdxSBKTR6O26dCwYL+YYWHqcPEQs=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4073.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec4f337d-74b9-497a-cc56-08d892c72afc X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Nov 2020 11:25:38.9753 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: apzHsGIjXx1o7Ett4rNFdW4bfkQbJsWU84GXakkjrEP8zz/2dEuOEPfq+gjW8ygo5apvjXviVJEo+0Bigsp8ZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR11MB0025 Return-Path: bob.c.feng@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Bob Feng -----Original Message----- From: Chen, Christine =20 Sent: Tuesday, November 24, 2020 4:40 PM To: devel@edk2.groups.io Cc: Feng, Bob C ; Liming Gao Subject: [Patch v2 1/1] BaseTools: Collect full Header files for struct fin= ding. Currently, only parts of the Header files can be collected which caused som= e struct definition can not be found. To solve this issue, Header files ful= l collection has been added in this file to support the struct finding. Cc: Bob Feng Cc: Liming Gao Signed-off-by: Yuwei Chen --- BaseTools/Scripts/ConvertFceToStructurePcd.py | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/BaseTools/Scripts/ConvertFceToStructurePcd.py b/BaseTools/Scri= pts/ConvertFceToStructurePcd.py index 89e6a727a201..aeda3ff26dfe 100644 --- a/BaseTools/Scripts/ConvertFceToStructurePcd.py +++ b/BaseTools/Scripts/ConvertFceToStructurePcd.py @@ -370,7 +370,7 @@ class PATH(object): def __init__(self,path): self.path=3Dpath self.rootdir=3Dself.get_root_dir() - self.usefuldir=3D[] + self.usefuldir=3Dset() self.lstinf =3D {} for path in self.rootdir: for o_root, o_dir, o_file in os.walk(os.path.join(path, "OUTPUT"), t= opdown=3DTrue, followlinks=3DFalse): @@ -381,7 +381,7 @@ class PATH(object): for LST in l_file: if os.path.splitext(LST)[1] =3D=3D '.lst': self.lstinf[os.path.join(l_root, LST)] =3D os.path.join(= o_root, INF) - self.usefuldir.append(path) + self.usefuldir.add(path) =20 def get_root_dir(self): rootdir=3D[] @@ -410,7 +410,7 @@ class PATH(object): =20 def header(self,struct): header=3D{} - head_re =3D re.compile('typedef.*} %s;[\n]+(.*?)(?:typedef|formset)'%s= truct,re.M|re.S) + head_re =3D re.compile('typedef.*}=20 + %s;[\n]+(.*)(?:typedef|formset)'%struct,re.M|re.S) head_re2 =3D re.compile(r'#line[\s\d]+"(\S+h)"') for i in list(self.lstinf.keys()): with open(i,'r') as lst: @@ -421,9 +421,21 @@ class PATH(object): if head: format =3D head[0].replace('\\\\','/').replace('\\','/') name =3Dformat.split('/')[-1] - head =3D self.makefile(name).replace('\\','/') - header[struct] =3D head + head =3D self.headerfileset.get(name) + if head: + head =3D head.replace('\\','/') + header[struct] =3D head return header + @property + def headerfileset(self): + headerset =3D dict() + for root,dirs,files in os.walk(self.path): + for file in files: + if os.path.basename(file) =3D=3D 'deps.txt': + with open(os.path.join(root,file),"r") as fr: + for line in fr.readlines(): + headerset[os.path.basename(line).strip()] =3D line.strip() + return headerset =20 def makefile(self,filename): re_format =3D re.compile(r'DEBUG_DIR.*(?:\S+Pkg)\\(.*\\%s)'%filename) @@ -433,6 +445,7 @@ class PATH(object): dir =3D re_format.findall(read) if dir: return dir[0] + return None =20 class mainprocess(object): =20 @@ -479,7 +492,7 @@ class mainprocess(object): WARNING.append("Warning: No for struct %s"%str= uct) title2 =3D '%s%s|{0}|%s|0xFCD00000{\n \n %s\n = \n%s\n}\n' % (PCD_NAME, c_name, struct, '', self.LST.package()[se= lf.lst_dict[lstfile]]) header_list.append(title2) - else: + elif struct not in lst._ignore: struct_dict =3D{} print("ERROR: Struct %s can't found in lst file" %struct) ERRORMSG.append("ERROR: Struct %s can't found in lst file" %st= ruct) -- 2.27.0.windows.1