## @file
#  Cryptographic Library Instance for DXE_DRIVER.
#
#  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) 2009 - 2020, Intel Corporation. All rights reserved.<BR>
#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseCryptLib
  MODULE_UNI_FILE                = BaseCryptLib.uni
  FILE_GUID                      = be3bb803-91b6-4da0-bd91-a8b21c18ca5d
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseCryptLib|DXE_DRIVER DXE_CORE UEFI_APPLICATION UEFI_DRIVER

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 ARM AARCH64 RISCV64
#

[Sources]
  InternalCryptLib.h
  Hash/CryptMd5.c
  Hash/CryptSha1.c
  Hash/CryptSha256.c
  Hash/CryptSha512.c
  Hash/CryptSm3.c
  Hmac/CryptHmacSha256.c
  Kdf/CryptHkdf.c
  Cipher/CryptAes.c
  Pk/CryptRsaBasic.c
  Pk/CryptRsaExt.c
  Pk/CryptPkcs1Oaep.c
  Pk/CryptPkcs5Pbkdf2.c
  Pk/CryptPkcs7Sign.c
  Pk/CryptPkcs7VerifyCommon.c
  Pk/CryptPkcs7VerifyBase.c
  Pk/CryptPkcs7VerifyEku.c
  Pk/CryptDh.c
  Pk/CryptX509.c
  Pk/CryptAuthenticode.c
  Pk/CryptTs.c
  Pem/CryptPem.c

  SysCall/CrtWrapper.c
  SysCall/TimerWrapper.c
  SysCall/BaseMemAllocation.c
  SysCall/inet_pton.c

[Sources.Ia32]
  Rand/CryptRandTsc.c

[Sources.X64]
  Rand/CryptRandTsc.c

[Sources.ARM]
  Rand/CryptRand.c

[Sources.AARCH64]
  Rand/CryptRand.c

[Sources.RISCV64]
  Rand/CryptRand.c

[Packages]
  MdePkg/MdePkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  UefiRuntimeServicesTableLib
  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:
  # C4090: 'function' : different 'const' qualifiers
  #
  MSFT:*_*_*_CC_FLAGS = /wd4090

  # -JCryptoPkg/Include : To disable the use of the system includes provided by RVCT
  # --diag_remark=1     : Reduce severity of "#1-D: last line of file ends without a newline"
  RVCT:*_*_ARM_CC_FLAGS = -JCryptoPkg/Include --diag_remark=1

  GCC:*_CLANG35_*_CC_FLAGS = -std=c99
  GCC:*_CLANG38_*_CC_FLAGS = -std=c99
  GCC:*_CLANGPDB_*_CC_FLAGS = -std=c99 -Wno-error=incompatible-pointer-types

  XCODE:*_*_*_CC_FLAGS = -std=c99
