## @file
#  Cryptographic Library Instance for SEC.
#
#  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.
#
#  Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SecCryptLib
  MODULE_UNI_FILE                = SecCryptLib.uni
  FILE_GUID                      = 3689D343-0D32-4284-8053-BF10537990E8
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseCryptLib|SEC

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 AARCH64
#

[Sources]
  InternalCryptLib.h
  KeyContext.h
  Hash/CryptSha512.c

  Hash/CryptMd5Null.c
  Hash/CryptSha1Null.c
  Hash/CryptSha256.c
  Hash/CryptSm3Null.c
  Hash/CryptParallelHashNull.c
  Hmac/CryptHmacNull.c
  Kdf/CryptHkdfNull.c
  Cipher/CryptAesNull.c
  Cipher/CryptAeadAesGcmNull.c
  Cipher/CryptCamelliaNull.c
  Pk/CryptRsaBasicNull.c
  Pk/CryptRsaExtNull.c
  Pk/CryptPkcs1OaepNull.c
  Pk/CryptPkcs5Pbkdf2Null.c
  Pk/CryptPkcs7SignNull.c
  Pk/CryptPkcs7VerifyNull.c
  Pk/CryptPkcs7VerifyEkuNull.c
  Pk/CryptDhNull.c
  Pk/CryptX509Null.c
  Pk/CryptAuthenticodeNull.c
  Pk/CryptTsNull.c
  Pem/CryptPemNull.c
  Rand/CryptRandNull.c
  Pk/CryptRsaPssNull.c
  Pk/CryptRsaPssSignNull.c
  Pk/CryptEcNull.c
  Pk/CryptEdDsaNull.c
  Pk/CryptMlDsaNull.c
  Pk/CryptSlhDsaNull.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

#
# 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
