## @file
#  Provides variable check services and database management.
#
#  Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = VarCheckLib
  MODULE_UNI_FILE                = VarCheckLib.uni
  FILE_GUID                      = 63E12D08-0C5D-47F8-95E4-09F89D7506C5
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = VarCheckLib|DXE_RUNTIME_DRIVER DXE_SMM_DRIVER MM_STANDALONE

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  VarCheckLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  MemoryAllocationLib

[Guids]
  ## SOMETIMES_CONSUMES  ## Variable:L"Boot####"
  ## SOMETIMES_CONSUMES  ## Variable:L"Driver####"
  ## SOMETIMES_CONSUMES  ## Variable:L"SysPrep####"
  ## SOMETIMES_CONSUMES  ## Variable:L"Key####"
  gEfiGlobalVariableGuid
  gEfiHardwareErrorVariableGuid  ## SOMETIMES_CONSUMES   ## Variable:L"HwErrRec####"
