## @file
# Instance of Device Path Library based on Memory Allocation Library.
#
# Device Path Library that layers on top of the Memory Allocation Library.
#
# Copyright (c) 2007 - 2014, 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                      = UefiDevicePathLib
  MODULE_UNI_FILE                = UefiDevicePathLib.uni
  FILE_GUID                      = 91c1677a-e57f-4191-8b8e-eb7711a716e0
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = DevicePathLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SAL_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE


#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#

[Sources]
  DevicePathUtilities.c
  DevicePathToText.c
  DevicePathFromText.c
  UefiDevicePathLib.c
  UefiDevicePathLib.h

[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  BaseLib
  MemoryAllocationLib
  DebugLib
  BaseMemoryLib
  PcdLib
  PrintLib

[Guids]
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiVTUTF8Guid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiVT100Guid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiVT100PlusGuid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiPcAnsiGuid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiUartDevicePathGuid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiSasDevicePathGuid

[Protocols]
  gEfiDevicePathProtocolGuid                    ## SOMETIMES_CONSUMES
  gEfiDebugPortProtocolGuid                     ## UNDEFINED

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdMaximumDevicePathNodeCount    ## SOMETIMES_CONSUMES

