## @file
#  Boot Manager Library used by UiApp.
#
#  Copyright (c) 2011 - 2018, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BootManagerUiLib
  MODULE_UNI_FILE                = BootManagerUiLib.uni
  FILE_GUID                      = CCB2DCE1-4FC8-41CB-88C5-D349E134C9FC
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL|DXE_DRIVER UEFI_APPLICATION
  CONSTRUCTOR                    = BootManagerUiLibConstructor
  DESTRUCTOR                     = BootManagerUiLibDestructor
#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  BootManager.h
  BootManagerVfr.Vfr
  BootManagerStrings.uni
  BootManager.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  UefiRuntimeServicesTableLib
  ReportStatusCodeLib
  MemoryAllocationLib
  UefiLib
  UefiBootServicesTableLib
  BaseMemoryLib
  DebugLib
  PrintLib
  HiiLib
  UefiBootManagerLib

[Guids]
  gEfiIfrTianoGuid                              ## CONSUMES ## GUID (Extended IFR Guid Opcode)
  gEfiIfrFrontPageGuid                          ## CONSUMES ## GUID

[Protocols]
  gEfiHiiConfigAccessProtocolGuid               ## CONSUMES
  gEfiDevicePathToTextProtocolGuid              ## CONSUMES
  gEdkiiFormBrowserEx2ProtocolGuid              ## CONSUMES

[FeaturePcd]

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow                         ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn                      ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution         ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution           ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn                 ## CONSUMES ## SOMETIMES_PRODUCES
  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow                    ## CONSUMES ## SOMETIMES_PRODUCES
  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution    ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution      ## CONSUMES
