chromium/components/sync/service/BUILD.gn

# Copyright 2019 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/chromeos/ui_mode.gni")
import("//build/config/features.gni")

static_library("service") {
  sources = [
    "account_pref_utils.cc",
    "account_pref_utils.h",
    "active_devices_provider.h",
    "backend_migrator.cc",
    "backend_migrator.h",
    "configure_context.h",
    "data_type_controller.cc",
    "data_type_controller.h",
    "data_type_encryption_handler.h",
    "data_type_local_data_batch_uploader.h",
    "data_type_manager.cc",
    "data_type_manager.h",
    "data_type_manager_impl.cc",
    "data_type_manager_impl.h",
    "data_type_manager_observer.h",
    "data_type_status_table.cc",
    "data_type_status_table.h",
    "get_types_with_unsynced_data_request_barrier.cc",
    "get_types_with_unsynced_data_request_barrier.h",
    "glue/sync_engine_backend.cc",
    "glue/sync_engine_backend.h",
    "glue/sync_engine_impl.cc",
    "glue/sync_engine_impl.h",
    "glue/sync_transport_data_prefs.cc",
    "glue/sync_transport_data_prefs.h",
    "history_sync_session_durations_metrics_recorder.cc",
    "history_sync_session_durations_metrics_recorder.h",
    "local_data_description.cc",
    "local_data_description.h",
    "model_load_manager.cc",
    "model_load_manager.h",
    "non_ui_syncable_service_based_data_type_controller.cc",
    "non_ui_syncable_service_based_data_type_controller.h",
    "passphrase_type_metrics_provider.cc",
    "passphrase_type_metrics_provider.h",
    "sync_auth_manager.cc",
    "sync_auth_manager.h",
    "sync_client.cc",
    "sync_client.h",
    "sync_engine_factory.h",
    "sync_feature_status_for_migrations_recorder.cc",
    "sync_feature_status_for_migrations_recorder.h",
    "sync_internals_util.cc",
    "sync_internals_util.h",
    "sync_policy_handler.cc",
    "sync_policy_handler.h",
    "sync_prefs.cc",
    "sync_prefs.h",
    "sync_prefs_policy_handler.cc",
    "sync_prefs_policy_handler.h",
    "sync_service.cc",
    "sync_service.h",
    "sync_service_crypto.cc",
    "sync_service_crypto.h",
    "sync_service_impl.cc",
    "sync_service_impl.h",
    "sync_service_observer.cc",
    "sync_service_observer.h",
    "sync_service_utils.cc",
    "sync_service_utils.h",
    "sync_session_durations_metrics_recorder.cc",
    "sync_session_durations_metrics_recorder.h",
    "sync_stopped_reporter.cc",
    "sync_stopped_reporter.h",
    "sync_token_status.h",
    "sync_user_settings.h",
    "sync_user_settings_impl.cc",
    "sync_user_settings_impl.h",
    "syncable_service_based_data_type_controller.cc",
    "syncable_service_based_data_type_controller.h",
    "trusted_vault_histograms.cc",
    "trusted_vault_histograms.h",
    "trusted_vault_synthetic_field_trial.cc",
    "trusted_vault_synthetic_field_trial.h",
  ]

  public_deps = [
    "//base",
    "//components/sync/base",
    "//components/sync/engine",
    "//components/sync/model",
    "//components/sync/nigori",
    "//components/sync/protocol",
    "//components/sync/protocol:util",
    "//components/trusted_vault",
    "//components/url_formatter",
    "//net",
    "//url",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//build:chromeos_buildflags",
    "//components/keyed_service/core",
    "//components/metrics",
    "//components/os_crypt/sync",
    "//components/policy:generated",
    "//components/policy/core/browser",
    "//components/prefs",
    "//components/signin/public/identity_manager",
    "//components/strings:components_strings_grit",
    "//components/sync/invalidations",
    "//components/version_info",
    "//components/version_info:generate_version_info",
    "//crypto",
    "//services/network/public/cpp",
    "//ui/base",
  ]

  if (is_android) {
    sources += [
      "../android/sync_feature_map.cc",
      "../android/sync_service_android_bridge.cc",
      "../android/sync_service_android_bridge.h",
    ]
    deps += [ "../android:jni_headers" ]
  }

  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}