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.html

Laszlo

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to