chromium/components/sync/base/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")

declare_args() {
  # Controls the product part of the user agent calculated in sync_util.cc.
  sync_user_agent_product = "Chrome"
}

source_set("features") {
  sources = [
    "features.cc",
    "features.h",
  ]
  deps = [ "//base" ]
}

static_library("base") {
  sources = [
    "client_tag_hash.cc",
    "client_tag_hash.h",
    "command_line_switches.cc",
    "command_line_switches.h",
    "data_type.cc",
    "data_type.h",
    "data_type_histogram.cc",
    "data_type_histogram.h",
    "deletion_origin.cc",
    "deletion_origin.h",
    "extensions_activity.cc",
    "extensions_activity.h",
    "hash_util.cc",
    "hash_util.h",
    "legacy_directory_deletion.cc",
    "legacy_directory_deletion.h",
    "page_transition_conversion.cc",
    "page_transition_conversion.h",
    "passphrase_enums.cc",
    "passphrase_enums.h",
    "pref_names.h",
    "progress_marker_map.cc",
    "progress_marker_map.h",
    "report_unrecoverable_error.cc",
    "report_unrecoverable_error.h",
    "stop_source.h",
    "storage_type.h",
    "sync_invalidation.cc",
    "sync_invalidation.h",
    "sync_invalidation_adapter.cc",
    "sync_invalidation_adapter.h",
    "sync_mode.h",
    "sync_stop_metadata_fate.h",
    "sync_util.cc",
    "sync_util.h",
    "time.cc",
    "time.h",
    "unique_position.cc",
    "unique_position.h",
    "user_selectable_type.cc",
    "user_selectable_type.h",
    "weak_handle.cc",
    "weak_handle.h",
  ]

  public_deps = [
    ":features",
    "//base",
    "//components/sync/protocol",
    "//url",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//build:chromeos_buildflags",
    "//components/pref_registry",
    "//components/prefs",
    "//components/signin/public/base",
    "//components/version_info",
    "//components/version_info:generate_version_info",
    "//crypto",
    "//net",
    "//third_party/zlib",
    "//ui/base",
  ]

  defines = [ "SYNC_USER_AGENT_PRODUCT=$sync_user_agent_product" ]
}