## @file
#  Report status code library instance which supports logging message in DXE & runtime phase.
#
#  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
#
#  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                      = RuntimeDxeReportStatusCodeLib
  FILE_GUID                      = 07D25BBB-F832-41bb-BBA0-612E9F033067
  MODULE_TYPE                    = DXE_RUNTIME_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = ReportStatusCodeLib|DXE_RUNTIME_DRIVER DXE_SAL_DRIVER
  CONSTRUCTOR                    = ReportStatusCodeLibConstructor
  DESTRUCTOR                     = ReportStatusCodeLibDestructor
#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  ReportStatusCodeLib.c
  
[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[LibraryClasses]
  BaseLib
  DebugLib
  UefiBootServicesTableLib
  BaseMemoryLib
  PcdLib
  DevicePathLib
  UefiRuntimeLib

[Guids]
  gEfiStatusCodeSpecificDataGuid                ## CONSUMES
  gEfiStatusCodeDataTypeDebugGuid               ## CONSUMES
  gEfiEventVirtualAddressChangeGuid             ## CONSUMES ## Event
  gEfiEventExitBootServicesGuid                 ## CONSUMES ## Event

[Protocols]
  gEfiStatusCodeRuntimeProtocolGuid             ## CONSUMES

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask

