## @file
# Instance of Post Code Library based on Report Status Code Library.
#
# Post Code Library that layers on top of a Report Status Code Library instance.
#
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PeiDxePostCodeLibReportStatusCode
  MODULE_UNI_FILE                = PeiDxePostCodeLibReportStatusCode.uni
  FILE_GUID                      = e062c52d-78dc-4cc5-b246-b13497a8123c
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PostCodeLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER PEIM PEI_CORE UEFI_APPLICATION UEFI_DRIVER


#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  PostCode.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  BaseLib
  PcdLib
  ReportStatusCodeLib

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask     ## CONSUMES

