Hi Larry,
Thanks for your detailed response. What you say correctly describes the current
behavior. I'm asking why that behavior is desired, and suggesting that it is
not desired. I believe there may be situations where you want a binary
distributed driver, but a human-readable dependency expression.
Removing the python code I mentioned in my original message (ignoring [Depex]
sections when only [Binaries] sections are present) allows a dependency section
to be generated on the fly. An appropriate FDF statement will include the
correct section.
- Justin
From: Hauch, Larry [mailto:larry.ha...@intel.com]
Sent: Tuesday, December 04, 2012 3:40 PM
To: Andrew Fish; edk2-devel@lists.sourceforge.net
Cc: edk2-buildtools-de...@lists.sourceforge.net
Subject: Re: [edk2-buildtools] [edk2] binary-only modules and [depex] sections
Hi Justin,
The EDK II tools should support a binary INF file that has both the drive and
the compiled depex file in the [Binaries] section.
Using the PcAtChipsetPkg/PcatRealTimeClockRuntimeDex.inf as an example, a valid
INF for the binary would looks like:
[Defines]
INF_VERSION = 0x00010016
BASE_NAME = PcRtc
FILE_GUID = 378D7B65-8DA9-4773-B6E4-A47826A833E1
MODULE_TYPE = DXE_RUNTIME_DRIVER
VERSION_STRING = 1.0
[Binaries.IA32]
PE32|Ia32/PcRtc.efi
DXE_DEPEX|Ia32/PcRtc.depex
The tools do not support building a source depex file without building the
module from source.
The tools will ignore the sources section if a [Binaries] section does exist;
so the following is not valid:
[Defines]
INF_VERSION = 0x00010016
BASE_NAME = PcRtc
FILE_GUID = 378D7B65-8DA9-4773-B6E4-A47826A833E1
MODULE_TYPE = DXE_RUNTIME_DRIVER
VERSION_STRING = 1.0
DPX_SOURCE = myDepexSrc.depex
[Binaries.IA32]
PE32|Ia32/PcRtc.efi
Nor can you specify a [Depex] section in an INF file that has the binary efi
file. The following is also not valid
[Defines]
INF_VERSION = 0x00010016
BASE_NAME = PcRtc
FILE_GUID = 378D7B65-8DA9-4773-B6E4-A47826A833E1
MODULE_TYPE = DXE_RUNTIME_DRIVER
VERSION_STRING = 1.0
[Binaries.IA32]
PE32|Ia32/PcRtc.efi
[Depex]
gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid
Cheers,
Larry
From: Andrew Fish [mailto:af...@apple.com]
Sent: Monday, December 03, 2012 3:25 PM
To: edk2-devel@lists.sourceforge.net
Cc: edk2-buildtools-de...@lists.sourceforge.net
Subject: Re: [edk2-buildtools] [edk2] binary-only modules and [depex] sections
Sounds like a bug to me.
Thanks,
Andrew
On Dec 3, 2012, at 3:00 PM,
justin_johns...@dell.com<mailto:justin_johns...@dell.com> wrote:
Hi all,
I have some binary-only drivers with dependency expressions that are not being
processed. These drivers are not UEFI model drivers.
I see in WorkspaceDatabase.py:
# If the module has only Binaries and no Sources, then ignore [Depex]
if self.Sources == None or self.Sources == []:
if self.Binaries != None and self.Binaries != []:
return self._Depex
The intent being obvious from the comment (comes from SVN revision 2135 of
edk2-buildtools repo). My question is, why are the [Depex] sections ignored
from INFs with only binaries? I don't see in any of the EDKII documentation
where this is stated. Is this a behavior that could be changed?
--
Justin Johnson
Platform Software Engineer
Dell, Inc.
------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel