# 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/scoped_thread_heap_usage.cc",
    "debug/scoped_thread_heap_usage.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_descriptor_watcher_posix.cc",
    "files/file_descriptor_watcher_posix.h",
    "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_coordinator_client.h",
    "memory/memory_coordinator_client_registry.cc",
    "memory/memory_coordinator_client_registry.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",
    "syslog_logging.cc",
    "syslog_logging.h",

    #"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",
    "unguessable_token.cc",
    "unguessable_token.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_descriptor_watcher_posix.cc",
      "files/file_descriptor_watcher_posix.h",
      "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 (using_sanitizer) {
    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/scoped_thread_heap_usage_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_descriptor_watcher_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",
    "unguessable_token_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") {
    testonly = true
    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") {
    testonly = true
    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") {
    testonly = true
    deps = [
      ":base_java",
    ]
    java_files = [
      "test/android/java/src/org/chromium/base/ContentUriTestUtils.java",
      "test/android/java/src/org/chromium/base/TestSystemMessageHandler.java",
    ]
  }
}
