# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# HOW TO WRITE CONDITIONALS IN THIS FILE
# ======================================
#
# In many other places, one would write a conditional that expresses all the
# cases when a source file is used or unused, and then either add or subtract
# it from the sources list in that case
#
# Since base includes so many low-level things that vary widely and
# unpredictably for the various build types, we prefer a slightly different
# style. Instead, there are big per-platform blocks of inclusions and
# exclusions. If a given file has an inclusion or exclusion rule that applies
# for multiple conditions, prefer to duplicate it in both lists. This makes it
# a bit easier to see which files apply in which cases rather than having a
# huge sequence of random-looking conditionals.

import("//build/buildflag_header.gni")
import("//build/config/allocator.gni")
import("//build/config/chromecast_build.gni")
import("//build/config/clang/clang.gni")
import("//build/config/compiler/compiler.gni")
import("//build/config/dcheck_always_on.gni")
import("//build/config/nacl/config.gni")
import("//build/config/sysroot.gni")
import("//build/config/ui.gni")
import("//build/nocompile.gni")
import("//testing/test.gni")

declare_args() {
  # Override this value to give a specific build date.
  # See //base/build_time.cc and //build/write_build_date_header.py for more
  # details and the expected format.
  override_build_date = "N/A"
}

if (is_android) {
  import("//build/config/android/rules.gni")
}

if (is_win) {
  import("//build/config/win/visual_studio_version.gni")
}

config("base_flags") {
  if (is_clang) {
    cflags = [
      # Don't die on dtoa code that uses a char as an array index.
      # This is required solely for base/third_party/dmg_fp/dtoa_wrapper.cc.
      "-Wno-char-subscripts",
    ]
  }
}

config("base_implementation") {
  defines = [ "BASE_IMPLEMENTATION" ]
  configs = [ "//build/config/compiler:wexit_time_destructors" ]
}

if (is_win) {
  # This is in a separate config so the flags can be applied to dependents.
  # ldflags in GN aren't automatically inherited.
  config("base_win_linker_flags") {
    ldflags = [
      "/DELAYLOAD:cfgmgr32.dll",
      "/DELAYLOAD:powrprof.dll",
      "/DELAYLOAD:setupapi.dll",
    ]
  }
}

if (is_nacl_nonsfi) {
  # Must be in a config because of how GN orders flags (otherwise -Wall will
  # appear after this, and turn it back on).
  config("nacl_nonsfi_warnings") {
    # file_util_posix.cc contains a function which is not
    # being used by nacl_helper_nonsfi.
    cflags = [ "-Wno-unused-function" ]
  }
}

if (is_nacl) {
  # None of the files apply to nacl, and we can't make an empty static library.
  group("base_paths") {
  }
} else {
  static_library("base_paths") {
    sources = [
      "base_paths.cc",
      "base_paths.h",
      "base_paths_android.cc",
      "base_paths_android.h",
      "base_paths_mac.h",
      "base_paths_mac.mm",
      "base_paths_posix.cc",
      "base_paths_posix.h",
      "base_paths_win.cc",
      "base_paths_win.h",
    ]

    if (is_android || is_mac || is_ios) {
      sources -= [ "base_paths_posix.cc" ]
    }

    configs += [ ":base_implementation" ]

    visibility = [ ":base" ]
  }
}

if (is_android) {
  config("android_system_libs") {
    libs = [ "log" ]  # Used by logging.cc.
  }
}

# Base and everything it depends on should be a static library rather than
# a source set. Base is more of a "library" in the classic sense in that many
# small parts of it are used in many different contexts. This combined with a
# few static initializers floating around means that dead code stripping
# still leaves a lot of code behind that isn't always used. For example, this
# saves more than 40K for a smaller target like chrome_elf.
#
# Use static libraries for the helper stuff as well like //base/debug since
# those things refer back to base code, which will force base compilation units
# to be linked in where they wouldn't have otherwise. This does not include
# test code (test support and anything in the test directory) which should use
# source_set as is recommended for GN targets).
component("base") {
  if (is_nacl_nonsfi) {
    # TODO(phosek) bug 570839: If field_trial.cc is in a static library,
    # nacl_helper_nonsfi doesn't link properly on Linux in debug builds. The
    # reasons for this seem to involve obscure toolchain bugs. This should be
    # fixed and this target should always be a static_library in the
    # non-component case.
    static_component_type = "source_set"
  }

  sources = [
    "allocator/allocator_check.cc",
    "allocator/allocator_check.h",
    "allocator/allocator_extension.cc",
    "allocator/allocator_extension.h",
    "android/animation_frame_time_histogram.cc",
    "android/animation_frame_time_histogram.h",
    "android/apk_assets.cc",
    "android/apk_assets.h",
    "android/application_status_listener.cc",
    "android/application_status_listener.h",
    "android/base_jni_onload.cc",
    "android/base_jni_onload.h",
    "android/base_jni_registrar.cc",
    "android/base_jni_registrar.h",
    "android/build_info.cc",
    "android/build_info.h",
    "android/callback_android.cc",
    "android/callback_android.h",
    "android/command_line_android.cc",
    "android/command_line_android.h",
    "android/content_uri_utils.cc",
    "android/content_uri_utils.h",
    "android/context_utils.cc",
    "android/context_utils.h",
    "android/cpu_features.cc",
    "android/cxa_demangle_stub.cc",
    "android/early_trace_event_binding.cc",
    "android/early_trace_event_binding.h",
    "android/event_log.cc",
    "android/event_log.h",
    "android/field_trial_list.cc",
    "android/field_trial_list.h",
    "android/fifo_utils.cc",
    "android/fifo_utils.h",
    "android/important_file_writer_android.cc",
    "android/important_file_writer_android.h",
    "android/java_handler_thread.cc",
    "android/java_handler_thread.h",
    "android/java_message_handler_factory.h",
    "android/java_runtime.cc",
    "android/java_runtime.h",
    "android/jni_android.cc",
    "android/jni_android.h",
    "android/jni_array.cc",
    "android/jni_array.h",
    "android/jni_registrar.cc",
    "android/jni_registrar.h",
    "android/jni_string.cc",
    "android/jni_string.h",
    "android/jni_utils.cc",
    "android/jni_utils.h",
    "android/jni_weak_ref.cc",
    "android/jni_weak_ref.h",
    "android/library_loader/library_load_from_apk_status_codes.h",
    "android/library_loader/library_loader_hooks.cc",
    "android/library_loader/library_loader_hooks.h",
    "android/library_loader/library_prefetcher.cc",
    "android/library_loader/library_prefetcher.h",
    "android/locale_utils.cc",
    "android/locale_utils.h",
    "android/memory_pressure_listener_android.cc",
    "android/memory_pressure_listener_android.h",
    "android/path_service_android.cc",
    "android/path_service_android.h",
    "android/path_utils.cc",
    "android/path_utils.h",
    "android/record_histogram.cc",
    "android/record_histogram.h",
    "android/record_user_action.cc",
    "android/record_user_action.h",
    "android/scoped_java_ref.cc",
    "android/scoped_java_ref.h",
    "android/sys_utils.cc",
    "android/sys_utils.h",
    "android/trace_event_binding.cc",
    "android/trace_event_binding.h",
    "at_exit.cc",
    "at_exit.h",
    "atomic_ref_count.h",
    "atomic_sequence_num.h",
    "atomicops.h",
    "atomicops_internals_portable.h",
    "atomicops_internals_x86_msvc.h",
    "auto_reset.h",
    "barrier_closure.cc",
    "barrier_closure.h",
    "base64.cc",
    "base64.h",
    "base64url.cc",
    "base64url.h",
    "base_export.h",
    "base_switches.h",
    "big_endian.cc",
    "big_endian.h",
    "bind.h",
    "bind_helpers.cc",
    "bind_helpers.h",
    "bind_internal.h",
    "bit_cast.h",
    "bits.h",
    "build_time.cc",
    "build_time.h",
    "callback.h",
    "callback_helpers.cc",
    "callback_helpers.h",
    "callback_internal.cc",
    "callback_internal.h",
    "cancelable_callback.h",
    "command_line.cc",
    "command_line.h",
    "compiler_specific.h",
    "containers/adapters.h",
    "containers/hash_tables.h",
    "containers/linked_list.h",
    "containers/mru_cache.h",
    "containers/scoped_ptr_hash_map.h",
    "containers/small_map.h",
    "containers/stack_container.h",
    "cpu.cc",
    "cpu.h",
    "critical_closure.h",
    "critical_closure_internal_ios.mm",
    "debug/alias.cc",
    "debug/alias.h",
    "debug/asan_invalid_access.cc",
    "debug/asan_invalid_access.h",
    "debug/close_handle_hook_win.cc",
    "debug/close_handle_hook_win.h",
    "debug/crash_logging.cc",
    "debug/crash_logging.h",
    "debug/debugger.cc",
    "debug/debugger.h",
    "debug/debugger_posix.cc",
    "debug/debugger_win.cc",
    "debug/dump_without_crashing.cc",
    "debug/dump_without_crashing.h",
    "debug/gdi_debug_util_win.cc",
    "debug/gdi_debug_util_win.h",

    # This file depends on files from the "debug/allocator" target,
    # but this target does not depend on "debug/allocator" (see
    # allocator.gyp for details).
    "debug/activity_analyzer.cc",
    "debug/activity_analyzer.h",
    "debug/activity_tracker.cc",
    "debug/activity_tracker.h",
    "debug/leak_annotations.h",
    "debug/leak_tracker.h",
    "debug/proc_maps_linux.cc",
    "debug/proc_maps_linux.h",
    "debug/profiler.cc",
    "debug/profiler.h",
    "debug/stack_trace.cc",
    "debug/stack_trace.h",
    "debug/stack_trace_android.cc",
    "debug/stack_trace_posix.cc",
    "debug/stack_trace_win.cc",
    "debug/task_annotator.cc",
    "debug/task_annotator.h",
    "deferred_sequenced_task_runner.cc",
    "deferred_sequenced_task_runner.h",
    "environment.cc",
    "environment.h",
    "feature_list.cc",
    "feature_list.h",
    "file_descriptor_posix.h",
    "file_version_info.h",
    "file_version_info_mac.h",
    "file_version_info_mac.mm",
    "file_version_info_win.cc",
    "file_version_info_win.h",
    "files/dir_reader_fallback.h",
    "files/dir_reader_linux.h",
    "files/dir_reader_posix.h",
    "files/file.cc",
    "files/file_enumerator.cc",
    "files/file_enumerator.h",
    "files/file_enumerator_posix.cc",
    "files/file_enumerator_win.cc",
    "files/file_path.cc",
    "files/file_path.h",
    "files/file_path_constants.cc",
    "files/file_path_watcher.cc",
    "files/file_path_watcher.h",
    "files/file_path_watcher_fsevents.cc",
    "files/file_path_watcher_fsevents.h",
    "files/file_path_watcher_kqueue.cc",
    "files/file_path_watcher_kqueue.h",
    "files/file_path_watcher_linux.cc",
    "files/file_path_watcher_mac.cc",
    "files/file_path_watcher_win.cc",
    "files/file_posix.cc",
    "files/file_proxy.cc",
    "files/file_proxy.h",
    "files/file_tracing.cc",
    "files/file_tracing.h",
    "files/file_util.cc",
    "files/file_util.h",
    "files/file_util_android.cc",
    "files/file_util_linux.cc",
    "files/file_util_mac.mm",
    "files/file_util_posix.cc",
    "files/file_util_proxy.cc",
    "files/file_util_proxy.h",
    "files/file_util_win.cc",
    "files/file_win.cc",
    "files/important_file_writer.cc",
    "files/important_file_writer.h",
    "files/memory_mapped_file.cc",
    "files/memory_mapped_file.h",
    "files/memory_mapped_file_posix.cc",
    "files/memory_mapped_file_win.cc",
    "files/scoped_file.cc",
    "files/scoped_file.h",
    "files/scoped_temp_dir.cc",
    "files/scoped_temp_dir.h",
    "format_macros.h",
    "gtest_prod_util.h",
    "guid.cc",
    "guid.h",
    "hash.cc",
    "hash.h",
    "id_map.h",
    "ios/crb_protocol_observers.h",
    "ios/crb_protocol_observers.mm",
    "ios/device_util.h",
    "ios/device_util.mm",
    "ios/ios_util.h",
    "ios/ios_util.mm",
    "ios/ns_error_util.h",
    "ios/ns_error_util.mm",
    "ios/scoped_critical_action.h",
    "ios/scoped_critical_action.mm",
    "ios/weak_nsobject.h",
    "ios/weak_nsobject.mm",
    "json/json_file_value_serializer.cc",
    "json/json_file_value_serializer.h",
    "json/json_parser.cc",
    "json/json_parser.h",
    "json/json_reader.cc",
    "json/json_reader.h",
    "json/json_string_value_serializer.cc",
    "json/json_string_value_serializer.h",
    "json/json_value_converter.cc",
    "json/json_value_converter.h",
    "json/json_writer.cc",
    "json/json_writer.h",
    "json/string_escape.cc",
    "json/string_escape.h",
    "lazy_instance.cc",
    "lazy_instance.h",
    "linux_util.cc",
    "linux_util.h",
    "location.cc",
    "location.h",
    "logging.cc",
    "logging.h",
    "logging_win.cc",
    "logging_win.h",
    "mac/authorization_util.h",
    "mac/authorization_util.mm",
    "mac/bind_objc_block.h",
    "mac/bundle_locations.h",
    "mac/bundle_locations.mm",
    "mac/call_with_eh_frame.cc",
    "mac/call_with_eh_frame.h",
    "mac/call_with_eh_frame_asm.S",
    "mac/close_nocancel.cc",
    "mac/cocoa_protocols.h",
    "mac/dispatch_source_mach.cc",
    "mac/dispatch_source_mach.h",
    "mac/foundation_util.h",
    "mac/foundation_util.mm",
    "mac/launch_services_util.cc",
    "mac/launch_services_util.h",
    "mac/launchd.cc",
    "mac/launchd.h",
    "mac/mac_logging.h",
    "mac/mac_logging.mm",
    "mac/mac_util.h",
    "mac/mac_util.mm",
    "mac/mach_logging.cc",
    "mac/mach_logging.h",
    "mac/mach_port_broker.h",
    "mac/mach_port_broker.mm",
    "mac/mach_port_util.cc",
    "mac/mach_port_util.h",
    "mac/objc_property_releaser.h",
    "mac/objc_property_releaser.mm",
    "mac/os_crash_dumps.cc",
    "mac/os_crash_dumps.h",
    "mac/scoped_aedesc.h",
    "mac/scoped_authorizationref.h",
    "mac/scoped_block.h",
    "mac/scoped_cftyperef.h",
    "mac/scoped_dispatch_object.h",
    "mac/scoped_ioobject.h",
    "mac/scoped_ioplugininterface.h",
    "mac/scoped_launch_data.h",
    "mac/scoped_mach_port.cc",
    "mac/scoped_mach_port.h",
    "mac/scoped_mach_vm.cc",
    "mac/scoped_mach_vm.h",
    "mac/scoped_nsautorelease_pool.h",
    "mac/scoped_nsautorelease_pool.mm",
    "mac/scoped_nsobject.h",
    "mac/scoped_nsobject.mm",
    "mac/scoped_objc_class_swizzler.h",
    "mac/scoped_objc_class_swizzler.mm",
    "mac/scoped_sending_event.h",
    "mac/scoped_sending_event.mm",
    "mac/sdk_forward_declarations.h",
    "mac/sdk_forward_declarations.mm",
    "macros.h",
    "md5.cc",
    "md5.h",
    "memory/aligned_memory.cc",
    "memory/aligned_memory.h",
    "memory/discardable_memory.cc",
    "memory/discardable_memory.h",
    "memory/discardable_memory_allocator.cc",
    "memory/discardable_memory_allocator.h",
    "memory/discardable_shared_memory.cc",
    "memory/discardable_shared_memory.h",
    "memory/free_deleter.h",
    "memory/linked_ptr.h",
    "memory/manual_constructor.h",
    "memory/memory_pressure_listener.cc",
    "memory/memory_pressure_listener.h",
    "memory/memory_pressure_monitor.cc",
    "memory/memory_pressure_monitor.h",
    "memory/memory_pressure_monitor_chromeos.cc",
    "memory/memory_pressure_monitor_chromeos.h",
    "memory/memory_pressure_monitor_mac.cc",
    "memory/memory_pressure_monitor_mac.h",
    "memory/memory_pressure_monitor_win.cc",
    "memory/memory_pressure_monitor_win.h",
    "memory/ptr_util.h",
    "memory/raw_scoped_refptr_mismatch_checker.h",
    "memory/ref_counted.cc",
    "memory/ref_counted.h",
    "memory/ref_counted_delete_on_message_loop.h",
    "memory/ref_counted_memory.cc",
    "memory/ref_counted_memory.h",
    "memory/scoped_policy.h",
    "memory/scoped_vector.h",
    "memory/shared_memory.h",
    "memory/shared_memory_android.cc",
    "memory/shared_memory_handle.h",
    "memory/shared_memory_handle_mac.cc",
    "memory/shared_memory_handle_win.cc",
    "memory/shared_memory_mac.cc",
    "memory/shared_memory_nacl.cc",
    "memory/shared_memory_posix.cc",
    "memory/shared_memory_win.cc",
    "memory/singleton.cc",
    "memory/singleton.h",
    "memory/weak_ptr.cc",
    "memory/weak_ptr.h",
    "message_loop/incoming_task_queue.cc",
    "message_loop/incoming_task_queue.h",
    "message_loop/message_loop.cc",
    "message_loop/message_loop.h",
    "message_loop/message_loop_task_runner.cc",
    "message_loop/message_loop_task_runner.h",
    "message_loop/message_pump.cc",
    "message_loop/message_pump.h",
    "message_loop/message_pump_android.cc",
    "message_loop/message_pump_android.h",
    "message_loop/message_pump_default.cc",
    "message_loop/message_pump_default.h",
    "message_loop/message_pump_glib.cc",
    "message_loop/message_pump_glib.h",
    "message_loop/message_pump_io_ios.cc",
    "message_loop/message_pump_io_ios.h",
    "message_loop/message_pump_libevent.cc",
    "message_loop/message_pump_libevent.h",
    "message_loop/message_pump_mac.h",
    "message_loop/message_pump_mac.mm",
    "message_loop/message_pump_win.cc",
    "message_loop/message_pump_win.h",
    "metrics/bucket_ranges.cc",
    "metrics/bucket_ranges.h",
    "metrics/field_trial.cc",
    "metrics/field_trial.h",
    "metrics/histogram.cc",
    "metrics/histogram.h",
    "metrics/histogram_base.cc",
    "metrics/histogram_base.h",
    "metrics/histogram_delta_serialization.cc",
    "metrics/histogram_delta_serialization.h",
    "metrics/histogram_flattener.h",
    "metrics/histogram_macros.h",
    "metrics/histogram_samples.cc",
    "metrics/histogram_samples.h",
    "metrics/histogram_snapshot_manager.cc",
    "metrics/histogram_snapshot_manager.h",
    "metrics/metrics_hashes.cc",
    "metrics/metrics_hashes.h",
    "metrics/persistent_histogram_allocator.cc",
    "metrics/persistent_histogram_allocator.h",
    "metrics/persistent_memory_allocator.cc",
    "metrics/persistent_memory_allocator.h",
    "metrics/persistent_sample_map.cc",
    "metrics/persistent_sample_map.h",
    "metrics/sample_map.cc",
    "metrics/sample_map.h",
    "metrics/sample_vector.cc",
    "metrics/sample_vector.h",
    "metrics/sparse_histogram.cc",
    "metrics/sparse_histogram.h",
    "metrics/statistics_recorder.cc",
    "metrics/statistics_recorder.h",
    "metrics/user_metrics.cc",
    "metrics/user_metrics.h",
    "metrics/user_metrics_action.h",
    "native_library.cc",
    "native_library.h",
    "native_library_ios.mm",
    "native_library_mac.mm",
    "native_library_posix.cc",
    "native_library_win.cc",
    "nix/mime_util_xdg.cc",
    "nix/mime_util_xdg.h",
    "nix/xdg_util.cc",
    "nix/xdg_util.h",
    "numerics/safe_conversions.h",
    "numerics/safe_conversions_impl.h",
    "numerics/safe_math.h",
    "numerics/safe_math_impl.h",
    "observer_list.h",
    "observer_list_threadsafe.h",
    "optional.h",
    "os_compat_android.cc",
    "os_compat_android.h",
    "os_compat_nacl.cc",
    "os_compat_nacl.h",
    "path_service.cc",
    "path_service.h",
    "pending_task.cc",
    "pending_task.h",
    "pickle.cc",
    "pickle.h",
    "posix/eintr_wrapper.h",
    "posix/file_descriptor_shuffle.cc",
    "posix/global_descriptors.cc",
    "posix/global_descriptors.h",
    "posix/safe_strerror.cc",
    "posix/safe_strerror.h",
    "posix/unix_domain_socket_linux.cc",
    "posix/unix_domain_socket_linux.h",
    "power_monitor/power_monitor.cc",
    "power_monitor/power_monitor.h",
    "power_monitor/power_monitor_device_source.cc",
    "power_monitor/power_monitor_device_source.h",
    "power_monitor/power_monitor_device_source_android.cc",
    "power_monitor/power_monitor_device_source_android.h",
    "power_monitor/power_monitor_device_source_chromeos.cc",
    "power_monitor/power_monitor_device_source_ios.mm",
    "power_monitor/power_monitor_device_source_mac.mm",
    "power_monitor/power_monitor_device_source_posix.cc",
    "power_monitor/power_monitor_device_source_win.cc",
    "power_monitor/power_monitor_source.cc",
    "power_monitor/power_monitor_source.h",
    "power_monitor/power_observer.h",
    "process/internal_linux.cc",
    "process/internal_linux.h",
    "process/kill.cc",
    "process/kill.h",
    "process/kill_mac.cc",
    "process/kill_posix.cc",
    "process/kill_win.cc",
    "process/launch.cc",
    "process/launch.h",
    "process/launch_ios.cc",
    "process/launch_mac.cc",
    "process/launch_posix.cc",
    "process/launch_win.cc",
    "process/memory.cc",
    "process/memory.h",
    "process/memory_linux.cc",
    "process/memory_mac.mm",
    "process/memory_win.cc",
    "process/port_provider_mac.cc",
    "process/port_provider_mac.h",
    "process/process.h",
    "process/process_handle.cc",

    #"process/process_handle_freebsd.cc",  # Unused in Chromium build.
    "process/process_handle_linux.cc",
    "process/process_handle_mac.cc",

    #"process/process_handle_openbsd.cc",  # Unused in Chromium build.
    "process/process_handle_posix.cc",
    "process/process_handle_win.cc",
    "process/process_info.h",
    "process/process_info_linux.cc",
    "process/process_info_mac.cc",
    "process/process_info_win.cc",
    "process/process_iterator.cc",
    "process/process_iterator.h",

    #"process/process_iterator_freebsd.cc",  # Unused in Chromium build.
    "process/process_iterator_linux.cc",
    "process/process_iterator_mac.cc",

    #"process/process_iterator_openbsd.cc",  # Unused in Chromium build.
    "process/process_iterator_win.cc",
    "process/process_linux.cc",
    "process/process_metrics.cc",
    "process/process_metrics.h",

    #"process/process_metrics_freebsd.cc",  # Unused in Chromium build.
    "process/process_metrics_ios.cc",
    "process/process_metrics_linux.cc",
    "process/process_metrics_mac.cc",

    #"process/process_metrics_openbsd.cc",  # Unused in Chromium build.
    "process/process_metrics_posix.cc",
    "process/process_metrics_win.cc",
    "process/process_posix.cc",
    "process/process_win.cc",
    "profiler/native_stack_sampler.cc",
    "profiler/native_stack_sampler.h",
    "profiler/native_stack_sampler_posix.cc",
    "profiler/native_stack_sampler_win.cc",
    "profiler/scoped_profile.cc",
    "profiler/scoped_profile.h",
    "profiler/scoped_tracker.cc",
    "profiler/scoped_tracker.h",
    "profiler/stack_sampling_profiler.cc",
    "profiler/stack_sampling_profiler.h",
    "profiler/tracked_time.cc",
    "profiler/tracked_time.h",
    "rand_util.cc",
    "rand_util.h",
    "rand_util_nacl.cc",
    "rand_util_posix.cc",
    "rand_util_win.cc",
    "run_loop.cc",
    "run_loop.h",
    "scoped_generic.h",
    "scoped_native_library.cc",
    "scoped_native_library.h",
    "scoped_observer.h",
    "sequence_checker.h",
    "sequence_checker_impl.cc",
    "sequence_checker_impl.h",
    "sequence_token.cc",
    "sequence_token.h",
    "sequenced_task_runner.cc",
    "sequenced_task_runner.h",
    "sequenced_task_runner_helpers.h",
    "sha1.cc",
    "sha1.h",
    "single_thread_task_runner.h",
    "stl_util.h",
    "strings/latin1_string_conversions.cc",
    "strings/latin1_string_conversions.h",
    "strings/nullable_string16.cc",
    "strings/nullable_string16.h",
    "strings/pattern.cc",
    "strings/pattern.h",
    "strings/safe_sprintf.cc",
    "strings/safe_sprintf.h",
    "strings/string16.cc",
    "strings/string16.h",
    "strings/string_number_conversions.cc",
    "strings/string_number_conversions.h",
    "strings/string_piece.cc",
    "strings/string_piece.h",
    "strings/string_split.cc",
    "strings/string_split.h",
    "strings/string_tokenizer.h",
    "strings/string_util.cc",
    "strings/string_util.h",
    "strings/string_util_constants.cc",
    "strings/string_util_posix.h",
    "strings/string_util_win.h",
    "strings/stringize_macros.h",
    "strings/stringprintf.cc",
    "strings/stringprintf.h",
    "strings/sys_string_conversions.h",
    "strings/sys_string_conversions_mac.mm",
    "strings/sys_string_conversions_posix.cc",
    "strings/sys_string_conversions_win.cc",
    "strings/utf_offset_string_conversions.cc",
    "strings/utf_offset_string_conversions.h",
    "strings/utf_string_conversion_utils.cc",
    "strings/utf_string_conversion_utils.h",
    "strings/utf_string_conversions.cc",
    "strings/utf_string_conversions.h",
    "supports_user_data.cc",
    "supports_user_data.h",
    "sync_socket.h",
    "sync_socket_posix.cc",
    "sync_socket_win.cc",
    "synchronization/atomic_flag.cc",
    "synchronization/atomic_flag.h",
    "synchronization/cancellation_flag.h",
    "synchronization/condition_variable.h",
    "synchronization/condition_variable_posix.cc",
    "synchronization/condition_variable_win.cc",
    "synchronization/lock.cc",
    "synchronization/lock.h",
    "synchronization/lock_impl.h",
    "synchronization/lock_impl_posix.cc",
    "synchronization/lock_impl_win.cc",
    "synchronization/read_write_lock.h",
    "synchronization/read_write_lock_nacl.cc",
    "synchronization/read_write_lock_posix.cc",
    "synchronization/read_write_lock_win.cc",
    "synchronization/spin_wait.h",
    "synchronization/waitable_event.h",
    "synchronization/waitable_event_posix.cc",
    "synchronization/waitable_event_watcher.h",
    "synchronization/waitable_event_watcher_posix.cc",
    "synchronization/waitable_event_watcher_win.cc",
    "synchronization/waitable_event_win.cc",
    "sys_byteorder.h",
    "sys_info.cc",
    "sys_info.h",
    "sys_info_android.cc",
    "sys_info_chromeos.cc",

    #"sys_info_freebsd.cc",  # Unused in Chromium build.
    "sys_info_ios.mm",
    "sys_info_linux.cc",
    "sys_info_mac.mm",

    #"sys_info_openbsd.cc",  # Unused in Chromium build.
    "sys_info_posix.cc",
    "sys_info_win.cc",
    "system_monitor/system_monitor.cc",
    "system_monitor/system_monitor.h",
    "task/cancelable_task_tracker.cc",
    "task/cancelable_task_tracker.h",
    "task_runner.cc",
    "task_runner.h",
    "task_runner_util.h",
    "task_scheduler/delayed_task_manager.cc",
    "task_scheduler/delayed_task_manager.h",
    "task_scheduler/post_task.cc",
    "task_scheduler/post_task.h",
    "task_scheduler/priority_queue.cc",
    "task_scheduler/priority_queue.h",
    "task_scheduler/scheduler_lock.h",
    "task_scheduler/scheduler_lock_impl.cc",
    "task_scheduler/scheduler_lock_impl.h",
    "task_scheduler/scheduler_service_thread.cc",
    "task_scheduler/scheduler_service_thread.h",
    "task_scheduler/scheduler_worker.cc",
    "task_scheduler/scheduler_worker.h",
    "task_scheduler/scheduler_worker_pool.h",
    "task_scheduler/scheduler_worker_pool_impl.cc",
    "task_scheduler/scheduler_worker_pool_impl.h",
    "task_scheduler/scheduler_worker_pool_params.cc",
    "task_scheduler/scheduler_worker_pool_params.h",
    "task_scheduler/scheduler_worker_stack.cc",
    "task_scheduler/scheduler_worker_stack.h",
    "task_scheduler/sequence.cc",
    "task_scheduler/sequence.h",
    "task_scheduler/sequence_sort_key.cc",
    "task_scheduler/sequence_sort_key.h",
    "task_scheduler/task.cc",
    "task_scheduler/task.h",
    "task_scheduler/task_scheduler.cc",
    "task_scheduler/task_scheduler.h",
    "task_scheduler/task_scheduler_impl.cc",
    "task_scheduler/task_scheduler_impl.h",
    "task_scheduler/task_tracker.cc",
    "task_scheduler/task_tracker.h",
    "task_scheduler/task_traits.cc",
    "task_scheduler/task_traits.h",
    "template_util.h",
    "third_party/dmg_fp/dmg_fp.h",
    "third_party/dmg_fp/dtoa_wrapper.cc",
    "third_party/dmg_fp/g_fmt.cc",
    "third_party/icu/icu_utf.cc",
    "third_party/icu/icu_utf.h",
    "third_party/nspr/prtime.cc",
    "third_party/nspr/prtime.h",
    "third_party/superfasthash/superfasthash.c",
    "threading/non_thread_safe.h",
    "threading/non_thread_safe_impl.cc",
    "threading/non_thread_safe_impl.h",
    "threading/platform_thread.h",
    "threading/platform_thread_android.cc",
    "threading/platform_thread_internal_posix.cc",
    "threading/platform_thread_internal_posix.h",
    "threading/platform_thread_linux.cc",
    "threading/platform_thread_mac.mm",
    "threading/platform_thread_posix.cc",
    "threading/platform_thread_win.cc",
    "threading/post_task_and_reply_impl.cc",
    "threading/post_task_and_reply_impl.h",
    "threading/sequenced_task_runner_handle.cc",
    "threading/sequenced_task_runner_handle.h",
    "threading/sequenced_worker_pool.cc",
    "threading/sequenced_worker_pool.h",
    "threading/simple_thread.cc",
    "threading/simple_thread.h",
    "threading/thread.cc",
    "threading/thread.h",
    "threading/thread_checker.h",
    "threading/thread_checker_impl.cc",
    "threading/thread_checker_impl.h",
    "threading/thread_collision_warner.cc",
    "threading/thread_collision_warner.h",
    "threading/thread_id_name_manager.cc",
    "threading/thread_id_name_manager.h",
    "threading/thread_local.h",
    "threading/thread_local_android.cc",
    "threading/thread_local_posix.cc",
    "threading/thread_local_storage.cc",
    "threading/thread_local_storage.h",
    "threading/thread_local_storage_posix.cc",
    "threading/thread_local_storage_win.cc",
    "threading/thread_local_win.cc",
    "threading/thread_restrictions.cc",
    "threading/thread_restrictions.h",
    "threading/thread_task_runner_handle.cc",
    "threading/thread_task_runner_handle.h",
    "threading/watchdog.cc",
    "threading/watchdog.h",
    "threading/worker_pool.cc",
    "threading/worker_pool.h",
    "threading/worker_pool_posix.cc",
    "threading/worker_pool_posix.h",
    "threading/worker_pool_win.cc",
    "time/clock.cc",
    "time/clock.h",
    "time/default_clock.cc",
    "time/default_clock.h",
    "time/default_tick_clock.cc",
    "time/default_tick_clock.h",
    "time/tick_clock.cc",
    "time/tick_clock.h",
    "time/time.cc",
    "time/time.h",
    "time/time_mac.cc",
    "time/time_posix.cc",
    "time/time_win.cc",
    "timer/elapsed_timer.cc",
    "timer/elapsed_timer.h",
    "timer/hi_res_timer_manager.h",
    "timer/hi_res_timer_manager_posix.cc",
    "timer/hi_res_timer_manager_win.cc",
    "timer/mock_timer.cc",
    "timer/mock_timer.h",
    "timer/timer.cc",
    "timer/timer.h",
    "trace_event/blame_context.cc",
    "trace_event/blame_context.h",
    "trace_event/common/trace_event_common.h",
    "trace_event/heap_profiler.h",
    "trace_event/heap_profiler_allocation_context.cc",
    "trace_event/heap_profiler_allocation_context.h",
    "trace_event/heap_profiler_allocation_context_tracker.cc",
    "trace_event/heap_profiler_allocation_context_tracker.h",
    "trace_event/heap_profiler_allocation_register.cc",
    "trace_event/heap_profiler_allocation_register.h",
    "trace_event/heap_profiler_allocation_register_posix.cc",
    "trace_event/heap_profiler_allocation_register_win.cc",
    "trace_event/heap_profiler_heap_dump_writer.cc",
    "trace_event/heap_profiler_heap_dump_writer.h",
    "trace_event/heap_profiler_stack_frame_deduplicator.cc",
    "trace_event/heap_profiler_stack_frame_deduplicator.h",
    "trace_event/heap_profiler_type_name_deduplicator.cc",
    "trace_event/heap_profiler_type_name_deduplicator.h",
    "trace_event/java_heap_dump_provider_android.cc",
    "trace_event/java_heap_dump_provider_android.h",
    "trace_event/malloc_dump_provider.cc",
    "trace_event/malloc_dump_provider.h",
    "trace_event/memory_allocator_dump.cc",
    "trace_event/memory_allocator_dump.h",
    "trace_event/memory_allocator_dump_guid.cc",
    "trace_event/memory_allocator_dump_guid.h",
    "trace_event/memory_dump_manager.cc",
    "trace_event/memory_dump_manager.h",
    "trace_event/memory_dump_provider.h",
    "trace_event/memory_dump_request_args.cc",
    "trace_event/memory_dump_request_args.h",
    "trace_event/memory_dump_session_state.cc",
    "trace_event/memory_dump_session_state.h",
    "trace_event/memory_infra_background_whitelist.cc",
    "trace_event/memory_infra_background_whitelist.h",
    "trace_event/process_memory_dump.cc",
    "trace_event/process_memory_dump.h",
    "trace_event/process_memory_maps.cc",
    "trace_event/process_memory_maps.h",
    "trace_event/process_memory_totals.cc",
    "trace_event/process_memory_totals.h",
    "trace_event/trace_buffer.cc",
    "trace_event/trace_buffer.h",
    "trace_event/trace_config.cc",
    "trace_event/trace_config.h",
    "trace_event/trace_event.h",
    "trace_event/trace_event_android.cc",
    "trace_event/trace_event_argument.cc",
    "trace_event/trace_event_argument.h",
    "trace_event/trace_event_etw_export_win.cc",
    "trace_event/trace_event_etw_export_win.h",
    "trace_event/trace_event_impl.cc",
    "trace_event/trace_event_impl.h",
    "trace_event/trace_event_memory_overhead.cc",
    "trace_event/trace_event_memory_overhead.h",
    "trace_event/trace_event_synthetic_delay.cc",
    "trace_event/trace_event_synthetic_delay.h",
    "trace_event/trace_event_system_stats_monitor.cc",
    "trace_event/trace_event_system_stats_monitor.h",
    "trace_event/trace_log.cc",
    "trace_event/trace_log.h",
    "trace_event/trace_log_constants.cc",
    "trace_event/trace_sampling_thread.cc",
    "trace_event/trace_sampling_thread.h",
    "trace_event/tracing_agent.cc",
    "trace_event/tracing_agent.h",
    "tracked_objects.cc",
    "tracked_objects.h",
    "tracking_info.cc",
    "tracking_info.h",
    "tuple.h",
    "value_conversions.cc",
    "value_conversions.h",
    "values.cc",
    "values.h",
    "version.cc",
    "version.h",
    "vlog.cc",
    "vlog.h",
    "win/enum_variant.cc",
    "win/enum_variant.h",
    "win/event_trace_consumer.h",
    "win/event_trace_controller.cc",
    "win/event_trace_controller.h",
    "win/event_trace_provider.cc",
    "win/event_trace_provider.h",
    "win/i18n.cc",
    "win/i18n.h",
    "win/iat_patch_function.cc",
    "win/iat_patch_function.h",
    "win/iunknown_impl.cc",
    "win/iunknown_impl.h",
    "win/message_window.cc",
    "win/message_window.h",
    "win/object_watcher.cc",
    "win/object_watcher.h",
    "win/process_startup_helper.cc",
    "win/process_startup_helper.h",
    "win/registry.cc",
    "win/registry.h",
    "win/resource_util.cc",
    "win/resource_util.h",
    "win/scoped_bstr.cc",
    "win/scoped_bstr.h",
    "win/scoped_co_mem.h",
    "win/scoped_com_initializer.h",
    "win/scoped_comptr.h",
    "win/scoped_gdi_object.h",
    "win/scoped_handle.cc",
    "win/scoped_handle.h",
    "win/scoped_hdc.h",
    "win/scoped_hglobal.h",
    "win/scoped_process_information.cc",
    "win/scoped_process_information.h",
    "win/scoped_propvariant.h",
    "win/scoped_select_object.h",
    "win/scoped_variant.cc",
    "win/scoped_variant.h",
    "win/shortcut.cc",
    "win/shortcut.h",
    "win/startup_information.cc",
    "win/startup_information.h",
    "win/wait_chain.cc",
    "win/wait_chain.h",
    "win/win_util.cc",
    "win/win_util.h",
    "win/windows_version.cc",
    "win/windows_version.h",
    "win/wrapped_window_proc.cc",
    "win/wrapped_window_proc.h",
  ]

  defines = []
  data = []

  configs += [
    ":base_flags",
    ":base_implementation",
    "//base/allocator:allocator_shim_define",  # for allocator_check.cc.
    "//build/config:precompiled_headers",
  ]

  deps = [
    "//base/allocator",
    "//base/allocator:features",
    "//base/third_party/dynamic_annotations",
    "//third_party/modp_b64",
  ]

  public_deps = [
    ":base_paths",
    ":base_static",
    ":build_date",
    ":debugging_flags",
  ]

  # Needed for <atomic> if using newer C++ library than sysroot
  if (!use_sysroot && (is_android || is_linux)) {
    libs = [ "atomic" ]
  }

  if (use_experimental_allocator_shim) {
    # The allocator shim is part of the base API. This is to allow clients of
    # base should to install hooks into the allocator path.
    public_deps += [ "//base/allocator:unified_allocator_shim" ]
  }

  # Allow more direct string conversions on platforms with native utf8
  # strings
  if (is_mac || is_ios || is_chromeos || is_chromecast) {
    defines += [ "SYSTEM_NATIVE_UTF8" ]
  }

  # Android.
  if (is_android) {
    sources -= [
      "debug/stack_trace_posix.cc",
      "power_monitor/power_monitor_device_source_posix.cc",
    ]

    # Android uses some Linux sources, put those back.
    set_sources_assignment_filter([])
    sources += [
      "debug/proc_maps_linux.cc",
      "files/file_path_watcher_linux.cc",
      "posix/unix_domain_socket_linux.cc",
      "process/internal_linux.cc",
      "process/memory_linux.cc",
      "process/process_handle_linux.cc",
      "process/process_iterator_linux.cc",
      "process/process_metrics_linux.cc",
      "sys_info_linux.cc",
    ]
    set_sources_assignment_filter(sources_assignment_filter)

    deps += [
      ":base_jni_headers",
      "//third_party/android_tools:cpu_features",
      "//third_party/ashmem",
    ]

    # Needs to be a public config so that dependent targets link against it as
    # well when doing a component build.
    public_configs = [ ":android_system_libs" ]
  }

  # Chromeos.
  if (is_chromeos) {
    sources -= [ "power_monitor/power_monitor_device_source_posix.cc" ]
  }

  # NaCl.
  if (is_nacl) {
    # We reset sources_assignment_filter in order to explicitly include
    # the linux file (which would otherwise be filtered out).
    set_sources_assignment_filter([])
    sources += [
      "files/file_path_watcher_stub.cc",
      "process/process_metrics_nacl.cc",
      "sync_socket_nacl.cc",
      "threading/platform_thread_linux.cc",
    ]
    set_sources_assignment_filter(sources_assignment_filter)

    sources -= [
      "cpu.cc",
      "debug/crash_logging.cc",
      "debug/crash_logging.h",
      "debug/stack_trace.cc",
      "debug/stack_trace_posix.cc",
      "files/file_enumerator_posix.cc",
      "files/file_proxy.cc",
      "files/file_util_proxy.cc",
      "files/important_file_writer.cc",
      "files/important_file_writer.h",
      "files/scoped_temp_dir.cc",
      "memory/discardable_memory.cc",
      "memory/discardable_memory.h",
      "memory/discardable_memory_allocator.cc",
      "memory/discardable_memory_allocator.h",
      "memory/discardable_shared_memory.cc",
      "memory/discardable_shared_memory.h",
      "memory/shared_memory_posix.cc",
      "native_library.cc",
      "native_library_posix.cc",
      "path_service.cc",
      "process/kill.cc",
      "process/kill.h",
      "process/memory.cc",
      "process/memory.h",
      "process/process_iterator.cc",
      "process/process_iterator.h",
      "process/process_metrics.cc",
      "process/process_metrics_posix.cc",
      "process/process_posix.cc",
      "scoped_native_library.cc",
      "sync_socket_posix.cc",
      "synchronization/read_write_lock_posix.cc",
      "sys_info.cc",
      "sys_info_posix.cc",
      "trace_event/trace_event_system_stats_monitor.cc",
    ]

    if (is_nacl_nonsfi) {
      set_sources_assignment_filter([])
      sources += [ "posix/unix_domain_socket_linux.cc" ]
      set_sources_assignment_filter(sources_assignment_filter)
      sources -= [ "rand_util_nacl.cc" ]
      configs += [ ":nacl_nonsfi_warnings" ]
    } else {
      sources -= [
        "files/file_util.cc",
        "files/file_util.h",
        "files/file_util_posix.cc",
        "json/json_file_value_serializer.cc",
        "json/json_file_value_serializer.h",
        "message_loop/message_pump_libevent.cc",
        "message_loop/message_pump_libevent.h",
        "process/kill_posix.cc",
        "process/launch.cc",
        "process/launch.h",
        "process/launch_posix.cc",
        "rand_util_posix.cc",
      ]
    }
  } else {
    # Remove NaCl stuff.
    sources -= [
      "memory/shared_memory_nacl.cc",
      "os_compat_nacl.cc",
      "os_compat_nacl.h",
      "rand_util_nacl.cc",
      "synchronization/read_write_lock_nacl.cc",
    ]
  }

  # Windows.
  if (is_win) {
    sources += [
      "profiler/win32_stack_frame_unwinder.cc",
      "profiler/win32_stack_frame_unwinder.h",
    ]

    sources -= [
      "message_loop/message_pump_libevent.cc",
      "strings/string16.cc",
    ]

    deps += [
      "//base/trace_event/etw_manifest:chrome_events_win",
      "//base/win:base_win_features",
    ]

    if (is_component_build) {
      # Copy the VS runtime DLLs into the isolate so that they don't have to be
      # preinstalled on the target machine. The debug runtimes have a "d" at
      # the end.
      if (is_debug) {
        vcrt_suffix = "d"
      } else {
        vcrt_suffix = ""
      }

      # These runtime files are copied to the output directory by the
      # vs_toolchain script that runs as part of toolchain configuration.
      if (visual_studio_version == "2015") {
        data += [
          "$root_out_dir/msvcp140${vcrt_suffix}.dll",
          "$root_out_dir/vccorlib140${vcrt_suffix}.dll",
          "$root_out_dir/vcruntime140${vcrt_suffix}.dll",

          # Universal Windows 10 CRT files
          "$root_out_dir/api-ms-win-core-console-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-datetime-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-debug-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-errorhandling-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-file-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-file-l1-2-0.dll",
          "$root_out_dir/api-ms-win-core-file-l2-1-0.dll",
          "$root_out_dir/api-ms-win-core-handle-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-heap-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-interlocked-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-libraryloader-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-localization-l1-2-0.dll",
          "$root_out_dir/api-ms-win-core-memory-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-namedpipe-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-processenvironment-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-processthreads-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-processthreads-l1-1-1.dll",
          "$root_out_dir/api-ms-win-core-profile-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-rtlsupport-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-string-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-synch-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-synch-l1-2-0.dll",
          "$root_out_dir/api-ms-win-core-sysinfo-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-timezone-l1-1-0.dll",
          "$root_out_dir/api-ms-win-core-util-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-conio-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-convert-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-environment-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-filesystem-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-heap-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-locale-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-math-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-multibyte-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-private-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-process-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-runtime-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-stdio-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-string-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-time-l1-1-0.dll",
          "$root_out_dir/api-ms-win-crt-utility-l1-1-0.dll",
          "$root_out_dir/ucrtbase${vcrt_suffix}.dll",
        ]
      } else {
        data += [
          "$root_out_dir/msvcp120${vcrt_suffix}.dll",
          "$root_out_dir/msvcr120${vcrt_suffix}.dll",
        ]
      }
      if (is_asan) {
        if (current_cpu == "x64") {
          data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-x86_64.dll" ]
        } else {
          data += [ "$clang_base_path/lib/clang/$clang_version/lib/windows/clang_rt.asan_dynamic-i386.dll" ]
        }
      }
    }

    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

    libs = [
      "cfgmgr32.lib",
      "powrprof.lib",
      "setupapi.lib",
      "userenv.lib",
      "winmm.lib",
    ]
    all_dependent_configs = [ ":base_win_linker_flags" ]
  } else if (!is_nacl || is_nacl_nonsfi) {
    # Non-Windows.
    deps += [ "//base/third_party/libevent" ]
  }

  # Desktop Mac.
  if (is_mac) {
    libs = [
      "ApplicationServices.framework",
      "AppKit.framework",
      "bsm",
      "CoreFoundation.framework",
      "IOKit.framework",
      "Security.framework",
    ]
  }

  # Mac or iOS.
  if (is_mac || is_ios) {
    sources -= [
      "memory/shared_memory_posix.cc",
      "native_library_posix.cc",
      "strings/sys_string_conversions_posix.cc",
      "threading/platform_thread_internal_posix.cc",
    ]
  } else {
    # Non-Mac/ios.
    sources -= [
      "files/file_path_watcher_fsevents.cc",
      "files/file_path_watcher_fsevents.h",
      "files/file_path_watcher_kqueue.cc",
      "files/file_path_watcher_kqueue.h",
    ]
  }

  # Linux.
  if (is_linux) {
    if (is_asan || is_lsan || is_msan || is_tsan) {
      # For llvm-sanitizer.
      data += [ "//third_party/llvm-build/Release+Asserts/lib/libstdc++.so.6" ]
    }

    # TODO(brettw) this will need to be parameterized at some point.
    linux_configs = []
    if (use_glib) {
      linux_configs += [ "//build/config/linux:glib" ]
    }

    defines += [ "USE_SYMBOLIZE" ]

    configs += linux_configs
    all_dependent_configs = linux_configs

    # These dependencies are not required on Android, and in the case
    # of xdg_mime must be excluded due to licensing restrictions.
    deps += [
      "//base/third_party/symbolize",
      "//base/third_party/xdg_mime",
      "//base/third_party/xdg_user_dirs",
    ]
  } else {
    # Non-Linux.
    sources -= [
      "nix/mime_util_xdg.cc",
      "nix/mime_util_xdg.h",
      "nix/xdg_util.cc",
      "nix/xdg_util.h",
    ]

    if (!is_android) {
      sources -= [
        "linux_util.cc",
        "linux_util.h",
      ]
    }
  }

  # iOS
  if (is_ios) {
    set_sources_assignment_filter([])

    sources -= [
      "files/file_path_watcher.cc",
      "files/file_path_watcher.h",
      "files/file_path_watcher_fsevents.cc",
      "files/file_path_watcher_fsevents.h",
      "files/file_path_watcher_kqueue.cc",
      "files/file_path_watcher_kqueue.h",
      "memory/discardable_shared_memory.cc",
      "memory/discardable_shared_memory.h",
      "message_loop/message_pump_libevent.cc",
      "message_loop/message_pump_libevent.h",
      "process/kill.cc",
      "process/kill.h",
      "process/kill_posix.cc",
      "process/launch.cc",
      "process/launch.h",
      "process/launch_posix.cc",
      "process/memory.cc",
      "process/memory.h",
      "process/process_iterator.cc",
      "process/process_iterator.h",
      "process/process_metrics_posix.cc",
      "process/process_posix.cc",
      "sync_socket.h",
      "sync_socket_posix.cc",
    ]
    sources += [
      "base_paths_mac.h",
      "base_paths_mac.mm",
      "file_version_info_mac.h",
      "file_version_info_mac.mm",
      "files/file_util_mac.mm",
      "mac/bundle_locations.h",
      "mac/bundle_locations.mm",
      "mac/call_with_eh_frame.cc",
      "mac/call_with_eh_frame.h",
      "mac/foundation_util.h",
      "mac/foundation_util.mm",
      "mac/mac_logging.h",
      "mac/mac_logging.mm",
      "mac/mach_logging.cc",
      "mac/mach_logging.h",
      "mac/objc_property_releaser.h",
      "mac/objc_property_releaser.mm",
      "mac/scoped_block.h",
      "mac/scoped_mach_port.cc",
      "mac/scoped_mach_port.h",
      "mac/scoped_mach_vm.cc",
      "mac/scoped_mach_vm.h",
      "mac/scoped_nsautorelease_pool.h",
      "mac/scoped_nsautorelease_pool.mm",
      "mac/scoped_nsobject.h",
      "mac/scoped_nsobject.mm",
      "mac/scoped_objc_class_swizzler.h",
      "mac/scoped_objc_class_swizzler.mm",
      "mac/scoped_typeref.h",
      "memory/shared_memory_posix.cc",
      "message_loop/message_pump_mac.h",
      "message_loop/message_pump_mac.mm",
      "process/memory_stubs.cc",
      "strings/sys_string_conversions_mac.mm",
      "threading/platform_thread_mac.mm",
      "time/time_mac.cc",
    ]

    set_sources_assignment_filter(sources_assignment_filter)
  }

  if (!use_glib) {
    sources -= [
      "message_loop/message_pump_glib.cc",
      "message_loop/message_pump_glib.h",
    ]
  }

  if (is_asan || is_lsan || is_msan || is_tsan) {
    data += [ "//tools/valgrind/asan/" ]
    if (is_win) {
      data +=
          [ "//third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer.exe" ]
    } else {
      data += [ "//third_party/llvm-build/Release+Asserts/bin/llvm-symbolizer" ]
    }
  }

  configs += [ "//build/config/compiler:wexit_time_destructors" ]
  if (!is_debug) {
    configs -= [ "//build/config/compiler:default_optimization" ]
    configs += [ "//build/config/compiler:optimize_max" ]
  }

  allow_circular_includes_from = public_deps
}

buildflag_header("debugging_flags") {
  header = "debugging_flags.h"
  header_dir = "base/debug"
  flags = [ "ENABLE_PROFILING=$enable_profiling" ]
}

# This is the subset of files from base that should not be used with a dynamic
# library. Note that this library cannot depend on base because base depends on
# base_static.
static_library("base_static") {
  sources = [
    "base_switches.cc",
    "base_switches.h",
    "task_scheduler/switches.cc",
    "task_scheduler/switches.h",
    "win/pe_image.cc",
    "win/pe_image.h",
  ]

  if (is_win) {
    # Disable sanitizer coverage in win/pe_image.cc. It is called by the sandbox
    # before sanitizer coverage can initialize. http://crbug.com/484711
    configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ]
    configs +=
        [ "//build/config/sanitizers:default_sanitizer_flags_but_coverage" ]
  }

  if (!is_debug) {
    configs -= [ "//build/config/compiler:default_optimization" ]
    configs += [ "//build/config/compiler:optimize_max" ]
  }
}

component("i18n") {
  output_name = "base_i18n"
  sources = [
    "i18n/base_i18n_export.h",
    "i18n/base_i18n_switches.cc",
    "i18n/base_i18n_switches.h",
    "i18n/bidi_line_iterator.cc",
    "i18n/bidi_line_iterator.h",
    "i18n/break_iterator.cc",
    "i18n/break_iterator.h",
    "i18n/case_conversion.cc",
    "i18n/case_conversion.h",
    "i18n/char_iterator.cc",
    "i18n/char_iterator.h",
    "i18n/encoding_detection.cc",
    "i18n/encoding_detection.h",
    "i18n/file_util_icu.cc",
    "i18n/file_util_icu.h",
    "i18n/i18n_constants.cc",
    "i18n/i18n_constants.h",
    "i18n/icu_string_conversions.cc",
    "i18n/icu_string_conversions.h",
    "i18n/icu_util.cc",
    "i18n/icu_util.h",
    "i18n/message_formatter.cc",
    "i18n/message_formatter.h",
    "i18n/number_formatting.cc",
    "i18n/number_formatting.h",
    "i18n/rtl.cc",
    "i18n/rtl.h",
    "i18n/streaming_utf8_validator.cc",
    "i18n/streaming_utf8_validator.h",
    "i18n/string_compare.cc",
    "i18n/string_compare.h",
    "i18n/string_search.cc",
    "i18n/string_search.h",
    "i18n/time_formatting.cc",
    "i18n/time_formatting.h",
    "i18n/timezone.cc",
    "i18n/timezone.h",
    "i18n/utf8_validator_tables.cc",
    "i18n/utf8_validator_tables.h",
  ]
  defines = [ "BASE_I18N_IMPLEMENTATION" ]
  configs += [ "//build/config/compiler:wexit_time_destructors" ]
  public_deps = [
    "//third_party/ced",
    "//third_party/icu",
  ]
  deps = [
    ":base",
    "//base/third_party/dynamic_annotations",
  ]

  if (!is_debug) {
    configs -= [ "//build/config/compiler:default_optimization" ]
    configs += [ "//build/config/compiler:optimize_max" ]
  }

  # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
  configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

  if (is_mac) {
    libs = [ "CoreFoundation.framework" ]
  }
}

test("base_perftests") {
  sources = [
    "message_loop/message_pump_perftest.cc",

    # "test/run_all_unittests.cc",
    "threading/thread_perftest.cc",
  ]
  deps = [
    ":base",
    "//base/test:test_support",
    "//base/test:test_support_perf",
    "//testing/gtest",
    "//testing/perf",
  ]

  if (is_android) {
    deps += [ "//testing/android/native_test:native_test_native_code" ]
  }
}

test("base_i18n_perftests") {
  sources = [
    "i18n/streaming_utf8_validator_perftest.cc",
  ]
  deps = [
    ":base",
    ":i18n",
    "//base/test:test_support",
    "//base/test:test_support_perf",
    "//testing/gtest",
  ]
}

if (!is_ios) {
  executable("build_utf8_validator_tables") {
    sources = [
      "i18n/build_utf8_validator_tables.cc",
    ]
    deps = [
      ":base",
      "//build/config/sanitizers:deps",
      "//build/win:default_exe_manifest",
      "//third_party/icu:icuuc",
    ]
  }

  executable("check_example") {
    sources = [
      "check_example.cc",
    ]
    deps = [
      ":base",
      "//build/config/sanitizers:deps",
      "//build/win:default_exe_manifest",
    ]
  }
}

source_set("message_loop_tests") {
  testonly = true
  sources = [
    "message_loop/message_loop_test.cc",
    "message_loop/message_loop_test.h",
  ]

  deps = [
    ":base",
    "//testing/gtest",
  ]
}

if (is_win) {
  # Target to manually rebuild pe_image_test.dll which is checked into
  # base/test/data/pe_image.
  shared_library("pe_image_test") {
    sources = [
      "win/pe_image_test.cc",
    ]
    ldflags = [
      "/DELAYLOAD:cfgmgr32.dll",
      "/DELAYLOAD:shell32.dll",
      "/SUBSYSTEM:WINDOWS",
    ]
    libs = [
      "cfgmgr32.lib",
      "shell32.lib",
    ]
    deps = [
      "//build/config/sanitizers:deps",
    ]
  }

  loadable_module("scoped_handle_test_dll") {
    sources = [
      "win/scoped_handle_test_dll.cc",
    ]
    deps = [
      ":base",
      "//base/win:base_win_features",
    ]
  }

  if (current_cpu == "x64") {
    # Must be a shared library so that it can be unloaded during testing.
    shared_library("base_profiler_test_support_library") {
      sources = [
        "profiler/test_support_library.cc",
      ]
      deps = [
        "//build/config/sanitizers:deps",
      ]
    }
  }
}

bundle_data("base_unittests_bundle_data") {
  testonly = true
  sources = [
    "test/data/file_util/binary_file.bin",
    "test/data/file_util/binary_file_diff.bin",
    "test/data/file_util/binary_file_same.bin",
    "test/data/file_util/blank_line.txt",
    "test/data/file_util/blank_line_crlf.txt",
    "test/data/file_util/crlf.txt",
    "test/data/file_util/different.txt",
    "test/data/file_util/different_first.txt",
    "test/data/file_util/different_last.txt",
    "test/data/file_util/empty1.txt",
    "test/data/file_util/empty2.txt",
    "test/data/file_util/first1.txt",
    "test/data/file_util/first2.txt",
    "test/data/file_util/original.txt",
    "test/data/file_util/same.txt",
    "test/data/file_util/same_length.txt",
    "test/data/file_util/shortened.txt",
    "test/data/json/bom_feff.json",
    "test/data/serializer_nested_test.json",
    "test/data/serializer_test.json",
    "test/data/serializer_test_nowhitespace.json",
  ]
  outputs = [
    "{{bundle_resources_dir}}/" +
        "{{source_root_relative_dir}}/{{source_file_part}}",
  ]
}

if (is_ios || is_mac) {
  source_set("base_unittests_arc") {
    testonly = true
    set_sources_assignment_filter([])
    sources = [
      "mac/bind_objc_block_unittest_arc.mm",
      "mac/scoped_nsobject_unittest_arc.mm",
    ]
    set_sources_assignment_filter(sources_assignment_filter)
    configs += [ "//build/config/compiler:enable_arc" ]
    deps = [
      ":base",
      "//testing/gtest",
    ]
  }
}

test("base_unittests") {
  sources = [
    "allocator/tcmalloc_unittest.cc",
    "android/application_status_listener_unittest.cc",
    "android/content_uri_utils_unittest.cc",
    "android/jni_android_unittest.cc",
    "android/jni_array_unittest.cc",
    "android/jni_string_unittest.cc",
    "android/library_loader/library_prefetcher_unittest.cc",
    "android/path_utils_unittest.cc",
    "android/scoped_java_ref_unittest.cc",
    "android/sys_utils_unittest.cc",
    "at_exit_unittest.cc",
    "atomicops_unittest.cc",
    "barrier_closure_unittest.cc",
    "base64_unittest.cc",
    "base64url_unittest.cc",
    "big_endian_unittest.cc",
    "bind_helpers_unittest.cc",
    "bind_unittest.cc",
    "bit_cast_unittest.cc",
    "bits_unittest.cc",
    "build_time_unittest.cc",
    "callback_helpers_unittest.cc",
    "callback_list_unittest.cc",
    "callback_unittest.cc",
    "cancelable_callback_unittest.cc",
    "command_line_unittest.cc",
    "containers/adapters_unittest.cc",
    "containers/hash_tables_unittest.cc",
    "containers/linked_list_unittest.cc",
    "containers/mru_cache_unittest.cc",
    "containers/scoped_ptr_hash_map_unittest.cc",
    "containers/small_map_unittest.cc",
    "containers/stack_container_unittest.cc",
    "cpu_unittest.cc",
    "debug/activity_analyzer_unittest.cc",
    "debug/activity_tracker_unittest.cc",
    "debug/crash_logging_unittest.cc",
    "debug/debugger_unittest.cc",
    "debug/leak_tracker_unittest.cc",
    "debug/proc_maps_linux_unittest.cc",
    "debug/stack_trace_unittest.cc",
    "debug/task_annotator_unittest.cc",
    "deferred_sequenced_task_runner_unittest.cc",
    "environment_unittest.cc",
    "feature_list_unittest.cc",
    "file_version_info_win_unittest.cc",
    "files/dir_reader_posix_unittest.cc",
    "files/file_locking_unittest.cc",
    "files/file_path_unittest.cc",
    "files/file_path_watcher_unittest.cc",
    "files/file_proxy_unittest.cc",
    "files/file_unittest.cc",
    "files/file_util_proxy_unittest.cc",
    "files/file_util_unittest.cc",
    "files/important_file_writer_unittest.cc",
    "files/memory_mapped_file_unittest.cc",
    "files/scoped_temp_dir_unittest.cc",
    "gmock_unittest.cc",
    "guid_unittest.cc",
    "hash_unittest.cc",
    "i18n/break_iterator_unittest.cc",
    "i18n/case_conversion_unittest.cc",
    "i18n/char_iterator_unittest.cc",
    "i18n/file_util_icu_unittest.cc",
    "i18n/icu_string_conversions_unittest.cc",
    "i18n/message_formatter_unittest.cc",
    "i18n/number_formatting_unittest.cc",
    "i18n/rtl_unittest.cc",
    "i18n/streaming_utf8_validator_unittest.cc",
    "i18n/string_search_unittest.cc",
    "i18n/time_formatting_unittest.cc",
    "i18n/timezone_unittest.cc",
    "id_map_unittest.cc",
    "ios/device_util_unittest.mm",
    "ios/weak_nsobject_unittest.mm",
    "json/json_parser_unittest.cc",
    "json/json_reader_unittest.cc",
    "json/json_value_converter_unittest.cc",
    "json/json_value_serializer_unittest.cc",
    "json/json_writer_unittest.cc",
    "json/string_escape_unittest.cc",
    "lazy_instance_unittest.cc",
    "logging_unittest.cc",
    "mac/bind_objc_block_unittest.mm",
    "mac/call_with_eh_frame_unittest.mm",
    "mac/dispatch_source_mach_unittest.cc",
    "mac/foundation_util_unittest.mm",
    "mac/mac_util_unittest.mm",
    "mac/mach_port_broker_unittest.cc",
    "mac/objc_property_releaser_unittest.mm",
    "mac/scoped_nsobject_unittest.mm",
    "mac/scoped_objc_class_swizzler_unittest.mm",
    "mac/scoped_sending_event_unittest.mm",
    "md5_unittest.cc",
    "memory/aligned_memory_unittest.cc",
    "memory/discardable_shared_memory_unittest.cc",
    "memory/linked_ptr_unittest.cc",
    "memory/memory_pressure_listener_unittest.cc",
    "memory/memory_pressure_monitor_chromeos_unittest.cc",
    "memory/memory_pressure_monitor_mac_unittest.cc",
    "memory/memory_pressure_monitor_win_unittest.cc",
    "memory/ptr_util_unittest.cc",
    "memory/ref_counted_memory_unittest.cc",
    "memory/ref_counted_unittest.cc",
    "memory/scoped_vector_unittest.cc",
    "memory/shared_memory_mac_unittest.cc",
    "memory/shared_memory_unittest.cc",
    "memory/shared_memory_win_unittest.cc",
    "memory/singleton_unittest.cc",
    "memory/weak_ptr_unittest.cc",
    "message_loop/message_loop_task_runner_unittest.cc",
    "message_loop/message_loop_unittest.cc",
    "message_loop/message_pump_glib_unittest.cc",
    "message_loop/message_pump_io_ios_unittest.cc",
    "metrics/bucket_ranges_unittest.cc",
    "metrics/field_trial_unittest.cc",
    "metrics/histogram_base_unittest.cc",
    "metrics/histogram_delta_serialization_unittest.cc",
    "metrics/histogram_macros_unittest.cc",
    "metrics/histogram_snapshot_manager_unittest.cc",
    "metrics/histogram_unittest.cc",
    "metrics/metrics_hashes_unittest.cc",
    "metrics/persistent_histogram_allocator_unittest.cc",
    "metrics/persistent_memory_allocator_unittest.cc",
    "metrics/persistent_sample_map_unittest.cc",
    "metrics/sample_map_unittest.cc",
    "metrics/sample_vector_unittest.cc",
    "metrics/sparse_histogram_unittest.cc",
    "metrics/statistics_recorder_unittest.cc",
    "native_library_unittest.cc",
    "numerics/safe_numerics_unittest.cc",
    "observer_list_unittest.cc",
    "optional_unittest.cc",
    "os_compat_android_unittest.cc",
    "path_service_unittest.cc",
    "pickle_unittest.cc",
    "posix/file_descriptor_shuffle_unittest.cc",
    "posix/unix_domain_socket_linux_unittest.cc",
    "power_monitor/power_monitor_unittest.cc",
    "process/memory_unittest.cc",
    "process/memory_unittest_mac.h",
    "process/memory_unittest_mac.mm",
    "process/process_metrics_unittest.cc",
    "process/process_metrics_unittest_ios.cc",
    "process/process_unittest.cc",
    "process/process_util_unittest.cc",
    "profiler/stack_sampling_profiler_unittest.cc",
    "profiler/tracked_time_unittest.cc",
    "rand_util_unittest.cc",
    "run_loop_unittest.cc",
    "scoped_clear_errno_unittest.cc",
    "scoped_generic_unittest.cc",
    "scoped_native_library_unittest.cc",
    "security_unittest.cc",
    "sequence_checker_unittest.cc",
    "sequence_token_unittest.cc",
    "sequenced_task_runner_unittest.cc",
    "sha1_unittest.cc",
    "stl_util_unittest.cc",
    "strings/nullable_string16_unittest.cc",
    "strings/pattern_unittest.cc",
    "strings/safe_sprintf_unittest.cc",
    "strings/string16_unittest.cc",
    "strings/string_number_conversions_unittest.cc",
    "strings/string_piece_unittest.cc",
    "strings/string_split_unittest.cc",
    "strings/string_tokenizer_unittest.cc",
    "strings/string_util_unittest.cc",
    "strings/stringize_macros_unittest.cc",
    "strings/stringprintf_unittest.cc",
    "strings/sys_string_conversions_mac_unittest.mm",
    "strings/sys_string_conversions_unittest.cc",
    "strings/utf_offset_string_conversions_unittest.cc",
    "strings/utf_string_conversions_unittest.cc",
    "supports_user_data_unittest.cc",
    "sync_socket_unittest.cc",
    "synchronization/atomic_flag_unittest.cc",
    "synchronization/condition_variable_unittest.cc",
    "synchronization/lock_unittest.cc",
    "synchronization/read_write_lock_unittest.cc",
    "synchronization/waitable_event_unittest.cc",
    "synchronization/waitable_event_watcher_unittest.cc",
    "sys_byteorder_unittest.cc",
    "sys_info_unittest.cc",
    "system_monitor/system_monitor_unittest.cc",
    "task/cancelable_task_tracker_unittest.cc",
    "task_runner_util_unittest.cc",
    "task_scheduler/delayed_task_manager_unittest.cc",
    "task_scheduler/priority_queue_unittest.cc",
    "task_scheduler/scheduler_lock_unittest.cc",
    "task_scheduler/scheduler_service_thread_unittest.cc",
    "task_scheduler/scheduler_worker_pool_impl_unittest.cc",
    "task_scheduler/scheduler_worker_stack_unittest.cc",
    "task_scheduler/scheduler_worker_unittest.cc",
    "task_scheduler/sequence_sort_key_unittest.cc",
    "task_scheduler/sequence_unittest.cc",
    "task_scheduler/task_scheduler_impl_unittest.cc",
    "task_scheduler/task_tracker_unittest.cc",
    "task_scheduler/test_task_factory.cc",
    "task_scheduler/test_task_factory.h",
    "template_util_unittest.cc",
    "test/histogram_tester_unittest.cc",
    "test/test_pending_task_unittest.cc",
    "test/test_reg_util_win_unittest.cc",
    "test/trace_event_analyzer_unittest.cc",
    "test/user_action_tester_unittest.cc",
    "threading/non_thread_safe_unittest.cc",
    "threading/platform_thread_unittest.cc",
    "threading/post_task_and_reply_impl_unittest.cc",
    "threading/sequenced_task_runner_handle_unittest.cc",
    "threading/sequenced_worker_pool_unittest.cc",
    "threading/simple_thread_unittest.cc",
    "threading/thread_checker_unittest.cc",
    "threading/thread_collision_warner_unittest.cc",
    "threading/thread_id_name_manager_unittest.cc",
    "threading/thread_local_storage_unittest.cc",
    "threading/thread_local_unittest.cc",
    "threading/thread_unittest.cc",
    "threading/watchdog_unittest.cc",
    "threading/worker_pool_posix_unittest.cc",
    "threading/worker_pool_unittest.cc",
    "time/pr_time_unittest.cc",
    "time/time_unittest.cc",
    "time/time_win_unittest.cc",
    "timer/hi_res_timer_manager_unittest.cc",
    "timer/mock_timer_unittest.cc",
    "timer/timer_unittest.cc",
    "tools_sanity_unittest.cc",
    "trace_event/blame_context_unittest.cc",
    "trace_event/heap_profiler_allocation_context_tracker_unittest.cc",
    "trace_event/heap_profiler_allocation_register_unittest.cc",
    "trace_event/heap_profiler_heap_dump_writer_unittest.cc",
    "trace_event/heap_profiler_stack_frame_deduplicator_unittest.cc",
    "trace_event/heap_profiler_type_name_deduplicator_unittest.cc",
    "trace_event/java_heap_dump_provider_android_unittest.cc",
    "trace_event/memory_allocator_dump_unittest.cc",
    "trace_event/memory_dump_manager_unittest.cc",
    "trace_event/process_memory_dump_unittest.cc",
    "trace_event/trace_config_unittest.cc",
    "trace_event/trace_event_argument_unittest.cc",
    "trace_event/trace_event_synthetic_delay_unittest.cc",
    "trace_event/trace_event_system_stats_monitor_unittest.cc",
    "trace_event/trace_event_unittest.cc",
    "tracked_objects_unittest.cc",
    "tuple_unittest.cc",
    "values_unittest.cc",
    "version_unittest.cc",
    "vlog_unittest.cc",
    "win/dllmain.cc",
    "win/enum_variant_unittest.cc",
    "win/event_trace_consumer_unittest.cc",
    "win/event_trace_controller_unittest.cc",
    "win/event_trace_provider_unittest.cc",
    "win/i18n_unittest.cc",
    "win/iunknown_impl_unittest.cc",
    "win/message_window_unittest.cc",
    "win/object_watcher_unittest.cc",
    "win/pe_image_unittest.cc",
    "win/registry_unittest.cc",
    "win/scoped_bstr_unittest.cc",
    "win/scoped_comptr_unittest.cc",
    "win/scoped_handle_unittest.cc",
    "win/scoped_process_information_unittest.cc",
    "win/scoped_variant_unittest.cc",
    "win/shortcut_unittest.cc",
    "win/startup_information_unittest.cc",
    "win/wait_chain_unittest.cc",
    "win/win_util_unittest.cc",
    "win/windows_version_unittest.cc",
    "win/wrapped_window_proc_unittest.cc",
  ]

  defines = []

  deps = [
    ":base",
    ":i18n",
    ":message_loop_tests",
    "//base/allocator:features",
    "//base/test:native_library_test_utils",
    "//base/test:run_all_base_unittests",
    "//base/test:test_support",
    "//base/third_party/dynamic_annotations",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/icu",
  ]

  data_deps = [
    "//base/test:test_shared_library",
  ]

  if (is_ios || is_mac) {
    deps += [ ":base_unittests_arc" ]
  }

  public_deps = [
    ":base_unittests_bundle_data",
  ]

  # Some unittests depend on the ALLOCATOR_SHIM macro.
  configs += [ "//base/allocator:allocator_shim_define" ]

  data = [
    "test/data/",
  ]

  # Allow more direct string conversions on platforms with native utf8
  # strings
  if (is_mac || is_ios || is_chromeos || is_chromecast) {
    defines += [ "SYSTEM_NATIVE_UTF8" ]
  }

  if (is_android) {
    deps += [
      ":base_java",
      ":base_java_unittest_support",
      "//base/android/jni_generator:jni_generator_tests",
    ]
  }

  if (is_ios) {
    sources -= [
      "files/file_locking_unittest.cc",
      "files/file_path_watcher_unittest.cc",
      "memory/discardable_shared_memory_unittest.cc",
      "memory/shared_memory_unittest.cc",
      "process/memory_unittest.cc",
      "process/process_unittest.cc",
      "process/process_util_unittest.cc",
      "sync_socket_unittest.cc",
    ]

    # Pull in specific Mac files for iOS (which have been filtered out by file
    # name rules).
    set_sources_assignment_filter([])
    sources += [
      "mac/bind_objc_block_unittest.mm",
      "mac/foundation_util_unittest.mm",
      "mac/objc_property_releaser_unittest.mm",
      "mac/scoped_nsobject_unittest.mm",
      "strings/sys_string_conversions_mac_unittest.mm",
    ]
    set_sources_assignment_filter(sources_assignment_filter)

    # TODO(GYP): dep on copy_test_data_ios action.
  }

  if (is_mac) {
    libs = [
      "CoreFoundation.framework",
      "Foundation.framework",
    ]
  }

  if (is_linux) {
    if (is_desktop_linux) {
      sources += [ "nix/xdg_util_unittest.cc" ]
    }

    deps += [ "//base/test:malloc_wrapper" ]

    if (!is_component_build) {
      # Set rpath to find libmalloc_wrapper.so even in a non-component build.
      configs += [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
    }
  }

  if (!use_glib) {
    sources -= [ "message_loop/message_pump_glib_unittest.cc" ]
  }

  if (is_posix && !is_ios) {
    sources += [ "message_loop/message_pump_libevent_unittest.cc" ]
    deps += [ "//base/third_party/libevent" ]
  }

  if (is_android) {
    deps += [ "//testing/android/native_test:native_test_native_code" ]
    set_sources_assignment_filter([])
    sources += [
      "debug/proc_maps_linux_unittest.cc",
      "trace_event/trace_event_android_unittest.cc",
    ]
    set_sources_assignment_filter(sources_assignment_filter)
  }

  if (is_win) {
    deps += [ "//base:scoped_handle_test_dll" ]
    if (current_cpu == "x64") {
      sources += [ "profiler/win32_stack_frame_unwinder_unittest.cc" ]
      deps += [ ":base_profiler_test_support_library" ]
    }
  }

  if (use_experimental_allocator_shim) {
    sources += [ "allocator/allocator_shim_unittest.cc" ]
  }

  # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
  configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

  # Symbols for crashes when running tests on swarming.
  if (symbol_level > 0) {
    if (is_win) {
      data += [ "$root_out_dir/base_unittests.exe.pdb" ]
    } else if (is_mac) {
      # TODO(crbug.com/330301): make this conditional on mac_strip_release.
      # data += [ "$root_out_dir/base_unittests.dSYM/" ]
    }
  }

  if (use_cfi_cast) {
    # TODO(krasin): remove CFI_CAST_CHECK, see https://crbug.com/626794.
    defines += [ "CFI_CAST_CHECK" ]
  }
}

action("build_date") {
  script = "//build/write_build_date_header.py"

  # Force recalculation if there's been a change.
  inputs = [
    "//build/util/LASTCHANGE",
  ]
  outputs = [
    "$target_gen_dir/generated_build_date.h",
  ]

  args =
      [ rebase_path("$target_gen_dir/generated_build_date.h", root_build_dir) ]

  if (is_official_build) {
    args += [ "official" ]
  } else {
    args += [ "default" ]
  }

  if (override_build_date != "N/A") {
    args += [ override_build_date ]
  }
}

if (enable_nocompile_tests) {
  nocompile_test("base_nocompile_tests") {
    sources = [
      "bind_unittest.nc",
      "callback_list_unittest.nc",
      "callback_unittest.nc",
      "memory/weak_ptr_unittest.nc",
    ]

    deps = [
      ":base",
      "//base/test:run_all_unittests",
      "//testing/gtest",
    ]
  }
}

if (is_android) {
  # GYP: //base.gyp:base_jni_headers
  generate_jni("base_jni_headers") {
    sources = [
      "android/java/src/org/chromium/base/AnimationFrameTimeHistogram.java",
      "android/java/src/org/chromium/base/ApkAssets.java",
      "android/java/src/org/chromium/base/ApplicationStatus.java",
      "android/java/src/org/chromium/base/BuildInfo.java",
      "android/java/src/org/chromium/base/Callback.java",
      "android/java/src/org/chromium/base/CommandLine.java",
      "android/java/src/org/chromium/base/ContentUriUtils.java",
      "android/java/src/org/chromium/base/ContextUtils.java",
      "android/java/src/org/chromium/base/CpuFeatures.java",
      "android/java/src/org/chromium/base/EarlyTraceEvent.java",
      "android/java/src/org/chromium/base/EventLog.java",
      "android/java/src/org/chromium/base/FieldTrialList.java",
      "android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
      "android/java/src/org/chromium/base/JNIUtils.java",
      "android/java/src/org/chromium/base/JavaHandlerThread.java",
      "android/java/src/org/chromium/base/LocaleUtils.java",
      "android/java/src/org/chromium/base/MemoryPressureListener.java",
      "android/java/src/org/chromium/base/PathService.java",
      "android/java/src/org/chromium/base/PathUtils.java",
      "android/java/src/org/chromium/base/PowerMonitor.java",
      "android/java/src/org/chromium/base/SysUtils.java",
      "android/java/src/org/chromium/base/SystemMessageHandler.java",
      "android/java/src/org/chromium/base/ThreadUtils.java",
      "android/java/src/org/chromium/base/TraceEvent.java",
      "android/java/src/org/chromium/base/library_loader/LibraryLoader.java",
      "android/java/src/org/chromium/base/metrics/RecordHistogram.java",
      "android/java/src/org/chromium/base/metrics/RecordUserAction.java",
    ]

    public_deps = [
      ":android_runtime_jni_headers",
    ]

    jni_package = "base"
  }

  # GYP: //base.gyp:android_runtime_jni_headers
  generate_jar_jni("android_runtime_jni_headers") {
    jni_package = "base"
    classes = [ "java/lang/Runtime.class" ]
  }

  # GYP: //base.gyp:base_java
  android_library("base_java") {
    srcjar_deps = [
      ":base_android_java_enums_srcjar",
      ":base_build_config_gen",
      ":base_native_libraries_gen",
    ]

    deps = [
      "//third_party/android_tools:android_support_annotations_java",
      "//third_party/android_tools:android_support_multidex_java",
      "//third_party/jsr-305:jsr_305_javalib",
    ]

    java_files = [
      "android/java/src/org/chromium/base/ActivityState.java",
      "android/java/src/org/chromium/base/AnimationFrameTimeHistogram.java",
      "android/java/src/org/chromium/base/ApiCompatibilityUtils.java",
      "android/java/src/org/chromium/base/ApkAssets.java",
      "android/java/src/org/chromium/base/ApplicationStatus.java",
      "android/java/src/org/chromium/base/BaseChromiumApplication.java",
      "android/java/src/org/chromium/base/BaseSwitches.java",
      "android/java/src/org/chromium/base/BuildInfo.java",
      "android/java/src/org/chromium/base/Callback.java",
      "android/java/src/org/chromium/base/CollectionUtil.java",
      "android/java/src/org/chromium/base/CommandLine.java",
      "android/java/src/org/chromium/base/CommandLineInitUtil.java",
      "android/java/src/org/chromium/base/ContentUriUtils.java",
      "android/java/src/org/chromium/base/ContextUtils.java",
      "android/java/src/org/chromium/base/CpuFeatures.java",
      "android/java/src/org/chromium/base/EarlyTraceEvent.java",
      "android/java/src/org/chromium/base/EventLog.java",
      "android/java/src/org/chromium/base/FieldTrialList.java",
      "android/java/src/org/chromium/base/FileUtils.java",
      "android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
      "android/java/src/org/chromium/base/JNIUtils.java",
      "android/java/src/org/chromium/base/JavaHandlerThread.java",
      "android/java/src/org/chromium/base/LocaleUtils.java",
      "android/java/src/org/chromium/base/Log.java",
      "android/java/src/org/chromium/base/MemoryPressureListener.java",
      "android/java/src/org/chromium/base/ObserverList.java",
      "android/java/src/org/chromium/base/PackageUtils.java",
      "android/java/src/org/chromium/base/PathService.java",
      "android/java/src/org/chromium/base/PathUtils.java",
      "android/java/src/org/chromium/base/PerfTraceEvent.java",
      "android/java/src/org/chromium/base/PowerMonitor.java",
      "android/java/src/org/chromium/base/PowerStatusReceiver.java",
      "android/java/src/org/chromium/base/Promise.java",
      "android/java/src/org/chromium/base/ResourceExtractor.java",
      "android/java/src/org/chromium/base/SecureRandomInitializer.java",
      "android/java/src/org/chromium/base/StreamUtil.java",
      "android/java/src/org/chromium/base/SysUtils.java",
      "android/java/src/org/chromium/base/SystemMessageHandler.java",
      "android/java/src/org/chromium/base/ThreadUtils.java",
      "android/java/src/org/chromium/base/TraceEvent.java",
      "android/java/src/org/chromium/base/VisibleForTesting.java",
      "android/java/src/org/chromium/base/annotations/AccessedByNative.java",
      "android/java/src/org/chromium/base/annotations/CalledByNative.java",
      "android/java/src/org/chromium/base/annotations/CalledByNativeUnchecked.java",
      "android/java/src/org/chromium/base/annotations/JNIAdditionalImport.java",
      "android/java/src/org/chromium/base/annotations/JNINamespace.java",
      "android/java/src/org/chromium/base/annotations/MainDex.java",
      "android/java/src/org/chromium/base/annotations/NativeCall.java",
      "android/java/src/org/chromium/base/annotations/NativeClassQualifiedName.java",
      "android/java/src/org/chromium/base/annotations/RemovableInRelease.java",
      "android/java/src/org/chromium/base/annotations/SuppressFBWarnings.java",
      "android/java/src/org/chromium/base/annotations/UsedByReflection.java",
      "android/java/src/org/chromium/base/library_loader/LegacyLinker.java",
      "android/java/src/org/chromium/base/library_loader/LibraryLoader.java",
      "android/java/src/org/chromium/base/library_loader/Linker.java",
      "android/java/src/org/chromium/base/library_loader/LoaderErrors.java",
      "android/java/src/org/chromium/base/library_loader/ModernLinker.java",
      "android/java/src/org/chromium/base/library_loader/NativeLibraryPreloader.java",
      "android/java/src/org/chromium/base/library_loader/ProcessInitException.java",
      "android/java/src/org/chromium/base/metrics/RecordHistogram.java",
      "android/java/src/org/chromium/base/metrics/RecordUserAction.java",
      "android/java/src/org/chromium/base/multidex/ChromiumMultiDexInstaller.java",
    ]

    # New versions of BuildConfig.java and NativeLibraries.java
    # (with the actual correct values) will be created when creating an apk.
    jar_excluded_patterns = [
      "*/BuildConfig.class",
      "*/NativeLibraries.class",
      "*/NativeLibraries##*.class",
    ]
  }

  # GYP: //base.gyp:base_javatests
  android_library("base_javatests") {
    deps = [
      ":base_java",
      ":base_java_test_support",
    ]
    java_files = [
      "android/javatests/src/org/chromium/base/AdvancedMockContextTest.java",
      "android/javatests/src/org/chromium/base/ApiCompatibilityUtilsTest.java",
      "android/javatests/src/org/chromium/base/CommandLineInitUtilTest.java",
      "android/javatests/src/org/chromium/base/CommandLineTest.java",
      "android/javatests/src/org/chromium/base/ObserverListTest.java",
      "android/javatests/src/org/chromium/base/metrics/RecordHistogramTest.java",
    ]
  }

  # GYP: //base.gyp:base_java_test_support
  android_library("base_java_test_support") {
    deps = [
      ":base_java",
      "//testing/android/reporter:reporter_java",
    ]
    java_files = [
      "test/android/javatests/src/org/chromium/base/test/BaseActivityInstrumentationTestCase.java",
      "test/android/javatests/src/org/chromium/base/test/BaseChromiumInstrumentationTestRunner.java",
      "test/android/javatests/src/org/chromium/base/test/BaseInstrumentationTestRunner.java",
      "test/android/javatests/src/org/chromium/base/test/BaseTestResult.java",
      "test/android/javatests/src/org/chromium/base/test/util/AdvancedMockContext.java",
      "test/android/javatests/src/org/chromium/base/test/util/CommandLineFlags.java",
      "test/android/javatests/src/org/chromium/base/test/util/DisableIf.java",
      "test/android/javatests/src/org/chromium/base/test/util/DisableIfSkipCheck.java",
      "test/android/javatests/src/org/chromium/base/test/util/DisabledTest.java",
      "test/android/javatests/src/org/chromium/base/test/util/EnormousTest.java",
      "test/android/javatests/src/org/chromium/base/test/util/Feature.java",
      "test/android/javatests/src/org/chromium/base/test/util/FlakyTest.java",
      "test/android/javatests/src/org/chromium/base/test/util/InMemorySharedPreferences.java",
      "test/android/javatests/src/org/chromium/base/test/util/InstrumentationUtils.java",
      "test/android/javatests/src/org/chromium/base/test/util/IntegrationTest.java",
      "test/android/javatests/src/org/chromium/base/test/util/Manual.java",
      "test/android/javatests/src/org/chromium/base/test/util/MetricsUtils.java",
      "test/android/javatests/src/org/chromium/base/test/util/MinAndroidSdkLevel.java",
      "test/android/javatests/src/org/chromium/base/test/util/MinAndroidSdkLevelSkipCheck.java",
      "test/android/javatests/src/org/chromium/base/test/util/PerfTest.java",
      "test/android/javatests/src/org/chromium/base/test/util/Restriction.java",
      "test/android/javatests/src/org/chromium/base/test/util/RestrictionSkipCheck.java",
      "test/android/javatests/src/org/chromium/base/test/util/RetryOnFailure.java",
      "test/android/javatests/src/org/chromium/base/test/util/ScalableTimeout.java",
      "test/android/javatests/src/org/chromium/base/test/util/SkipCheck.java",
      "test/android/javatests/src/org/chromium/base/test/util/TestFileUtil.java",
      "test/android/javatests/src/org/chromium/base/test/util/TestThread.java",
      "test/android/javatests/src/org/chromium/base/test/util/TimeoutScale.java",
      "test/android/javatests/src/org/chromium/base/test/util/UrlUtils.java",
      "test/android/javatests/src/org/chromium/base/test/util/parameter/BaseParameter.java",
      "test/android/javatests/src/org/chromium/base/test/util/parameter/Parameter.java",
      "test/android/javatests/src/org/chromium/base/test/util/parameter/Parameterizable.java",
      "test/android/javatests/src/org/chromium/base/test/util/parameter/ParameterizedTest.java",
      "test/android/javatests/src/org/chromium/base/test/util/parameter/parameters/MethodParameter.java",
    ]
  }

  # GYP: //base.gyp:base_junit_tests
  junit_binary("base_junit_tests") {
    java_files = [
      "android/junit/src/org/chromium/base/BaseChromiumApplicationTest.java",
      "android/junit/src/org/chromium/base/LogTest.java",
      "android/junit/src/org/chromium/base/PromiseTest.java",
      "test/android/junit/src/org/chromium/base/test/util/DisableIfTest.java",
      "test/android/junit/src/org/chromium/base/test/util/MinAndroidSdkLevelSkipCheckTest.java",
      "test/android/junit/src/org/chromium/base/test/util/RestrictionSkipCheckTest.java",
      "test/android/junit/src/org/chromium/base/test/util/SkipCheckTest.java",
    ]
    deps = [
      ":base_java",
      ":base_java_test_support",
    ]
    srcjar_deps = [ ":base_build_config_gen" ]
  }

  # GYP: //base.gyp:base_java_application_state
  # GYP: //base.gyp:base_java_library_load_from_apk_status_codes
  # GYP: //base.gyp:base_java_library_process_type
  # GYP: //base.gyp:base_java_memory_pressure_level
  java_cpp_enum("base_android_java_enums_srcjar") {
    sources = [
      "android/application_status_listener.h",
      "android/library_loader/library_load_from_apk_status_codes.h",
      "android/library_loader/library_loader_hooks.h",
      "memory/memory_pressure_listener.h",
    ]
  }

  # GYP: //base/base.gyp:base_build_config_gen
  java_cpp_template("base_build_config_gen") {
    sources = [
      "android/java/templates/BuildConfig.template",
    ]
    package_name = "org/chromium/base"

    defines = []
    if (is_java_debug || dcheck_always_on) {
      defines += [ "_DCHECK_IS_ON" ]
    }
  }

  # GYP: //base/base.gyp:base_native_libraries_gen
  java_cpp_template("base_native_libraries_gen") {
    sources = [
      "android/java/templates/NativeLibraries.template",
    ]
    package_name = "org/chromium/base/library_loader"
  }

  # GYP: //base.gyp:base_java_unittest_support
  android_library("base_java_unittest_support") {
    deps = [
      ":base_java",
    ]
    java_files = [
      "test/android/java/src/org/chromium/base/ContentUriTestUtils.java",
      "test/android/java/src/org/chromium/base/TestSystemMessageHandler.java",
    ]
  }
}
