# 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.

import("//build/config/ui.gni")
import("//testing/test.gni")

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

component("base") {
  sources = [
    "third_party/dmg_fp/dmg_fp.h",
    "third_party/dmg_fp/g_fmt.cc",
    "third_party/dmg_fp/dtoa_wrapper.cc",
    "third_party/icu/icu_utf.cc",
    "third_party/icu/icu_utf.h",
    "third_party/superfasthash/superfasthash.c",
    "allocator/allocator_extension.cc",
    "allocator/allocator_extension.h",
    "allocator/type_profiler_control.cc",
    "allocator/type_profiler_control.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/command_line_android.cc",
    "android/command_line_android.h",
    "android/content_uri_utils.cc",
    "android/content_uri_utils.h",
    "android/cpu_features.cc",
    "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/jni_android.cc",
    "android/jni_android.h",
    "android/jni_array.cc",
    "android/jni_array.h",
    "android/jni_onload_delegate.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/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/scoped_java_ref.cc",
    "android/scoped_java_ref.h",
    "android/sys_utils.cc",
    "android/sys_utils.h",
    "android/thread_utils.h",
    "android/trace_event_binding.cc",
    "android/trace_event_binding.h",
    "async_socket_io_handler.h",
    "async_socket_io_handler_posix.cc",
    "async_socket_io_handler_win.cc",
    "at_exit.cc",
    "at_exit.h",
    "atomic_ref_count.h",
    "atomic_sequence_num.h",
    "atomicops.h",
    "atomicops_internals_gcc.h",
    "atomicops_internals_mac.h",
    "atomicops_internals_portable.h",
    "atomicops_internals_x86_gcc.cc",
    "atomicops_internals_x86_gcc.h",
    "atomicops_internals_x86_msvc.h",
    "auto_reset.h",
    "barrier_closure.cc",
    "barrier_closure.h",
    "base_export.h",
    "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",
    "base_switches.h",
    "base64.cc",
    "base64.h",
    "basictypes.h",
    "big_endian.cc",
    "big_endian.h",
    "bind.h",
    "bind_helpers.cc",
    "bind_helpers.h",
    "bind_internal.h",
    "bind_internal_win.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",
    "chromeos/memory_pressure_observer_chromeos.cc",
    "chromeos/memory_pressure_observer_chromeos.h",
    "compiler_specific.h",
    "containers/adapters.h",
    "containers/hash_tables.h",
    "containers/linked_list.h",
    "containers/mru_cache.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/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 "allocator" target,
    # but this target does not depend on "allocator" (see
    # allocator.gyp for details).
    "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",
    "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_posix.cc",
    "files/file_win.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_proxy.cc",
    "files/file_proxy.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/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",
    "float_util.h",
    "format_macros.h",
    "gtest_prod_util.h",
    "guid.cc",
    "guid.h",
    "guid_posix.cc",
    "guid_win.cc",
    "hash.cc",
    "hash.h",
    "id_map.h",
    "ios/device_util.h",
    "ios/device_util.mm",
    "ios/ios_util.h",
    "ios/ios_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/cocoa_protocols.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/libdispatch_task_runner.cc",
    "mac/libdispatch_task_runner.h",
    "mac/mac_logging.h",
    "mac/mac_logging.cc",
    "mac/mac_util.h",
    "mac/mac_util.mm",
    "mac/mach_logging.cc",
    "mac/mach_logging.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_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_nsexception_enabler.h",
    "mac/scoped_nsexception_enabler.mm",
    "mac/scoped_nsobject.h",
    "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",
    "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_android.cc",
    "memory/discardable_memory_emulated.cc",
    "memory/discardable_memory_emulated.h",
    "memory/discardable_memory_linux.cc",
    "memory/discardable_memory_mac.cc",
    "memory/discardable_memory_manager.cc",
    "memory/discardable_memory_manager.h",
    "memory/discardable_memory_shmem.cc",
    "memory/discardable_memory_shmem.h",
    "memory/discardable_memory_shmem_allocator.cc",
    "memory/discardable_memory_shmem_allocator.h",
    "memory/discardable_memory_win.cc",
    "memory/discardable_shared_memory.cc",
    "memory/discardable_shared_memory.h",
    "memory/linked_ptr.h",
    "memory/manual_constructor.h",
    "memory/memory_pressure_listener.cc",
    "memory/memory_pressure_listener.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_ptr.h",
    "memory/scoped_vector.h",
    "memory/shared_memory.h",
    "memory/shared_memory_android.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_proxy.cc",
    "message_loop/message_loop_proxy.h",
    "message_loop/message_loop_proxy_impl.cc",
    "message_loop/message_loop_proxy_impl.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/field_trial.cc",
    "metrics/field_trial.h",
    "metrics/sample_map.cc",
    "metrics/sample_map.h",
    "metrics/sample_vector.cc",
    "metrics/sample_vector.h",
    "metrics/bucket_ranges.cc",
    "metrics/bucket_ranges.h",
    "metrics/histogram.cc",
    "metrics/histogram.h",
    "metrics/histogram_base.cc",
    "metrics/histogram_base.h",
    "metrics/histogram_delta_serialization.cc",
    "metrics/histogram_delta_serialization.",
    "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/sparse_histogram.cc",
    "metrics/sparse_histogram.h",
    "metrics/statistics_recorder.cc",
    "metrics/statistics_recorder.h",
    "metrics/stats_counters.cc",
    "metrics/stats_counters.h",
    "metrics/stats_table.cc",
    "metrics/stats_table.h",
    "metrics/user_metrics.cc",
    "metrics/user_metrics.h",
    "metrics/user_metrics_action.h",
    "move.h",
    "native_library.h",
    "native_library_mac.mm",
    "native_library_posix.cc",
    "native_library_win.cc",
    "numerics/safe_conversions.h",
    "numerics/safe_conversions_impl.h",
    "numerics/safe_math.h",
    "numerics/safe_math_impl.h",
    "nix/mime_util_xdg.cc",
    "nix/mime_util_xdg.h",
    "nix/xdg_util.cc",
    "nix/xdg_util.h",
    "observer_list.h",
    "observer_list_threadsafe.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",
    "port.h",
    "posix/eintr_wrapper.h",
    "posix/file_descriptor_shuffle.cc",
    "posix/global_descriptors.cc",
    "posix/global_descriptors.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/process.h",
    "process/process_handle_freebsd.cc",
    "process/process_handle_linux.cc",
    "process/process_handle_mac.cc",
    "process/process_handle_openbsd.cc",
    "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",
    "process/process_iterator_linux.cc",
    "process/process_iterator_mac.cc",
    "process/process_iterator_openbsd.cc",
    "process/process_iterator_win.cc",
    "process/process_linux.cc",
    "process/process_metrics.cc",
    "process/process_metrics.h",
    "process/process_metrics_freebsd.cc",
    "process/process_metrics_ios.cc",
    "process/process_metrics_linux.cc",
    "process/process_metrics_mac.cc",
    "process/process_metrics_openbsd.cc",
    "process/process_metrics_posix.cc",
    "process/process_metrics_win.cc",
    "process/process_posix.cc",
    "process/process_win.cc",
    "profiler/alternate_timer.cc",
    "profiler/alternate_timer.h",
    "profiler/scoped_profile.cc",
    "profiler/scoped_profile.h",
    "profiler/scoped_tracker.cc",
    "profiler/scoped_tracker.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",
    "safe_strerror_posix.cc",
    "safe_strerror_posix.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",
    "sequenced_task_runner.cc",
    "sequenced_task_runner.h",
    "sequenced_task_runner_helpers.h",
    "sha1.h",
    "sha1_portable.cc",
    "sha1_win.cc",
    "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/safe_sprintf.cc",
    "strings/safe_sprintf.h",
    "strings/string16.cc",
    "strings/string16.h",
    "strings/string_number_conversions.cc",
    "strings/string_split.cc",
    "strings/string_split.h",
    "strings/string_number_conversions.h",
    "strings/string_piece.cc",
    "strings/string_piece.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/cancellation_flag.cc",
    "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/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",
    "system_monitor/system_monitor.cc",
    "system_monitor/system_monitor.h",
    "sys_byteorder.h",
    "sys_info.cc",
    "sys_info.h",
    "sys_info_android.cc",
    "sys_info_chromeos.cc",
    "sys_info_freebsd.cc",
    "sys_info_ios.mm",
    "sys_info_linux.cc",
    "sys_info_mac.cc",
    "sys_info_openbsd.cc",
    "sys_info_posix.cc",
    "sys_info_win.cc",
    "task/cancelable_task_tracker.cc",
    "task/cancelable_task_tracker.h",
    "task_runner.cc",
    "task_runner.h",
    "task_runner_util.h",
    "template_util.h",
    "thread_task_runner_handle.cc",
    "thread_task_runner_handle.h",
    "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_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_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.h",
    "threading/thread_restrictions.cc",
    "threading/watchdog.cc",
    "threading/watchdog.h",
    "threading/worker_pool.h",
    "threading/worker_pool.cc",
    "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/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_impl.cc",
    "trace_event/trace_event_impl.h",
    "trace_event/trace_event_impl_constants.cc",
    "trace_event/trace_event_memory.cc",
    "trace_event/trace_event_memory.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_event_win.cc",
    "trace_event/trace_event_win.h",
    "tracked_objects.cc",
    "tracked_objects.h",
    "tracking_info.cc",
    "tracking_info.h",
    "tuple.h",
    "values.cc",
    "values.h",
    "value_conversions.cc",
    "value_conversions.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/metro.cc",
    "win/metro.h",
    "win/object_watcher.cc",
    "win/object_watcher.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/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",
  ]

  if (is_nacl) {
    sources += [ "files/file_path_watcher_stub.cc" ]
  }

  sources -= [
    "process/process_handle_freebsd.cc",
    "process/process_handle_openbsd.cc",
    "process/process_iterator_freebsd.cc",
    "process/process_iterator_openbsd.cc",
    "process/process_metrics_freebsd.cc",
    "process/process_metrics_openbsd.cc",
    "sys_info_freebsd.cc",
    "sys_info_openbsd.cc",
  ]

  defines = [ "BASE_IMPLEMENTATION" ]

  deps = [
    ":base_static",
    "//base/allocator:allocator_extension_thunks",
    "//base/third_party/dynamic_annotations",
    "//base/third_party/nspr",
    "//third_party/modp_b64",
  ]

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

  if (is_android) {
    sources += [
      "memory/discardable_memory_ashmem_allocator.cc",
      "memory/discardable_memory_ashmem_allocator.h",
      "memory/discardable_memory_ashmem.cc",
      "memory/discardable_memory_ashmem.h",
    ]
    sources -= [
      "base_paths_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",
      "process/memory_linux.cc",
      "process/internal_linux.cc",
      "process/process_handle_linux.cc",
      "process/process_iterator_linux.cc",
      "process/process_metrics_linux.cc",
      "posix/unix_domain_socket_linux.cc",
      "sys_info_linux.cc",
    ]
    set_sources_assignment_filter(sources_assignment_filter)

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

    # logging.cc uses the Android logging library.
    libs = [ "log" ]

    sources -= [ "debug/stack_trace_posix.cc" ]
  }

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

  if (is_nacl) {
    # These things would otherwise be built on a Posix build but aren't
    # supported on NaCl.
    sources -= [
      "debug/stack_trace_posix.cc",
      "files/file_enumerator_posix.cc",
      "files/file_util_posix.cc",
      "message_loop/message_pump_libevent.cc",
      "process/kill_posix.cc",
      "process/launch_posix.cc",
      "process/process_metrics_posix.cc",
      "process/process_posix.cc",
      "metrics/field_trial.cc",
      "native_library_posix.cc",
      "memory/shared_memory_posix.cc",
      "sync_socket_posix.cc",
      "sys_info_posix.cc",
    ]
  } else {
    # Remove nacl stuff.
    sources -= [
      "os_compat_nacl.cc",
      "os_compat_nacl.h",
      "rand_util_nacl.cc",
      "memory/shared_memory_nacl.cc",
    ]
  }

  # Windows.
  if (is_win) {
    sources -= [
      "message_loop/message_pump_libevent.cc",
      "strings/string16.cc",

      # Not using sha1_win.cc because it may have caused a
      # regression to page cycler moz.
      "sha1_win.cc",
    ]

    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    cflags = [ "/wd4267" ]

    libs = [
      "cfgmgr32.lib",
      "netapi32.lib",
      "powrprof.lib",
      "setupapi.lib",
    ]
    ldflags = [
      "/DELAYLOAD:cfgmgr32.dll",
      "/DELAYLOAD:powrprof.dll",
      "/DELAYLOAD:setupapi.dll",
    ]
  } else if (!is_nacl) {
    # Non-Windows.
    deps += [ "//third_party/libevent" ]
  }

  # Mac.
  if (is_mac) {
    sources += [
      "memory/discardable_memory_mach.cc",
      "memory/discardable_memory_mach.h",
    ]
    sources -= [
      "base_paths_posix.cc",
      "native_library_posix.cc",
      "strings/sys_string_conversions_posix.cc",
    ]
  } else {
    # Non-Mac.
    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) {
    # TODO(brettw) this will need to be parameterized at some point.
    linux_configs = []
    if (use_glib) {
      linux_configs += [ "//build/config/linux:glib" ]
    }

    configs += linux_configs
    all_dependent_configs = linux_configs

    defines += [ "USE_SYMBOLIZE" ]

    # 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",
      ]
    }
  }

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

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

# 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.
source_set("base_static") {
  sources = [
    "base_switches.cc",
    "base_switches.h",
    "win/pe_image.cc",
    "win/pe_image.h",
  ]

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

component("i18n") {
  output_name = "base_i18n"
  sources = [
    "i18n/base_i18n_export.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/file_util_icu.cc",
    "i18n/file_util_icu.h",
    "i18n/i18n_constants.cc",
    "i18n/i18n_constants.h",
    "i18n/icu_encoding_detection.cc",
    "i18n/icu_encoding_detection.h",
    "i18n/icu_string_conversions.cc",
    "i18n/icu_string_conversions.h",
    "i18n/icu_util.cc",
    "i18n/icu_util.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" ]
  deps = [
    ":base",
    "//base/third_party/dynamic_annotations",
    "//third_party/icu",
  ]

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

  if (is_win) {
    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    cflags = [ "/wd4267" ]
  }
}

source_set("prefs") {
  sources = [
    "prefs/base_prefs_export.h",
    "prefs/default_pref_store.cc",
    "prefs/default_pref_store.h",
    "prefs/json_pref_store.cc",
    "prefs/json_pref_store.h",
    "prefs/overlay_user_pref_store.cc",
    "prefs/overlay_user_pref_store.h",
    "prefs/persistent_pref_store.h",
    "prefs/pref_change_registrar.cc",
    "prefs/pref_change_registrar.h",
    "prefs/pref_filter.h",
    "prefs/pref_member.cc",
    "prefs/pref_member.h",
    "prefs/pref_notifier.h",
    "prefs/pref_notifier_impl.cc",
    "prefs/pref_notifier_impl.h",
    "prefs/pref_observer.h",
    "prefs/pref_registry.cc",
    "prefs/pref_registry.h",
    "prefs/pref_registry_simple.cc",
    "prefs/pref_registry_simple.h",
    "prefs/pref_service.cc",
    "prefs/pref_service.h",
    "prefs/pref_service_factory.cc",
    "prefs/pref_service_factory.h",
    "prefs/pref_store.cc",
    "prefs/pref_store.h",
    "prefs/pref_value_map.cc",
    "prefs/pref_value_map.h",
    "prefs/pref_value_store.cc",
    "prefs/pref_value_store.h",
    "prefs/scoped_user_pref_update.cc",
    "prefs/scoped_user_pref_update.h",
    "prefs/value_map_pref_store.cc",
    "prefs/value_map_pref_store.h",
    "prefs/writeable_pref_store.h",
  ]

  defines = [ "BASE_PREFS_IMPLEMENTATION" ]

  deps = [
    ":base",
  ]

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

source_set("prefs_test_support") {
  testonly = true
  sources = [
    "prefs/mock_pref_change_callback.cc",
    "prefs/mock_pref_change_callback.h",
    "prefs/pref_store_observer_mock.cc",
    "prefs/pref_store_observer_mock.h",
    "prefs/testing_pref_service.cc",
    "prefs/testing_pref_service.h",
    "prefs/testing_pref_store.cc",
    "prefs/testing_pref_store.h",
  ]

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

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

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

# TODO(pasko): Remove this target when crbug.com/424562 is fixed.
source_set("protect_file_posix") {
  sources = [
    "files/protect_file_posix.cc",
  ]
}

test("base_unittests") {
  sources = [
    "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/path_utils_unittest.cc",
    "android/scoped_java_ref_unittest.cc",
    "android/sys_utils_unittest.cc",
    "async_socket_io_handler_unittest.cc",
    "at_exit_unittest.cc",
    "atomicops_unittest.cc",
    "barrier_closure_unittest.cc",
    "base64_unittest.cc",
    "big_endian_unittest.cc",
    "bind_unittest.cc",
    "bind_unittest.nc",
    "bits_unittest.cc",
    "build_time_unittest.cc",
    "callback_helpers_unittest.cc",
    "callback_list_unittest.cc",
    "callback_list_unittest.nc",
    "callback_unittest.cc",
    "callback_unittest.nc",
    "cancelable_callback_unittest.cc",
    "chromeos/memory_pressure_observer_chromeos_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/small_map_unittest.cc",
    "containers/stack_container_unittest.cc",
    "cpu_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",
    "file_version_info_unittest.cc",
    "files/dir_reader_posix_unittest.cc",
    "files/file_path_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/scoped_temp_dir_unittest.cc",
    "gmock_unittest.cc",
    "guid_unittest.cc",
    "hash_unittest.cc",
    "id_map_unittest.cc",
    "i18n/break_iterator_unittest.cc",
    "i18n/char_iterator_unittest.cc",
    "i18n/case_conversion_unittest.cc",
    "i18n/file_util_icu_unittest.cc",
    "i18n/icu_string_conversions_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",
    "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/foundation_util_unittest.mm",
    "mac/libdispatch_task_runner_unittest.cc",
    "mac/mac_util_unittest.mm",
    "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_memory_manager_unittest.cc",
    "memory/discardable_memory_unittest.cc",
    "memory/discardable_shared_memory_unittest.cc",
    "memory/linked_ptr_unittest.cc",
    "memory/ref_counted_memory_unittest.cc",
    "memory/ref_counted_unittest.cc",
    "memory/scoped_ptr_unittest.cc",
    "memory/scoped_ptr_unittest.nc",
    "memory/scoped_vector_unittest.cc",
    "memory/shared_memory_unittest.cc",
    "memory/singleton_unittest.cc",
    "memory/weak_ptr_unittest.cc",
    "memory/weak_ptr_unittest.nc",
    "message_loop/message_loop_proxy_impl_unittest.cc",
    "message_loop/message_loop_proxy_unittest.cc",
    "message_loop/message_loop_unittest.cc",
    "message_loop/message_pump_glib_unittest.cc",
    "message_loop/message_pump_io_ios_unittest.cc",
    "metrics/sample_map_unittest.cc",
    "metrics/sample_vector_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_snapshot_manager_unittest.cc",
    "metrics/histogram_unittest.cc",
    "metrics/sparse_histogram_unittest.cc",
    "metrics/stats_table_unittest.cc",
    "metrics/statistics_recorder_unittest.cc",
    "observer_list_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",
    "prefs/default_pref_store_unittest.cc",
    "prefs/json_pref_store_unittest.cc",
    "prefs/overlay_user_pref_store_unittest.cc",
    "prefs/pref_change_registrar_unittest.cc",
    "prefs/pref_member_unittest.cc",
    "prefs/pref_notifier_impl_unittest.cc",
    "prefs/pref_service_unittest.cc",
    "prefs/pref_value_map_unittest.cc",
    "prefs/pref_value_store_unittest.cc",
    "prefs/scoped_user_pref_update_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",
    "process/process_util_unittest_ios.cc",
    "profiler/tracked_time_unittest.cc",
    "rand_util_unittest.cc",
    "numerics/safe_numerics_unittest.cc",
    "scoped_clear_errno_unittest.cc",
    "scoped_generic_unittest.cc",
    "scoped_native_library_unittest.cc",
    "security_unittest.cc",
    "sequence_checker_unittest.cc",
    "sha1_unittest.cc",
    "stl_util_unittest.cc",
    "strings/nullable_string16_unittest.cc",
    "strings/safe_sprintf_unittest.cc",
    "strings/string16_unittest.cc",
    "strings/stringprintf_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/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/cancellation_flag_unittest.cc",
    "synchronization/condition_variable_unittest.cc",
    "synchronization/lock_unittest.cc",
    "synchronization/waitable_event_unittest.cc",
    "synchronization/waitable_event_watcher_unittest.cc",
    "sys_info_unittest.cc",
    "system_monitor/system_monitor_unittest.cc",
    "task/cancelable_task_tracker_unittest.cc",
    "task_runner_util_unittest.cc",
    "template_util_unittest.cc",
    "test/expectations/expectation_unittest.cc",
    "test/expectations/parser_unittest.cc",
    "test/histogram_tester_unittest.cc",
    "test/test_reg_util_win_unittest.cc",
    "test/trace_event_analyzer_unittest.cc",
    "threading/non_thread_safe_unittest.cc",
    "threading/platform_thread_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/trace_event_argument_unittest.cc",
    "trace_event/trace_event_memory_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",
    "trace_event/trace_event_win_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_process_information_unittest.cc",
    "win/scoped_variant_unittest.cc",
    "win/shortcut_unittest.cc",
    "win/startup_information_unittest.cc",
    "win/win_util_unittest.cc",
    "win/wrapped_window_proc_unittest.cc",
  ]

  deps = [
    ":base",
    ":i18n",
    ":message_loop_tests",
    ":prefs",
    ":prefs_test_support",
    "//base/allocator",
    "//base/test:run_all_unittests",
    "//base/test:test_support",
    "//base/third_party/dynamic_annotations",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/icu",
  ]

  if (is_android) {
    apk_deps = [
      ":base_java",
      ":base_java_unittest_support",
    ]
  }

  if (is_ios) {
    sources -= [
      "metrics/stats_table_uinittest.cc",  # Requires spawning a process.
      "process/memory_unittest.cc",
      "process/memory_unittest_mac.h",
      "process/memory_unittest_mac.mm",
      "process/process_unittest.cc",
      "process/process_util_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",
      "sys_string_conversions_mac_unittest.mm",
    ]
    set_sources_assignment_filter(sources_assignment_filter)

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

  if (is_linux) {
    sources -= [ "file_version_info_unittest.cc" ]
    sources += [ "nix/xdg_util_unittest.cc" ]
    defines = [ "USE_SYMBOLIZE" ]
    if (use_glib) {
      configs += [ "//build/config/linux:glib" ]
    }
  }

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

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

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

  if (is_win) {
    # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    cflags = [ "/wd4267" ]
  }
}

if (is_android) {
  # GYP: //base.gyp:base_jni_headers
  generate_jni("base_jni_headers") {
    sources = [
      "android/java/src/org/chromium/base/ApplicationStatus.java",
      "android/java/src/org/chromium/base/BuildInfo.java",
      "android/java/src/org/chromium/base/CommandLine.java",
      "android/java/src/org/chromium/base/ContentUriUtils.java",
      "android/java/src/org/chromium/base/CpuFeatures.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",
    ]
    jni_package = "base"
  }

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

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

    DEPRECATED_java_in_dir = "android/java/src"

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

  # GYP: //base.gyp:base_javatests
  android_library("base_javatests") {
    deps = [
      ":base_java",
      ":base_java_test_support",
    ]
    DEPRECATED_java_in_dir = "android/javatests/src"
  }

  # GYP: //base.gyp:base_java_test_support
  android_library("base_java_test_support") {
    deps = [
      ":base_java",
    ]
    DEPRECATED_java_in_dir = "test/android/javatests/src"
  }

  # GYP: //base.gyp:base_java_application_state
  # GYP: //base.gyp:base_java_library_load_from_apk_status_codes
  # 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",
      "memory/memory_pressure_listener.h",
    ]
    outputs = [
      "org/chromium/base/ApplicationState.java",
      "org/chromium/base/library_loader/LibraryLoadFromApkStatusCodes.java",
      "org/chromium/base/MemoryPressureLevel.java",
    ]
  }

  # 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" ]
  }
}
