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

source_set("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) {
    sources -= [ "base_paths_posix.cc" ]
  }

  if (is_nacl) {
    sources -= [
      "base_paths.cc",
      "base_paths_posix.cc",
    ]
  }

  defines = [ "BASE_IMPLEMENTATION" ]

  deps = [
    "//base/memory",
    "//base/process",
  ]

  visibility = [ ":base" ]
}

component("base") {
  sources = [
    "allocator/allocator_extension.cc",
    "allocator/allocator_extension.h",
    "allocator/type_profiler_control.cc",
    "allocator/type_profiler_control.h",
    "android/animation_frame_time_histogram.cc",
    "android/animation_frame_time_histogram.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_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",
    "base64.cc",
    "base64.h",
    "base_export.h",
    "base_switches.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",
    "chromeos/memory_pressure_observer_chromeos.cc",
    "chromeos/memory_pressure_observer_chromeos.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/small_map.h",
    "containers/stack_container.h",
    "cpu.cc",
    "cpu.h",
    "critical_closure.h",
    "critical_closure_internal_ios.mm",
    "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_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_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",
    "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",
    "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.cc",
    "mac/mac_logging.h",
    "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",
    "mac/sdk_forward_declarations.mm",
    "macros.h",
    "md5.cc",
    "md5.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",
    "move.h",
    "native_library.h",
    "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",
    "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",
    "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_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/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",
    "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",
    "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",
    "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/superfasthash/superfasthash.c",
    "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.cc",
    "threading/thread_restrictions.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",
    "tracked_objects.cc",
    "tracked_objects.h",
    "tracking_info.cc",
    "tracking_info.h",
    "tuple.h",
    "value_conversions.cc",
    "value_conversions.h",
    "values.cc",
    "values.h",
    "version.cc",
    "version.h",
    "vlog.cc",
    "vlog.h",
    "win/enum_variant.cc",
    "win/enum_variant.h",
    "win/event_trace_consumer.h",
    "win/event_trace_controller.cc",
    "win/event_trace_controller.h",
    "win/event_trace_provider.cc",
    "win/event_trace_provider.h",
    "win/i18n.cc",
    "win/i18n.h",
    "win/iat_patch_function.cc",
    "win/iat_patch_function.h",
    "win/iunknown_impl.cc",
    "win/iunknown_impl.h",
    "win/message_window.cc",
    "win/message_window.h",
    "win/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",
  ]

  sources -= [
    "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",
  ]

  public_deps = [
    ":base_paths",
    "//base/debug",
    "//base/json",
    "//base/memory",
    "//base/metrics",
    "//base/process",
    "//base/trace_event",
  ]

  # 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 -= [ "power_monitor/power_monitor_device_source_posix.cc" ]

    # Android uses some Linux sources, put those back.
    set_sources_assignment_filter([])
    sources += [
      "files/file_path_watcher_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" ]
  }

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

  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",
      "sync_socket_nacl.cc",
      "threading/platform_thread_linux.cc",
    ]
    set_sources_assignment_filter(sources_assignment_filter)

    sources -= [
      "allocator/type_profiler_control.cc",
      "allocator/type_profiler_control.h",
      "async_socket_io_handler_posix.cc",
      "cpu.cc",
      "files/file_enumerator_posix.cc",
      "files/file_proxy.cc",
      "files/file_util.cc",
      "files/file_util_posix.cc",
      "files/file_util_proxy.cc",
      "files/important_file_writer.cc",
      "files/important_file_writer.h",
      "files/scoped_temp_dir.cc",
      "message_loop/message_pump_libevent.cc",
      "native_library_posix.cc",
      "path_service.cc",
      "rand_util_posix.cc",
      "scoped_native_library.cc",
      "sync_socket_posix.cc",
      "sys_info.cc",
      "sys_info_posix.cc",
    ]
  } else {
    # Remove NaCl stuff.
    sources -= [
      "os_compat_nacl.cc",
      "os_compat_nacl.h",
      "rand_util_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.
    configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]

    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 -= [
      "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" ]
  }

  allow_circular_includes_from = public_deps
}

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

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

if (is_linux && !is_chromeos) {
  # TODO(GYP): Figure out which of these work and are needed on other platforms.
  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/perf",
      "//testing/gtest",
    ]

    if (is_android) {
      deps += [ "//testing/android: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",
        "//third_party/icu:icuuc",
      ]
    }

    executable("check_example") {
      sources = [
        "check_example.cc",
      ]
      deps = [
        ":base",
      ]
    }
  }
}

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

  deps = [
    "//base",
  ]
}

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

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",
    "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/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/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_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/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/sample_map_unittest.cc",
    "metrics/sample_vector_unittest.cc",
    "metrics/sparse_histogram_unittest.cc",
    "metrics/statistics_recorder_unittest.cc",
    "numerics/safe_numerics_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",
    "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/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/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/memory_dump_manager_unittest.cc",
    "trace_event/process_memory_maps_dump_provider_unittest.cc",
    "trace_event/process_memory_totals_dump_provider_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",
  ]

  defines = []

  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",
    "//base/third_party/nspr",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/icu",
  ]

  # 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) {
    apk_deps = [
      ":base_java",
      ":base_java_unittest_support",
    ]
  }

  if (is_ios) {
    sources -= [
      "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)
  }

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

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/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_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",
    ]
    outputs = [
      "org/chromium/base/ApplicationState.java",
      "org/chromium/base/library_loader/LibraryLoadFromApkStatusCodes.java",
      "org/chromium/base/library_loader/LibraryProcessType.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" ]
  }
}
