## @file
#  PEI LockBox library instance.
#
#  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SmmLockBoxPeiLib
  MODULE_UNI_FILE                = SmmLockBoxPeiLib.uni
  FILE_GUID                      = 5F5E6140-E7BA-4bd6-B85F-236B5BCD8E1E
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = LockBoxLib|PEIM

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  SmmLockBoxPeiLib.c
  SmmLockBoxLibPrivate.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  PeiServicesTablePointerLib
  PeiServicesLib
  BaseLib
  BaseMemoryLib
  HobLib
  DebugLib

[FeaturePcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode  ## CONSUMES

[Guids]
  ## SOMETIMES_CONSUMES ## UNDEFINED # Used to do smm communication
  ## SOMETIMES_CONSUMES ## UNDEFINED # SmmSystemTable
  gEfiSmmLockBoxCommunicationGuid
  gEfiAcpiVariableGuid                  ## SOMETIMES_CONSUMES ## HOB

[Ppis]
  gEfiPeiSmmCommunicationPpiGuid        ## CONSUMES
  gPeiSmmAccessPpiGuid                  ## SOMETIMES_CONSUMES
