# 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")

# Target for sources that don't depend on //ios/chrome/browser:browser
source_set("startup_basic") {
  sources = [
    "chrome_main_starter.h",
    "chrome_main_starter.mm",
    "ios_chrome_main.h",
    "ios_chrome_main.mm",
    "ios_chrome_main_delegate.h",
    "ios_chrome_main_delegate.mm",
    "register_experimental_settings.h",
    "register_experimental_settings.mm",
    "setup_debugging.h",
    "setup_debugging.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]

  deps = [
    "//base",
    "//components/crash/core/common",
    "//components/task_scheduler_util",
    "//ios/chrome/browser:chrome_paths",
    "//ios/web/public/app",
    "//skia",
  ]

  assert_no_deps = [ "//ios/chrome/browser" ]
}

source_set("startup") {
  sources = [
    "chrome_app_startup_parameters.h",
    "chrome_app_startup_parameters.mm",
    "client_registration.h",
    "client_registration.mm",
    "content_suggestions_scheduler_notifications.h",
    "content_suggestions_scheduler_notifications.mm",
    "network_stack_setup.h",
    "network_stack_setup.mm",
    "provider_registration.h",
    "provider_registration.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]

  deps = [
    ":startup_basic",
    "//base",
    "//components/ntp_snippets",
    "//ios/chrome/browser",
    "//ios/chrome/browser/browser_state",
    "//ios/chrome/browser/first_run",
    "//ios/chrome/browser/net:net",
    "//ios/chrome/browser/ntp_snippets",
    "//ios/chrome/browser/web",
    "//ios/chrome/browser/web:web_internal",
    "//ios/chrome/common",
    "//ios/chrome/common/app_group",
    "//ios/net",
    "//ios/public/provider/chrome/browser",
    "//ios/web",
    "//ios/web/public/app",
    ios_provider_target,
  ]
}

source_set("unit_tests") {
  configs += [ "//build/config/compiler:enable_arc" ]
  testonly = true
  sources = [
    "chrome_app_startup_parameters_unittest.mm",
  ]
  deps = [
    ":startup",
    "//base",
    "//ios/chrome/browser",
    "//ios/chrome/common/app_group",
    "//testing/gtest",
    "//url",
  ]
}
