# Copyright 2017 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.

import("//build/config/jumbo.gni")
import("//build/config/ui.gni")

jumbo_component("codec") {
  sources = [
    "codec_export.h",
    "jpeg_codec.cc",
    "jpeg_codec.h",
    "png_codec.cc",
    "png_codec.h",
    "vector_wstream.cc",
    "vector_wstream.h",
  ]

  deps = [
    "//base",
    "//skia",
    "//third_party/libpng",
    "//ui/gfx:geometry_skia",
    "//ui/gfx:gfx_export",
    "//ui/gfx/geometry",
  ]

  if (is_ios) {
    sources -= [
      "jpeg_codec.cc",
      "jpeg_codec.h",
    ]
  } else {
    deps += [ "//third_party:jpeg" ]
  }

  if (is_chromeos) {
    # Robust JPEG decoding for the login screen.
    sources += [
      "chromeos/jpeg_codec_robust_slow.cc",
      "chromeos/jpeg_codec_robust_slow.h",
    ]
    deps += [ "//third_party/libjpeg" ]
  }

  if (is_win) {
    cflags = [ "/wd4324" ]  # Structure was padded due to __declspec(align()),
                            # which is uninteresting.
  }

  defines = [ "CODEC_IMPLEMENTATION" ]
}
