## @file
# Capsule library instance for DXE_DRIVER, DXE_RUNTIME_DRIVER
#
# Copyright (c) 2007 - 2013, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution.  The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = DxeCapsuleLib
  FILE_GUID                      = 654950df-1ede-4b04-b144-6b77845736ad
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = CapsuleLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION


#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  DxeCapsuleLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec

[LibraryClasses]
  BaseMemoryLib
  DebugLib
  MemoryAllocationLib
  DxeServicesTableLib
  GenericBdsLib
  UefiBootServicesTableLib
  DevicePathLib

[Protocols]
  gEfiFirmwareManagementProtocolGuid      # CONSUMES

[Guids]
  gEfiCapsuleGuid                         # SOMETIMES_CONSUMED
  gEfiFmpCapsuleGuid                      # SOMETIMES_CONSUMED
