## @file
#  Cryptographic Library Instance for PEIM.
#
#  Caution: This module requires additional review when modified.
#  This library will have external input - signature.
#  This external input must be validated carefully to avoid security issues such as
#  buffer overflow or integer overflow.
#
#  Note:
#  HMAC-SHA256 functions, AES functions, RSA external
#  functions, PKCS#7 SignedData sign functions, Diffie-Hellman functions, X.509
#  certificate handler functions, authenticode signature verification functions,
#  PEM handler functions, and pseudorandom number generator functions are not
#  supported in this instance.
#
#  Copyright (c) 2010 - 2022, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PeiCryptLib
  MODULE_UNI_FILE                = PeiCryptLib.uni
  FILE_GUID                      = 9a2a4375-194c-4e97-9f67-547ec98d96ca
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseCryptLib|PEIM PEI_CORE

[Sources]
  InternalCryptLib.h
  Hash/CryptMd5.c
  Hash/CryptSha1.c
  Hash/CryptSha256.c
  Hash/CryptSm3.c
  Hash/CryptSha512.c
  Hash/CryptSha3.c
  Hash/CryptXkcp.c
  Hash/CryptCShake256.c
  Hash/CryptParallelHash.c
  Hash/CryptDispatchApPei.c
  Hmac/CryptHmac.c
  Kdf/CryptHkdf.c
  Cipher/CryptAes.c
  Cipher/CryptAeadAesGcmNull.c
  Cipher/CryptCamellia.c
  Pk/CryptRsaBasic.c
  Pk/CryptRsaExtNull.c
  Pk/CryptPkcs1OaepNull.c
  Pk/CryptPkcs5Pbkdf2Null.c
  Pk/CryptPkcs7SignNull.c
  Pk/CryptPkcs7VerifyCommon.c
  Pk/CryptPkcs7VerifyBase.c
  Pk/CryptPkcs7VerifyEku.c
  Pk/CryptDhNull.c
  Pk/CryptX509Null.c
  Pk/CryptAuthenticodeNull.c
  Pk/CryptTsNull.c
  Pk/CryptRsaPss.c
  Pk/CryptRsaPssSignNull.c
  Pk/CryptEcNull.c
  Pem/CryptPemNull.c
  Rand/CryptRandNull.c
  Bn/CryptBnNull.c

  SysCall/CrtWrapper.c
  SysCall/ConstantTimeClock.c
  SysCall/BaseMemAllocation.c

[Packages]
  MdePkg/MdePkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  DebugLib
  OpensslLib
  IntrinsicLib
  PrintLib
  PeiServicesTablePointerLib
  PeiServicesLib
  SynchronizationLib

[Ppis]
  gEfiPeiMpServicesPpiGuid
#
# Remove these [BuildOptions] after this library is cleaned up
#
[BuildOptions]
  #
  # suppress the following warnings so we do not break the build with warnings-as-errors:
  #
  GCC:*_CLANGDWARF_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types
  GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types

  XCODE:*_*_*_CC_FLAGS = -std=c99
