## @file
# Host OS based Application that Unit Tests the SafeIntLib
#
# Copyright (c) Microsoft Corporation.<BR>
# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
##

[Defines]
  INF_VERSION     = 0x00010005
  BASE_NAME       = TestBaseSafeIntLibHost
  MODULE_UNI_FILE = TestBaseSafeIntLib.uni
  FILE_GUID       = 95487689-9E30-41AD-B773-3650C94BCBE2
  MODULE_TYPE     = HOST_APPLICATION
  VERSION_STRING  = 1.0

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  TestBaseSafeIntLib.c
  TestBaseSafeIntLib.h

[Sources.Ia32]
  SafeIntLibUintnIntnUnitTests32.c

[Sources.X64, Sources.AARCH64]
  SafeIntLibUintnIntnUnitTests64.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  SafeIntLib
  UnitTestLib
