Re: [edk2] Dependency expression inheritance problems

2018-04-06 Thread darylm
Liming,

I don't remember whether I replied to you.
I submitted Bugzilla report #914 - DEPEX not inherited from binary libraries -
on 30 March 2018.

Thanks,
Daryl

-Original Message-
From: edk2-devel <edk2-devel-boun...@lists.01.org> On Behalf Of Gao, Liming
Sent: Thursday, March 29, 2018 5:36 PM
To: edk2-li...@mc2research.org; edk2-devel@lists.01.org
Subject: Re: [edk2] Dependency expression inheritance problems

Daryl:
  Could you submit one tracker in bugzillar? We will check it in BaseTools.

Thanks
Liming
> -Original Message-
> From: dar...@mc2research.com [mailto:dar...@mc2research.com] On Behalf 
> Of edk2-li...@mc2research.org
> Sent: Friday, March 30, 2018 7:10 AM
> To: Gao, Liming <liming@intel.com>; edk2-devel@lists.01.org
> Subject: RE: [edk2] Dependency expression inheritance problems
> 
> 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@intel.com>
> Sent: Thursday, March 29, 2018 12:08 AM
> To: edk2-li...@mc2research.org; 'Laszlo Ersek' <ler...@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-boun...@lists.01.org] On Behalf 
> >Of edk2-li...@mc2research.org
> >Sent: Thursday, March 29, 2018 6:48 AM
> >To: 'Laszlo Ersek' <ler...@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 <ler...@redhat.com>
> >Sent: Wednesday, March 28, 2018 11:34 AM
> >To: edk2-li...@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-li...@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 [Li

Re: [edk2] Dependency expression inheritance problems

2018-04-06 Thread edk2-lists
Liming,

I don't remember whether I answered you or not, but I did submit a Bugzilla
report on March 30, 2018.
Bug 914 - DEPEX not inherited from binary libraries

Thank you,
Daryl

-Original Message-
From: edk2-devel <edk2-devel-boun...@lists.01.org> On Behalf Of Gao, Liming
Sent: Thursday, March 29, 2018 5:36 PM
To: edk2-li...@mc2research.org; edk2-devel@lists.01.org
Subject: Re: [edk2] Dependency expression inheritance problems

Daryl:
  Could you submit one tracker in bugzillar? We will check it in BaseTools.

Thanks
Liming
> -Original Message-
> From: dar...@mc2research.com [mailto:dar...@mc2research.com] On Behalf 
> Of edk2-li...@mc2research.org
> Sent: Friday, March 30, 2018 7:10 AM
> To: Gao, Liming <liming@intel.com>; edk2-devel@lists.01.org
> Subject: RE: [edk2] Dependency expression inheritance problems
> 
> 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@intel.com>
> Sent: Thursday, March 29, 2018 12:08 AM
> To: edk2-li...@mc2research.org; 'Laszlo Ersek' <ler...@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-boun...@lists.01.org] On Behalf 
> >Of edk2-li...@mc2research.org
> >Sent: Thursday, March 29, 2018 6:48 AM
> >To: 'Laszlo Ersek' <ler...@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 <ler...@redhat.com>
> >Sent: Wednesday, March 28, 2018 11:34 AM
> >To: edk2-li...@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-li...@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 

Re: [edk2] Dependency expression inheritance problems

2018-03-29 Thread Gao, Liming
Daryl:
  Could you submit one tracker in bugzillar? We will check it in BaseTools.

Thanks
Liming
> -Original Message-
> From: dar...@mc2research.com [mailto:dar...@mc2research.com] On Behalf Of 
> edk2-li...@mc2research.org
> Sent: Friday, March 30, 2018 7:10 AM
> To: Gao, Liming <liming@intel.com>; edk2-devel@lists.01.org
> Subject: RE: [edk2] Dependency expression inheritance problems
> 
> 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@intel.com>
> Sent: Thursday, March 29, 2018 12:08 AM
> To: edk2-li...@mc2research.org; 'Laszlo Ersek' <ler...@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-boun...@lists.01.org] On Behalf Of
> >edk2-li...@mc2research.org
> >Sent: Thursday, March 29, 2018 6:48 AM
> >To: 'Laszlo Ersek' <ler...@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 <ler...@redhat.com>
> >Sent: Wednesday, March 28, 2018 11:34 AM
> >To: edk2-li...@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-li...@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 respect

Re: [edk2] Dependency expression inheritance problems

2018-03-29 Thread edk2-lists
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@intel.com> 
Sent: Thursday, March 29, 2018 12:08 AM
To: edk2-li...@mc2research.org; 'Laszlo Ersek' <ler...@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-boun...@lists.01.org] On Behalf Of 
>edk2-li...@mc2research.org
>Sent: Thursday, March 29, 2018 6:48 AM
>To: 'Laszlo Ersek' <ler...@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 <ler...@redhat.com>
>Sent: Wednesday, March 28, 2018 11:34 AM
>To: edk2-li...@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-li...@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

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Dependency expression inheritance problems

2018-03-29 Thread Andrew Fish
Daryl,

You can tell the build command to generate a report file to see what depex got 
constructed by the inherence, and what library instances got resolved for your 
various library classes. 

 -y REPORTFILE, --report-file=REPORTFILE
Create/overwrite the report to the specified filename.
  -Y REPORTTYPE, --report-type=REPORTTYPE
Flags that control the type of build report to
generate.  Must be one of: [PCD, LIBRARY, FLASH,
DEPEX, BUILD_FLAGS, FIXED_ADDRESS, HASH,
EXECUTION_ORDER].  To specify more than one flag,
repeat this option on the command line and the default
flag set is [PCD, LIBRARY, FLASH, DEPEX, HASH,
BUILD_FLAGS, FIXED_ADDRESS]


Thanks,

Andrew Fish

> On Mar 29, 2018, at 12:07 AM, Gao, Liming <liming@intel.com> wrote:
> 
> 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-boun...@lists.01.org] On Behalf Of
>> edk2-li...@mc2research.org
>> Sent: Thursday, March 29, 2018 6:48 AM
>> To: 'Laszlo Ersek' <ler...@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 <ler...@redhat.com>
>> Sent: Wednesday, March 28, 2018 11:34 AM
>> To: edk2-li...@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-li...@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
>>&g

Re: [edk2] Dependency expression inheritance problems

2018-03-29 Thread Gao, Liming
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-boun...@lists.01.org] On Behalf Of
>edk2-li...@mc2research.org
>Sent: Thursday, March 29, 2018 6:48 AM
>To: 'Laszlo Ersek' <ler...@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 <ler...@redhat.com>
>Sent: Wednesday, March 28, 2018 11:34 AM
>To: edk2-li...@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-li...@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.html
>
>Laszlo
>
>___
>edk2-devel mailing list
>edk2-devel@lists.01.org
>https://lists.01.org/mailman/listinfo/edk2-devel
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Dependency expression inheritance problems

2018-03-28 Thread edk2-lists
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 <ler...@redhat.com> 
Sent: Wednesday, March 28, 2018 11:34 AM
To: edk2-li...@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-li...@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.html

Laszlo

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Dependency expression inheritance problems

2018-03-28 Thread Laszlo Ersek
On 03/28/18 20:32, Laszlo Ersek wrote:
> On 03/28/18 20:14, edk2-li...@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_overview/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
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


Re: [edk2] Dependency expression inheritance problems

2018-03-28 Thread Laszlo Ersek
On 03/28/18 20:14, edk2-li...@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_overview/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. :)

Thanks
Laszlo
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel