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

import("//build/shim_headers.gni")

shim_headers("zlib_shim") {
  root_path = "."
  headers = [ "zlib.h" ]
}

config("system_zlib") {
  defines = [ "USE_SYSTEM_ZLIB=1" ]
}

config("zlib_config") {
  configs = [ ":system_zlib" ]
}

source_set("zlib") {
  deps = [ ":zlib_shim" ]
  libs = [ "z" ]
  public_configs = [ ":system_zlib" ]
}

shim_headers("minizip_shim") {
  root_path = "contrib"
  headers = [
    "minizip/crypt.h",
    "minizip/ioapi.h",
    "minizip/iowin32.h",
    "minizip/mztools.h",
    "minizip/unzip.h",
    "minizip/zip.h",
  ]
}

source_set("minizip") {
  deps = [ ":minizip_shim" ]
  libs = [ "minizip" ]
}

static_library("zip") {
  sources = [
    "google/zip.cc",
    "google/zip.h",
    "google/zip_internal.cc",
    "google/zip_internal.h",
    "google/zip_reader.cc",
    "google/zip_reader.h",
  ]
  deps = [
    ":minizip",
    "//base",
  ]
}

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