## @file
# Instance of Base Memory Library using PEI Services.
#
# Base Memory Library implementation that uses PEI Services
#  where possible for size reduction.
#
# Copyright (c) 2006 - 2016, 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                      = PeiMemoryLib
  MODULE_UNI_FILE                = PeiMemoryLib.uni
  FILE_GUID                      = 3a9759d2-53bc-4eb2-abcd-c93099419063
  MODULE_TYPE                    = PEIM
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = BaseMemoryLib|PEIM


#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC (EBC is for build only)
#

[Sources]
  ScanMem64Wrapper.c
  ScanMem32Wrapper.c
  ScanMem16Wrapper.c
  ScanMem8Wrapper.c
  ZeroMemWrapper.c
  CompareMemWrapper.c
  SetMem64Wrapper.c
  SetMem32Wrapper.c
  SetMem16Wrapper.c
  SetMemWrapper.c
  CopyMemWrapper.c
  IsZeroBufferWrapper.c
  MemLibGeneric.c
  MemLibGuid.c
  MemLib.c
  MemLibInternals.h


[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  BaseLib
  DebugLib
  PeiServicesTablePointerLib

