## @file
#  Base Synchronization Library implementation.
#
#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
#  Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
#  Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BaseSynchronizationLib
  MODULE_UNI_FILE                = BaseSynchronizationLib.uni
  FILE_GUID                      = FC9990DF-C5FF-44cf-8799-CBB45B577F87
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = SynchronizationLib

#
#  VALID_ARCHITECTURES           = IA32 X64 EBC ARM AARCH64
#
[Sources]
  BaseSynchronizationLibInternals.h

[Sources.IA32]
  Ia32/InternalGetSpinLockProperties.c | MSFT
  Ia32/InterlockedCompareExchange64.c | MSFT
  Ia32/InterlockedCompareExchange32.c | MSFT
  Ia32/InterlockedCompareExchange16.c | MSFT
  InterlockedIncrementMsc.c | MSFT
  InterlockedDecrementMsc.c | MSFT
  SynchronizationMsc.c | MSFT

  Ia32/InterlockedCompareExchange64.nasm| INTEL
  Ia32/InterlockedCompareExchange32.nasm| INTEL
  Ia32/InterlockedCompareExchange16.nasm| INTEL
  Ia32/InterlockedDecrement.nasm| INTEL
  Ia32/InterlockedIncrement.nasm| INTEL
  Synchronization.c | INTEL

  Ia32/InternalGetSpinLockProperties.c | GCC
  Ia32/GccInline.c | GCC
  SynchronizationGcc.c  | GCC

[Sources.X64]
  Ia32/InternalGetSpinLockProperties.c | MSFT
  X64/InterlockedCompareExchange64.c | MSFT
  X64/InterlockedCompareExchange32.c | MSFT
  X64/InterlockedCompareExchange16.c | MSFT
  InterlockedIncrementMsc.c | MSFT
  InterlockedDecrementMsc.c | MSFT
  SynchronizationMsc.c | MSFT

  X64/InterlockedCompareExchange64.nasm| INTEL
  X64/InterlockedCompareExchange32.nasm| INTEL
  X64/InterlockedCompareExchange16.nasm| INTEL
  X64/InterlockedDecrement.nasm | INTEL
  X64/InterlockedIncrement.nasm | INTEL
  Synchronization.c | INTEL

  Ia32/InternalGetSpinLockProperties.c | GCC
  X64/GccInline.c | GCC
  SynchronizationGcc.c  | GCC

[Sources.EBC]
  Synchronization.c
  Ebc/Synchronization.c

[Sources.ARM]
  Synchronization.c
  Arm/Synchronization.S         | GCC

[Sources.AARCH64]
  Synchronization.c
  AArch64/Synchronization.S     | GCC
  AArch64/Synchronization.asm   | MSFT

[Sources.RISCV64]
  Synchronization.c
  RiscV64/Synchronization.S     | GCC

[Sources.LOONGARCH64]
  Synchronization.c
  LoongArch64/Synchronization.c    | GCC
  LoongArch64/AsmSynchronization.S | GCC

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  PcdLib
  TimerLib
  DebugLib
  BaseMemoryLib

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout  ## SOMETIMES_CONSUMES

