From: <edk2-lists@mc2research.org>
To: "'Gao, Liming'" <liming.gao@intel.com>, <edk2-devel@lists.01.org>
Subject: Re: Dependency expression inheritance problems
Date: Thu, 29 Mar 2018 16:10:01 -0700 [thread overview]
Message-ID: <00f301d3c7b3$117aa4c0$346fee40$@mc2research.org> (raw)
In-Reply-To: <4A89E2EF3DFEDB4C8BFDE51014F606A14E1EF9AF@SHSMSX104.ccr.corp.intel.com>
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 <liming.gao@intel.com>
Sent: Thursday, March 29, 2018 12:08 AM
To: edk2-lists@mc2research.org; 'Laszlo Ersek' <lersek@redhat.com>;
edk2-devel@lists.01.org
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:edk2-devel-bounces@lists.01.org] On Behalf Of
>edk2-lists@mc2research.org
>Sent: Thursday, March 29, 2018 6:48 AM
>To: 'Laszlo Ersek' <lersek@redhat.com>; edk2-devel@lists.01.org
>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 <lersek@redhat.com>
>Sent: Wednesday, March 28, 2018 11:34 AM
>To: edk2-lists@mc2research.org; edk2-devel@lists.01.org
>Subject: Re: [edk2] Dependency expression inheritance problems
>
>On 03/28/18 20:32, Laszlo Ersek wrote:
>> On 03/28/18 20:14, edk2-lists@mc2research.org 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
>edk2-devel@lists.01.org
>https://lists.01.org/mailman/listinfo/edk2-devel
next prev parent reply other threads:[~2018-03-29 23:03 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-28 18:14 Dependency expression inheritance problems edk2-lists
2018-03-28 18:32 ` Laszlo Ersek
2018-03-28 18:33 ` Laszlo Ersek
2018-03-28 22:48 ` edk2-lists
2018-03-29 7:07 ` Gao, Liming
2018-03-29 14:52 ` Andrew Fish
2018-03-29 23:10 ` edk2-lists [this message]
2018-03-30 0:36 ` Gao, Liming
2018-04-06 22:01 ` darylm
2018-04-06 22:03 ` edk2-lists
2018-04-08 2:03 ` Gao, Liming
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='00f301d3c7b3$117aa4c0$346fee40$@mc2research.org' \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox