## @file
#  Legacy Boot Maintenance UI module is library for BDS phase.
#
#  Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = LegacyBootMaintUiLib
  MODULE_UNI_FILE                = LegacyBootMaintUiLib.uni
  FILE_GUID                      = 259A90B1-C151-43E5-8A71-82B4E3201F4E
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL|DXE_DRIVER UEFI_APPLICATION
  CONSTRUCTOR                    = LegacyBootMaintUiLibConstructor
  DESTRUCTOR                     = LegacyBootMaintUiLibDestructor
#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  LegacyBootMaintUiVfr.h
  LegacyBootMaintUi.h
  LegacyBootMaintUiVfr.Vfr
  LegacyBootMaintUiStrings.uni
  LegacyBootMaintUi.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  OvmfPkg/OvmfPkg.dec

[LibraryClasses]
  DevicePathLib
  BaseLib
  UefiRuntimeServicesTableLib
  UefiBootServicesTableLib
  DebugLib
  HiiLib
  MemoryAllocationLib
  UefiBootManagerLib
  UefiLib
  PrintLib
  BaseMemoryLib

[Guids]
  gEfiIfrTianoGuid                  ## SOMETIMES_PRODUCES ## UNDEFINED # Extended IFR Guid Opcode
  gEfiIfrBootMaintenanceGuid        ## CONSUMES ## HII # BootMaint HII Package
  gEfiLegacyDevOrderVariableGuid    ## PRODUCES ## Variable:L"LegacyDevOrder"

[Protocols]
  gEfiHiiConfigAccessProtocolGuid             ## PRODUCES
  gEfiLegacyBiosProtocolGuid                  ## CONSUMES
  gEfiHiiConfigRoutingProtocolGuid            ## CONSUMES

[Depex]
  gEfiHiiDatabaseProtocolGuid

