From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (EUR01-DB5-obe.outbound.protection.outlook.com [40.107.15.50]) by mx.groups.io with SMTP id smtpd.web12.29542.1590982754050305826 for ; Sun, 31 May 2020 20:39:14 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nxp1.onmicrosoft.com header.s=selector2-nxp1-onmicrosoft-com header.b=LjiVIoP8; spf=pass (domain: oss.nxp.com, ip: 40.107.15.50, mailfrom: pankaj.bansal@oss.nxp.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LCA5pc/JJmcJCn/PDs1t7+Clj71mhFU4xxedntd0W//NW/xjIWQMSdzOjVMLEMMaIavY3I3GOrd0vFeRmGPG/YEcVEPYB2/Efm9P14K8bLIYwnDfKMLxh/bK7bKEXIQl9Et6EYxiey58saExirmwEeTg7j7hb2aBUt1oYPXGDl+SKTKcdkeimtOidfuL/vc/kxm/obgPksgbrr1vjS46T9XX34VRw/FXI7DvDZSiSVoHSC0jTCTpnWfT7LuOVeu3SkCdAMmfNWGAfxyAQeXTjVahlCdgVO0giFUV7A126qbLhZ7yIUsgrOADGluuqKvzRe0JjaQsOMeZTjK9OM3l2w== 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=0rKy2Sg89F35JULL6Vq6+rtPg8YtxOlUmB1XcdV0irc=; b=TLwWU6/ilOr39qmKMnlqhK1dUq96Jk/X2GFnpMFoGc6VQts25tTvp+duzWqrMOTT+aruv6tJWJW1PFuTHaT4t6+Su7pAvVGQBDt4Oyb5MsJ/gbKLjTDcqJ1fcGmdOyohaeMfz4I7EzoT/K5EX4I6lzqZhz11+WE1FxKwq9r3z33ocuU7Gd/PyZAIp+uxqWuI0MVT/nSo7WwbjXvLxCUkusgQ3q7f4k/pKGJdHk2kgnLzJGSIowyAwUgq4ttFJsK6N6jd2ku0Eb+XImvd0xoLuWZq1m/0MyQ/M+4+8S33zgdjekPqKkk3hwQtqfyCRXBeY1A4qWcFQcIVrk9okb5lEw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com; dkim=pass header.d=oss.nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com; s=selector2-NXP1-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0rKy2Sg89F35JULL6Vq6+rtPg8YtxOlUmB1XcdV0irc=; b=LjiVIoP89T4HIxy1WosM9nR+zmGh0Zp5mm4JYXhOsDID58JLDKX/VsxMzx5VJ2NQtC4OJ231ympfrog0ELg3aqIKgduYLex8P13c5dG9CokKNyzB8kJvMvzNZkdNGpm/zmqSm/0m/fQR3l0lDauBH3ugUq9YjqHsVxY1IB0LSrg= Received: from VI1PR04MB5933.eurprd04.prod.outlook.com (2603:10a6:803:ec::16) by VI1PR04MB7166.eurprd04.prod.outlook.com (2603:10a6:800:121::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3045.19; Mon, 1 Jun 2020 03:39:11 +0000 Received: from VI1PR04MB5933.eurprd04.prod.outlook.com ([fe80::45c4:8846:5327:9513]) by VI1PR04MB5933.eurprd04.prod.outlook.com ([fe80::45c4:8846:5327:9513%7]) with mapi id 15.20.3045.024; Mon, 1 Jun 2020 03:39:11 +0000 From: "Pankaj Bansal" To: Leif Lindholm , "devel@edk2.groups.io" , "michael.d.kinney@intel.com" CC: Andrew Fish , Laszlo Ersek , "Pankaj Bansal (OSS)" Subject: Re: [edk2-devel] [PATCH edk2-InfSpecification] Drop statement on package ordering Thread-Topic: [edk2-devel] [PATCH edk2-InfSpecification] Drop statement on package ordering Thread-Index: AQHWNcHdzum0eDi9VEabmVJgrlzQZajCx5AAgAAGxoCAAFKJ0A== Date: Mon, 1 Jun 2020 03:39:11 +0000 Message-ID: References: <20200529140251.23933-1-leif@nuviainc.com> <20200531224339.GA28566@vanye> In-Reply-To: <20200531224339.GA28566@vanye> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nuviainc.com; dkim=none (message not signed) header.d=none;nuviainc.com; dmarc=none action=none header.from=oss.nxp.com; x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [49.36.131.89] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 146ab268-cabd-4b8a-3091-08d805dd5906 x-ms-traffictypediagnostic: VI1PR04MB7166: x-ms-exchange-sharedmailbox-routingagent-processed: True x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 0421BF7135 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 0t8Pe8SxHDIpAM0f634UaFtANL8lDzeoVK5La88oGnVRWEDIAzAnexgzHzHPqw8MojUFAJ9Zb/q83SuLh6Wn/FnJREdizhALb0dFt01oUM478OrvThwYEpU5F/CGfM9RaX4lkVyDM5lLtj6uOZ8mhFVkTinEF64VdtLnQ/cREz1wMpHlQkXTxIkI/W+9UFxhIf3sWGuwjh6AV2Uo0xxq1QXaZR06Yz/zCp24LS0v7DYCZ8UwReXA0EEnUGCfI5WMbzbCe9vTV/SyzKhsqPIDk96N8j6hUQo9LG8lsN78QdV2409KKRxLLOQLVv9Y/8EiVnhyvfiTdt6S3shffkWr+osa9eJLN60N8fCwaPWYWnBEIeVf4VSOXH6F6LVe+7J7fbgl4p6WtMkVU0OeG6odYg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5933.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(39860400002)(366004)(396003)(376002)(346002)(136003)(2906002)(86362001)(83380400001)(5660300002)(9686003)(33656002)(71200400001)(66446008)(52536014)(4326008)(6506007)(53546011)(8676002)(66556008)(66946007)(316002)(64756008)(66476007)(54906003)(110136005)(8936002)(55016002)(478600001)(7696005)(186003)(966005)(76116006)(26005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: SKS4m6BmwrF6T8OYCJYNXUpWTeWO7JZTjs7meSO/ug5XREK2btzGTIWgBfOAXRONav6+NtM/J445IJMUS9u15hv1YkVPGDWYFBjvLqnA6DzilxxuIRWk0fKmN17YUPJnzKdcpVF31ezpRJYqhKWAKLvOs+92luqB4eYYGBhs4iulLAHhisVFntExfzQERUaOfcydVDbr/LfjBdwKkj1hiYsQ3lKk8NzlKRBgzHJ2t5A+NN3RlzpTLs10HGkHkXNT+kYcxigg4mlw8tRGVxuDEPjdyUiy3B6MpsQ+ogYGi66woo2YVGRtM36uKIWkJ1gQwexm1TtlLdqHVtroaLWqEwijGPKTSnWmz/2MPYL7FO2EyYbEG0O2xQfBnREqn4gQA8GHmKDiSJd7/CoNHcayYZdKDsImc2Vrwn88EkOv91EKgypjMvDQt/4CuxaZTXuYFRDOsWNb6G4R72+QIiuYJ0N2SeS0GD4vCLmMmzwOjM8= MIME-Version: 1.0 X-OriginatorOrg: oss.nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 146ab268-cabd-4b8a-3091-08d805dd5906 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Jun 2020 03:39:11.1225 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: c/1XHV1W+Cqu2k2WHP0WjnEna9lml84sh3/31jGyxVbS9fREwGqKD4QpZk0TQ81IjbhKH/orRpdNq0KVHYSI8Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7166 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Mike, This means any port of edk2, should it so wish to override the include fil= e provided by edk2 packages (MdePkg or MdeModulePkg), must be listed after these dec files (MdePkg.dec or MdeModulePkg.dec) in a= n inf file? Regards, Pankaj Bansal > -----Original Message----- > From: Leif Lindholm > Sent: Monday, June 1, 2020 4:14 AM > To: devel@edk2.groups.io; michael.d.kinney@intel.com > Cc: Andrew Fish ; Laszlo Ersek ; Pan= kaj > Bansal (OSS) > Subject: Re: [edk2-devel] [PATCH edk2-InfSpecification] Drop statement o= n > package ordering >=20 > Hi Mike, >=20 > Ok, I'm happy to hear that. >=20 > I agree that the overriding behaviour is useful, and it would be good > to document it. The problem is that the current wording does not say > that (in a way that is useful to anyone who does not already know what > it means). And the MdePkg/MdeModulePkg example sounds positively > horrific when interpreted in this light. >=20 > Clearly, my proposed modification is not the right thing to do here. >=20 > The problem with the document implying that the order should reflect > some sort of hierarchy *apart from when explicitly overriding* is that > this is asking a human to do the thing that humans are bad at and > computers are good at. It can't scale where humans are reviewing ports > that they understand less well than the people contributing them. >=20 > I think we should find a wording that explains the behaviour instead > of explaining some potential derivative of the behaviour, as well as > providing a realistic example instead of the MdePkg/MdeModulePkg > statament. >=20 > My suggestion is to keep it simple: say something like "where there is > a need to override an include file provided by one package with one > provided by another package, know that the compiler invocation will > list the include directories in the same order as the .dec files are > listed in the .inf". >=20 > Regards, >=20 > Leif >=20 > On Sun, May 31, 2020 at 22:19:24 +0000, Michael D Kinney wrote: > > Hi Leif, > > > > The reason for this statement is not for performance. > > > > It is if the same include file exists in the same path > > in more than one package. Defining this behavior makes > > the build system deterministic. > > > > There is use case where a platform package can provide > > an include override of a common package and the platform > > modules list the platform package before the common > > package in the [Packages] section. > > > > So deterministic build when there are include file > > name collisions and overrides are 2 reasons to keep > > the currently defined behavior. > > > > With this background, perhaps some clarification or > > rewording of the spec is required? Do you have suggestions? > > > > Thanks, > > > > Mike > > > > This is not a common use case, > > but one that does apply is a platform module that wants > > to use an override of a standard include file in a platform > > package. > > > > For the build system autogen stage, this statement > > > > Mike > > > > > -----Original Message----- > > > From: Leif Lindholm > > > Sent: Friday, May 29, 2020 7:03 AM > > > To: devel@edk2.groups.io > > > Cc: Kinney, Michael D ; > > > Andrew Fish ; Laszlo Ersek > > > ; Pankaj Bansal > > > > > > Subject: [PATCH edk2-InfSpecification] Drop statement > > > on package ordering > > > > > > The description of [Packages] sections stated that > > > "Packages must be listed in the order that may be > > > required for specifying > > > include path statements for a compiler. For example, > > > the > > > MdePkg/MdePkg.dec file must be listed before the > > > MdeModulePkg/MdeModulePkg.dec file." > > > > > > Drop it. > > > > > > Signed-off-by: Leif Lindholm > > > --- > > > > > > Surely this isn't something we take seriously? > > > If there is a measurable performance impact to the > > > order of -I option > > > on the compiler command line, we should approach this > > > programmatically. > > > > > > 3_edk_ii_inf_file_format/37_[packages]_sections.md | 7 > > > ++----- > > > 1 file changed, 2 insertions(+), 5 deletions(-) > > > > > > diff --git > > > a/3_edk_ii_inf_file_format/37_[packages]_sections.md > > > b/3_edk_ii_inf_file_format/37_[packages]_sections.md > > > index 17a8d91..c09112b 100644 > > > --- > > > a/3_edk_ii_inf_file_format/37_[packages]_sections.md > > > +++ > > > b/3_edk_ii_inf_file_format/37_[packages]_sections.md > > > @@ -42,11 +42,8 @@ Defines the `[Packages]` section tag > > > that is used in EDK II module INF files. > > > Each entry in this section contains a directory name, > > > forward slash character > > > and the name of the DEC file contained in the > > > directory name. > > > > > > -Packages must be listed in the order that may be > > > required for specifying > > > -include path statements for a compiler. For example, > > > the _MdePkg/MdePkg.dec_ > > > -file must be listed before the > > > `MdeModulePkg/MdeModulePkg.dec` file. If there > > > -are PCDs listed in the generated "As Built" INF, the > > > packages that declare any > > > -PCDs must be listed in this section. > > > +If there are PCDs listed in the generated "As Built" > > > INF, the packages that > > > +declare any PCDs must be listed in this section. > > > > > > Each package filename must be listed only once per > > > section. Package filenames > > > listed in architectural sections are not permitted to > > > be listed in the common > > > -- > > > 2.20.1 > > > > > >=20 > >