## @file
# Instance of Device Path Library based on Device Path Protocol.
#
#  Device Path Library that layers on top of the UEFI 2.0 Device Path Protocol.
#  If the DevicePathFromText/DevicePathToText protocol doesn't exist, the library
#  uses its internal conversion logic.
#
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = UefiDevicePathLibOptionalDevicePathProtocol
  MODULE_UNI_FILE                = UefiDevicePathLibOptionalDevicePathProtocol.uni
  FILE_GUID                      = 3E1C696D-FCF0-45a7-85A7-E86C2A1C1080
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = DevicePathLib|DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE

  CONSTRUCTOR                    = UefiDevicePathLibOptionalDevicePathProtocolConstructor

#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  DevicePathUtilities.c
  DevicePathToText.c
  DevicePathFromText.c
  UefiDevicePathLibOptionalDevicePathProtocol.c
  UefiDevicePathLib.h

[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  BaseLib
  UefiBootServicesTableLib
  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
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiVirtualDiskGuid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiVirtualCdGuid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiPersistentVirtualDiskGuid
  ## SOMETIMES_CONSUMES  ## GUID
  gEfiPersistentVirtualCdGuid

[Protocols]
  gEfiDevicePathProtocolGuid                    ## SOMETIMES_CONSUMES
  gEfiDevicePathUtilitiesProtocolGuid           ## CONSUMES
  gEfiDevicePathToTextProtocolGuid              ## SOMETIMES_CONSUMES
  gEfiDevicePathFromTextProtocolGuid            ## SOMETIMES_CONSUMES
  gEfiDebugPortProtocolGuid                     ## UNDEFINED

[Pcd]
  gEfiMdePkgTokenSpaceGuid.PcdMaximumDevicePathNodeCount ## SOMETIMES_CONSUMES

[Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DXE_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER]
  gEfiDevicePathUtilitiesProtocolGuid