## @file
# Instance of ExtractGuidedSection Library for PEI phase.
#
# This library provides generic extract guided section functions for PEIM and PEI_CORE module.
#
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = PeiExtractGuidedSectionLib
  MODULE_UNI_FILE                = PeiExtractGuidedSectionLib.uni
  FILE_GUID                      = 41ddf016-2a11-415f-8880-00d938e9541a
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = ExtractGuidedSectionLib|PEIM PEI_CORE

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC (EBC is for build only)
#

[Sources]
  PeiExtractGuidedSectionLib.c

[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  BaseMemoryLib
  DebugLib
  HobLib
  PcdLib

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdMaximumGuidedExtractHandler     ## CONSUMES

