##  @file
# Provides Shell 'acpiview' command functions
#
# Copyright (c) 2022, NVIDIA CORPORATION. All rights reserved.
# Copyright (c) 2016 - 2024, Arm Limited. All rights reserved.<BR>
# Copyright (C) 2025 - 2026 Advanced Micro Devices, Inc. All rights reserved.
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010019
  BASE_NAME                      = UefiShellAcpiViewCommandLib
  FILE_GUID                      = FB5B305E-84F5-461F-940D-82D345757AFA
  MODULE_TYPE                    = UEFI_APPLICATION
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = AcpiViewCommandLib|UEFI_APPLICATION UEFI_DRIVER
  CONSTRUCTOR                    = UefiShellAcpiViewCommandLibConstructor
  DESTRUCTOR                     = UefiShellAcpiViewCommandLibDestructor

[Sources.common]
  AcpiParser.c
  AcpiParser.h
  AcpiTableParser.c
  AcpiTableParser.h
  AcpiView.c
  AcpiView.h
  AcpiViewConfig.c
  AcpiViewConfig.h
  Parsers/Aest/AestParser.c
  Parsers/Agdi/AgdiParser.c
  Parsers/Apmt/ApmtParser.c
  Parsers/Bgrt/BgrtParser.c
  Parsers/Dbg2/Dbg2Parser.c
  Parsers/Dsdt/DsdtParser.c
  Parsers/Einj/EinjParser.c
  Parsers/Erst/ErstParser.c
  Parsers/Facs/FacsParser.c
  Parsers/Fadt/FadtParser.c
  Parsers/Fpdt/FpdtParser.c
  Parsers/Gtdt/GtdtParser.c
  Parsers/Hest/HestParser.c
  Parsers/Hmat/HmatParser.c
  Parsers/Hpet/HpetParser.c
  Parsers/Iort/IortParser.c
  Parsers/Madt/MadtParser.c
  Parsers/Madt/MadtParser.h
  Parsers/Mcfg/McfgParser.c
  Parsers/Mpam/MpamParser.c
  Parsers/Pcct/PcctParser.c
  Parsers/Pcct/PcctParser.h
  Parsers/Pptt/PpttParser.c
  Parsers/Pptt/PpttParser.h
  Parsers/Ras2/Ras2Parser.c
  Parsers/Rasf/RasfParser.c
  Parsers/Rimt/RimtParser.c
  Parsers/Rsdp/RsdpParser.c
  Parsers/Slit/SlitParser.c
  Parsers/Spcr/SpcrParser.c
  Parsers/Srat/SratParser.c
  Parsers/Ssdt/SsdtParser.c
  Parsers/Tpm2/Tpm2Parser.c
  Parsers/Wsmt/WsmtParser.c
  Parsers/Xsdt/XsdtParser.c
  UefiShellAcpiViewCommandLib.c
  UefiShellAcpiViewCommandLib.uni

[Sources.AARCH64]
  Arm/SbbrValidator.h
  Arm/SbbrValidator.c

[Packages]
  MdeModulePkg/MdeModulePkg.dec
  MdePkg/MdePkg.dec
  ShellPkg/ShellPkg.dec

[LibraryClasses]
  BaseLib
  BaseMemoryLib
  DebugLib
  FileHandleLib
  HiiLib
  MemoryAllocationLib
  PcdLib
  PrintLib
  ShellCommandLib
  ShellLib
  UefiBootServicesTableLib
  UefiLib
  UefiRuntimeServicesTableLib


[FixedPcd]
  gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask ## CONSUMES

[Guids]
  gShellAcpiViewHiiGuid           ## CONSUMES ## HII
  gEfiAcpiTableGuid               ## SOMETIMES_CONSUMES ## SystemTable
