## @file
# GOP driver
#
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2011, Apple Inc. All rights reserved.
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = EmuGopDxe
  FILE_GUID                      = BCC87E0D-86D6-4D4D-8040-2D983D368BD1
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0

  ENTRY_POINT                    = InitializeEmuGop

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#
#  DRIVER_BINDING                =  gEmuGopDriverBinding
#  COMPONENT_NAME                =  gEmuGopComponentName
#

[Sources]
  ComponentName.c
  GopScreen.c
  GopDriver.c
  GopInput.c
  Gop.h


[Packages]
  MdePkg/MdePkg.dec
  EmulatorPkg/EmulatorPkg.dec


[LibraryClasses]
  UefiBootServicesTableLib
  MemoryAllocationLib
  BaseMemoryLib
  UefiLib
  UefiDriverEntryPoint
  BaseLib
  DebugLib
  KeyMapLib


[Guids]
  gEfiEventExitBootServicesGuid                # SOMETIMES_CONSUMED  Create Event: EVENT_GROUP_GUID


[Protocols]
  gEfiGraphicsOutputProtocolGuid
  gEfiSimpleTextInProtocolGuid                  # PROTOCOL BY_START
  gEfiSimpleTextInputExProtocolGuid             # PROTOCOL BY_START
  gEfiSimplePointerProtocolGuid                 # PROTOCOL BY_START
  gEmuIoThunkProtocolGuid                       # PROTOCOL TO_START
  gEmuGraphicsWindowProtocolGuid                # PROTOCOL TO_START
