## @file
# Safe Integer Library
#
# This library provides helper functions to prevent integer overflow during
# type conversion, addition, subtraction, and multiplication.
#
# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2017, Microsoft Corporation
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
# Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>

#
# All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseSafeIntLib
  FILE_GUID                      = 4EA91BFA-3482-4930-B136-70679C6CE489
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = SafeIntLib

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 AARCH64 RISCV64 LOONGARCH64
#

[Sources]
  SafeIntLib.c

[Sources.Ia32]
  SafeIntLib32.c

[Sources.X64, Sources.AARCH64, Sources.RISCV64, Sources.LOONGARCH64]
  SafeIntLib64.c

[Sources.EBC]
  SafeIntLibEbc.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
