# 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("//ios/public/provider/chrome/browser/build_config.gni")

source_set("providers") {
  sources = [
    "chromium_browser_provider.h",
    "chromium_browser_provider.mm",
    "chromium_logo_controller.h",
    "chromium_logo_controller.mm",
    "chromium_spotlight_provider.h",
    "chromium_spotlight_provider.mm",
    "chromium_voice_search_provider.h",
    "chromium_voice_search_provider.mm",
  ]
  deps = [
    "//base",
    "//ios/chrome/browser/providers/images",
    "//ios/chrome/browser/providers/signin",
    "//ios/chrome/browser/providers/ui",
    "//ios/public/provider/chrome/browser",
    "//ios/public/provider/chrome/browser/distribution",
    "//ios/public/provider/chrome/browser/external_search",
    "//ios/public/provider/chrome/browser/signin",
    "//ios/public/provider/chrome/browser/spotlight",
    "//ios/public/provider/chrome/browser/ui",
    "//ios/public/provider/chrome/browser/user_feedback",
    "//ios/public/provider/chrome/browser/voice",
  ]
  configs += [ "//build/config/compiler:enable_arc" ]
}

source_set("provider_factory") {
  sources = [
    "chromium_browser_provider_factory.mm",
  ]
  deps = [
    ":providers",
    "//base",
    "//ios/public/provider/chrome/browser",
  ]
  configs += [ "//build/config/compiler:enable_arc" ]
}
