## @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/prefix.c
  brotli/c/dec/state.c
  brotli/c/dec/static_init.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

[BuildOptions]
  GCC:*_*_*_CC_FLAGS = -U_MSC_VER
