## @file
#  Null library instance for StackCheckLib which can be included
#  when a build needs to include stack check functions but does
#  not want to generate stack check failures.
#
#  Copyright (c) Microsoft Corporation.
#  SPDX-License-Identifier: BSD-2-Clause-Patent
##

[Defines]
  INF_VERSION                    = 1.29
  BASE_NAME                      = StackCheckLibNull
  FILE_GUID                      = f6ef2763-ca3b-4c6f-a931-2a48de3ce352
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = StackCheckLib

[Sources]
  StackCheckLibNullGcc.c  | GCC
  StackCheckLibNullMsvc.c | MSFT

[Sources.IA32]
  IA32/StackCheckFunctionsMsvc.nasm | MSFT

[Sources.X64]
  X64/StackCheckFunctionsMsvc.nasm | MSFT

[Packages]
  MdePkg/MdePkg.dec

[BuildOptions]
  # We cannot build the MSVC version with /GL (whole program optimization) because we run into linker error
  # LNK1237, which is a failure to link against a symbol from a library compiled with /GL. The whole program
  # optimization tries to do away with references to this symbol. The solution is to not compile the stack
  # check libs with /GL
  MSFT:*_*_*_CC_FLAGS = /GL-

  # We cannot build the GCC version with LTO (link time optimization) because we run into linker errors where
  # the stack cookie variable has been optimized away, as it looks to GCC like the variable is not used, because
  # the compiler inserts the usage.
  GCC:*_*_*_CC_FLAGS = -fno-lto
