# 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_overrides/build.gni")

if (build_with_chromium) {
  static_library("zip") {
    sources = [
      "zip.cc",
      "zip.h",
      "zip_internal.cc",
      "zip_internal.h",
      "zip_reader.cc",
      "zip_reader.h",
      "zip_writer.cc",
      "zip_writer.h",
    ]
    deps = [
      "//base",
      "//third_party/zlib:minizip",
    ]
  }

  static_library("compression_utils") {
    sources = [
      "compression_utils.cc",
      "compression_utils.h",
    ]
    deps = [
      "//base",
      "//third_party/zlib",
    ]
  }
}
