[go: nahoru, domu]

blob: 26e76a1bfa7331629ca164bc36628669034c60ca [file] [log] [blame]
brettw@chromium.org7603bbd12013-08-13 17:33:371# Copyright (c) 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
brettwc44e2052015-12-21 22:51:245# HOW TO WRITE CONDITIONALS IN THIS FILE
6# ======================================
7#
8# In many other places, one would write a conditional that expresses all the
9# cases when a source file is used or unused, and then either add or subtract
10# it from the sources list in that case
11#
12# Since base includes so many low-level things that vary widely and
13# unpredictably for the various build types, we prefer a slightly different
14# style. Instead, there are big per-platform blocks of inclusions and
15# exclusions. If a given file has an inclusion or exclusion rule that applies
etienneb364deb72016-07-30 03:43:4216# for multiple conditions, prefer to duplicate it in both lists. This makes it
brettwc44e2052015-12-21 22:51:2417# a bit easier to see which files apply in which cases rather than having a
18# huge sequence of random-looking conditionals.
19
20import("//build/buildflag_header.gni")
primiano4e68ed22016-03-09 20:13:4421import("//build/config/allocator.gni")
slana0f888d72016-04-06 04:18:1322import("//build/config/chromecast_build.gni")
etienneb364deb72016-07-30 03:43:4223import("//build/config/clang/clang.gni")
brettw4cab0f12015-09-14 21:40:0124import("//build/config/compiler/compiler.gni")
boliucd51f6c2016-07-27 23:09:5125import("//build/config/dcheck_always_on.gni")
phosek636bceb32015-10-27 03:36:4826import("//build/config/nacl/config.gni")
agoodef3f51112016-02-16 02:50:3227import("//build/config/sysroot.gni")
brettw@chromium.org23549942014-05-16 19:33:0828import("//build/config/ui.gni")
tzik0137dc5d42015-12-17 05:29:2229import("//build/nocompile.gni")
qsrfb5251d12015-01-21 15:57:2230import("//testing/test.gni")
brettw@chromium.orgf38dc102014-02-12 11:34:2531
zforman08d91b72016-02-12 06:23:4232declare_args() {
33 # Override this value to give a specific build date.
maruel1c9b02232016-04-04 20:21:4134 # See //base/build_time.cc and //build/write_build_date_header.py for more
35 # details and the expected format.
zforman08d91b72016-02-12 06:23:4236 override_build_date = "N/A"
37}
38
cjhopman@chromium.org26046b52014-07-16 00:11:0339if (is_android) {
40 import("//build/config/android/rules.gni")
41}
42
brucedawsoncad78b02016-03-10 22:14:2243if (is_win) {
44 import("//build/config/win/visual_studio_version.gni")
45}
46
tfarina3c123442015-10-25 03:39:2147config("base_flags") {
48 if (is_clang) {
49 cflags = [
50 # Don't die on dtoa code that uses a char as an array index.
51 # This is required solely for base/third_party/dmg_fp/dtoa_wrapper.cc.
52 "-Wno-char-subscripts",
53 ]
54 }
55}
56
brettwdda803bd2015-03-16 19:18:0657config("base_implementation") {
58 defines = [ "BASE_IMPLEMENTATION" ]
rsesek99679aa2016-06-28 21:24:1759 configs = [ "//build/config/compiler:wexit_time_destructors" ]
brettwdda803bd2015-03-16 19:18:0660}
61
brettw157d6cf62015-04-02 05:34:4362if (is_win) {
63 # This is in a separate config so the flags can be applied to dependents.
64 # ldflags in GN aren't automatically inherited.
65 config("base_win_linker_flags") {
66 ldflags = [
67 "/DELAYLOAD:cfgmgr32.dll",
68 "/DELAYLOAD:powrprof.dll",
69 "/DELAYLOAD:setupapi.dll",
70 ]
phosek636bceb32015-10-27 03:36:4871 }
72}
73
74if (is_nacl_nonsfi) {
75 # Must be in a config because of how GN orders flags (otherwise -Wall will
76 # appear after this, and turn it back on).
77 config("nacl_nonsfi_warnings") {
78 # file_util_posix.cc contains a function which is not
79 # being used by nacl_helper_nonsfi.
80 cflags = [ "-Wno-unused-function" ]
brettw157d6cf62015-04-02 05:34:4381 }
82}
83
brettwb3c2f362015-12-22 18:33:4784if (is_nacl) {
85 # None of the files apply to nacl, and we can't make an empty static library.
86 group("base_paths") {
ncbray9099f492015-03-10 22:14:4187 }
brettwb3c2f362015-12-22 18:33:4788} else {
89 static_library("base_paths") {
90 sources = [
ncbray9099f492015-03-10 22:14:4191 "base_paths.cc",
brettwb3c2f362015-12-22 18:33:4792 "base_paths.h",
93 "base_paths_android.cc",
94 "base_paths_android.h",
95 "base_paths_mac.h",
96 "base_paths_mac.mm",
ncbray9099f492015-03-10 22:14:4197 "base_paths_posix.cc",
brettwb3c2f362015-12-22 18:33:4798 "base_paths_posix.h",
99 "base_paths_win.cc",
100 "base_paths_win.h",
ncbray9099f492015-03-10 22:14:41101 ]
brettwb3c2f362015-12-22 18:33:47102
103 if (is_android || is_mac || is_ios) {
104 sources -= [ "base_paths_posix.cc" ]
105 }
106
107 configs += [ ":base_implementation" ]
108
109 visibility = [ ":base" ]
ncbray9099f492015-03-10 22:14:41110 }
ncbray9099f492015-03-10 22:14:41111}
112
brettwaf8a9642016-07-14 19:33:41113if (is_android) {
114 config("android_system_libs") {
115 libs = [ "log" ] # Used by logging.cc.
116 }
agrievebe9169a2015-12-22 01:58:35117}
118
brettwb3c2f362015-12-22 18:33:47119# Base and everything it depends on should be a static library rather than
120# a source set. Base is more of a "library" in the classic sense in that many
121# small parts of it are used in many different contexts. This combined with a
122# few static initializers floating around means that dead code stripping
123# still leaves a lot of code behind that isn't always used. For example, this
124# saves more than 40K for a smaller target like chrome_elf.
125#
126# Use static libraries for the helper stuff as well like //base/debug since
127# those things refer back to base code, which will force base compilation units
128# to be linked in where they wouldn't have otherwise. This does not include
129# test code (test support and anything in the test directory) which should use
130# source_set as is recommended for GN targets).
agrieve3f532322016-01-05 03:23:15131component("base") {
brettw022f8f32016-06-14 01:22:39132 if (is_nacl_nonsfi) {
133 # TODO(phosek) bug 570839: If field_trial.cc is in a static library,
134 # nacl_helper_nonsfi doesn't link properly on Linux in debug builds. The
135 # reasons for this seem to involve obscure toolchain bugs. This should be
136 # fixed and this target should always be a static_library in the
137 # non-component case.
138 static_component_type = "source_set"
139 }
agrieve3f532322016-01-05 03:23:15140
brettw@chromium.org7603bbd12013-08-13 17:33:37141 sources = [
primianobe9d6fc2016-01-12 22:16:11142 "allocator/allocator_check.cc",
143 "allocator/allocator_check.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37144 "allocator/allocator_extension.cc",
145 "allocator/allocator_extension.h",
kkimlabs30c682a2015-02-27 22:36:56146 "android/animation_frame_time_histogram.cc",
147 "android/animation_frame_time_histogram.h",
agrieve3b864c92015-05-27 18:08:38148 "android/apk_assets.cc",
149 "android/apk_assets.h",
cjhopman@chromium.org928e36d2014-04-18 00:50:10150 "android/application_status_listener.cc",
151 "android/application_status_listener.h",
michaelbai842c972d2015-01-28 21:40:36152 "android/base_jni_onload.cc",
153 "android/base_jni_onload.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37154 "android/base_jni_registrar.cc",
155 "android/base_jni_registrar.h",
156 "android/build_info.cc",
157 "android/build_info.h",
tedchoc7efe9792016-05-21 00:35:49158 "android/callback_android.cc",
159 "android/callback_android.h",
cjhopman@chromium.org928e36d2014-04-18 00:50:10160 "android/command_line_android.cc",
161 "android/command_line_android.h",
162 "android/content_uri_utils.cc",
163 "android/content_uri_utils.h",
torne961a4882015-11-24 10:30:58164 "android/context_utils.cc",
165 "android/context_utils.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37166 "android/cpu_features.cc",
simonb0e736a82015-06-30 11:34:31167 "android/cxa_demangle_stub.cc",
lizebcac088a2016-07-19 13:34:50168 "android/early_trace_event_binding.cc",
169 "android/early_trace_event_binding.h",
mnaganov@chromium.org86936532014-06-12 08:36:08170 "android/event_log.cc",
171 "android/event_log.h",
cjhopman@chromium.orga5d20a22014-07-12 04:59:22172 "android/field_trial_list.cc",
173 "android/field_trial_list.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37174 "android/fifo_utils.cc",
175 "android/fifo_utils.h",
176 "android/important_file_writer_android.cc",
177 "android/important_file_writer_android.h",
ppidde405ee62015-01-22 01:12:51178 "android/java_handler_thread.cc",
179 "android/java_handler_thread.h",
gsenntonebe2e2032016-08-18 22:34:12180 "android/java_message_handler_factory.h",
ssid17c796f2015-04-22 17:48:01181 "android/java_runtime.cc",
182 "android/java_runtime.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37183 "android/jni_android.cc",
184 "android/jni_android.h",
185 "android/jni_array.cc",
186 "android/jni_array.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37187 "android/jni_registrar.cc",
188 "android/jni_registrar.h",
189 "android/jni_string.cc",
190 "android/jni_string.h",
mkosiba@chromium.orgd30dd6e2014-08-21 16:37:32191 "android/jni_utils.cc",
192 "android/jni_utils.h",
newt@chromium.org6a718ab2014-04-23 20:01:20193 "android/jni_weak_ref.cc",
194 "android/jni_weak_ref.h",
ppidde405ee62015-01-22 01:12:51195 "android/library_loader/library_load_from_apk_status_codes.h",
cjhopman@chromium.org928e36d2014-04-18 00:50:10196 "android/library_loader/library_loader_hooks.cc",
197 "android/library_loader/library_loader_hooks.h",
lizeb0a830d22015-04-29 11:51:49198 "android/library_loader/library_prefetcher.cc",
199 "android/library_loader/library_prefetcher.h",
ppidde405ee62015-01-22 01:12:51200 "android/locale_utils.cc",
201 "android/locale_utils.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37202 "android/memory_pressure_listener_android.cc",
203 "android/memory_pressure_listener_android.h",
204 "android/path_service_android.cc",
205 "android/path_service_android.h",
206 "android/path_utils.cc",
207 "android/path_utils.h",
ppidde405ee62015-01-22 01:12:51208 "android/record_histogram.cc",
209 "android/record_histogram.h",
pkotwicz40c037c12015-04-09 16:30:31210 "android/record_user_action.cc",
211 "android/record_user_action.h",
ppidde405ee62015-01-22 01:12:51212 "android/scoped_java_ref.cc",
213 "android/scoped_java_ref.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37214 "android/sys_utils.cc",
215 "android/sys_utils.h",
brettw@chromium.org54c3e7cf2014-01-14 18:53:21216 "android/trace_event_binding.cc",
217 "android/trace_event_binding.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37218 "at_exit.cc",
219 "at_exit.h",
220 "atomic_ref_count.h",
221 "atomic_sequence_num.h",
222 "atomicops.h",
jfb57a4e4a2014-10-14 15:06:05223 "atomicops_internals_portable.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37224 "atomicops_internals_x86_msvc.h",
brettw@chromium.org070c7ea2014-07-24 18:24:30225 "auto_reset.h",
brettw@chromium.org23549942014-05-16 19:33:08226 "barrier_closure.cc",
227 "barrier_closure.h",
satoruxb7ce3492015-02-13 07:13:05228 "base64.cc",
229 "base64.h",
peter2b9a5dc62015-10-29 11:35:15230 "base64url.cc",
231 "base64url.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37232 "base_export.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37233 "base_switches.h",
brettw@chromium.org8603c5de2014-04-16 20:34:31234 "big_endian.cc",
235 "big_endian.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37236 "bind.h",
237 "bind_helpers.cc",
238 "bind_helpers.h",
239 "bind_internal.h",
tapted174fde32016-01-14 06:26:37240 "bit_cast.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37241 "bits.h",
242 "build_time.cc",
243 "build_time.h",
244 "callback.h",
brettw@chromium.org23549942014-05-16 19:33:08245 "callback_helpers.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37246 "callback_helpers.h",
247 "callback_internal.cc",
248 "callback_internal.h",
249 "cancelable_callback.h",
satoruxb7ce3492015-02-13 07:13:05250 "command_line.cc",
251 "command_line.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37252 "compiler_specific.h",
mdempskyae846882014-09-29 18:48:12253 "containers/adapters.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37254 "containers/hash_tables.h",
255 "containers/linked_list.h",
256 "containers/mru_cache.h",
kcwu213a4db2015-04-28 18:54:28257 "containers/scoped_ptr_hash_map.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37258 "containers/small_map.h",
259 "containers/stack_container.h",
260 "cpu.cc",
261 "cpu.h",
262 "critical_closure.h",
gab@chromium.org16d3e3d2014-05-09 11:57:31263 "critical_closure_internal_ios.mm",
brettwc44e2052015-12-21 22:51:24264 "debug/alias.cc",
265 "debug/alias.h",
266 "debug/asan_invalid_access.cc",
267 "debug/asan_invalid_access.h",
wfhb5408302016-01-06 20:24:06268 "debug/close_handle_hook_win.cc",
269 "debug/close_handle_hook_win.h",
brettwc44e2052015-12-21 22:51:24270 "debug/crash_logging.cc",
271 "debug/crash_logging.h",
272 "debug/debugger.cc",
273 "debug/debugger.h",
274 "debug/debugger_posix.cc",
275 "debug/debugger_win.cc",
276 "debug/dump_without_crashing.cc",
277 "debug/dump_without_crashing.h",
278 "debug/gdi_debug_util_win.cc",
279 "debug/gdi_debug_util_win.h",
280
281 # This file depends on files from the "debug/allocator" target,
282 # but this target does not depend on "debug/allocator" (see
283 # allocator.gyp for details).
bcwhited9705962016-08-10 03:10:03284 "debug/activity_analyzer.cc",
285 "debug/activity_analyzer.h",
286 "debug/activity_tracker.cc",
287 "debug/activity_tracker.h",
brettwc44e2052015-12-21 22:51:24288 "debug/leak_annotations.h",
289 "debug/leak_tracker.h",
290 "debug/proc_maps_linux.cc",
291 "debug/proc_maps_linux.h",
292 "debug/profiler.cc",
293 "debug/profiler.h",
siggi46e1b072016-09-09 16:43:31294 "debug/scoped_thread_heap_usage.cc",
295 "debug/scoped_thread_heap_usage.h",
brettwc44e2052015-12-21 22:51:24296 "debug/stack_trace.cc",
297 "debug/stack_trace.h",
298 "debug/stack_trace_android.cc",
299 "debug/stack_trace_posix.cc",
300 "debug/stack_trace_win.cc",
301 "debug/task_annotator.cc",
302 "debug/task_annotator.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37303 "deferred_sequenced_task_runner.cc",
304 "deferred_sequenced_task_runner.h",
305 "environment.cc",
306 "environment.h",
asvitkinebccbb862015-09-04 17:17:45307 "feature_list.cc",
308 "feature_list.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37309 "file_descriptor_posix.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37310 "file_version_info.h",
311 "file_version_info_mac.h",
312 "file_version_info_mac.mm",
313 "file_version_info_win.cc",
314 "file_version_info_win.h",
315 "files/dir_reader_fallback.h",
316 "files/dir_reader_linux.h",
317 "files/dir_reader_posix.h",
tfarina@chromium.orgfa8d1b62014-01-05 22:49:50318 "files/file.cc",
fdorayf9f6c1e92016-09-15 13:23:24319 "files/file_descriptor_watcher_posix.cc",
320 "files/file_descriptor_watcher_posix.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37321 "files/file_enumerator.cc",
322 "files/file_enumerator.h",
323 "files/file_enumerator_posix.cc",
324 "files/file_enumerator_win.cc",
325 "files/file_path.cc",
326 "files/file_path.h",
327 "files/file_path_constants.cc",
328 "files/file_path_watcher.cc",
329 "files/file_path_watcher.h",
vandebo@chromium.org6d2d92a2014-06-11 07:15:24330 "files/file_path_watcher_fsevents.cc",
331 "files/file_path_watcher_fsevents.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37332 "files/file_path_watcher_kqueue.cc",
vandebo@chromium.org6d2d92a2014-06-11 07:15:24333 "files/file_path_watcher_kqueue.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37334 "files/file_path_watcher_linux.cc",
vandebo@chromium.org6d2d92a2014-06-11 07:15:24335 "files/file_path_watcher_mac.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37336 "files/file_path_watcher_win.cc",
satoruxb7ce3492015-02-13 07:13:05337 "files/file_posix.cc",
brettw@chromium.org23549942014-05-16 19:33:08338 "files/file_proxy.cc",
339 "files/file_proxy.h",
dbeam492dc31b2015-05-11 07:53:47340 "files/file_tracing.cc",
341 "files/file_tracing.h",
brettw@chromium.orge3177dd52014-08-13 20:22:14342 "files/file_util.cc",
343 "files/file_util.h",
344 "files/file_util_android.cc",
345 "files/file_util_linux.cc",
346 "files/file_util_mac.mm",
347 "files/file_util_posix.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37348 "files/file_util_proxy.cc",
349 "files/file_util_proxy.h",
brettw@chromium.orge3177dd52014-08-13 20:22:14350 "files/file_util_win.cc",
satoruxb7ce3492015-02-13 07:13:05351 "files/file_win.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37352 "files/important_file_writer.cc",
tfarina@chromium.orgfa8d1b62014-01-05 22:49:50353 "files/important_file_writer.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37354 "files/memory_mapped_file.cc",
355 "files/memory_mapped_file.h",
356 "files/memory_mapped_file_posix.cc",
357 "files/memory_mapped_file_win.cc",
brettw@chromium.org42f558fd2014-03-17 19:02:35358 "files/scoped_file.cc",
359 "files/scoped_file.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37360 "files/scoped_temp_dir.cc",
361 "files/scoped_temp_dir.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37362 "format_macros.h",
363 "gtest_prod_util.h",
364 "guid.cc",
365 "guid.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37366 "hash.cc",
367 "hash.h",
368 "id_map.h",
sherouke1859f92015-08-05 10:19:10369 "ios/crb_protocol_observers.h",
370 "ios/crb_protocol_observers.mm",
brettw@chromium.org7603bbd12013-08-13 17:33:37371 "ios/device_util.h",
372 "ios/device_util.mm",
373 "ios/ios_util.h",
374 "ios/ios_util.mm",
sherouke1859f92015-08-05 10:19:10375 "ios/ns_error_util.h",
376 "ios/ns_error_util.mm",
brettw@chromium.org7603bbd12013-08-13 17:33:37377 "ios/scoped_critical_action.h",
378 "ios/scoped_critical_action.mm",
drogerc67626592014-12-12 17:39:02379 "ios/weak_nsobject.h",
380 "ios/weak_nsobject.mm",
brettwc44e2052015-12-21 22:51:24381 "json/json_file_value_serializer.cc",
382 "json/json_file_value_serializer.h",
383 "json/json_parser.cc",
384 "json/json_parser.h",
385 "json/json_reader.cc",
386 "json/json_reader.h",
387 "json/json_string_value_serializer.cc",
388 "json/json_string_value_serializer.h",
389 "json/json_value_converter.cc",
390 "json/json_value_converter.h",
391 "json/json_writer.cc",
392 "json/json_writer.h",
393 "json/string_escape.cc",
394 "json/string_escape.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37395 "lazy_instance.cc",
396 "lazy_instance.h",
brettw@chromium.org070c7ea2014-07-24 18:24:30397 "linux_util.cc",
398 "linux_util.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37399 "location.cc",
400 "location.h",
401 "logging.cc",
402 "logging.h",
403 "logging_win.cc",
404 "logging_win.h",
405 "mac/authorization_util.h",
406 "mac/authorization_util.mm",
407 "mac/bind_objc_block.h",
408 "mac/bundle_locations.h",
409 "mac/bundle_locations.mm",
rsesek73dc3d52015-07-10 19:16:26410 "mac/call_with_eh_frame.cc",
411 "mac/call_with_eh_frame.h",
412 "mac/call_with_eh_frame_asm.S",
rseseke30ef492016-06-23 02:20:39413 "mac/close_nocancel.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37414 "mac/cocoa_protocols.h",
rsesek6cba5922015-05-13 19:49:10415 "mac/dispatch_source_mach.cc",
416 "mac/dispatch_source_mach.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37417 "mac/foundation_util.h",
418 "mac/foundation_util.mm",
419 "mac/launch_services_util.cc",
420 "mac/launch_services_util.h",
421 "mac/launchd.cc",
422 "mac/launchd.h",
satoruxb7ce3492015-02-13 07:13:05423 "mac/mac_logging.h",
erikchen83e8f8562016-03-01 21:38:20424 "mac/mac_logging.mm",
brettw@chromium.org7603bbd12013-08-13 17:33:37425 "mac/mac_util.h",
426 "mac/mac_util.mm",
brettw@chromium.org73da9412014-05-21 19:45:15427 "mac/mach_logging.cc",
428 "mac/mach_logging.h",
amistry11ca9a52016-03-04 02:04:49429 "mac/mach_port_broker.h",
430 "mac/mach_port_broker.mm",
amistrye04cef72016-03-12 04:51:43431 "mac/mach_port_util.cc",
432 "mac/mach_port_util.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37433 "mac/objc_property_releaser.h",
434 "mac/objc_property_releaser.mm",
435 "mac/os_crash_dumps.cc",
436 "mac/os_crash_dumps.h",
437 "mac/scoped_aedesc.h",
438 "mac/scoped_authorizationref.h",
439 "mac/scoped_block.h",
440 "mac/scoped_cftyperef.h",
rsesek776177e12016-07-07 00:39:47441 "mac/scoped_dispatch_object.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37442 "mac/scoped_ioobject.h",
443 "mac/scoped_ioplugininterface.h",
444 "mac/scoped_launch_data.h",
445 "mac/scoped_mach_port.cc",
446 "mac/scoped_mach_port.h",
jamesr@chromium.orgb5e4aba2014-06-01 12:16:59447 "mac/scoped_mach_vm.cc",
448 "mac/scoped_mach_vm.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37449 "mac/scoped_nsautorelease_pool.h",
450 "mac/scoped_nsautorelease_pool.mm",
brettw@chromium.org7603bbd12013-08-13 17:33:37451 "mac/scoped_nsobject.h",
sdefresnefd6251252016-06-16 11:51:08452 "mac/scoped_nsobject.mm",
tapted@chromium.org0b7f85232014-08-12 12:03:48453 "mac/scoped_objc_class_swizzler.h",
454 "mac/scoped_objc_class_swizzler.mm",
brettw@chromium.org7603bbd12013-08-13 17:33:37455 "mac/scoped_sending_event.h",
456 "mac/scoped_sending_event.mm",
457 "mac/sdk_forward_declarations.h",
tfarinacdc7e5d2015-02-23 09:52:24458 "mac/sdk_forward_declarations.mm",
brettw@chromium.org54c3e7cf2014-01-14 18:53:21459 "macros.h",
460 "md5.cc",
461 "md5.h",
brettwc44e2052015-12-21 22:51:24462 "memory/aligned_memory.cc",
463 "memory/aligned_memory.h",
464 "memory/discardable_memory.cc",
465 "memory/discardable_memory.h",
466 "memory/discardable_memory_allocator.cc",
467 "memory/discardable_memory_allocator.h",
468 "memory/discardable_shared_memory.cc",
469 "memory/discardable_shared_memory.h",
dchengdb5935f2016-03-26 00:16:27470 "memory/free_deleter.h",
brettwc44e2052015-12-21 22:51:24471 "memory/linked_ptr.h",
472 "memory/manual_constructor.h",
bashie70150f2016-09-15 02:44:32473 "memory/memory_coordinator_client.h",
474 "memory/memory_coordinator_client_registry.cc",
475 "memory/memory_coordinator_client_registry.h",
brettwc44e2052015-12-21 22:51:24476 "memory/memory_pressure_listener.cc",
477 "memory/memory_pressure_listener.h",
478 "memory/memory_pressure_monitor.cc",
479 "memory/memory_pressure_monitor.h",
480 "memory/memory_pressure_monitor_chromeos.cc",
481 "memory/memory_pressure_monitor_chromeos.h",
482 "memory/memory_pressure_monitor_mac.cc",
483 "memory/memory_pressure_monitor_mac.h",
484 "memory/memory_pressure_monitor_win.cc",
485 "memory/memory_pressure_monitor_win.h",
486 "memory/ptr_util.h",
487 "memory/raw_scoped_refptr_mismatch_checker.h",
488 "memory/ref_counted.cc",
489 "memory/ref_counted.h",
490 "memory/ref_counted_delete_on_message_loop.h",
491 "memory/ref_counted_memory.cc",
492 "memory/ref_counted_memory.h",
493 "memory/scoped_policy.h",
brettwc44e2052015-12-21 22:51:24494 "memory/scoped_vector.h",
495 "memory/shared_memory.h",
496 "memory/shared_memory_android.cc",
497 "memory/shared_memory_handle.h",
498 "memory/shared_memory_handle_mac.cc",
499 "memory/shared_memory_handle_win.cc",
500 "memory/shared_memory_mac.cc",
501 "memory/shared_memory_nacl.cc",
502 "memory/shared_memory_posix.cc",
503 "memory/shared_memory_win.cc",
504 "memory/singleton.cc",
505 "memory/singleton.h",
506 "memory/weak_ptr.cc",
507 "memory/weak_ptr.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37508 "message_loop/incoming_task_queue.cc",
509 "message_loop/incoming_task_queue.h",
510 "message_loop/message_loop.cc",
511 "message_loop/message_loop.h",
skyostilb1f02992015-06-19 17:22:54512 "message_loop/message_loop_task_runner.cc",
513 "message_loop/message_loop_task_runner.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37514 "message_loop/message_pump.cc",
515 "message_loop/message_pump.h",
516 "message_loop/message_pump_android.cc",
517 "message_loop/message_pump_android.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37518 "message_loop/message_pump_default.cc",
519 "message_loop/message_pump_default.h",
520 "message_loop/message_pump_glib.cc",
521 "message_loop/message_pump_glib.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37522 "message_loop/message_pump_io_ios.cc",
523 "message_loop/message_pump_io_ios.h",
524 "message_loop/message_pump_libevent.cc",
525 "message_loop/message_pump_libevent.h",
526 "message_loop/message_pump_mac.h",
527 "message_loop/message_pump_mac.mm",
brettw@chromium.org7603bbd12013-08-13 17:33:37528 "message_loop/message_pump_win.cc",
529 "message_loop/message_pump_win.h",
brettwc44e2052015-12-21 22:51:24530 "metrics/bucket_ranges.cc",
531 "metrics/bucket_ranges.h",
532 "metrics/field_trial.cc",
533 "metrics/field_trial.h",
534 "metrics/histogram.cc",
535 "metrics/histogram.h",
536 "metrics/histogram_base.cc",
537 "metrics/histogram_base.h",
538 "metrics/histogram_delta_serialization.cc",
539 "metrics/histogram_delta_serialization.h",
540 "metrics/histogram_flattener.h",
541 "metrics/histogram_macros.h",
542 "metrics/histogram_samples.cc",
543 "metrics/histogram_samples.h",
544 "metrics/histogram_snapshot_manager.cc",
545 "metrics/histogram_snapshot_manager.h",
546 "metrics/metrics_hashes.cc",
547 "metrics/metrics_hashes.h",
bcwhite33d95806a2016-03-16 02:37:45548 "metrics/persistent_histogram_allocator.cc",
549 "metrics/persistent_histogram_allocator.h",
bcwhite34ae4982016-01-20 13:44:46550 "metrics/persistent_memory_allocator.cc",
551 "metrics/persistent_memory_allocator.h",
bcwhite3dd85c4f2016-03-17 13:21:56552 "metrics/persistent_sample_map.cc",
553 "metrics/persistent_sample_map.h",
brettwc44e2052015-12-21 22:51:24554 "metrics/sample_map.cc",
555 "metrics/sample_map.h",
556 "metrics/sample_vector.cc",
557 "metrics/sample_vector.h",
558 "metrics/sparse_histogram.cc",
559 "metrics/sparse_histogram.h",
560 "metrics/statistics_recorder.cc",
561 "metrics/statistics_recorder.h",
562 "metrics/user_metrics.cc",
563 "metrics/user_metrics.h",
564 "metrics/user_metrics_action.h",
rockot596a0dd2016-08-26 00:57:51565 "native_library.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37566 "native_library.h",
jfroy32be1d412015-04-01 17:10:29567 "native_library_ios.mm",
brettw@chromium.org7603bbd12013-08-13 17:33:37568 "native_library_mac.mm",
569 "native_library_posix.cc",
570 "native_library_win.cc",
571 "nix/mime_util_xdg.cc",
572 "nix/mime_util_xdg.h",
573 "nix/xdg_util.cc",
574 "nix/xdg_util.h",
satoruxb7ce3492015-02-13 07:13:05575 "numerics/safe_conversions.h",
576 "numerics/safe_conversions_impl.h",
577 "numerics/safe_math.h",
578 "numerics/safe_math_impl.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37579 "observer_list.h",
580 "observer_list_threadsafe.h",
mlamouri53f6b252016-04-19 17:27:01581 "optional.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37582 "os_compat_android.cc",
583 "os_compat_android.h",
584 "os_compat_nacl.cc",
585 "os_compat_nacl.h",
586 "path_service.cc",
587 "path_service.h",
588 "pending_task.cc",
589 "pending_task.h",
590 "pickle.cc",
591 "pickle.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37592 "posix/eintr_wrapper.h",
593 "posix/file_descriptor_shuffle.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37594 "posix/global_descriptors.cc",
595 "posix/global_descriptors.h",
brettw6ee6fd62015-06-09 18:05:24596 "posix/safe_strerror.cc",
597 "posix/safe_strerror.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37598 "posix/unix_domain_socket_linux.cc",
599 "posix/unix_domain_socket_linux.h",
600 "power_monitor/power_monitor.cc",
601 "power_monitor/power_monitor.h",
602 "power_monitor/power_monitor_device_source.cc",
603 "power_monitor/power_monitor_device_source.h",
604 "power_monitor/power_monitor_device_source_android.cc",
605 "power_monitor/power_monitor_device_source_android.h",
derat07366582014-10-07 04:18:44606 "power_monitor/power_monitor_device_source_chromeos.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37607 "power_monitor/power_monitor_device_source_ios.mm",
608 "power_monitor/power_monitor_device_source_mac.mm",
609 "power_monitor/power_monitor_device_source_posix.cc",
610 "power_monitor/power_monitor_device_source_win.cc",
611 "power_monitor/power_monitor_source.cc",
612 "power_monitor/power_monitor_source.h",
613 "power_monitor/power_observer.h",
brettwc44e2052015-12-21 22:51:24614 "process/internal_linux.cc",
615 "process/internal_linux.h",
616 "process/kill.cc",
617 "process/kill.h",
618 "process/kill_mac.cc",
619 "process/kill_posix.cc",
620 "process/kill_win.cc",
621 "process/launch.cc",
622 "process/launch.h",
623 "process/launch_ios.cc",
624 "process/launch_mac.cc",
625 "process/launch_posix.cc",
626 "process/launch_win.cc",
627 "process/memory.cc",
628 "process/memory.h",
629 "process/memory_linux.cc",
630 "process/memory_mac.mm",
631 "process/memory_win.cc",
632 "process/port_provider_mac.cc",
633 "process/port_provider_mac.h",
634 "process/process.h",
635 "process/process_handle.cc",
636
637 #"process/process_handle_freebsd.cc", # Unused in Chromium build.
638 "process/process_handle_linux.cc",
639 "process/process_handle_mac.cc",
640
641 #"process/process_handle_openbsd.cc", # Unused in Chromium build.
642 "process/process_handle_posix.cc",
643 "process/process_handle_win.cc",
644 "process/process_info.h",
645 "process/process_info_linux.cc",
646 "process/process_info_mac.cc",
647 "process/process_info_win.cc",
648 "process/process_iterator.cc",
649 "process/process_iterator.h",
650
651 #"process/process_iterator_freebsd.cc", # Unused in Chromium build.
652 "process/process_iterator_linux.cc",
653 "process/process_iterator_mac.cc",
654
655 #"process/process_iterator_openbsd.cc", # Unused in Chromium build.
656 "process/process_iterator_win.cc",
657 "process/process_linux.cc",
658 "process/process_metrics.cc",
659 "process/process_metrics.h",
660
661 #"process/process_metrics_freebsd.cc", # Unused in Chromium build.
662 "process/process_metrics_ios.cc",
663 "process/process_metrics_linux.cc",
664 "process/process_metrics_mac.cc",
665
666 #"process/process_metrics_openbsd.cc", # Unused in Chromium build.
667 "process/process_metrics_posix.cc",
668 "process/process_metrics_win.cc",
669 "process/process_posix.cc",
670 "process/process_win.cc",
wittman8601b542015-04-07 20:33:04671 "profiler/native_stack_sampler.cc",
672 "profiler/native_stack_sampler.h",
wittman3e2da6cc2015-08-03 17:37:37673 "profiler/native_stack_sampler_posix.cc",
674 "profiler/native_stack_sampler_win.cc",
vadimt20175532014-10-28 20:14:20675 "profiler/scoped_profile.cc",
676 "profiler/scoped_profile.h",
677 "profiler/scoped_tracker.cc",
678 "profiler/scoped_tracker.h",
wittmanb450e1972015-03-20 22:52:19679 "profiler/stack_sampling_profiler.cc",
680 "profiler/stack_sampling_profiler.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37681 "profiler/tracked_time.cc",
682 "profiler/tracked_time.h",
683 "rand_util.cc",
684 "rand_util.h",
685 "rand_util_nacl.cc",
686 "rand_util_posix.cc",
687 "rand_util_win.cc",
688 "run_loop.cc",
689 "run_loop.h",
brettw@chromium.org821261bc2014-03-12 19:19:24690 "scoped_generic.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37691 "scoped_native_library.cc",
692 "scoped_native_library.h",
jbroman@chromium.org88e3dcc2014-07-28 21:29:57693 "scoped_observer.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37694 "sequence_checker.h",
695 "sequence_checker_impl.cc",
696 "sequence_checker_impl.h",
fdorayeed5fa72016-07-26 22:28:45697 "sequence_token.cc",
698 "sequence_token.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37699 "sequenced_task_runner.cc",
700 "sequenced_task_runner.h",
701 "sequenced_task_runner_helpers.h",
rsleevidbc57612016-06-09 19:10:11702 "sha1.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37703 "sha1.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37704 "single_thread_task_runner.h",
705 "stl_util.h",
706 "strings/latin1_string_conversions.cc",
707 "strings/latin1_string_conversions.h",
708 "strings/nullable_string16.cc",
709 "strings/nullable_string16.h",
brettwd97eede2015-07-06 22:09:00710 "strings/pattern.cc",
711 "strings/pattern.h",
brettw@chromium.org23549942014-05-16 19:33:08712 "strings/safe_sprintf.cc",
713 "strings/safe_sprintf.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37714 "strings/string16.cc",
715 "strings/string16.h",
716 "strings/string_number_conversions.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37717 "strings/string_number_conversions.h",
718 "strings/string_piece.cc",
719 "strings/string_piece.h",
satoruxb7ce3492015-02-13 07:13:05720 "strings/string_split.cc",
721 "strings/string_split.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37722 "strings/string_tokenizer.h",
723 "strings/string_util.cc",
724 "strings/string_util.h",
725 "strings/string_util_constants.cc",
726 "strings/string_util_posix.h",
727 "strings/string_util_win.h",
728 "strings/stringize_macros.h",
729 "strings/stringprintf.cc",
730 "strings/stringprintf.h",
731 "strings/sys_string_conversions.h",
732 "strings/sys_string_conversions_mac.mm",
733 "strings/sys_string_conversions_posix.cc",
734 "strings/sys_string_conversions_win.cc",
735 "strings/utf_offset_string_conversions.cc",
736 "strings/utf_offset_string_conversions.h",
737 "strings/utf_string_conversion_utils.cc",
738 "strings/utf_string_conversion_utils.h",
739 "strings/utf_string_conversions.cc",
740 "strings/utf_string_conversions.h",
741 "supports_user_data.cc",
742 "supports_user_data.h",
743 "sync_socket.h",
744 "sync_socket_posix.cc",
745 "sync_socket_win.cc",
fdorayef191122016-07-25 14:43:17746 "synchronization/atomic_flag.cc",
747 "synchronization/atomic_flag.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37748 "synchronization/cancellation_flag.h",
749 "synchronization/condition_variable.h",
750 "synchronization/condition_variable_posix.cc",
751 "synchronization/condition_variable_win.cc",
752 "synchronization/lock.cc",
753 "synchronization/lock.h",
754 "synchronization/lock_impl.h",
755 "synchronization/lock_impl_posix.cc",
756 "synchronization/lock_impl_win.cc",
amistrydf6b66ee2016-06-01 02:52:44757 "synchronization/read_write_lock.h",
758 "synchronization/read_write_lock_nacl.cc",
759 "synchronization/read_write_lock_posix.cc",
760 "synchronization/read_write_lock_win.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37761 "synchronization/spin_wait.h",
762 "synchronization/waitable_event.h",
763 "synchronization/waitable_event_posix.cc",
764 "synchronization/waitable_event_watcher.h",
765 "synchronization/waitable_event_watcher_posix.cc",
766 "synchronization/waitable_event_watcher_win.cc",
767 "synchronization/waitable_event_win.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37768 "sys_byteorder.h",
769 "sys_info.cc",
770 "sys_info.h",
771 "sys_info_android.cc",
772 "sys_info_chromeos.cc",
pastarmovj89f7ee12016-09-20 14:58:13773 "syslog_logging.cc",
774 "syslog_logging.h",
brettwc44e2052015-12-21 22:51:24775
776 #"sys_info_freebsd.cc", # Unused in Chromium build.
brettw@chromium.org7603bbd12013-08-13 17:33:37777 "sys_info_ios.mm",
778 "sys_info_linux.cc",
tapted0ffa1e42016-03-31 22:28:27779 "sys_info_mac.mm",
brettwc44e2052015-12-21 22:51:24780
781 #"sys_info_openbsd.cc", # Unused in Chromium build.
brettw@chromium.org7603bbd12013-08-13 17:33:37782 "sys_info_posix.cc",
783 "sys_info_win.cc",
satoruxb7ce3492015-02-13 07:13:05784 "system_monitor/system_monitor.cc",
785 "system_monitor/system_monitor.h",
brettw@chromium.org23549942014-05-16 19:33:08786 "task/cancelable_task_tracker.cc",
787 "task/cancelable_task_tracker.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37788 "task_runner.cc",
789 "task_runner.h",
790 "task_runner_util.h",
fdorayc308c572016-04-20 01:39:21791 "task_scheduler/delayed_task_manager.cc",
792 "task_scheduler/delayed_task_manager.h",
fdoray5bd4a9e12016-08-03 16:15:57793 "task_scheduler/post_task.cc",
794 "task_scheduler/post_task.h",
fdoray6477fbd2016-03-18 22:44:55795 "task_scheduler/priority_queue.cc",
796 "task_scheduler/priority_queue.h",
robliaob6f61ce2016-03-14 21:32:36797 "task_scheduler/scheduler_lock.h",
798 "task_scheduler/scheduler_lock_impl.cc",
799 "task_scheduler/scheduler_lock_impl.h",
robliao3d93b692016-05-12 18:27:15800 "task_scheduler/scheduler_service_thread.cc",
801 "task_scheduler/scheduler_service_thread.h",
robliao7a584392016-06-22 18:36:41802 "task_scheduler/scheduler_worker.cc",
803 "task_scheduler/scheduler_worker.h",
robliao624260a2016-06-22 18:16:25804 "task_scheduler/scheduler_worker_pool.h",
805 "task_scheduler/scheduler_worker_pool_impl.cc",
806 "task_scheduler/scheduler_worker_pool_impl.h",
robliao5e490aa2016-07-20 21:46:52807 "task_scheduler/scheduler_worker_pool_params.cc",
808 "task_scheduler/scheduler_worker_pool_params.h",
robliao7a584392016-06-22 18:36:41809 "task_scheduler/scheduler_worker_stack.cc",
810 "task_scheduler/scheduler_worker_stack.h",
fdorayc48d5f092016-03-17 01:57:42811 "task_scheduler/sequence.cc",
812 "task_scheduler/sequence.h",
813 "task_scheduler/sequence_sort_key.cc",
814 "task_scheduler/sequence_sort_key.h",
815 "task_scheduler/task.cc",
816 "task_scheduler/task.h",
fdoray67ecfb52016-05-02 14:49:03817 "task_scheduler/task_scheduler.cc",
818 "task_scheduler/task_scheduler.h",
fdoray4151cea2016-05-06 15:39:14819 "task_scheduler/task_scheduler_impl.cc",
820 "task_scheduler/task_scheduler_impl.h",
fdoray0fc7a6662016-03-29 17:12:53821 "task_scheduler/task_tracker.cc",
822 "task_scheduler/task_tracker.h",
robliaodf7c0802016-02-18 02:05:58823 "task_scheduler/task_traits.cc",
824 "task_scheduler/task_traits.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37825 "template_util.h",
ncbray9099f492015-03-10 22:14:41826 "third_party/dmg_fp/dmg_fp.h",
827 "third_party/dmg_fp/dtoa_wrapper.cc",
828 "third_party/dmg_fp/g_fmt.cc",
829 "third_party/icu/icu_utf.cc",
830 "third_party/icu/icu_utf.h",
dpranke49d4d4d2015-04-17 00:35:13831 "third_party/nspr/prtime.cc",
832 "third_party/nspr/prtime.h",
ncbray9099f492015-03-10 22:14:41833 "third_party/superfasthash/superfasthash.c",
brettw@chromium.org7603bbd12013-08-13 17:33:37834 "threading/non_thread_safe.h",
835 "threading/non_thread_safe_impl.cc",
836 "threading/non_thread_safe_impl.h",
837 "threading/platform_thread.h",
838 "threading/platform_thread_android.cc",
gabbb0d0b92015-03-19 19:08:18839 "threading/platform_thread_internal_posix.cc",
840 "threading/platform_thread_internal_posix.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37841 "threading/platform_thread_linux.cc",
842 "threading/platform_thread_mac.mm",
843 "threading/platform_thread_posix.cc",
844 "threading/platform_thread_win.cc",
845 "threading/post_task_and_reply_impl.cc",
846 "threading/post_task_and_reply_impl.h",
bauerb8a408722015-10-30 09:05:31847 "threading/sequenced_task_runner_handle.cc",
848 "threading/sequenced_task_runner_handle.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37849 "threading/sequenced_worker_pool.cc",
850 "threading/sequenced_worker_pool.h",
851 "threading/simple_thread.cc",
852 "threading/simple_thread.h",
853 "threading/thread.cc",
854 "threading/thread.h",
855 "threading/thread_checker.h",
856 "threading/thread_checker_impl.cc",
857 "threading/thread_checker_impl.h",
858 "threading/thread_collision_warner.cc",
859 "threading/thread_collision_warner.h",
860 "threading/thread_id_name_manager.cc",
861 "threading/thread_id_name_manager.h",
862 "threading/thread_local.h",
robliao16b727d2016-02-26 18:29:32863 "threading/thread_local_android.cc",
864 "threading/thread_local_posix.cc",
brettw@chromium.org54c3e7cf2014-01-14 18:53:21865 "threading/thread_local_storage.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37866 "threading/thread_local_storage.h",
867 "threading/thread_local_storage_posix.cc",
868 "threading/thread_local_storage_win.cc",
robliao16b727d2016-02-26 18:29:32869 "threading/thread_local_win.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:37870 "threading/thread_restrictions.cc",
satoruxb7ce3492015-02-13 07:13:05871 "threading/thread_restrictions.h",
gab0ac3fff2016-05-10 23:17:01872 "threading/thread_task_runner_handle.cc",
873 "threading/thread_task_runner_handle.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37874 "threading/watchdog.cc",
875 "threading/watchdog.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37876 "threading/worker_pool.cc",
satoruxb7ce3492015-02-13 07:13:05877 "threading/worker_pool.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37878 "threading/worker_pool_posix.cc",
879 "threading/worker_pool_posix.h",
880 "threading/worker_pool_win.cc",
881 "time/clock.cc",
882 "time/clock.h",
883 "time/default_clock.cc",
884 "time/default_clock.h",
885 "time/default_tick_clock.cc",
886 "time/default_tick_clock.h",
887 "time/tick_clock.cc",
888 "time/tick_clock.h",
889 "time/time.cc",
890 "time/time.h",
891 "time/time_mac.cc",
892 "time/time_posix.cc",
893 "time/time_win.cc",
tfarina@chromium.orgbd5a3742013-09-29 18:06:13894 "timer/elapsed_timer.cc",
895 "timer/elapsed_timer.h",
896 "timer/hi_res_timer_manager.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37897 "timer/hi_res_timer_manager_posix.cc",
898 "timer/hi_res_timer_manager_win.cc",
brettw@chromium.org23549942014-05-16 19:33:08899 "timer/mock_timer.cc",
900 "timer/mock_timer.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37901 "timer/timer.cc",
902 "timer/timer.h",
skyostile69ffec72016-03-21 21:53:10903 "trace_event/blame_context.cc",
904 "trace_event/blame_context.h",
brettwc44e2052015-12-21 22:51:24905 "trace_event/common/trace_event_common.h",
ssid04d1750c2016-04-22 17:56:45906 "trace_event/heap_profiler.h",
brettwc44e2052015-12-21 22:51:24907 "trace_event/heap_profiler_allocation_context.cc",
908 "trace_event/heap_profiler_allocation_context.h",
909 "trace_event/heap_profiler_allocation_context_tracker.cc",
910 "trace_event/heap_profiler_allocation_context_tracker.h",
911 "trace_event/heap_profiler_allocation_register.cc",
912 "trace_event/heap_profiler_allocation_register.h",
913 "trace_event/heap_profiler_allocation_register_posix.cc",
914 "trace_event/heap_profiler_allocation_register_win.cc",
915 "trace_event/heap_profiler_heap_dump_writer.cc",
916 "trace_event/heap_profiler_heap_dump_writer.h",
917 "trace_event/heap_profiler_stack_frame_deduplicator.cc",
918 "trace_event/heap_profiler_stack_frame_deduplicator.h",
919 "trace_event/heap_profiler_type_name_deduplicator.cc",
920 "trace_event/heap_profiler_type_name_deduplicator.h",
921 "trace_event/java_heap_dump_provider_android.cc",
922 "trace_event/java_heap_dump_provider_android.h",
siggi7bec59a2016-08-25 20:22:26923 "trace_event/malloc_dump_provider.cc",
924 "trace_event/malloc_dump_provider.h",
brettwc44e2052015-12-21 22:51:24925 "trace_event/memory_allocator_dump.cc",
926 "trace_event/memory_allocator_dump.h",
927 "trace_event/memory_allocator_dump_guid.cc",
928 "trace_event/memory_allocator_dump_guid.h",
929 "trace_event/memory_dump_manager.cc",
930 "trace_event/memory_dump_manager.h",
931 "trace_event/memory_dump_provider.h",
932 "trace_event/memory_dump_request_args.cc",
933 "trace_event/memory_dump_request_args.h",
934 "trace_event/memory_dump_session_state.cc",
935 "trace_event/memory_dump_session_state.h",
ssid448e5ed2016-06-04 12:40:51936 "trace_event/memory_infra_background_whitelist.cc",
937 "trace_event/memory_infra_background_whitelist.h",
brettwc44e2052015-12-21 22:51:24938 "trace_event/process_memory_dump.cc",
939 "trace_event/process_memory_dump.h",
940 "trace_event/process_memory_maps.cc",
941 "trace_event/process_memory_maps.h",
brettwc44e2052015-12-21 22:51:24942 "trace_event/process_memory_totals.cc",
943 "trace_event/process_memory_totals.h",
brettwc44e2052015-12-21 22:51:24944 "trace_event/trace_buffer.cc",
945 "trace_event/trace_buffer.h",
946 "trace_event/trace_config.cc",
947 "trace_event/trace_config.h",
948 "trace_event/trace_event.h",
949 "trace_event/trace_event_android.cc",
950 "trace_event/trace_event_argument.cc",
951 "trace_event/trace_event_argument.h",
952 "trace_event/trace_event_etw_export_win.cc",
953 "trace_event/trace_event_etw_export_win.h",
954 "trace_event/trace_event_impl.cc",
955 "trace_event/trace_event_impl.h",
956 "trace_event/trace_event_memory_overhead.cc",
957 "trace_event/trace_event_memory_overhead.h",
958 "trace_event/trace_event_synthetic_delay.cc",
959 "trace_event/trace_event_synthetic_delay.h",
960 "trace_event/trace_event_system_stats_monitor.cc",
961 "trace_event/trace_event_system_stats_monitor.h",
962 "trace_event/trace_log.cc",
963 "trace_event/trace_log.h",
964 "trace_event/trace_log_constants.cc",
965 "trace_event/trace_sampling_thread.cc",
966 "trace_event/trace_sampling_thread.h",
967 "trace_event/tracing_agent.cc",
968 "trace_event/tracing_agent.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37969 "tracked_objects.cc",
970 "tracked_objects.h",
971 "tracking_info.cc",
972 "tracking_info.h",
973 "tuple.h",
tguilbert4a5ac602016-09-19 21:11:25974 "unguessable_token.cc",
975 "unguessable_token.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37976 "value_conversions.cc",
977 "value_conversions.h",
satoruxb7ce3492015-02-13 07:13:05978 "values.cc",
979 "values.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37980 "version.cc",
981 "version.h",
982 "vlog.cc",
983 "vlog.h",
984 "win/enum_variant.cc",
985 "win/enum_variant.h",
986 "win/event_trace_consumer.h",
987 "win/event_trace_controller.cc",
988 "win/event_trace_controller.h",
989 "win/event_trace_provider.cc",
990 "win/event_trace_provider.h",
991 "win/i18n.cc",
992 "win/i18n.h",
993 "win/iat_patch_function.cc",
994 "win/iat_patch_function.h",
995 "win/iunknown_impl.cc",
996 "win/iunknown_impl.h",
997 "win/message_window.cc",
998 "win/message_window.h",
brettw@chromium.org7603bbd12013-08-13 17:33:37999 "win/object_watcher.cc",
1000 "win/object_watcher.h",
pmonette18d3ed32015-10-16 21:06:061001 "win/process_startup_helper.cc",
1002 "win/process_startup_helper.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371003 "win/registry.cc",
1004 "win/registry.h",
1005 "win/resource_util.cc",
1006 "win/resource_util.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371007 "win/scoped_bstr.cc",
1008 "win/scoped_bstr.h",
1009 "win/scoped_co_mem.h",
1010 "win/scoped_com_initializer.h",
1011 "win/scoped_comptr.h",
1012 "win/scoped_gdi_object.h",
1013 "win/scoped_handle.cc",
1014 "win/scoped_handle.h",
1015 "win/scoped_hdc.h",
1016 "win/scoped_hglobal.h",
1017 "win/scoped_process_information.cc",
1018 "win/scoped_process_information.h",
1019 "win/scoped_propvariant.h",
1020 "win/scoped_select_object.h",
1021 "win/scoped_variant.cc",
1022 "win/scoped_variant.h",
1023 "win/shortcut.cc",
1024 "win/shortcut.h",
1025 "win/startup_information.cc",
1026 "win/startup_information.h",
pmonette050187d62016-04-14 18:17:031027 "win/wait_chain.cc",
1028 "win/wait_chain.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371029 "win/win_util.cc",
1030 "win/win_util.h",
1031 "win/windows_version.cc",
1032 "win/windows_version.h",
1033 "win/wrapped_window_proc.cc",
1034 "win/wrapped_window_proc.h",
1035 ]
1036
brettwc44e2052015-12-21 22:51:241037 defines = []
brettw43ae0e12015-07-14 22:12:361038 data = []
1039
brettwbc8b2a22015-07-28 18:24:421040 configs += [
tfarina3c123442015-10-25 03:39:211041 ":base_flags",
brettwbc8b2a22015-07-28 18:24:421042 ":base_implementation",
primianobe9d6fc2016-01-12 22:16:111043 "//base/allocator:allocator_shim_define", # for allocator_check.cc.
brettwbc8b2a22015-07-28 18:24:421044 "//build/config:precompiled_headers",
1045 ]
ncbray9099f492015-03-10 22:14:411046
1047 deps = [
primianoe97b9202016-01-21 14:38:371048 "//base/allocator",
primiano4e68ed22016-03-09 20:13:441049 "//base/allocator:features",
ncbray9099f492015-03-10 22:14:411050 "//base/third_party/dynamic_annotations",
ncbray9099f492015-03-10 22:14:411051 "//third_party/modp_b64",
1052 ]
1053
1054 public_deps = [
1055 ":base_paths",
brettw41ac3412015-10-22 07:35:301056 ":base_static",
zforman08d91b72016-02-12 06:23:421057 ":build_date",
brettwc44e2052015-12-21 22:51:241058 ":debugging_flags",
ncbray9099f492015-03-10 22:14:411059 ]
1060
agoodef3f51112016-02-16 02:50:321061 # Needed for <atomic> if using newer C++ library than sysroot
1062 if (!use_sysroot && (is_android || is_linux)) {
1063 libs = [ "atomic" ]
primiano4e68ed22016-03-09 20:13:441064 }
1065
1066 if (use_experimental_allocator_shim) {
1067 # The allocator shim is part of the base API. This is to allow clients of
1068 # base should to install hooks into the allocator path.
1069 public_deps += [ "//base/allocator:unified_allocator_shim" ]
agoodef3f51112016-02-16 02:50:321070 }
1071
ncbray9099f492015-03-10 22:14:411072 # Allow more direct string conversions on platforms with native utf8
1073 # strings
slana0f888d72016-04-06 04:18:131074 if (is_mac || is_ios || is_chromeos || is_chromecast) {
brettwc44e2052015-12-21 22:51:241075 defines += [ "SYSTEM_NATIVE_UTF8" ]
ncbray9099f492015-03-10 22:14:411076 }
1077
brettwc44e2052015-12-21 22:51:241078 # Android.
ncbray9099f492015-03-10 22:14:411079 if (is_android) {
brettwc44e2052015-12-21 22:51:241080 sources -= [
1081 "debug/stack_trace_posix.cc",
1082 "power_monitor/power_monitor_device_source_posix.cc",
1083 ]
ncbray9099f492015-03-10 22:14:411084
1085 # Android uses some Linux sources, put those back.
1086 set_sources_assignment_filter([])
1087 sources += [
brettwc44e2052015-12-21 22:51:241088 "debug/proc_maps_linux.cc",
ncbray9099f492015-03-10 22:14:411089 "files/file_path_watcher_linux.cc",
1090 "posix/unix_domain_socket_linux.cc",
brettwc44e2052015-12-21 22:51:241091 "process/internal_linux.cc",
1092 "process/memory_linux.cc",
1093 "process/process_handle_linux.cc",
1094 "process/process_iterator_linux.cc",
1095 "process/process_metrics_linux.cc",
ncbray9099f492015-03-10 22:14:411096 "sys_info_linux.cc",
1097 ]
1098 set_sources_assignment_filter(sources_assignment_filter)
1099
1100 deps += [
1101 ":base_jni_headers",
ncbray9099f492015-03-10 22:14:411102 "//third_party/android_tools:cpu_features",
agrieved7a71c882015-11-20 19:53:281103 "//third_party/ashmem",
ncbray9099f492015-03-10 22:14:411104 ]
1105
agrievebe9169a2015-12-22 01:58:351106 # Needs to be a public config so that dependent targets link against it as
1107 # well when doing a component build.
1108 public_configs = [ ":android_system_libs" ]
ncbray9099f492015-03-10 22:14:411109 }
1110
brettwc44e2052015-12-21 22:51:241111 # Chromeos.
ncbray9099f492015-03-10 22:14:411112 if (is_chromeos) {
1113 sources -= [ "power_monitor/power_monitor_device_source_posix.cc" ]
1114 }
1115
brettwc44e2052015-12-21 22:51:241116 # NaCl.
brettw@chromium.org23549942014-05-16 19:33:081117 if (is_nacl) {
dpranke6065cf72015-02-26 03:30:581118 # We reset sources_assignment_filter in order to explicitly include
1119 # the linux file (which would otherwise be filtered out).
1120 set_sources_assignment_filter([])
1121 sources += [
1122 "files/file_path_watcher_stub.cc",
brettwc44e2052015-12-21 22:51:241123 "process/process_metrics_nacl.cc",
dpranke6065cf72015-02-26 03:30:581124 "sync_socket_nacl.cc",
1125 "threading/platform_thread_linux.cc",
1126 ]
1127 set_sources_assignment_filter(sources_assignment_filter)
1128
1129 sources -= [
dpranke6065cf72015-02-26 03:30:581130 "cpu.cc",
brettwc44e2052015-12-21 22:51:241131 "debug/crash_logging.cc",
1132 "debug/crash_logging.h",
1133 "debug/stack_trace.cc",
1134 "debug/stack_trace_posix.cc",
fdorayf9f6c1e92016-09-15 13:23:241135 "files/file_descriptor_watcher_posix.cc",
1136 "files/file_descriptor_watcher_posix.h",
ncbray9099f492015-03-10 22:14:411137 "files/file_enumerator_posix.cc",
dpranke6065cf72015-02-26 03:30:581138 "files/file_proxy.cc",
ncbray9099f492015-03-10 22:14:411139 "files/file_util_proxy.cc",
1140 "files/important_file_writer.cc",
1141 "files/important_file_writer.h",
1142 "files/scoped_temp_dir.cc",
brettwc44e2052015-12-21 22:51:241143 "memory/discardable_memory.cc",
1144 "memory/discardable_memory.h",
1145 "memory/discardable_memory_allocator.cc",
1146 "memory/discardable_memory_allocator.h",
1147 "memory/discardable_shared_memory.cc",
1148 "memory/discardable_shared_memory.h",
1149 "memory/shared_memory_posix.cc",
rockot596a0dd2016-08-26 00:57:511150 "native_library.cc",
satoruxb7ce3492015-02-13 07:13:051151 "native_library_posix.cc",
ncbray9099f492015-03-10 22:14:411152 "path_service.cc",
brettwc44e2052015-12-21 22:51:241153 "process/kill.cc",
1154 "process/kill.h",
1155 "process/memory.cc",
1156 "process/memory.h",
1157 "process/process_iterator.cc",
1158 "process/process_iterator.h",
1159 "process/process_metrics.cc",
1160 "process/process_metrics_posix.cc",
1161 "process/process_posix.cc",
ncbray9099f492015-03-10 22:14:411162 "scoped_native_library.cc",
brettw@chromium.org60749e1c2013-08-19 21:11:051163 "sync_socket_posix.cc",
amistrydf6b66ee2016-06-01 02:52:441164 "synchronization/read_write_lock_posix.cc",
ncbray9099f492015-03-10 22:14:411165 "sys_info.cc",
brettw@chromium.org60749e1c2013-08-19 21:11:051166 "sys_info_posix.cc",
brettwc44e2052015-12-21 22:51:241167 "trace_event/trace_event_system_stats_monitor.cc",
brettw@chromium.org60749e1c2013-08-19 21:11:051168 ]
phosek636bceb32015-10-27 03:36:481169
1170 if (is_nacl_nonsfi) {
1171 set_sources_assignment_filter([])
1172 sources += [ "posix/unix_domain_socket_linux.cc" ]
1173 set_sources_assignment_filter(sources_assignment_filter)
1174 sources -= [ "rand_util_nacl.cc" ]
1175 configs += [ ":nacl_nonsfi_warnings" ]
1176 } else {
1177 sources -= [
1178 "files/file_util.cc",
1179 "files/file_util.h",
1180 "files/file_util_posix.cc",
brettwc44e2052015-12-21 22:51:241181 "json/json_file_value_serializer.cc",
1182 "json/json_file_value_serializer.h",
phosek636bceb32015-10-27 03:36:481183 "message_loop/message_pump_libevent.cc",
1184 "message_loop/message_pump_libevent.h",
brettwc44e2052015-12-21 22:51:241185 "process/kill_posix.cc",
1186 "process/launch.cc",
1187 "process/launch.h",
1188 "process/launch_posix.cc",
phosek636bceb32015-10-27 03:36:481189 "rand_util_posix.cc",
1190 ]
1191 }
brettw@chromium.org60749e1c2013-08-19 21:11:051192 } else {
dpranke6065cf72015-02-26 03:30:581193 # Remove NaCl stuff.
brettw@chromium.org7603bbd12013-08-13 17:33:371194 sources -= [
brettwc44e2052015-12-21 22:51:241195 "memory/shared_memory_nacl.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:371196 "os_compat_nacl.cc",
1197 "os_compat_nacl.h",
1198 "rand_util_nacl.cc",
amistrydf6b66ee2016-06-01 02:52:441199 "synchronization/read_write_lock_nacl.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:371200 ]
1201 }
1202
1203 # Windows.
brettw@chromium.org60749e1c2013-08-19 21:11:051204 if (is_win) {
wittman863f8412015-08-24 00:42:511205 sources += [
1206 "profiler/win32_stack_frame_unwinder.cc",
1207 "profiler/win32_stack_frame_unwinder.h",
1208 ]
1209
brettw@chromium.org7603bbd12013-08-13 17:33:371210 sources -= [
brettw@chromium.orgc9f05402013-09-23 23:12:581211 "message_loop/message_pump_libevent.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:371212 "strings/string16.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:371213 ]
1214
sebmarchand82ef02042016-06-08 15:56:321215 deps += [
1216 "//base/trace_event/etw_manifest:chrome_events_win",
1217 "//base/win:base_win_features",
1218 ]
brettw43ae0e12015-07-14 22:12:361219
1220 if (is_component_build) {
1221 # Copy the VS runtime DLLs into the isolate so that they don't have to be
1222 # preinstalled on the target machine. The debug runtimes have a "d" at
1223 # the end.
1224 if (is_debug) {
1225 vcrt_suffix = "d"
1226 } else {
1227 vcrt_suffix = ""
1228 }
1229
1230 # These runtime files are copied to the output directory by the
1231 # vs_toolchain script that runs as part of toolchain configuration.
brucedawsoncad78b02016-03-10 22:14:221232 if (visual_studio_version == "2015") {
1233 data += [
1234 "$root_out_dir/msvcp140${vcrt_suffix}.dll",
1235 "$root_out_dir/vccorlib140${vcrt_suffix}.dll",
1236 "$root_out_dir/vcruntime140${vcrt_suffix}.dll",
1237
1238 # Universal Windows 10 CRT files
1239 "$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
1240 "$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
1241 "$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
1242 "$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
1243 "$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
1244 "$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
1245 "$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
1246 "$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
1247 "$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
1248 "$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
1249 "$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
1250 "$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
1251 "$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
1252 "$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
1253 "$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
1254 "$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
1255 "$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
1256 "$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
1257 "$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
1258 "$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
1259 "$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
1260 "$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
1261 "$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
1262 "$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
1263 "$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
1264 "$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
1265 "$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
1266 "$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
1267 "$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
1268 "$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
1269 "$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
1270 "$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
1271 "$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
1272 "$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
1273 "$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
1274 "$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
1275 "$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
1276 "$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
1277 "$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
1278 "$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
1279 "$root_out_dir/ucrtbase${vcrt_suffix}.dll",
1280 ]
1281 } else {
1282 data += [
1283 "$root_out_dir/msvcp120${vcrt_suffix}.dll",
1284 "$root_out_dir/msvcr120${vcrt_suffix}.dll",
1285 ]
1286 }
brettw43ae0e12015-07-14 22:12:361287 if (is_asan) {
etienneb364deb72016-07-30 03:43:421288 if (current_cpu == "x64") {
1289 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
1290 } else {
1291 data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
1292 }
brettw43ae0e12015-07-14 22:12:361293 }
1294 }
1295
brettw@chromium.org8fc56182014-08-06 21:44:331296 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
brettwd1c719a2015-02-19 23:17:041297 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
brettw@chromium.org8fc56182014-08-06 21:44:331298
brettw@chromium.org7bcad802014-05-17 04:52:231299 libs = [
ananta74ca7382014-10-21 00:14:461300 "cfgmgr32.lib",
brettw@chromium.org7bcad802014-05-17 04:52:231301 "powrprof.lib",
ananta74ca7382014-10-21 00:14:461302 "setupapi.lib",
jam8acc0b72016-03-31 16:43:441303 "userenv.lib",
1304 "winmm.lib",
brettw@chromium.org7bcad802014-05-17 04:52:231305 ]
brettw157d6cf62015-04-02 05:34:431306 all_dependent_configs = [ ":base_win_linker_flags" ]
phosek636bceb32015-10-27 03:36:481307 } else if (!is_nacl || is_nacl_nonsfi) {
brettw@chromium.org7603bbd12013-08-13 17:33:371308 # Non-Windows.
tfarinac7ebe6d2015-12-19 13:55:251309 deps += [ "//base/third_party/libevent" ]
brettw@chromium.org7603bbd12013-08-13 17:33:371310 }
1311
brettwc44e2052015-12-21 22:51:241312 # Desktop Mac.
1313 if (is_mac) {
rsesek4806ea22016-04-22 15:26:401314 libs = [
1315 "ApplicationServices.framework",
1316 "AppKit.framework",
1317 "bsm",
1318 "CoreFoundation.framework",
1319 "IOKit.framework",
1320 "Security.framework",
1321 ]
brettwc44e2052015-12-21 22:51:241322 }
1323
1324 # Mac or iOS.
chinmaygarde533669d2015-06-16 18:51:061325 if (is_mac || is_ios) {
brettw@chromium.org7603bbd12013-08-13 17:33:371326 sources -= [
brettwc44e2052015-12-21 22:51:241327 "memory/shared_memory_posix.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:371328 "native_library_posix.cc",
1329 "strings/sys_string_conversions_posix.cc",
gabbb0d0b92015-03-19 19:08:181330 "threading/platform_thread_internal_posix.cc",
brettw@chromium.org7603bbd12013-08-13 17:33:371331 ]
brettw@chromium.org7603bbd12013-08-13 17:33:371332 } else {
brettwc44e2052015-12-21 22:51:241333 # Non-Mac/ios.
vandebo@chromium.org6d2d92a2014-06-11 07:15:241334 sources -= [
1335 "files/file_path_watcher_fsevents.cc",
1336 "files/file_path_watcher_fsevents.h",
1337 "files/file_path_watcher_kqueue.cc",
1338 "files/file_path_watcher_kqueue.h",
1339 ]
brettw@chromium.org0c30c2f2013-11-27 21:13:111340 }
1341
brettw@chromium.org7603bbd12013-08-13 17:33:371342 # Linux.
1343 if (is_linux) {
brettw43ae0e12015-07-14 22:12:361344 if (is_asan || is_lsan || is_msan || is_tsan) {
1345 # For llvm-sanitizer.
1346 data += [ "//third_party/llvm-build/Release+Asserts/lib/libstdc++.so.6" ]
1347 }
1348
brettw@chromium.orgf38dc102014-02-12 11:34:251349 # TODO(brettw) this will need to be parameterized at some point.
erg9252aff2015-01-20 20:25:261350 linux_configs = []
1351 if (use_glib) {
1352 linux_configs += [ "//build/config/linux:glib" ]
1353 }
brettw@chromium.orgf38dc102014-02-12 11:34:251354
brettwc44e2052015-12-21 22:51:241355 defines += [ "USE_SYMBOLIZE" ]
1356
brettw@chromium.org7603bbd12013-08-13 17:33:371357 configs += linux_configs
brettw@chromium.org365626a2013-12-02 22:18:341358 all_dependent_configs = linux_configs
brettw@chromium.org7603bbd12013-08-13 17:33:371359
brettw@chromium.orga74ddbc2014-05-13 17:41:061360 # These dependencies are not required on Android, and in the case
1361 # of xdg_mime must be excluded due to licensing restrictions.
1362 deps += [
brettwc44e2052015-12-21 22:51:241363 "//base/third_party/symbolize",
brettw@chromium.orga74ddbc2014-05-13 17:41:061364 "//base/third_party/xdg_mime",
1365 "//base/third_party/xdg_user_dirs",
1366 ]
brettw@chromium.org7603bbd12013-08-13 17:33:371367 } else {
1368 # Non-Linux.
1369 sources -= [
brettw@chromium.org7603bbd12013-08-13 17:33:371370 "nix/mime_util_xdg.cc",
1371 "nix/mime_util_xdg.h",
1372 "nix/xdg_util.cc",
1373 "nix/xdg_util.h",
brettw@chromium.org51f425782014-04-11 23:06:171374 ]
cjhopman2fd48fd2014-09-24 00:52:561375
1376 if (!is_android) {
1377 sources -= [
1378 "linux_util.cc",
1379 "linux_util.h",
1380 ]
1381 }
chinmaygarde533669d2015-06-16 18:51:061382 }
1383
1384 # iOS
1385 if (is_ios) {
1386 set_sources_assignment_filter([])
1387
brettwc44e2052015-12-21 22:51:241388 sources -= [
1389 "files/file_path_watcher.cc",
1390 "files/file_path_watcher.h",
1391 "files/file_path_watcher_fsevents.cc",
1392 "files/file_path_watcher_fsevents.h",
1393 "files/file_path_watcher_kqueue.cc",
1394 "files/file_path_watcher_kqueue.h",
1395 "memory/discardable_shared_memory.cc",
1396 "memory/discardable_shared_memory.h",
1397 "message_loop/message_pump_libevent.cc",
1398 "message_loop/message_pump_libevent.h",
1399 "process/kill.cc",
1400 "process/kill.h",
1401 "process/kill_posix.cc",
1402 "process/launch.cc",
1403 "process/launch.h",
1404 "process/launch_posix.cc",
1405 "process/memory.cc",
1406 "process/memory.h",
1407 "process/process_iterator.cc",
1408 "process/process_iterator.h",
1409 "process/process_metrics_posix.cc",
1410 "process/process_posix.cc",
1411 "sync_socket.h",
1412 "sync_socket_posix.cc",
1413 ]
chinmaygarde533669d2015-06-16 18:51:061414 sources += [
chinmaygarde533669d2015-06-16 18:51:061415 "base_paths_mac.h",
1416 "base_paths_mac.mm",
1417 "file_version_info_mac.h",
1418 "file_version_info_mac.mm",
1419 "files/file_util_mac.mm",
1420 "mac/bundle_locations.h",
1421 "mac/bundle_locations.mm",
rsesek73dc3d52015-07-10 19:16:261422 "mac/call_with_eh_frame.cc",
1423 "mac/call_with_eh_frame.h",
chinmaygarde533669d2015-06-16 18:51:061424 "mac/foundation_util.h",
1425 "mac/foundation_util.mm",
chinmaygarde533669d2015-06-16 18:51:061426 "mac/mac_logging.h",
erikchen83e8f8562016-03-01 21:38:201427 "mac/mac_logging.mm",
chinmaygarde533669d2015-06-16 18:51:061428 "mac/mach_logging.cc",
1429 "mac/mach_logging.h",
1430 "mac/objc_property_releaser.h",
1431 "mac/objc_property_releaser.mm",
sdefresnefd6251252016-06-16 11:51:081432 "mac/scoped_block.h",
chinmaygarde533669d2015-06-16 18:51:061433 "mac/scoped_mach_port.cc",
1434 "mac/scoped_mach_port.h",
1435 "mac/scoped_mach_vm.cc",
1436 "mac/scoped_mach_vm.h",
1437 "mac/scoped_nsautorelease_pool.h",
1438 "mac/scoped_nsautorelease_pool.mm",
1439 "mac/scoped_nsobject.h",
sdefresnefd6251252016-06-16 11:51:081440 "mac/scoped_nsobject.mm",
chinmaygarde533669d2015-06-16 18:51:061441 "mac/scoped_objc_class_swizzler.h",
1442 "mac/scoped_objc_class_swizzler.mm",
sdefresnefd6251252016-06-16 11:51:081443 "mac/scoped_typeref.h",
dpranke34d6652e2016-02-20 00:28:191444 "memory/shared_memory_posix.cc",
chinmaygarde533669d2015-06-16 18:51:061445 "message_loop/message_pump_mac.h",
1446 "message_loop/message_pump_mac.mm",
brettwc44e2052015-12-21 22:51:241447 "process/memory_stubs.cc",
chinmaygarde533669d2015-06-16 18:51:061448 "strings/sys_string_conversions_mac.mm",
1449 "threading/platform_thread_mac.mm",
1450 "time/time_mac.cc",
1451 ]
1452
1453 set_sources_assignment_filter(sources_assignment_filter)
brettw@chromium.org51f425782014-04-11 23:06:171454 }
1455
brettw@chromium.orgf38dc102014-02-12 11:34:251456 if (!use_glib) {
1457 sources -= [
1458 "message_loop/message_pump_glib.cc",
1459 "message_loop/message_pump_glib.h",
brettw@chromium.orgf38dc102014-02-12 11:34:251460 ]
brettw43ae0e12015-07-14 22:12:361461 }
1462
infernob86f4f82016-09-02 19:58:341463 if (using_sanitizer) {
brettw43ae0e12015-07-14 22:12:361464 data += [ "//tools/valgrind/asan/" ]
1465 if (is_win) {
1466 data +=
1467 [ "//third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer.exe" ]
1468 } else {
1469 data += [ "//third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer" ]
1470 }
brettw@chromium.orgf38dc102014-02-12 11:34:251471 }
scottmg9126e8d2014-09-10 23:52:151472
1473 configs += [ "//build/config/compiler:wexit_time_destructors" ]
phoglund6a18ffd2015-06-17 09:08:281474 if (!is_debug) {
brettw4cab0f12015-09-14 21:40:011475 configs -= [ "//build/config/compiler:default_optimization" ]
fdegans75b3d092014-09-17 18:35:551476 configs += [ "//build/config/compiler:optimize_max" ]
1477 }
ncbray9099f492015-03-10 22:14:411478
1479 allow_circular_includes_from = public_deps
brettwc44e2052015-12-21 22:51:241480}
1481
1482buildflag_header("debugging_flags") {
1483 header = "debugging_flags.h"
1484 header_dir = "base/debug"
1485 flags = [ "ENABLE_PROFILING=$enable_profiling" ]
brettw@chromium.org7603bbd12013-08-13 17:33:371486}
1487
1488# This is the subset of files from base that should not be used with a dynamic
1489# library. Note that this library cannot depend on base because base depends on
1490# base_static.
brettwb3c2f362015-12-22 18:33:471491static_library("base_static") {
brettw@chromium.org7603bbd12013-08-13 17:33:371492 sources = [
1493 "base_switches.cc",
1494 "base_switches.h",
robliao2ce242f82016-08-11 00:24:141495 "task_scheduler/switches.cc",
1496 "task_scheduler/switches.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371497 "win/pe_image.cc",
1498 "win/pe_image.h",
1499 ]
fdegans75b3d092014-09-17 18:35:551500
rnkaf1fe212016-08-09 19:39:201501 if (is_win) {
1502 # Disable sanitizer coverage in win/pe_image.cc. It is called by the sandbox
1503 # before sanitizer coverage can initialize. http://crbug.com/484711
1504 configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ]
1505 configs +=
1506 [ "//build/config/sanitizers:default_sanitizer_flags_but_coverage" ]
1507 }
1508
phoglund6a18ffd2015-06-17 09:08:281509 if (!is_debug) {
brettw4cab0f12015-09-14 21:40:011510 configs -= [ "//build/config/compiler:default_optimization" ]
fdegans75b3d092014-09-17 18:35:551511 configs += [ "//build/config/compiler:optimize_max" ]
1512 }
brettw@chromium.org7603bbd12013-08-13 17:33:371513}
1514
brettw@chromium.orgcc7ec692014-04-08 17:20:381515component("i18n") {
1516 output_name = "base_i18n"
brettw@chromium.org7603bbd12013-08-13 17:33:371517 sources = [
1518 "i18n/base_i18n_export.h",
mgiuca49ae7c72015-12-04 04:36:481519 "i18n/base_i18n_switches.cc",
1520 "i18n/base_i18n_switches.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371521 "i18n/bidi_line_iterator.cc",
1522 "i18n/bidi_line_iterator.h",
1523 "i18n/break_iterator.cc",
1524 "i18n/break_iterator.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371525 "i18n/case_conversion.cc",
1526 "i18n/case_conversion.h",
brettw@chromium.org8603c5de2014-04-16 20:34:311527 "i18n/char_iterator.cc",
1528 "i18n/char_iterator.h",
Jinsuk Kim70de1702016-08-10 22:23:561529 "i18n/encoding_detection.cc",
1530 "i18n/encoding_detection.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371531 "i18n/file_util_icu.cc",
1532 "i18n/file_util_icu.h",
brettw@chromium.org8603c5de2014-04-16 20:34:311533 "i18n/i18n_constants.cc",
1534 "i18n/i18n_constants.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371535 "i18n/icu_string_conversions.cc",
1536 "i18n/icu_string_conversions.h",
1537 "i18n/icu_util.cc",
1538 "i18n/icu_util.h",
jshin8b581d82015-08-07 10:11:091539 "i18n/message_formatter.cc",
1540 "i18n/message_formatter.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371541 "i18n/number_formatting.cc",
1542 "i18n/number_formatting.h",
1543 "i18n/rtl.cc",
1544 "i18n/rtl.h",
brettw@chromium.org8603c5de2014-04-16 20:34:311545 "i18n/streaming_utf8_validator.cc",
1546 "i18n/streaming_utf8_validator.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371547 "i18n/string_compare.cc",
1548 "i18n/string_compare.h",
1549 "i18n/string_search.cc",
1550 "i18n/string_search.h",
1551 "i18n/time_formatting.cc",
1552 "i18n/time_formatting.h",
brettw@chromium.org8603c5de2014-04-16 20:34:311553 "i18n/timezone.cc",
1554 "i18n/timezone.h",
1555 "i18n/utf8_validator_tables.cc",
1556 "i18n/utf8_validator_tables.h",
brettw@chromium.org7603bbd12013-08-13 17:33:371557 ]
bbudge@chromium.org56696fa82014-01-16 00:24:101558 defines = [ "BASE_I18N_IMPLEMENTATION" ]
1559 configs += [ "//build/config/compiler:wexit_time_destructors" ]
jshin8b581d82015-08-07 10:11:091560 public_deps = [
Jinsuk Kim70de1702016-08-10 22:23:561561 "//third_party/ced",
jshin8b581d82015-08-07 10:11:091562 "//third_party/icu",
1563 ]
brettw@chromium.org7603bbd12013-08-13 17:33:371564 deps = [
1565 ":base",
1566 "//base/third_party/dynamic_annotations",
brettw@chromium.org7603bbd12013-08-13 17:33:371567 ]
fdegans75b3d092014-09-17 18:35:551568
phoglund6a18ffd2015-06-17 09:08:281569 if (!is_debug) {
brettw4cab0f12015-09-14 21:40:011570 configs -= [ "//build/config/compiler:default_optimization" ]
fdegans75b3d092014-09-17 18:35:551571 configs += [ "//build/config/compiler:optimize_max" ]
1572 }
scottmgaf5a5762014-11-08 00:39:401573
brettwd1c719a2015-02-19 23:17:041574 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
1575 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
rsesek02aa51c2016-05-11 02:13:571576
1577 if (is_mac) {
1578 libs = [ "CoreFoundation.framework" ]
1579 }
brettw@chromium.org23549942014-05-16 19:33:081580}
brettw@chromium.orgb1e468f2013-09-10 22:58:021581
brettwf9427f92016-05-05 23:18:551582test("base_perftests") {
1583 sources = [
1584 "message_loop/message_pump_perftest.cc",
dprankedb5527d72015-03-08 04:22:471585
brettwf9427f92016-05-05 23:18:551586 # "test/run_all_unittests.cc",
1587 "threading/thread_perftest.cc",
1588 ]
1589 deps = [
1590 ":base",
1591 "//base/test:test_support",
1592 "//base/test:test_support_perf",
1593 "//testing/gtest",
1594 "//testing/perf",
1595 ]
1596
1597 if (is_android) {
1598 deps += [ "//testing/android/native_test:native_test_native_code" ]
1599 }
1600}
1601
1602test("base_i18n_perftests") {
1603 sources = [
1604 "i18n/streaming_utf8_validator_perftest.cc",
1605 ]
1606 deps = [
1607 ":base",
1608 ":i18n",
1609 "//base/test:test_support",
1610 "//base/test:test_support_perf",
1611 "//testing/gtest",
1612 ]
1613}
1614
1615if (!is_ios) {
1616 executable("build_utf8_validator_tables") {
1617 sources = [
1618 "i18n/build_utf8_validator_tables.cc",
dprankedb5527d72015-03-08 04:22:471619 ]
1620 deps = [
1621 ":base",
brettwf9427f92016-05-05 23:18:551622 "//build/config/sanitizers:deps",
1623 "//build/win:default_exe_manifest",
1624 "//third_party/icu:icuuc",
dprankedb5527d72015-03-08 04:22:471625 ]
dprankedb5527d72015-03-08 04:22:471626 }
1627
brettwf9427f92016-05-05 23:18:551628 executable("check_example") {
dprankedb5527d72015-03-08 04:22:471629 sources = [
brettwf9427f92016-05-05 23:18:551630 "check_example.cc",
dprankedb5527d72015-03-08 04:22:471631 ]
1632 deps = [
1633 ":base",
brettwf9427f92016-05-05 23:18:551634 "//build/config/sanitizers:deps",
1635 "//build/win:default_exe_manifest",
dprankedb5527d72015-03-08 04:22:471636 ]
dprankedb5527d72015-03-08 04:22:471637 }
1638}
1639
brettw@chromium.org23549942014-05-16 19:33:081640source_set("message_loop_tests") {
Brett Wilson0c8745a2014-09-08 22:59:491641 testonly = true
brettw@chromium.org23549942014-05-16 19:33:081642 sources = [
1643 "message_loop/message_loop_test.cc",
1644 "message_loop/message_loop_test.h",
1645 ]
1646
1647 deps = [
1648 ":base",
1649 "//testing/gtest",
1650 ]
1651}
1652
wfhb820f172015-02-25 03:02:391653if (is_win) {
Will Harris0fabf082015-02-26 21:20:071654 # Target to manually rebuild pe_image_test.dll which is checked into
1655 # base/test/data/pe_image.
wfhb820f172015-02-25 03:02:391656 shared_library("pe_image_test") {
1657 sources = [
1658 "win/pe_image_test.cc",
1659 ]
1660 ldflags = [
1661 "/DELAYLOAD:cfgmgr32.dll",
1662 "/DELAYLOAD:shell32.dll",
1663 "/SUBSYSTEM:WINDOWS",
1664 ]
1665 libs = [
1666 "cfgmgr32.lib",
1667 "shell32.lib",
1668 ]
brettwba7a73d2015-08-31 22:17:391669 deps = [
1670 "//build/config/sanitizers:deps",
1671 ]
wfhb820f172015-02-25 03:02:391672 }
wittmanf2d56442015-11-02 22:38:401673
wfh8f20e832016-03-12 02:09:591674 loadable_module("scoped_handle_test_dll") {
1675 sources = [
1676 "win/scoped_handle_test_dll.cc",
1677 ]
1678 deps = [
1679 ":base",
sebmarchand82ef02042016-06-08 15:56:321680 "//base/win:base_win_features",
wfh8f20e832016-03-12 02:09:591681 ]
1682 }
1683
agrievec5f01db552016-06-08 16:12:511684 if (current_cpu == "x64") {
wittmanf2d56442015-11-02 22:38:401685 # Must be a shared library so that it can be unloaded during testing.
1686 shared_library("base_profiler_test_support_library") {
1687 sources = [
1688 "profiler/test_support_library.cc",
1689 ]
1690 deps = [
1691 "//build/config/sanitizers:deps",
1692 ]
1693 }
1694 }
wfhb820f172015-02-25 03:02:391695}
1696
sdefresne012857872016-03-16 10:55:371697bundle_data("base_unittests_bundle_data") {
sdefresnefd1d0392016-03-19 14:20:441698 testonly = true
sdefresne012857872016-03-16 10:55:371699 sources = [
sdefresnec2c4d912016-04-19 07:52:001700 "test/data/file_util/binary_file.bin",
1701 "test/data/file_util/binary_file_diff.bin",
1702 "test/data/file_util/binary_file_same.bin",
1703 "test/data/file_util/blank_line.txt",
1704 "test/data/file_util/blank_line_crlf.txt",
1705 "test/data/file_util/crlf.txt",
1706 "test/data/file_util/different.txt",
1707 "test/data/file_util/different_first.txt",
1708 "test/data/file_util/different_last.txt",
1709 "test/data/file_util/empty1.txt",
1710 "test/data/file_util/empty2.txt",
1711 "test/data/file_util/first1.txt",
1712 "test/data/file_util/first2.txt",
1713 "test/data/file_util/original.txt",
1714 "test/data/file_util/same.txt",
1715 "test/data/file_util/same_length.txt",
1716 "test/data/file_util/shortened.txt",
1717 "test/data/json/bom_feff.json",
1718 "test/data/serializer_nested_test.json",
1719 "test/data/serializer_test.json",
1720 "test/data/serializer_test_nowhitespace.json",
sdefresne012857872016-03-16 10:55:371721 ]
1722 outputs = [
1723 "{{bundle_resources_dir}}/" +
1724 "{{source_root_relative_dir}}/{{source_file_part}}",
1725 ]
sdefresnefd6251252016-06-16 11:51:081726}
1727
1728if (is_ios || is_mac) {
1729 source_set("base_unittests_arc") {
1730 testonly = true
1731 set_sources_assignment_filter([])
1732 sources = [
1733 "mac/bind_objc_block_unittest_arc.mm",
1734 "mac/scoped_nsobject_unittest_arc.mm",
1735 ]
1736 set_sources_assignment_filter(sources_assignment_filter)
1737 configs += [ "//build/config/compiler:enable_arc" ]
1738 deps = [
1739 ":base",
1740 "//testing/gtest",
1741 ]
1742 }
sdefresne012857872016-03-16 10:55:371743}
1744
brettw@chromium.org23549942014-05-16 19:33:081745test("base_unittests") {
1746 sources = [
ssid6ce6fb5a2015-12-05 00:47:011747 "allocator/tcmalloc_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081748 "android/application_status_listener_unittest.cc",
qinmin120a1552014-11-26 03:02:161749 "android/content_uri_utils_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081750 "android/jni_android_unittest.cc",
1751 "android/jni_array_unittest.cc",
1752 "android/jni_string_unittest.cc",
lizeb0a830d22015-04-29 11:51:491753 "android/library_loader/library_prefetcher_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081754 "android/path_utils_unittest.cc",
1755 "android/scoped_java_ref_unittest.cc",
1756 "android/sys_utils_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081757 "at_exit_unittest.cc",
1758 "atomicops_unittest.cc",
1759 "barrier_closure_unittest.cc",
1760 "base64_unittest.cc",
peter2b9a5dc62015-10-29 11:35:151761 "base64url_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081762 "big_endian_unittest.cc",
tzik001315c2016-08-29 14:44:431763 "bind_helpers_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081764 "bind_unittest.cc",
tsniatowski474f4a52016-04-28 20:53:201765 "bit_cast_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081766 "bits_unittest.cc",
1767 "build_time_unittest.cc",
1768 "callback_helpers_unittest.cc",
1769 "callback_list_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081770 "callback_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081771 "cancelable_callback_unittest.cc",
1772 "command_line_unittest.cc",
mdempskyae846882014-09-29 18:48:121773 "containers/adapters_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081774 "containers/hash_tables_unittest.cc",
1775 "containers/linked_list_unittest.cc",
1776 "containers/mru_cache_unittest.cc",
kcwu213a4db2015-04-28 18:54:281777 "containers/scoped_ptr_hash_map_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081778 "containers/small_map_unittest.cc",
1779 "containers/stack_container_unittest.cc",
1780 "cpu_unittest.cc",
bcwhited9705962016-08-10 03:10:031781 "debug/activity_analyzer_unittest.cc",
1782 "debug/activity_tracker_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081783 "debug/crash_logging_unittest.cc",
rvargas9e9ce3c52014-12-04 19:47:221784 "debug/debugger_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081785 "debug/leak_tracker_unittest.cc",
1786 "debug/proc_maps_linux_unittest.cc",
siggi46e1b072016-09-09 16:43:311787 "debug/scoped_thread_heap_usage_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081788 "debug/stack_trace_unittest.cc",
skyostil@chromium.orgad8fb452014-08-14 14:26:091789 "debug/task_annotator_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081790 "deferred_sequenced_task_runner_unittest.cc",
1791 "environment_unittest.cc",
jwd07b90382016-05-06 20:39:421792 "feature_list_unittest.cc",
fdoray5b7de9e2016-06-29 23:13:111793 "file_version_info_win_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081794 "files/dir_reader_posix_unittest.cc",
fdorayf9f6c1e92016-09-15 13:23:241795 "files/file_descriptor_watcher_posix_unittest.cc",
shesse66da3f2015-12-10 22:12:171796 "files/file_locking_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081797 "files/file_path_unittest.cc",
mnisslerc2c9bb082015-04-10 21:02:511798 "files/file_path_watcher_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081799 "files/file_proxy_unittest.cc",
1800 "files/file_unittest.cc",
1801 "files/file_util_proxy_unittest.cc",
brettw@chromium.orge3177dd52014-08-13 20:22:141802 "files/file_util_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081803 "files/important_file_writer_unittest.cc",
brettwd649f6b2015-08-18 20:58:511804 "files/memory_mapped_file_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081805 "files/scoped_temp_dir_unittest.cc",
1806 "gmock_unittest.cc",
1807 "guid_unittest.cc",
1808 "hash_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081809 "i18n/break_iterator_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081810 "i18n/case_conversion_unittest.cc",
satoruxb7ce3492015-02-13 07:13:051811 "i18n/char_iterator_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081812 "i18n/file_util_icu_unittest.cc",
1813 "i18n/icu_string_conversions_unittest.cc",
jshin8b581d82015-08-07 10:11:091814 "i18n/message_formatter_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081815 "i18n/number_formatting_unittest.cc",
1816 "i18n/rtl_unittest.cc",
1817 "i18n/streaming_utf8_validator_unittest.cc",
1818 "i18n/string_search_unittest.cc",
1819 "i18n/time_formatting_unittest.cc",
1820 "i18n/timezone_unittest.cc",
satoruxb7ce3492015-02-13 07:13:051821 "id_map_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081822 "ios/device_util_unittest.mm",
drogerc67626592014-12-12 17:39:021823 "ios/weak_nsobject_unittest.mm",
brettw@chromium.org23549942014-05-16 19:33:081824 "json/json_parser_unittest.cc",
1825 "json/json_reader_unittest.cc",
1826 "json/json_value_converter_unittest.cc",
1827 "json/json_value_serializer_unittest.cc",
1828 "json/json_writer_unittest.cc",
1829 "json/string_escape_unittest.cc",
1830 "lazy_instance_unittest.cc",
1831 "logging_unittest.cc",
1832 "mac/bind_objc_block_unittest.mm",
rsesek73dc3d52015-07-10 19:16:261833 "mac/call_with_eh_frame_unittest.mm",
rsesek6cba5922015-05-13 19:49:101834 "mac/dispatch_source_mach_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081835 "mac/foundation_util_unittest.mm",
brettw@chromium.org23549942014-05-16 19:33:081836 "mac/mac_util_unittest.mm",
amistry11ca9a52016-03-04 02:04:491837 "mac/mach_port_broker_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081838 "mac/objc_property_releaser_unittest.mm",
1839 "mac/scoped_nsobject_unittest.mm",
tapted@chromium.org0b7f85232014-08-12 12:03:481840 "mac/scoped_objc_class_swizzler_unittest.mm",
brettw@chromium.org23549942014-05-16 19:33:081841 "mac/scoped_sending_event_unittest.mm",
1842 "md5_unittest.cc",
1843 "memory/aligned_memory_unittest.cc",
revemancb5a66af2014-10-25 00:34:391844 "memory/discardable_shared_memory_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081845 "memory/linked_ptr_unittest.cc",
brucedawson443e67e2016-05-09 20:02:001846 "memory/memory_pressure_listener_unittest.cc",
scottmgdab35482015-05-21 22:13:441847 "memory/memory_pressure_monitor_chromeos_unittest.cc",
thakis63411b42016-05-13 16:23:291848 "memory/memory_pressure_monitor_mac_unittest.cc",
scottmgdab35482015-05-21 22:13:441849 "memory/memory_pressure_monitor_win_unittest.cc",
dcheng2ba07d1f2015-12-14 20:07:141850 "memory/ptr_util_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081851 "memory/ref_counted_memory_unittest.cc",
1852 "memory/ref_counted_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081853 "memory/scoped_vector_unittest.cc",
erikchen0d779702015-10-02 23:49:261854 "memory/shared_memory_mac_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081855 "memory/shared_memory_unittest.cc",
erikchen4b12c0a2016-02-19 03:15:431856 "memory/shared_memory_win_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081857 "memory/singleton_unittest.cc",
1858 "memory/weak_ptr_unittest.cc",
skyostilb1f02992015-06-19 17:22:541859 "message_loop/message_loop_task_runner_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081860 "message_loop/message_loop_unittest.cc",
1861 "message_loop/message_pump_glib_unittest.cc",
1862 "message_loop/message_pump_io_ios_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081863 "metrics/bucket_ranges_unittest.cc",
1864 "metrics/field_trial_unittest.cc",
1865 "metrics/histogram_base_unittest.cc",
1866 "metrics/histogram_delta_serialization_unittest.cc",
brettwd649f6b2015-08-18 20:58:511867 "metrics/histogram_macros_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081868 "metrics/histogram_snapshot_manager_unittest.cc",
1869 "metrics/histogram_unittest.cc",
bcwhite502b2292015-11-30 22:31:011870 "metrics/metrics_hashes_unittest.cc",
bcwhite33d95806a2016-03-16 02:37:451871 "metrics/persistent_histogram_allocator_unittest.cc",
bcwhite34ae4982016-01-20 13:44:461872 "metrics/persistent_memory_allocator_unittest.cc",
bcwhite3dd85c4f2016-03-17 13:21:561873 "metrics/persistent_sample_map_unittest.cc",
satoruxb7ce3492015-02-13 07:13:051874 "metrics/sample_map_unittest.cc",
1875 "metrics/sample_vector_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081876 "metrics/sparse_histogram_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081877 "metrics/statistics_recorder_unittest.cc",
xhwang6a01b392015-11-10 07:48:301878 "native_library_unittest.cc",
satoruxb7ce3492015-02-13 07:13:051879 "numerics/safe_numerics_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081880 "observer_list_unittest.cc",
mlamouri53f6b252016-04-19 17:27:011881 "optional_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081882 "os_compat_android_unittest.cc",
1883 "path_service_unittest.cc",
1884 "pickle_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081885 "posix/file_descriptor_shuffle_unittest.cc",
1886 "posix/unix_domain_socket_linux_unittest.cc",
1887 "power_monitor/power_monitor_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081888 "process/memory_unittest.cc",
1889 "process/memory_unittest_mac.h",
1890 "process/memory_unittest_mac.mm",
1891 "process/process_metrics_unittest.cc",
1892 "process/process_metrics_unittest_ios.cc",
rvargas079d1842014-10-17 22:32:161893 "process/process_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081894 "process/process_util_unittest.cc",
wittmanb450e1972015-03-20 22:52:191895 "profiler/stack_sampling_profiler_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081896 "profiler/tracked_time_unittest.cc",
1897 "rand_util_unittest.cc",
fdoraya4f28ec2016-06-10 00:08:581898 "run_loop_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081899 "scoped_clear_errno_unittest.cc",
1900 "scoped_generic_unittest.cc",
1901 "scoped_native_library_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081902 "security_unittest.cc",
1903 "sequence_checker_unittest.cc",
fdorayeed5fa72016-07-26 22:28:451904 "sequence_token_unittest.cc",
tzikedbd3862016-08-15 15:12:121905 "sequenced_task_runner_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081906 "sha1_unittest.cc",
1907 "stl_util_unittest.cc",
1908 "strings/nullable_string16_unittest.cc",
brettwd97eede2015-07-06 22:09:001909 "strings/pattern_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081910 "strings/safe_sprintf_unittest.cc",
1911 "strings/string16_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081912 "strings/string_number_conversions_unittest.cc",
1913 "strings/string_piece_unittest.cc",
1914 "strings/string_split_unittest.cc",
1915 "strings/string_tokenizer_unittest.cc",
1916 "strings/string_util_unittest.cc",
1917 "strings/stringize_macros_unittest.cc",
satoruxb7ce3492015-02-13 07:13:051918 "strings/stringprintf_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081919 "strings/sys_string_conversions_mac_unittest.mm",
1920 "strings/sys_string_conversions_unittest.cc",
1921 "strings/utf_offset_string_conversions_unittest.cc",
1922 "strings/utf_string_conversions_unittest.cc",
jyasskin@chromium.org1f7d92af2014-05-29 20:10:361923 "supports_user_data_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081924 "sync_socket_unittest.cc",
fdorayef191122016-07-25 14:43:171925 "synchronization/atomic_flag_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081926 "synchronization/condition_variable_unittest.cc",
1927 "synchronization/lock_unittest.cc",
amistrydf6b66ee2016-06-01 02:52:441928 "synchronization/read_write_lock_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081929 "synchronization/waitable_event_unittest.cc",
1930 "synchronization/waitable_event_watcher_unittest.cc",
robert.bradford1a09b1772016-06-17 23:26:111931 "sys_byteorder_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081932 "sys_info_unittest.cc",
1933 "system_monitor/system_monitor_unittest.cc",
1934 "task/cancelable_task_tracker_unittest.cc",
1935 "task_runner_util_unittest.cc",
fdorayc308c572016-04-20 01:39:211936 "task_scheduler/delayed_task_manager_unittest.cc",
fdoray6477fbd2016-03-18 22:44:551937 "task_scheduler/priority_queue_unittest.cc",
robliaob6f61ce2016-03-14 21:32:361938 "task_scheduler/scheduler_lock_unittest.cc",
robliao3d93b692016-05-12 18:27:151939 "task_scheduler/scheduler_service_thread_unittest.cc",
robliao624260a2016-06-22 18:16:251940 "task_scheduler/scheduler_worker_pool_impl_unittest.cc",
robliao7a584392016-06-22 18:36:411941 "task_scheduler/scheduler_worker_stack_unittest.cc",
1942 "task_scheduler/scheduler_worker_unittest.cc",
fdorayc48d5f092016-03-17 01:57:421943 "task_scheduler/sequence_sort_key_unittest.cc",
1944 "task_scheduler/sequence_unittest.cc",
fdoray4151cea2016-05-06 15:39:141945 "task_scheduler/task_scheduler_impl_unittest.cc",
fdoray0fc7a6662016-03-29 17:12:531946 "task_scheduler/task_tracker_unittest.cc",
fdoray44fda212016-04-25 16:24:461947 "task_scheduler/test_task_factory.cc",
1948 "task_scheduler/test_task_factory.h",
brettw@chromium.org23549942014-05-16 19:33:081949 "template_util_unittest.cc",
mlerman@chromium.orge7e9c862014-08-21 22:00:381950 "test/histogram_tester_unittest.cc",
brettwd649f6b2015-08-18 20:58:511951 "test/test_pending_task_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081952 "test/test_reg_util_win_unittest.cc",
1953 "test/trace_event_analyzer_unittest.cc",
bruthig965a17dd2015-04-14 00:01:131954 "test/user_action_tester_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081955 "threading/non_thread_safe_unittest.cc",
1956 "threading/platform_thread_unittest.cc",
fdoray2b295de2016-07-29 22:49:491957 "threading/post_task_and_reply_impl_unittest.cc",
bauerb8a408722015-10-30 09:05:311958 "threading/sequenced_task_runner_handle_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081959 "threading/sequenced_worker_pool_unittest.cc",
1960 "threading/simple_thread_unittest.cc",
1961 "threading/thread_checker_unittest.cc",
1962 "threading/thread_collision_warner_unittest.cc",
1963 "threading/thread_id_name_manager_unittest.cc",
1964 "threading/thread_local_storage_unittest.cc",
1965 "threading/thread_local_unittest.cc",
1966 "threading/thread_unittest.cc",
1967 "threading/watchdog_unittest.cc",
1968 "threading/worker_pool_posix_unittest.cc",
1969 "threading/worker_pool_unittest.cc",
1970 "time/pr_time_unittest.cc",
1971 "time/time_unittest.cc",
1972 "time/time_win_unittest.cc",
1973 "timer/hi_res_timer_manager_unittest.cc",
1974 "timer/mock_timer_unittest.cc",
1975 "timer/timer_unittest.cc",
1976 "tools_sanity_unittest.cc",
skyostile69ffec72016-03-21 21:53:101977 "trace_event/blame_context_unittest.cc",
brettwc44e2052015-12-21 22:51:241978 "trace_event/heap_profiler_allocation_context_tracker_unittest.cc",
1979 "trace_event/heap_profiler_allocation_register_unittest.cc",
1980 "trace_event/heap_profiler_heap_dump_writer_unittest.cc",
1981 "trace_event/heap_profiler_stack_frame_deduplicator_unittest.cc",
1982 "trace_event/heap_profiler_type_name_deduplicator_unittest.cc",
1983 "trace_event/java_heap_dump_provider_android_unittest.cc",
1984 "trace_event/memory_allocator_dump_unittest.cc",
1985 "trace_event/memory_dump_manager_unittest.cc",
1986 "trace_event/process_memory_dump_unittest.cc",
brettwc44e2052015-12-21 22:51:241987 "trace_event/trace_config_unittest.cc",
1988 "trace_event/trace_event_argument_unittest.cc",
1989 "trace_event/trace_event_synthetic_delay_unittest.cc",
1990 "trace_event/trace_event_system_stats_monitor_unittest.cc",
1991 "trace_event/trace_event_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081992 "tracked_objects_unittest.cc",
1993 "tuple_unittest.cc",
tguilbert4a5ac602016-09-19 21:11:251994 "unguessable_token_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:081995 "values_unittest.cc",
1996 "version_unittest.cc",
1997 "vlog_unittest.cc",
1998 "win/dllmain.cc",
1999 "win/enum_variant_unittest.cc",
2000 "win/event_trace_consumer_unittest.cc",
2001 "win/event_trace_controller_unittest.cc",
2002 "win/event_trace_provider_unittest.cc",
2003 "win/i18n_unittest.cc",
2004 "win/iunknown_impl_unittest.cc",
2005 "win/message_window_unittest.cc",
2006 "win/object_watcher_unittest.cc",
2007 "win/pe_image_unittest.cc",
2008 "win/registry_unittest.cc",
2009 "win/scoped_bstr_unittest.cc",
2010 "win/scoped_comptr_unittest.cc",
brucedawson84f30fe2015-09-11 03:08:292011 "win/scoped_handle_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:082012 "win/scoped_process_information_unittest.cc",
2013 "win/scoped_variant_unittest.cc",
2014 "win/shortcut_unittest.cc",
2015 "win/startup_information_unittest.cc",
pmonette050187d62016-04-14 18:17:032016 "win/wait_chain_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:082017 "win/win_util_unittest.cc",
scottmgd68b1e12016-03-12 00:07:172018 "win/windows_version_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:082019 "win/wrapped_window_proc_unittest.cc",
2020 ]
2021
krasin59d37182016-07-13 03:24:342022 defines = []
2023
brettw@chromium.org23549942014-05-16 19:33:082024 deps = [
2025 ":base",
2026 ":i18n",
2027 ":message_loop_tests",
siggi25da2db2016-07-18 14:37:442028 "//base/allocator:features",
rockot596a0dd2016-08-26 00:57:512029 "//base/test:native_library_test_utils",
gsenntonebe2e2032016-08-18 22:34:122030 "//base/test:run_all_base_unittests",
brettw@chromium.org23549942014-05-16 19:33:082031 "//base/test:test_support",
2032 "//base/third_party/dynamic_annotations",
2033 "//testing/gmock",
2034 "//testing/gtest",
2035 "//third_party/icu",
2036 ]
primiano717238e2016-01-20 18:51:262037
rockot596a0dd2016-08-26 00:57:512038 data_deps = [
2039 "//base/test:test_shared_library",
2040 ]
2041
sdefresnefd6251252016-06-16 11:51:082042 if (is_ios || is_mac) {
2043 deps += [ ":base_unittests_arc" ]
2044 }
2045
sdefresne012857872016-03-16 10:55:372046 public_deps = [
2047 ":base_unittests_bundle_data",
2048 ]
2049
primianoe97b9202016-01-21 14:38:372050 # Some unittests depend on the ALLOCATOR_SHIM macro.
2051 configs += [ "//base/allocator:allocator_shim_define" ]
2052
dpranked8113582015-06-05 20:08:252053 data = [
2054 "test/data/",
dpranked8113582015-06-05 20:08:252055 ]
2056
halliwell2a7adab2015-03-10 01:51:262057 # Allow more direct string conversions on platforms with native utf8
2058 # strings
halliwell50ea9182016-05-18 03:19:512059 if (is_mac || is_ios || is_chromeos || is_chromecast) {
krasin59d37182016-07-13 03:24:342060 defines += [ "SYSTEM_NATIVE_UTF8" ]
halliwell2a7adab2015-03-10 01:51:262061 }
brettw@chromium.org23549942014-05-16 19:33:082062
qsrfb5251d12015-01-21 15:57:222063 if (is_android) {
agrieve97176362015-12-01 16:36:192064 deps += [
qsrfb5251d12015-01-21 15:57:222065 ":base_java",
2066 ":base_java_unittest_support",
agrieveea362d32015-12-30 21:54:142067 "//base/android/jni_generator:jni_generator_tests",
qsrfb5251d12015-01-21 15:57:222068 ]
2069 }
2070
brettw@chromium.org23549942014-05-16 19:33:082071 if (is_ios) {
2072 sources -= [
shesse66da3f2015-12-10 22:12:172073 "files/file_locking_unittest.cc",
sdefresned8143e72015-09-11 15:16:102074 "files/file_path_watcher_unittest.cc",
dpranke2a294622015-08-07 05:23:012075 "memory/discardable_shared_memory_unittest.cc",
2076 "memory/shared_memory_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:082077 "process/memory_unittest.cc",
rvargas079d1842014-10-17 22:32:162078 "process/process_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:082079 "process/process_util_unittest.cc",
ellyjonesb0f73622015-09-24 15:48:362080 "sync_socket_unittest.cc",
brettw@chromium.org23549942014-05-16 19:33:082081 ]
2082
2083 # Pull in specific Mac files for iOS (which have been filtered out by file
2084 # name rules).
2085 set_sources_assignment_filter([])
2086 sources += [
2087 "mac/bind_objc_block_unittest.mm",
2088 "mac/foundation_util_unittest.mm",
2089 "mac/objc_property_releaser_unittest.mm",
2090 "mac/scoped_nsobject_unittest.mm",
dpranke2a294622015-08-07 05:23:012091 "strings/sys_string_conversions_mac_unittest.mm",
brettw@chromium.org23549942014-05-16 19:33:082092 ]
2093 set_sources_assignment_filter(sources_assignment_filter)
2094
2095 # TODO(GYP): dep on copy_test_data_ios action.
brettw@chromium.orgb1e468f2013-09-10 22:58:022096 }
2097
rsesekdbb69c72016-05-11 17:26:352098 if (is_mac) {
2099 libs = [
2100 "CoreFoundation.framework",
2101 "Foundation.framework",
2102 ]
2103 }
2104
brettw@chromium.org23549942014-05-16 19:33:082105 if (is_linux) {
mostynb51f51072016-02-24 20:43:402106 if (is_desktop_linux) {
2107 sources += [ "nix/xdg_util_unittest.cc" ]
2108 }
brettw5e6333012015-12-14 23:25:542109
icoolidge9a4f22d2015-04-07 19:28:092110 deps += [ "//base/test:malloc_wrapper" ]
2111
brettw5e6333012015-12-14 23:25:542112 if (!is_component_build) {
2113 # Set rpath to find libmalloc_wrapper.so even in a non-component build.
2114 configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
2115 }
oshima94bef8d2016-01-21 23:52:212116 }
2117
mostynb79a07e32016-02-23 19:28:512118 if (!use_glib) {
brettw@chromium.org23549942014-05-16 19:33:082119 sources -= [ "message_loop/message_pump_glib_unittest.cc" ]
2120 }
2121
dpranke2a294622015-08-07 05:23:012122 if (is_posix && !is_ios) {
brettw@chromium.org7bcad802014-05-17 04:52:232123 sources += [ "message_loop/message_pump_libevent_unittest.cc" ]
tfarinac7ebe6d2015-12-19 13:55:252124 deps += [ "//base/third_party/libevent" ]
brettw@chromium.org23549942014-05-16 19:33:082125 }
2126
2127 if (is_android) {
jbudorick6ab224952015-04-09 21:51:552128 deps += [ "//testing/android/native_test:native_test_native_code" ]
brettw@chromium.org23549942014-05-16 19:33:082129 set_sources_assignment_filter([])
brettwc44e2052015-12-21 22:51:242130 sources += [
2131 "debug/proc_maps_linux_unittest.cc",
2132 "trace_event/trace_event_android_unittest.cc",
2133 ]
brettw@chromium.org23549942014-05-16 19:33:082134 set_sources_assignment_filter(sources_assignment_filter)
wfhb820f172015-02-25 03:02:392135 }
2136
wfh8f20e832016-03-12 02:09:592137 if (is_win) {
2138 deps += [ "//base:scoped_handle_test_dll" ]
agrievec5f01db552016-06-08 16:12:512139 if (current_cpu == "x64") {
wfh8f20e832016-03-12 02:09:592140 sources += [ "profiler/win32_stack_frame_unwinder_unittest.cc" ]
2141 deps += [ ":base_profiler_test_support_library" ]
2142 }
wittman858bdfa2015-10-07 17:49:272143 }
2144
primiano4e68ed22016-03-09 20:13:442145 if (use_experimental_allocator_shim) {
2146 sources += [ "allocator/allocator_shim_unittest.cc" ]
2147 }
2148
brettwd1c719a2015-02-19 23:17:042149 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
2150 configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
brettw43ae0e12015-07-14 22:12:362151
2152 # Symbols for crashes when running tests on swarming.
2153 if (symbol_level > 0) {
2154 if (is_win) {
2155 data += [ "$root_out_dir/base_unittests.exe.pdb" ]
2156 } else if (is_mac) {
dprankede2945b2016-04-15 22:14:132157 # TODO(crbug.com/330301): make this conditional on mac_strip_release.
2158 # data += [ "$root_out_dir/base_unittests.dSYM/" ]
brettw43ae0e12015-07-14 22:12:362159 }
wfh5556e562016-02-02 03:10:012160 }
krasin59d37182016-07-13 03:24:342161
2162 if (use_cfi_cast) {
2163 # TODO(krasin): remove CFI_CAST_CHECK, see https://crbug.com/626794.
2164 defines += [ "CFI_CAST_CHECK" ]
2165 }
brettw@chromium.org7603bbd12013-08-13 17:33:372166}
cjhopman@chromium.org928e36d2014-04-18 00:50:102167
zforman08d91b72016-02-12 06:23:422168action("build_date") {
2169 script = "//build/write_build_date_header.py"
2170
2171 # Force recalculation if there's been a change.
2172 inputs = [
2173 "//build/util/LASTCHANGE",
2174 ]
2175 outputs = [
2176 "$target_gen_dir/generated_build_date.h",
2177 ]
2178
2179 args =
2180 [ rebase_path("$target_gen_dir/generated_build_date.h", root_build_dir) ]
2181
2182 if (is_official_build) {
2183 args += [ "official" ]
2184 } else {
2185 args += [ "default" ]
2186 }
2187
2188 if (override_build_date != "N/A") {
2189 args += [ override_build_date ]
2190 }
2191}
2192
tzik0137dc5d42015-12-17 05:29:222193if (enable_nocompile_tests) {
2194 nocompile_test("base_nocompile_tests") {
2195 sources = [
2196 "bind_unittest.nc",
2197 "callback_list_unittest.nc",
2198 "callback_unittest.nc",
tzik0137dc5d42015-12-17 05:29:222199 "memory/weak_ptr_unittest.nc",
2200 ]
2201
2202 deps = [
2203 ":base",
2204 "//base/test:run_all_unittests",
2205 "//testing/gtest",
2206 ]
2207 }
2208}
2209
cjhopman@chromium.org928e36d2014-04-18 00:50:102210if (is_android) {
cjhopman394dfd12014-09-09 08:55:542211 # GYP: //base.gyp:base_jni_headers
cjhopman@chromium.org928e36d2014-04-18 00:50:102212 generate_jni("base_jni_headers") {
2213 sources = [
kkimlabs30c682a2015-02-27 22:36:562214 "android/java/src/org/chromium/base/AnimationFrameTimeHistogram.java",
agrieve3b864c92015-05-27 18:08:382215 "android/java/src/org/chromium/base/ApkAssets.java",
gab97c50ac2015-03-06 20:41:432216 "android/java/src/org/chromium/base/ApplicationStatus.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102217 "android/java/src/org/chromium/base/BuildInfo.java",
tedchoc7efe9792016-05-21 00:35:492218 "android/java/src/org/chromium/base/Callback.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102219 "android/java/src/org/chromium/base/CommandLine.java",
2220 "android/java/src/org/chromium/base/ContentUriUtils.java",
torne961a4882015-11-24 10:30:582221 "android/java/src/org/chromium/base/ContextUtils.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102222 "android/java/src/org/chromium/base/CpuFeatures.java",
lizebcac088a2016-07-19 13:34:502223 "android/java/src/org/chromium/base/EarlyTraceEvent.java",
mnaganov@chromium.org86936532014-06-12 08:36:082224 "android/java/src/org/chromium/base/EventLog.java",
cjhopman@chromium.orga5d20a22014-07-12 04:59:222225 "android/java/src/org/chromium/base/FieldTrialList.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102226 "android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
mkosiba@chromium.orgd30dd6e2014-08-21 16:37:322227 "android/java/src/org/chromium/base/JNIUtils.java",
ppidde405ee62015-01-22 01:12:512228 "android/java/src/org/chromium/base/JavaHandlerThread.java",
yfriedman38b461382014-10-20 19:40:162229 "android/java/src/org/chromium/base/LocaleUtils.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102230 "android/java/src/org/chromium/base/MemoryPressureListener.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102231 "android/java/src/org/chromium/base/PathService.java",
2232 "android/java/src/org/chromium/base/PathUtils.java",
2233 "android/java/src/org/chromium/base/PowerMonitor.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102234 "android/java/src/org/chromium/base/SysUtils.java",
ppidde405ee62015-01-22 01:12:512235 "android/java/src/org/chromium/base/SystemMessageHandler.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102236 "android/java/src/org/chromium/base/ThreadUtils.java",
2237 "android/java/src/org/chromium/base/TraceEvent.java",
ppidde405ee62015-01-22 01:12:512238 "android/java/src/org/chromium/base/library_loader/LibraryLoader.java",
2239 "android/java/src/org/chromium/base/metrics/RecordHistogram.java",
pkotwicz40c037c12015-04-09 16:30:312240 "android/java/src/org/chromium/base/metrics/RecordUserAction.java",
cjhopman@chromium.org928e36d2014-04-18 00:50:102241 ]
ssid17c796f2015-04-22 17:48:012242
brettw717185d2015-09-18 19:58:572243 public_deps = [
ssid17c796f2015-04-22 17:48:012244 ":android_runtime_jni_headers",
2245 ]
2246
cjhopman@chromium.org928e36d2014-04-18 00:50:102247 jni_package = "base"
2248 }
cjhopman@chromium.org6fad6032014-05-26 04:01:472249
ssid17c796f2015-04-22 17:48:012250 # GYP: //base.gyp:android_runtime_jni_headers
2251 generate_jar_jni("android_runtime_jni_headers") {
2252 jni_package = "base"
2253 classes = [ "java/lang/Runtime.class" ]
jdduke130c6bf9d2015-08-13 18:49:222254 }
2255
cjhopman394dfd12014-09-09 08:55:542256 # GYP: //base.gyp:base_java
cjhopman@chromium.org8322fa92014-07-02 10:46:462257 android_library("base_java") {
2258 srcjar_deps = [
mkosibadfdc7fb22014-10-23 13:56:122259 ":base_android_java_enums_srcjar",
wnwenb0d63142016-02-16 21:29:502260 ":base_build_config_gen",
cjhopman@chromium.org8322fa92014-07-02 10:46:462261 ":base_native_libraries_gen",
2262 ]
2263
2264 deps = [
peconn2e675b52016-08-01 15:56:192265 "//third_party/android_tools:android_support_annotations_java",
jbudorickf091dcb2015-08-25 21:36:592266 "//third_party/android_tools:android_support_multidex_java",
scottmg83c06f102014-12-03 07:25:362267 "//third_party/jsr-305:jsr_305_javalib",
cjhopman@chromium.org8322fa92014-07-02 10:46:462268 ]
2269
agrieve696e6a52016-03-23 19:54:452270 java_files = [
2271 "android/java/src/org/chromium/base/ActivityState.java",
2272 "android/java/src/org/chromium/base/AnimationFrameTimeHistogram.java",
2273 "android/java/src/org/chromium/base/ApiCompatibilityUtils.java",
2274 "android/java/src/org/chromium/base/ApkAssets.java",
2275 "android/java/src/org/chromium/base/ApplicationStatus.java",
2276 "android/java/src/org/chromium/base/BaseChromiumApplication.java",
2277 "android/java/src/org/chromium/base/BaseSwitches.java",
2278 "android/java/src/org/chromium/base/BuildInfo.java",
2279 "android/java/src/org/chromium/base/Callback.java",
2280 "android/java/src/org/chromium/base/CollectionUtil.java",
2281 "android/java/src/org/chromium/base/CommandLine.java",
2282 "android/java/src/org/chromium/base/CommandLineInitUtil.java",
2283 "android/java/src/org/chromium/base/ContentUriUtils.java",
2284 "android/java/src/org/chromium/base/ContextUtils.java",
2285 "android/java/src/org/chromium/base/CpuFeatures.java",
lizebcac088a2016-07-19 13:34:502286 "android/java/src/org/chromium/base/EarlyTraceEvent.java",
agrieve696e6a52016-03-23 19:54:452287 "android/java/src/org/chromium/base/EventLog.java",
2288 "android/java/src/org/chromium/base/FieldTrialList.java",
2289 "android/java/src/org/chromium/base/FileUtils.java",
2290 "android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
2291 "android/java/src/org/chromium/base/JNIUtils.java",
2292 "android/java/src/org/chromium/base/JavaHandlerThread.java",
2293 "android/java/src/org/chromium/base/LocaleUtils.java",
2294 "android/java/src/org/chromium/base/Log.java",
2295 "android/java/src/org/chromium/base/MemoryPressureListener.java",
2296 "android/java/src/org/chromium/base/ObserverList.java",
2297 "android/java/src/org/chromium/base/PackageUtils.java",
2298 "android/java/src/org/chromium/base/PathService.java",
2299 "android/java/src/org/chromium/base/PathUtils.java",
2300 "android/java/src/org/chromium/base/PerfTraceEvent.java",
2301 "android/java/src/org/chromium/base/PowerMonitor.java",
2302 "android/java/src/org/chromium/base/PowerStatusReceiver.java",
peconn63e6b502016-06-24 10:37:142303 "android/java/src/org/chromium/base/Promise.java",
agrieve696e6a52016-03-23 19:54:452304 "android/java/src/org/chromium/base/ResourceExtractor.java",
2305 "android/java/src/org/chromium/base/SecureRandomInitializer.java",
2306 "android/java/src/org/chromium/base/StreamUtil.java",
2307 "android/java/src/org/chromium/base/SysUtils.java",
2308 "android/java/src/org/chromium/base/SystemMessageHandler.java",
2309 "android/java/src/org/chromium/base/ThreadUtils.java",
2310 "android/java/src/org/chromium/base/TraceEvent.java",
2311 "android/java/src/org/chromium/base/VisibleForTesting.java",
2312 "android/java/src/org/chromium/base/annotations/AccessedByNative.java",
2313 "android/java/src/org/chromium/base/annotations/CalledByNative.java",
2314 "android/java/src/org/chromium/base/annotations/CalledByNativeUnchecked.java",
2315 "android/java/src/org/chromium/base/annotations/JNIAdditionalImport.java",
2316 "android/java/src/org/chromium/base/annotations/JNINamespace.java",
2317 "android/java/src/org/chromium/base/annotations/MainDex.java",
2318 "android/java/src/org/chromium/base/annotations/NativeCall.java",
2319 "android/java/src/org/chromium/base/annotations/NativeClassQualifiedName.java",
2320 "android/java/src/org/chromium/base/annotations/RemovableInRelease.java",
2321 "android/java/src/org/chromium/base/annotations/SuppressFBWarnings.java",
2322 "android/java/src/org/chromium/base/annotations/UsedByReflection.java",
2323 "android/java/src/org/chromium/base/library_loader/LegacyLinker.java",
2324 "android/java/src/org/chromium/base/library_loader/LibraryLoader.java",
2325 "android/java/src/org/chromium/base/library_loader/Linker.java",
2326 "android/java/src/org/chromium/base/library_loader/LoaderErrors.java",
2327 "android/java/src/org/chromium/base/library_loader/ModernLinker.java",
michaelbaic0f648c2016-04-01 20:37:252328 "android/java/src/org/chromium/base/library_loader/NativeLibraryPreloader.java",
agrieve696e6a52016-03-23 19:54:452329 "android/java/src/org/chromium/base/library_loader/ProcessInitException.java",
2330 "android/java/src/org/chromium/base/metrics/RecordHistogram.java",
2331 "android/java/src/org/chromium/base/metrics/RecordUserAction.java",
2332 "android/java/src/org/chromium/base/multidex/ChromiumMultiDexInstaller.java",
2333 ]
cjhopman@chromium.org8322fa92014-07-02 10:46:462334
wnwenb0d63142016-02-16 21:29:502335 # New versions of BuildConfig.java and NativeLibraries.java
jbudorick070dd8c42016-01-16 01:21:512336 # (with the actual correct values) will be created when creating an apk.
cjhopman@chromium.org8322fa92014-07-02 10:46:462337 jar_excluded_patterns = [
wnwenb0d63142016-02-16 21:29:502338 "*/BuildConfig.class",
cjhopman@chromium.org8322fa92014-07-02 10:46:462339 "*/NativeLibraries.class",
2340 "*/NativeLibraries##*.class",
2341 ]
2342 }
2343
cjhopman394dfd12014-09-09 08:55:542344 # GYP: //base.gyp:base_javatests
2345 android_library("base_javatests") {
yolandyan37998d9d2016-09-08 01:16:532346 testonly = true
cjhopman394dfd12014-09-09 08:55:542347 deps = [
2348 ":base_java",
2349 ":base_java_test_support",
2350 ]
agrieve696e6a52016-03-23 19:54:452351 java_files = [
2352 "android/javatests/src/org/chromium/base/AdvancedMockContextTest.java",
2353 "android/javatests/src/org/chromium/base/ApiCompatibilityUtilsTest.java",
2354 "android/javatests/src/org/chromium/base/CommandLineInitUtilTest.java",
2355 "android/javatests/src/org/chromium/base/CommandLineTest.java",
2356 "android/javatests/src/org/chromium/base/ObserverListTest.java",
2357 "android/javatests/src/org/chromium/base/metrics/RecordHistogramTest.java",
2358 ]
cjhopman394dfd12014-09-09 08:55:542359 }
2360
2361 # GYP: //base.gyp:base_java_test_support
cjhopmancd7694af2014-09-08 00:00:042362 android_library("base_java_test_support") {
yolandyan37998d9d2016-09-08 01:16:532363 testonly = true
cjhopmancd7694af2014-09-08 00:00:042364 deps = [
2365 ":base_java",
jbudorick4d64d862015-04-27 21:13:312366 "//testing/android/reporter:reporter_java",
cjhopmancd7694af2014-09-08 00:00:042367 ]
agrieve696e6a52016-03-23 19:54:452368 java_files = [
2369 "test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java",
yolandyan60c6ae22016-05-31 20:04:502370 "test/android/javatests/src/org/chromium/base/test/BaseChromiumInstrumentationTestRunner.java",
agrieve696e6a52016-03-23 19:54:452371 "test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java",
2372 "test/android/javatests/src/org/chromium/base/test/BaseTestResult.java",
2373 "test/android/javatests/src/org/chromium/base/test/util/AdvancedMockContext.java",
2374 "test/android/javatests/src/org/chromium/base/test/util/CommandLineFlags.java",
2375 "test/android/javatests/src/org/chromium/base/test/util/DisableIf.java",
2376 "test/android/javatests/src/org/chromium/base/test/util/DisableIfSkipCheck.java",
2377 "test/android/javatests/src/org/chromium/base/test/util/DisabledTest.java",
2378 "test/android/javatests/src/org/chromium/base/test/util/EnormousTest.java",
2379 "test/android/javatests/src/org/chromium/base/test/util/Feature.java",
yolandyanc4f7db82016-04-18 17:25:152380 "test/android/javatests/src/org/chromium/base/test/util/FlakyTest.java",
agrieve696e6a52016-03-23 19:54:452381 "test/android/javatests/src/org/chromium/base/test/util/InMemorySharedPreferences.java",
2382 "test/android/javatests/src/org/chromium/base/test/util/InstrumentationUtils.java",
2383 "test/android/javatests/src/org/chromium/base/test/util/IntegrationTest.java",
2384 "test/android/javatests/src/org/chromium/base/test/util/Manual.java",
2385 "test/android/javatests/src/org/chromium/base/test/util/MetricsUtils.java",
2386 "test/android/javatests/src/org/chromium/base/test/util/MinAndroidSdkLevel.java",
2387 "test/android/javatests/src/org/chromium/base/test/util/MinAndroidSdkLevelSkipCheck.java",
2388 "test/android/javatests/src/org/chromium/base/test/util/PerfTest.java",
2389 "test/android/javatests/src/org/chromium/base/test/util/Restriction.java",
2390 "test/android/javatests/src/org/chromium/base/test/util/RestrictionSkipCheck.java",
boliu1dd26c82016-06-25 00:49:172391 "test/android/javatests/src/org/chromium/base/test/util/RetryOnFailure.java",
agrieve696e6a52016-03-23 19:54:452392 "test/android/javatests/src/org/chromium/base/test/util/ScalableTimeout.java",
2393 "test/android/javatests/src/org/chromium/base/test/util/SkipCheck.java",
2394 "test/android/javatests/src/org/chromium/base/test/util/TestFileUtil.java",
2395 "test/android/javatests/src/org/chromium/base/test/util/TestThread.java",
2396 "test/android/javatests/src/org/chromium/base/test/util/TimeoutScale.java",
2397 "test/android/javatests/src/org/chromium/base/test/util/UrlUtils.java",
2398 "test/android/javatests/src/org/chromium/base/test/util/parameter/BaseParameter.java",
2399 "test/android/javatests/src/org/chromium/base/test/util/parameter/Parameter.java",
2400 "test/android/javatests/src/org/chromium/base/test/util/parameter/Parameterizable.java",
2401 "test/android/javatests/src/org/chromium/base/test/util/parameter/ParameterizedTest.java",
2402 "test/android/javatests/src/org/chromium/base/test/util/parameter/parameters/MethodParameter.java",
2403 ]
cjhopmancd7694af2014-09-08 00:00:042404 }
2405
dgnc0c058972015-04-24 20:09:392406 # GYP: //base.gyp:base_junit_tests
2407 junit_binary("base_junit_tests") {
jbudorickf091dcb2015-08-25 21:36:592408 java_files = [
2409 "android/junit/src/org/chromium/base/BaseChromiumApplicationTest.java",
2410 "android/junit/src/org/chromium/base/LogTest.java",
peconn63e6b502016-06-24 10:37:142411 "android/junit/src/org/chromium/base/PromiseTest.java",
jbudorickae13c652015-12-21 21:53:552412 "test/android/junit/src/org/chromium/base/test/util/DisableIfTest.java",
jbudorickacf0dd82016-03-10 02:14:042413 "test/android/junit/src/org/chromium/base/test/util/MinAndroidSdkLevelSkipCheckTest.java",
2414 "test/android/junit/src/org/chromium/base/test/util/RestrictionSkipCheckTest.java",
2415 "test/android/junit/src/org/chromium/base/test/util/SkipCheckTest.java",
jbudorickf091dcb2015-08-25 21:36:592416 ]
dgnc0c058972015-04-24 20:09:392417 deps = [
2418 ":base_java",
2419 ":base_java_test_support",
2420 ]
mikecasecf5bc932016-08-17 16:53:292421 srcjar_deps = [ ":base_build_config_gen" ]
dgnc0c058972015-04-24 20:09:392422 }
2423
cjhopman394dfd12014-09-09 08:55:542424 # GYP: //base.gyp:base_java_application_state
petrcermak23b7f232014-10-27 11:24:502425 # GYP: //base.gyp:base_java_library_load_from_apk_status_codes
michaelbaic8b20392015-02-13 05:46:582426 # GYP: //base.gyp:base_java_library_process_type
mkosibadfdc7fb22014-10-23 13:56:122427 # GYP: //base.gyp:base_java_memory_pressure_level
2428 java_cpp_enum("base_android_java_enums_srcjar") {
cjhopman@chromium.org6fad6032014-05-26 04:01:472429 sources = [
mkosibadfdc7fb22014-10-23 13:56:122430 "android/application_status_listener.h",
petrcermak23b7f232014-10-27 11:24:502431 "android/library_loader/library_load_from_apk_status_codes.h",
michaelbaic8b20392015-02-13 05:46:582432 "android/library_loader/library_loader_hooks.h",
mkosibadfdc7fb22014-10-23 13:56:122433 "memory/memory_pressure_listener.h",
brettw@chromium.orga901cc92014-07-09 17:29:312434 ]
cjhopman@chromium.org6fad6032014-05-26 04:01:472435 }
2436
wnwenb0d63142016-02-16 21:29:502437 # GYP: //base/base.gyp:base_build_config_gen
2438 java_cpp_template("base_build_config_gen") {
jbudorickf667d3b3a2015-11-13 00:44:582439 sources = [
wnwenb0d63142016-02-16 21:29:502440 "android/java/templates/BuildConfig.template",
jbudorickf667d3b3a2015-11-13 00:44:582441 ]
wnwenb0d63142016-02-16 21:29:502442 package_name = "org/chromium/base"
smaier6174a5f2016-06-10 13:33:022443
2444 defines = []
boliucd51f6c2016-07-27 23:09:512445 if (is_java_debug || dcheck_always_on) {
2446 defines += [ "_DCHECK_IS_ON" ]
smaier6174a5f2016-06-10 13:33:022447 }
jbudorickf667d3b3a2015-11-13 00:44:582448 }
2449
cjhopman394dfd12014-09-09 08:55:542450 # GYP: //base/base.gyp:base_native_libraries_gen
cjhopman@chromium.org6fad6032014-05-26 04:01:472451 java_cpp_template("base_native_libraries_gen") {
2452 sources = [
2453 "android/java/templates/NativeLibraries.template",
brettw@chromium.orga901cc92014-07-09 17:29:312454 ]
cjhopman@chromium.org6fad6032014-05-26 04:01:472455 package_name = "org/chromium/base/library_loader"
jbudorick06215e92015-12-15 15:21:592456 }
2457
cjhopman394dfd12014-09-09 08:55:542458 # GYP: //base.gyp:base_java_unittest_support
cjhopman@chromium.org7c36ac02014-07-28 23:53:112459 android_library("base_java_unittest_support") {
yolandyan37998d9d2016-09-08 01:16:532460 testonly = true
scottmg83c06f102014-12-03 07:25:362461 deps = [
2462 ":base_java",
cjhopman@chromium.org7c36ac02014-07-28 23:53:112463 ]
gsenntonebe2e2032016-08-18 22:34:122464 java_files = [
2465 "test/android/java/src/org/chromium/base/ContentUriTestUtils.java",
2466 "test/android/java/src/org/chromium/base/TestSystemMessageHandler.java",
2467 ]
cjhopman@chromium.org7c36ac02014-07-28 23:53:112468 }
cjhopman@chromium.org928e36d2014-04-18 00:50:102469}