## @file
#  SPDM library.
#
#  Copyright (c) 2024, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = SpdmSecurityLib
  FILE_GUID                      = 77D7770D-158E-4354-B813-B8792A0E982D
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = SpdmSecurityLib

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 AARCH64
#

[Sources]
  SpdmSecurityLibInternal.h
  SpdmSecurityLib.c
  SpdmConnectionInit.c
  SpdmMeasurement.c
  SpdmAuthentication.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  SecurityPkg/SecurityPkg.dec
  CryptoPkg/CryptoPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  BaseCryptLib
  RngLib
  TpmMeasurementLib
  SpdmRequesterLib
  SpdmCommonLib

[Guids]
  gEfiDeviceSignatureDatabaseGuid         ## CONSUMES
  gEfiCertX509Guid                        ## CONSUMES
  gEfiDeviceSecuritySpdmUidGuid           ## PRODUCES AND CONSUMES

[Pcd]
  gEfiMdeModulePkgTokenSpaceGuid.PcdTcgPfpMeasurementRevision            ## CONSUMES
  gEfiMdeModulePkgTokenSpaceGuid.PcdEnableSpdmDeviceAuthentication        ## CONSUMES
