# Copyright 2016 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/linux/pkg_config.gni")
import("//build/shim_headers.gni")

pkg_config("system_libwebp") {
  packages = [
    "libwebp",
    "libwebpdemux",
    "libwebpmux",
  ]
}

shim_headers("libwebp_shim") {
  root_path = "src"
  headers = [
    "webp/decode.h",
    "webp/demux.h",
    "webp/encode.h",
    "webp/mux.h",
    "webp/mux_types.h",
    "webp/types.h",
  ]
}

source_set("libwebp_webp") {
  deps = [ ":libwebp_shim" ]
  public_configs = [ ":system_libwebp" ]
}

group("libwebp") {
  deps = [ ":libwebp_webp" ]
}
