#/* @file
#  Copyright (c) 2011, ARM Limited. All rights reserved.
#
#  This program and the accompanying materials
#  are licensed and made available under the terms and conditions of the BSD License
#  which accompanies this distribution.  The full text of the license may be found at
#  http://opensource.org/licenses/bsd-license.php
#
#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#*/

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = ArmV7Lib
  FILE_GUID                      = 411cdfd8-f964-4b9d-a3e3-1719a9c15559
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = ArmLib

[Sources.common]
  ArmLibSupportV7.S    | GCC
  ArmLibSupportV7.asm  | RVCT

  ../Common/Arm/ArmLibSupport.S    | GCC
  ../Common/Arm/ArmLibSupport.asm  | RVCT
  ../Common/ArmLib.c

  ArmV7Support.S    | GCC
  ArmV7Support.asm  | RVCT

  ArmV7Lib.c

  ArmV7ArchTimer.c
  ArmV7ArchTimerSupport.S    | GCC
  ArmV7ArchTimerSupport.asm    | RVCT

[Packages]
  ArmPkg/ArmPkg.dec
  MdePkg/MdePkg.dec

[Protocols]
  gEfiCpuArchProtocolGuid

[FixedPcd]
  gArmTokenSpaceGuid.PcdArmCacheOperationThreshold
