# Copyright 2020 Google LLC
#
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("../third_party.gni")

third_party("brotli") {
  public_include_dirs = [ "../externals/brotli/c/include" ]

  # Brotli is used by freetype and libjxl; they only need to decode brotli.
  sources = [
    "../externals/brotli/c/common/constants.c",
    "../externals/brotli/c/common/context.c",
    "../externals/brotli/c/common/dictionary.c",
    "../externals/brotli/c/common/platform.c",
    "../externals/brotli/c/common/shared_dictionary.c",
    "../externals/brotli/c/common/transform.c",
    "../externals/brotli/c/dec/bit_reader.c",
    "../externals/brotli/c/dec/decode.c",
    "../externals/brotli/c/dec/huffman.c",
    "../externals/brotli/c/dec/state.c",
  ]
}
