## @file
#  PCI Incompatible device support module template.
#
#  Installs EFI PCI Incompatible Device Support protocol and includes one incompatible
#  pci devices list template.
#
#  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = IncompatiblePciDeviceSupport
  MODULE_UNI_FILE                = IncompatiblePciDeviceSupport.uni
  FILE_GUID                      = AD70855E-0CC5-4abf-8979-BE762A949EA3
  MODULE_TYPE                    = DXE_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = IncompatiblePciDeviceSupportEntryPoint

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  IncompatiblePciDeviceSupport.c

[Packages]
  MdePkg/MdePkg.dec

[LibraryClasses]
  UefiDriverEntryPoint
  UefiBootServicesTableLib
  MemoryAllocationLib
  DebugLib

[Protocols]
  gEfiIncompatiblePciDeviceSupportProtocolGuid    ## PRODUCES

[Depex]
  TRUE

[UserExtensions.TianoCore."ExtraFiles"]
  IncompatiblePciDeviceSupportExtra.uni
