## @file
# Module entry point library for UEFI driver, DXE driver and SMM driver that dynamically sets the stack cookie.
#
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = UefiDriverEntryPointDynamicInit
  MODULE_UNI_FILE                = UefiDriver/UefiDriverEntryPoint.uni
  FILE_GUID                      = 900238F9-1421-4596-9548-A1BF58C97693
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = UefiDriverEntryPoint|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_DRIVER SMM_CORE DXE_SMM_DRIVER

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 AARCH64 LOONGARCH64
#

[Sources]
  UefiDriver/DriverEntryPoint.c

[Packages]
  MdePkg/MdePkg.dec

[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

[LibraryClasses]
  UefiBootServicesTableLib
  DebugLib
  BaseLib
  StackCheckLib

[LibraryClasses.LOONGARCH64]
  RngLib

[Protocols]
  gEfiLoadedImageProtocolGuid                   ## SOMETIMES_CONSUMES

#
# For UEFI drivers, these architectural protocols defined in PI 1.0 spec need
# to be appended and merged to the final dependency section.
#
[Depex.common.UEFI_DRIVER]
  gEfiBdsArchProtocolGuid AND
  gEfiCpuArchProtocolGuid AND
  gEfiMetronomeArchProtocolGuid AND
  gEfiMonotonicCounterArchProtocolGuid AND
  gEfiRealTimeClockArchProtocolGuid AND
  gEfiResetArchProtocolGuid AND
  gEfiRuntimeArchProtocolGuid AND
  gEfiSecurityArchProtocolGuid AND
  gEfiTimerArchProtocolGuid AND
  gEfiVariableWriteArchProtocolGuid AND
  gEfiVariableArchProtocolGuid AND
  gEfiWatchdogTimerArchProtocolGuid
