## @file
#  Component description file for LockBox library.
#
#  Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
#
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions
#  of the BSD License which accompanies this distribution.  The
#  full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SmmLockBoxPeiLib
  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

[Guids]
  gEfiSmmLockBoxCommunicationGuid       ## CONSUMED
  gEfiAcpiVariableGuid               ## CONSUMED

[Ppis]
  gEfiPeiSmmCommunicationPpiGuid     ## CONSUMED
  gPeiSmmAccessPpiGuid               ## CONSUMED
