From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out04.hibox.biz (out04.hibox.biz [210.71.195.44]) by mx.groups.io with SMTP id smtpd.web10.207.1592412989187159437 for ; Wed, 17 Jun 2020 09:56:30 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: insyde.com, ip: 210.71.195.44, mailfrom: tim.lewis@insyde.com) IronPort-SDR: OawLpH5fUYJCVHFxUtswRYW+kQj1ivEvyxC/goVCYLsCaqAGr0y3YyUWbeZl/tRwC2eJcawA+5 XGRjb3ymYAqg== X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A2D3BgDDR+pe/ws0GKxmHQEBAQEJARI?= =?us-ascii?q?BBQUBQAeBQ4EjgXZUX40lj16HWxSEJogSCwEBAQEBAQEBAQgbEQECBAEBgVC?= =?us-ascii?q?CbgQCgh0lOBMCAwEBCwEBBgEBAQEBBgSGSAyGAQIjKTAFBhBSPwEEHgWDF4F?= =?us-ascii?q?+frcvgTQaAoU1hS+BOIFljRSJKj+FJwSPRYpOS5lrB4JhmR0gkRMDjViwBIF?= =?us-ascii?q?qgXhwgzkJNhEZkhyKdiQwNwIGCAEBAwl0CBUBj3sBAQ?= X-IronPort-AV: E=Sophos;i="5.73,523,1583164800"; d="scan'208,217";a="27451012" Received: from unknown (HELO hb3-BKT201.hibox.biz) ([172.24.52.11]) by out04.hibox.biz with ESMTP; 18 Jun 2020 00:56:27 +0800 IronPort-SDR: hvHOB+ehJa4dp+w5bz5SO2tQKMp47GNDhHDEexKZTmmKUyKEdnat1qBlVSIlkm74ocZfFhJ0aG Pn68lqIXeaew== Received: from unknown (HELO hb3-BKT103.hibox.biz) ([172.24.51.13]) by hb3-BKT201.hibox.biz with ESMTP; 18 Jun 2020 00:56:25 +0800 IronPort-SDR: pjm9Afb+dHe937LKb8ezGh++xzjIjqlobOJW1xv+aFCH/AeNoGhPtk1i65ad/ySYLEb0uAyA0H NMq/XVanPIYw== Received: from unknown (HELO hb3-IN02.hibox.biz) ([172.24.12.12]) by hb3-BKT103.hibox.biz with ESMTP; 18 Jun 2020 00:56:26 +0800 IronPort-SDR: abwfkOR1Sx6ZaUxuYb1uCkxV9Gt3kWSFaEjnAFh9uNvSbMAxgb6kEpfhE3NMFaXZkKyTfASZS2 mMDdwTv/RDxA== X-Remote-IP: 73.116.1.175 X-Remote-Host: c-73-116-1-175.hsd1.ca.comcast.net X-SBRS: -10.0 X-MID: 39617438 X-Auth-ID: tim.lewis@insyde.com X-EnvelopeFrom: tim.lewis@insyde.com hiBox-Sender: 1 Received: from c-73-116-1-175.hsd1.ca.comcast.net (HELO DESKTOPHG9V3E8) ([73.116.1.175]) by hb3-IN02.hibox.biz with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Jun 2020 00:56:23 +0800 From: "Tim Lewis" To: Subject: Components sub-section ordering Date: Wed, 17 Jun 2020 09:56:22 -0700 Message-ID: <017c01d644c8$3c4bb1f0$b4e315d0$@insyde.com> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-index: AdZEx7b4pg+GlD0/T9i4ZGD5c7ooEg== Content-Type: multipart/alternative; boundary="----=_NextPart_000_017D_01D6448D.8FED7630" Content-language: en-us ------=_NextPart_000_017D_01D6448D.8FED7630 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit EDK2 build tool gurus: Question: The current EDK2 .DSC specification, section 3.10 says that the sub-elements in a Component must follow a specific ordering (LibraryClasses, Pcds*, BuildOptions). But it is not clear why this is required. As a side note, we have a number of .dsc files where this is not followed today, but our tools developers wanted to know if this should be enforced. Here is the text from the spec: Within the context of an EDK II module sub-element, the entries must appear before entries; the entries terminate with the start of either the or sub-section header or the end of the scope defined by the right curly "}" brace. The sub-element must be the last sub-entry of an EDK II module's scoped section. Entries for , and are used to replace the platform or global definition entries listed elsewhere. LibraryClass and PCDs are globally defined in the DSC file's [LibraryClasses] and [Pcds*] sections, while global BuildOptions may be specified in either the DSC file's [BuildOptions] section or in the $(WORKSPACE)/Conf/tools_def.txt file. I would also note that the is not listed here. Can we just elide this? Thanks, Tim Lewis CTO, Insyde Software www.insyde.com ------=_NextPart_000_017D_01D6448D.8FED7630 Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

EDK2 build = tool gurus:

 

Question: The current EDK2 .DSC specification, section = 3.10 says that the sub-elements in a Component must follow a specific = ordering (LibraryClasses, Pcds*, BuildOptions). But it is not clear why = this is required. As a side note, we have a number of .dsc files where = this is not followed today, but our tools developers wanted to know if = this should be enforced.

 

Here is the = text from the spec:

 

Within the = context of an EDK II module sub-element, the <LibraryClasses> entries = must appear before <Pcds*> entries; the = <LibraryClasses> entries = terminate with the start of either the <Pcds*> or <BuildOptions> = sub-section header or the end of the scope defined by the right curly = "}" brace. The <BuildOptions> = sub-element must be the last sub-entry of an EDK II module's scoped = section. Entries for <LibraryClasses>, = <Pcds*> and = <BuildOptions> are used = to replace the platform or global definition entries listed elsewhere. = LibraryClass and = PCDs are globally defined in the DSC file's [LibraryClasses] and = [Pcds*] sections, = while global BuildOptions may be specified in either the DSC file's = [BuildOptions] = section or in the $(WORKSPACE)/Conf/tools_def.txt = file.

 

I would also note that the <Defines> is not = listed here.

 

Can we just elide this?

 

Thanks,

 

Tim = Lewis

CTO, Insyde = Software

www.insyde.com

 

------=_NextPart_000_017D_01D6448D.8FED7630--