## @file
# Module entry point library for Standalone MM drivers that dynamically updates the stack cookie.
#
# Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2016-2018, ARM Ltd. All rights reserved.<BR>
# Copyright (c) 2018, Linaro, Limited. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x0001001B
  BASE_NAME                      = StandaloneMmDriverEntryPointDynamicInit
  MODULE_UNI_FILE                = StandaloneMmDriver/StandaloneMmDriverEntryPoint.uni
  FILE_GUID                      = 28CBCD87-2FEE-4D46-BB5C-B37732BBEEB1
  MODULE_TYPE                    = MM_STANDALONE
  VERSION_STRING                 = 1.0
  PI_SPECIFICATION_VERSION       = 0x00010032
  LIBRARY_CLASS                  = StandaloneMmDriverEntryPoint|MM_STANDALONE

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = X64 AARCH64 LOONGARCH64
#

[Sources]
  StandaloneMmDriver/StandaloneMmDriverEntryPoint.c

[Sources.IA32]
  IA32/DynamicCookieGcc.nasm  | GCC
  IA32/DynamicCookieMsvc.nasm | MSFT

[Sources.X64]
  X64/DynamicCookieGcc.nasm   | GCC
  X64/DynamicCookieMsvc.nasm  | MSFT

[Sources.AARCH64]
  AArch64/DynamicCookieGcc.S | GCC

[Sources.LOONGARCH64]
  LoongArch64/DynamicCookieGcc.S | GCC

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  MmServicesTableLib
  StackCheckLib

[LibraryClasses.LOONGARCH64]
  RngLib

[Protocols]
  gEfiLoadedImageProtocolGuid      ## SOMETIMES_CONSUMES
