* Components sub-section ordering
@ 2020-06-17 16:56 Tim Lewis
2020-06-17 19:01 ` [edk2-devel] " Michael D Kinney
0 siblings, 1 reply; 2+ messages in thread
From: Tim Lewis @ 2020-06-17 16:56 UTC (permalink / raw)
To: devel
[-- Attachment #1: Type: text/plain, Size: 1378 bytes --]
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 <http://www.insyde.com>
[-- Attachment #2: Type: text/html, Size: 4299 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [edk2-devel] Components sub-section ordering
2020-06-17 16:56 Components sub-section ordering Tim Lewis
@ 2020-06-17 19:01 ` Michael D Kinney
0 siblings, 0 replies; 2+ messages in thread
From: Michael D Kinney @ 2020-06-17 19:01 UTC (permalink / raw)
To: devel@edk2.groups.io, tim.lewis@insyde.com, Feng, Bob C,
Gao, Liming, Kinney, Michael D
[-- Attachment #1: Type: text/plain, Size: 1938 bytes --]
Tim,
This is an excellent point. I do not see any reason why the order should matter. If there are any assumptions in BaseTools about the order, we should identify those and enter Bugzillas to remove those assumptions and update the specs to remove this requirement.
For some sections , the order of statements with a section is significant.
Thanks,
Mike
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Tim Lewis
Sent: Wednesday, June 17, 2020 9:56 AM
To: devel@edk2.groups.io
Subject: [edk2-devel] Components sub-section ordering
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<http://www.insyde.com>
[-- Attachment #2: Type: text/html, Size: 43728 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2020-06-17 19:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-17 16:56 Components sub-section ordering Tim Lewis
2020-06-17 19:01 ` [edk2-devel] " Michael D Kinney
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox