# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

source_set("brotli") {
  sources = [
    "dec/bit_reader.c",
    "dec/bit_reader.h",
    "dec/context.h",
    "dec/decode.c",
    "dec/decode.h",
    "dec/dictionary.h",
    "dec/huffman.c",
    "dec/huffman.h",
    "dec/prefix.h",
    "dec/safe_malloc.c",
    "dec/safe_malloc.h",
    "dec/state.c",
    "dec/state.h",
    "dec/streams.c",
    "dec/streams.h",
    "dec/transform.h",
    "dec/types.h",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]

  # Since we are never debug brotli, freeze the optimizations to -O2.
  if (is_debug) {
    configs -= [ "//build/config/compiler:no_optimize" ]
  } else {
    configs -= [ "//build/config/compiler:optimize" ]
  }
  configs += [ "//build/config/compiler:optimize_max" ]

  include_dirs = [ "dec" ]
}
