## @file
#  Provides hash service by registered hash handler
#
#  This library is BaseCrypto router. It will redirect hash request to each individual
#  hash handler registered, such as SHA1, SHA256. Platform can use PcdTpm2HashMask to
#  mask some hash engines.
#
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = HashLibBaseCryptoRouterPei
  MODULE_UNI_FILE                = HashLibBaseCryptoRouterPei.uni
  FILE_GUID                      = DDCBCFBA-8EEB-488a-96D6-097831A6E50B
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = HashLib|PEIM
  CONSTRUCTOR                    = HashLibBaseCryptoRouterPeiConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  HashLibBaseCryptoRouterCommon.h
  HashLibBaseCryptoRouterCommon.c
  HashLibBaseCryptoRouterPei.c

[Packages]
  MdePkg/MdePkg.dec
  SecurityPkg/SecurityPkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  Tpm2CommandLib
  MemoryAllocationLib
  PcdLib
  HobLib

[Guids]
  ## SOMETIMES_CONSUMES   ## GUID
  gZeroGuid

[Pcd]
  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask             ## CONSUMES
  ## SOMETIMES_CONSUMES
  ## SOMETIMES_PRODUCES
  gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap

