## @file
#  BrotliCustomDecompressLib produces BROTLI custom decompression algorithm.
#
#  It is based on the Brotli v1.0.9.
#  Brotli was released on the website https://github.com/google/brotli.
#
#  Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved.<BR>
#  Copyright (c) 2017 - 2020, Intel Corporation. All rights reserved.<BR>
#
#  SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = BrotliDecompressLib
  MODULE_UNI_FILE                = BrotliDecompressLib.uni
  FILE_GUID                      = 69EC7DB2-B0DD-493A-963A-C5F330131BAA
  MODULE_TYPE                    = BASE
  VERSION_STRING                 = 1.0
  LIBRARY_CLASS                  = NULL
  CONSTRUCTOR                    = BrotliDecompressLibConstructor

#
# The following information is for reference only and not required by the build tools.
#
#  VALID_ARCHITECTURES           = IA32 X64
#

[Sources]
  GuidedSectionExtraction.c
  BrotliDecUefiSupport.c
  BrotliDecUefiSupport.h
  BrotliDecompress.c
  BrotliDecompressLibInternal.h
  # Wrapper header files start #
  stddef.h
  stdint.h
  stdlib.h
  string.h
  # Wrapper header files end #
  brotli/c/common/dictionary.c
  brotli/c/common/transform.c
  brotli/c/common/context.c
  brotli/c/common/platform.c
  brotli/c/common/constants.c
  brotli/c/common/shared_dictionary.c
  brotli/c/dec/bit_reader.c
  brotli/c/dec/decode.c
  brotli/c/dec/huffman.c
  brotli/c/dec/state.c
  brotli/c/include/brotli/decode.h
  brotli/c/include/brotli/port.h
  brotli/c/include/brotli/types.h
  brotli/c/common/constants.h
  brotli/c/common/context.h
  brotli/c/common/dictionary.h
  brotli/c/common/platform.h
  brotli/c/common/transform.h
  brotli/c/common/version.h
  brotli/c/dec/bit_reader.h
  brotli/c/dec/huffman.h
  brotli/c/dec/state.h
  brotli/c/dec/prefix.h

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec

[Guids]
  gBrotliCustomDecompressGuid  ## PRODUCES  ## UNDEFINED # specifies BROTLI custom decompress algorithm.

[LibraryClasses]
  BaseLib
  DebugLib
  BaseMemoryLib
  ExtractGuidedSectionLib
