## @file
# UEFI Runtime Services Table Library implementation.
#
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = UefiRuntimeServicesTableLib
  MODULE_UNI_FILE                = UefiRuntimeServicesTableLib.uni
  FILE_GUID                      = 19cbbb97-ff61-45ff-8c3f-dfa66dd118c8
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = UefiRuntimeServicesTableLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE

  CONSTRUCTOR                    = UefiRuntimeServicesTableLibConstructor

#
#  VALID_ARCHITECTURES           = IA32 X64 EBC
#

[Sources]
  UefiRuntimeServicesTableLib.c


[Packages]
  MdePkg/MdePkg.dec


[LibraryClasses]
  DebugLib

