## @file
#  PE/COFF Loader Library implementation.
#  The IPF version library supports loading IPF and EBC PE/COFF image.
#  The IA32 version library support loading IA32, X64 and EBC PE/COFF images.
#  The X64 version library support loading IA32, X64 and EBC PE/COFF images.
#
#  Caution: This module requires additional review when modified.
#  This library will have external input - PE/COFF image.
#  This external input must be validated carefully to avoid security issue like
#  buffer overflow, integer overflow.
#
#  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
#  Portions copyright (c) 2008 - 2009, Apple Inc. 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                      = BasePeCoffLib
  MODULE_UNI_FILE                = BasePeCoffLib.uni
  FILE_GUID                      = 556f5d10-7309-4af4-b80a-8196bd60946f
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = PeCoffLib 


#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC ARM AARCH64
#

[Sources]
  BasePeCoffLibInternals.h
  BasePeCoff.c

[Sources.IA32, Sources.X64, Sources.EBC]
  PeCoffLoaderEx.c

[Sources.IPF]
  Ipf/PeCoffLoaderEx.c

[Sources.ARM]
  Arm/PeCoffLoaderEx.c

[Sources.AARCH64]
  AArch64/PeCoffLoaderEx.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  DebugLib
  PeCoffExtraActionLib
  BaseMemoryLib

