#/* @file
#  Copyright (c) 2011-2012, 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                      = DebugSecExtraActionLib
  FILE_GUID                      = 8fff7a60-a6f8-11e0-990a-0002a5d5c51b
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = ArmPlatformSecExtraActionLib

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = ARM
#

[Sources.common]
  DebugSecExtraActionLib.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  ArmPkg/ArmPkg.dec
  ArmPlatformPkg/ArmPlatformPkg.dec

[LibraryClasses]
  ArmPlatformLib
  DebugLib
  PcdLib
  ArmGicLib
  PrintLib
  SerialPortLib

[FeaturePcd]
  gArmPlatformTokenSpaceGuid.PcdStandalone
  gArmPlatformTokenSpaceGuid.PcdSystemMemoryInitializeInSec

[FixedPcd]
  gArmTokenSpaceGuid.PcdFvBaseAddress

  gArmTokenSpaceGuid.PcdGicDistributorBase
  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
  gArmTokenSpaceGuid.PcdGicSgiIntId
