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

pkg_config("system_libvpx") {
  packages = [ "vpx" ]
}

shim_headers("libvpx_shim") {
  root_path = "source/libvpx"
  headers = [
    "vpx/vp8.h",
    "vpx/vp8cx.h",
    "vpx/vp8dx.h",
    "vpx/vpx_codec.h",
    "vpx/vpx_codec_impl_bottom.h",
    "vpx/vpx_codec_impl_top.h",
    "vpx/vpx_decoder.h",
    "vpx/vpx_encoder.h",
    "vpx/vpx_frame_buffer.h",
    "vpx/vpx_image.h",
    "vpx/vpx_integer.h",
  ]
}

source_set("libvpx") {
  deps = [ ":libvpx_shim" ]
  public_configs = [ ":system_libvpx" ]
}
