## @file
#  Library for BDS phase to use Boot Discovery Policy
#
#  Copyright (c) 2021, ARM Ltd. All rights reserved.<BR>
#  Copyright (c) 2021, Semihalf All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BootDiscoveryPolicyUiLib
  MODULE_UNI_FILE                = BootDiscoveryPolicyUiLib.uni
  FILE_GUID                      = BE73105A-B13D-4B57-A41A-463DBD15FE10
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL|DXE_DRIVER UEFI_APPLICATION
  CONSTRUCTOR                    = BootDiscoveryPolicyUiLibConstructor
  DESTRUCTOR                     = BootDiscoveryPolicyUiLibDestructor
#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 AARCH64
#

[Sources]
  BootDiscoveryPolicyUiLib.c
  BootDiscoveryPolicyUiLibStrings.uni
  BootDiscoveryPolicyUiLibVfr.Vfr

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  DevicePathLib
  BaseLib
  UefiRuntimeServicesTableLib
  UefiBootServicesTableLib
  DebugLib
  HiiLib
  UefiLib
  BaseMemoryLib

[Guids]
  gBootDiscoveryPolicyMgrFormsetGuid

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdBootDiscoveryPolicy  ## PRODUCES

[Depex]
  gEfiHiiDatabaseProtocolGuid AND gPcdProtocolGuid
