summaryrefslogtreecommitdiff
path: root/chromium/components/sync/base/BUILD.gn
blob: 5c48a48dc7d2bbcc7503a20265a7631403d24897 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# Copyright 2019 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("//build/config/chromeos/ui_mode.gni")
import("//build/config/features.gni")
import("//build/config/jumbo.gni")

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

jumbo_static_library("base") {
  sources = [
    "bind_to_task_runner.h",
    "client_tag_hash.cc",
    "client_tag_hash.h",
    "data_type_histogram.cc",
    "data_type_histogram.h",
    "encryptor.h",
    "enum_set.h",
    "extensions_activity.cc",
    "extensions_activity.h",
    "hash_util.cc",
    "hash_util.h",
    "immutable.h",
    "invalidation_adapter.cc",
    "invalidation_adapter.h",
    "invalidation_helper.cc",
    "invalidation_helper.h",
    "invalidation_interface.cc",
    "invalidation_interface.h",
    "legacy_directory_deletion.cc",
    "legacy_directory_deletion.h",
    "logging.cc",
    "logging.h",
    "model_type.cc",
    "model_type.h",
    "node_ordinal.cc",
    "node_ordinal.h",
    "ordinal.h",
    "passphrase_enums.cc",
    "passphrase_enums.h",
    "pref_names.cc",
    "pref_names.h",
    "progress_marker_map.cc",
    "progress_marker_map.h",
    "report_unrecoverable_error.cc",
    "report_unrecoverable_error.h",
    "stop_source.h",
    "sync_base_switches.cc",
    "sync_base_switches.h",
    "sync_mode.h",
    "sync_prefs.cc",
    "sync_prefs.h",
    "sync_stop_metadata_fate.h",
    "sync_util.cc",
    "sync_util.h",
    "syncer_error.cc",
    "syncer_error.h",
    "system_encryptor.cc",
    "system_encryptor.h",
    "time.cc",
    "time.h",
    "unique_position.cc",
    "unique_position.h",
    "unrecoverable_error_info.cc",
    "unrecoverable_error_info.h",
    "user_selectable_type.cc",
    "user_selectable_type.h",
    "weak_handle.cc",
    "weak_handle.h",
  ]

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

  if (is_chromeos_ash) {
    deps += [ "//ash/constants" ]
  }

  defines = [ "SYNC_USER_AGENT_PRODUCT=$sync_user_agent_product" ]
}

# TODO(crbug.com/948661): The other sync targets have their test support targets
# declared outside of the production code directory. Do the same for this one.
static_library("test_support") {
  testonly = true
  sources = [
    "../test/mock_invalidation.cc",
    "../test/mock_invalidation.h",
    "../test/mock_invalidation_tracker.cc",
    "../test/mock_invalidation_tracker.h",
    "../test/trackable_mock_invalidation.cc",
    "../test/trackable_mock_invalidation.h",
    "fake_encryptor.cc",
    "fake_encryptor.h",
    "model_type_test_util.cc",
    "model_type_test_util.h",
  ]

  public_deps = [
    "//base",
    "//components/sync/base",
    "//testing/gmock",
    "//testing/gtest",
  ]

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