# 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("//extensions/buildflags/buildflags.gni")

assert(enable_extensions,
       "Cannot depend on extensions because enable_extensions=false.")

source_set("system_info") {
  sources = [
    "system_info_api.cc",
    "system_info_api.h",
    "system_info_provider.cc",
    "system_info_provider.h",
  ]

  deps = [
    "//extensions/common/api",
  ]

  public_deps = [
    "//extensions/browser:browser_sources",
  ]
}
