## @file
# Section Extraction PEI Module
#
# Produce one or more Section Extraction PPIs.
#
# Copyright (c) 2013 - 2018, 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                      = SectionExtractionPei
  FILE_GUID                      = EED5EA31-38E2-463d-B623-2C57702B8A1C
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = SectionExtractionPeiEntry
  MODULE_UNI_FILE                = SectionExtractionPei.uni

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  SectionExtractionPei.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  PeimEntryPoint
  ExtractGuidedSectionLib
  DebugLib
  MemoryAllocationLib
  PeiServicesLib

[Depex]
  gEfiPeiMemoryDiscoveredPpiGuid

[UserExtensions.TianoCore."ExtraFiles"]
  SectionExtractionPeiExtra.uni
