Liming, This is only a problem with binary libraries. If I do everything from sources, the generated .depex is correct.
Daryl -----Original Message----- From: Gao, Liming <[email protected]> Sent: Thursday, March 29, 2018 12:08 AM To: [email protected]; 'Laszlo Ersek' <[email protected]>; [email protected] Subject: RE: [edk2] Dependency expression inheritance problems Daryl: Do you try the source library INF file? EDK2 build system will inherit the depex section from its library. Seemly, this is an issue when the module is the binary library. Thanks Liming >-----Original Message----- >From: edk2-devel [mailto:[email protected]] On Behalf Of >[email protected] >Sent: Thursday, March 29, 2018 6:48 AM >To: 'Laszlo Ersek' <[email protected]>; [email protected] >Subject: Re: [edk2] Dependency expression inheritance problems > >Laszlo, > >I think you are thinking of the old .dxs files. EDK II supports them, >but their use is discouraged. >From the "EDK II Build Specification", v1.27: >"For EDK II modules, the build tools will create the complete >dependency expression using the information in the [Depex] section >along with all [Depex] sections from the linked in library instances." > >and > >"Once all files are parsed, the build tools will do following work for >each EDK II >module: > ... > * Inherit library instance dependency ( [Depex] sections) expressions >if a module does not list a separate dependency file." > >So, use of the [Depex] sections in the .DSC and .INF files is supposed >to be the way to go. > >The spec. also states that if a .dxs file is specified, inheritance >will not be used and the .dxs file must specify every dependency. "Use >of a separate file for describing the dependencies is discouraged. ... >Libraries may also have a dependency, [Depex] , section. These >dependencies must be appended to the module's DEPEX sections unless the >module includes a depex (.dxs) file - even if the module does not >contain a [Depex] section. When a developer chooses to write the .dxs >file, the developer is responsible for specifying all dependencies in the .dxs file." > >I believe that according to the spec., what I am attempting should >work. The EDK II build tools should generate a .depex file for the >module that contains the module's depex as well as depex' inherited >from the module's component libraries. > >But, I could be misinterpreting the spec. or doing something wrong in >the build files (.DSC and .INF). > >Has anyone actually looked at the .depex that the tools produce and >compared it to what the expected contents are for binary and hybrid >(binary + >source) builds? > >Thanks much, >Daryl > > >-----Original Message----- >From: Laszlo Ersek <[email protected]> >Sent: Wednesday, March 28, 2018 11:34 AM >To: [email protected]; [email protected] >Subject: Re: [edk2] Dependency expression inheritance problems > >On 03/28/18 20:32, Laszlo Ersek wrote: >> On 03/28/18 20:14, [email protected] wrote: >>> Hopefully someone on the list can help with this problem. >>> >>> >>> >>> I have a DXE_DRIVER that links with several libraries. Some of >>> these libraries are from a binary distribution. I checked the >>> binary library's .INF file and it has the [LibraryClasses] and >>> [Depex] sections present in the same format as for a source .INF. >>> (not >>> comments) >> >> Isn't that wrong (from the binary distribution)? The INF spec makes >> me think think that library instances provided in binary format >> should ship their standalone .depex files as well, and they should be >> referenced in the [Binaries] section of the respective lib instance INF file. >> >> https://edk2-docs.gitbooks.io/edk-ii-inf-specification/content/2_inf_ >> o verview/215_[depex]_section.html#215-depex-section >> >> "Binary .depex files are listed in [Binaries] sections of the INF files." >> >> I vaguely recall seeing an example somewhere, but nothing specific. I >> could be totally wrong. :) > >I should have looked a but further in the same spec :) See the "Example" >section here: > >https://edk2-docs.gitbooks.io/edk-ii-inf- >specification/content/3_edk_ii_inf_file_format/315_[binaries]_section.h >tml > >Laszlo > >_______________________________________________ >edk2-devel mailing list >[email protected] >https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

