## @file
#  Standard C library: Console Device Abstraction.
#
#  Copyright (c) 2011 - 2012, 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                     = DevConsole
  FILE_GUID                     = f6937495-1f44-4a8a-8a1b-5a669f9396f6
  MODULE_TYPE                   = UEFI_APPLICATION
  VERSION_STRING                = 1.0
  LIBRARY_CLASS                 = DevConsole
  CONSTRUCTOR                   = __Cons_construct
  DESTRUCTOR                    = __Cons_deconstruct

#
#  VALID_ARCHITECTURES          = IA32 X64 IPF
#

[Sources]
  Console/daConsole.c

[Packages]
  StdLib/StdLib.dec
  StdLibPrivateInternalFiles/DoNotUse.dec
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  MemoryAllocationLib
  UefiBootServicesTableLib
  LibC
  LibWchar
  LibUefi
  LibIIO
  DevUtility

[Protocols]
  gEfiSimpleTextInProtocolGuid        ## CONSUMED
  gEfiSimpleTextOutProtocolGuid       ## CONSUMED
