Home | History | Annotate | Download | only in base
      1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import("//build/config/android/rules.gni")
      6 import("//build/config/ui.gni")
      7 
      8 component("base") {
      9   sources = [
     10     "third_party/dmg_fp/dmg_fp.h",
     11     "third_party/dmg_fp/g_fmt.cc",
     12     "third_party/dmg_fp/dtoa_wrapper.cc",
     13     "third_party/icu/icu_utf.cc",
     14     "third_party/icu/icu_utf.h",
     15     "third_party/superfasthash/superfasthash.c",
     16     "allocator/allocator_extension.cc",
     17     "allocator/allocator_extension.h",
     18     "allocator/type_profiler_control.cc",
     19     "allocator/type_profiler_control.h",
     20     "android/application_status_listener.cc",
     21     "android/application_status_listener.h",
     22     "android/base_jni_registrar.cc",
     23     "android/base_jni_registrar.h",
     24     "android/build_info.cc",
     25     "android/build_info.h",
     26     "android/command_line_android.cc",
     27     "android/command_line_android.h",
     28     "android/content_uri_utils.cc",
     29     "android/content_uri_utils.h",
     30     "android/cpu_features.cc",
     31     "android/event_log.cc",
     32     "android/event_log.h",
     33     "android/fifo_utils.cc",
     34     "android/fifo_utils.h",
     35     "android/important_file_writer_android.cc",
     36     "android/important_file_writer_android.h",
     37     "android/scoped_java_ref.cc",
     38     "android/scoped_java_ref.h",
     39     "android/jni_android.cc",
     40     "android/jni_android.h",
     41     "android/jni_array.cc",
     42     "android/jni_array.h",
     43     "android/jni_registrar.cc",
     44     "android/jni_registrar.h",
     45     "android/jni_string.cc",
     46     "android/jni_string.h",
     47     "android/jni_utils.cc",
     48     "android/jni_utils.h",
     49     "android/jni_weak_ref.cc",
     50     "android/jni_weak_ref.h",
     51     "android/library_loader/library_loader_hooks.cc",
     52     "android/library_loader/library_loader_hooks.h",
     53     "android/memory_pressure_listener_android.cc",
     54     "android/memory_pressure_listener_android.h",
     55     "android/java_handler_thread.cc",
     56     "android/java_handler_thread.h",
     57     "android/path_service_android.cc",
     58     "android/path_service_android.h",
     59     "android/path_utils.cc",
     60     "android/path_utils.h",
     61     "android/sys_utils.cc",
     62     "android/sys_utils.h",
     63     "android/thread_utils.h",
     64     "android/trace_event_binding.cc",
     65     "android/trace_event_binding.h",
     66     "async_socket_io_handler.h",
     67     "async_socket_io_handler_posix.cc",
     68     "async_socket_io_handler_win.cc",
     69     "at_exit.cc",
     70     "at_exit.h",
     71     "atomic_ref_count.h",
     72     "atomic_sequence_num.h",
     73     "atomicops.h",
     74     "atomicops_internals_gcc.h",
     75     "atomicops_internals_mac.h",
     76     "atomicops_internals_tsan.h",
     77     "atomicops_internals_x86_gcc.cc",
     78     "atomicops_internals_x86_gcc.h",
     79     "atomicops_internals_x86_msvc.h",
     80     "barrier_closure.cc",
     81     "barrier_closure.h",
     82     "base_export.h",
     83     "base_paths.cc",
     84     "base_paths.h",
     85     "base_paths_android.cc",
     86     "base_paths_android.h",
     87     "base_paths_mac.h",
     88     "base_paths_mac.mm",
     89     "base_paths_posix.cc",
     90     "base_paths_posix.h",
     91     "base_paths_win.cc",
     92     "base_paths_win.h",
     93     "base_switches.h",
     94     "base64.cc",
     95     "base64.h",
     96     "basictypes.h",
     97     "big_endian.cc",
     98     "big_endian.h",
     99     "bind.h",
    100     "bind_helpers.cc",
    101     "bind_helpers.h",
    102     "bind_internal.h",
    103     "bind_internal_win.h",
    104     "bits.h",
    105     "build_time.cc",
    106     "build_time.h",
    107     "callback.h",
    108     "callback_helpers.cc",
    109     "callback_helpers.h",
    110     "callback_internal.cc",
    111     "callback_internal.h",
    112     "cancelable_callback.h",
    113     "command_line.cc",
    114     "command_line.h",
    115     "compiler_specific.h",
    116     "containers/hash_tables.h",
    117     "containers/linked_list.h",
    118     "containers/mru_cache.h",
    119     "containers/small_map.h",
    120     "containers/stack_container.h",
    121     "cpu.cc",
    122     "cpu.h",
    123     "critical_closure.h",
    124     "critical_closure_internal_ios.mm",
    125     "debug/alias.cc",
    126     "debug/alias.h",
    127     "debug/crash_logging.cc",
    128     "debug/crash_logging.h",
    129     "debug/debugger.cc",
    130     "debug/debugger.h",
    131     "debug/debugger_posix.cc",
    132     "debug/debugger_win.cc",
    133     # This file depends on files from the "allocator" target,
    134     # but this target does not depend on "allocator" (see
    135     # allocator.gyp for details).
    136     "debug/leak_annotations.h",
    137     "debug/leak_tracker.h",
    138     "debug/proc_maps_linux.cc",
    139     "debug/proc_maps_linux.h",
    140     "debug/profiler.cc",
    141     "debug/profiler.h",
    142     "debug/stack_trace.cc",
    143     "debug/stack_trace.h",
    144     "debug/stack_trace_android.cc",
    145     "debug/stack_trace_posix.cc",
    146     "debug/stack_trace_win.cc",
    147     "debug/trace_event.h",
    148     "debug/trace_event_android.cc",
    149     "debug/trace_event_impl.cc",
    150     "debug/trace_event_impl.h",
    151     "debug/trace_event_impl_constants.cc",
    152     "debug/trace_event_memory.cc",
    153     "debug/trace_event_memory.h",
    154     "debug/trace_event_synthetic_delay.cc",
    155     "debug/trace_event_synthetic_delay.h",
    156     "debug/trace_event_system_stats_monitor.cc",
    157     "debug/trace_event_system_stats_monitor.h",
    158     "debug/trace_event_win.cc",
    159     "deferred_sequenced_task_runner.cc",
    160     "deferred_sequenced_task_runner.h",
    161     "environment.cc",
    162     "environment.h",
    163     "file_descriptor_posix.h",
    164     "file_util.cc",
    165     "file_util.h",
    166     "file_util_android.cc",
    167     "file_util_linux.cc",
    168     "file_util_mac.mm",
    169     "file_util_posix.cc",
    170     "file_util_win.cc",
    171     "file_version_info.h",
    172     "file_version_info_mac.h",
    173     "file_version_info_mac.mm",
    174     "file_version_info_win.cc",
    175     "file_version_info_win.h",
    176     "files/dir_reader_fallback.h",
    177     "files/dir_reader_linux.h",
    178     "files/dir_reader_posix.h",
    179     "files/file.cc",
    180     "files/file_posix.cc",
    181     "files/file_win.cc",
    182     "files/file_enumerator.cc",
    183     "files/file_enumerator.h",
    184     "files/file_enumerator_posix.cc",
    185     "files/file_enumerator_win.cc",
    186     "files/file_path.cc",
    187     "files/file_path.h",
    188     "files/file_path_constants.cc",
    189     "files/file_path_watcher.cc",
    190     "files/file_path_watcher.h",
    191     "files/file_path_watcher_fsevents.cc",
    192     "files/file_path_watcher_fsevents.h",
    193     "files/file_path_watcher_kqueue.cc",
    194     "files/file_path_watcher_kqueue.h",
    195     "files/file_path_watcher_linux.cc",
    196     "files/file_path_watcher_mac.cc",
    197     "files/file_path_watcher_win.cc",
    198     "files/file_proxy.cc",
    199     "files/file_proxy.h",
    200     "files/file_util_proxy.cc",
    201     "files/file_util_proxy.h",
    202     "files/important_file_writer.cc",
    203     "files/important_file_writer.h",
    204     "files/memory_mapped_file.cc",
    205     "files/memory_mapped_file.h",
    206     "files/memory_mapped_file_posix.cc",
    207     "files/memory_mapped_file_win.cc",
    208     "files/scoped_file.cc",
    209     "files/scoped_file.h",
    210     "files/scoped_temp_dir.cc",
    211     "files/scoped_temp_dir.h",
    212     "float_util.h",
    213     "format_macros.h",
    214     "gtest_prod_util.h",
    215     "guid.cc",
    216     "guid.h",
    217     "guid_posix.cc",
    218     "guid_win.cc",
    219     "hash.cc",
    220     "hash.h",
    221     "id_map.h",
    222     "ini_parser.cc",
    223     "ini_parser.h",
    224     "ios/device_util.h",
    225     "ios/device_util.mm",
    226     "ios/ios_util.h",
    227     "ios/ios_util.mm",
    228     "ios/scoped_critical_action.h",
    229     "ios/scoped_critical_action.mm",
    230     "json/json_file_value_serializer.cc",
    231     "json/json_file_value_serializer.h",
    232     "json/json_parser.cc",
    233     "json/json_parser.h",
    234     "json/json_reader.cc",
    235     "json/json_reader.h",
    236     "json/json_string_value_serializer.cc",
    237     "json/json_string_value_serializer.h",
    238     "json/json_value_converter.h",
    239     "json/json_writer.cc",
    240     "json/json_writer.h",
    241     "json/string_escape.cc",
    242     "json/string_escape.h",
    243     "lazy_instance.cc",
    244     "lazy_instance.h",
    245     "location.cc",
    246     "location.h",
    247     "logging.cc",
    248     "logging.h",
    249     "logging_win.cc",
    250     "logging_win.h",
    251     "mac/authorization_util.h",
    252     "mac/authorization_util.mm",
    253     "mac/bind_objc_block.h",
    254     "mac/bundle_locations.h",
    255     "mac/bundle_locations.mm",
    256     "mac/cocoa_protocols.h",
    257     "mac/foundation_util.h",
    258     "mac/foundation_util.mm",
    259     "mac/launch_services_util.cc",
    260     "mac/launch_services_util.h",
    261     "mac/launchd.cc",
    262     "mac/launchd.h",
    263     "mac/libdispatch_task_runner.cc",
    264     "mac/libdispatch_task_runner.h",
    265     "mac/mac_logging.h",
    266     "mac/mac_logging.cc",
    267     "mac/mac_util.h",
    268     "mac/mac_util.mm",
    269     "mac/mach_logging.cc",
    270     "mac/mach_logging.h",
    271     "mac/objc_property_releaser.h",
    272     "mac/objc_property_releaser.mm",
    273     "mac/os_crash_dumps.cc",
    274     "mac/os_crash_dumps.h",
    275     "mac/scoped_aedesc.h",
    276     "mac/scoped_authorizationref.h",
    277     "mac/scoped_block.h",
    278     "mac/scoped_cftyperef.h",
    279     "mac/scoped_ioobject.h",
    280     "mac/scoped_ioplugininterface.h",
    281     "mac/scoped_launch_data.h",
    282     "mac/scoped_mach_port.cc",
    283     "mac/scoped_mach_port.h",
    284     "mac/scoped_mach_vm.cc",
    285     "mac/scoped_mach_vm.h",
    286     "mac/scoped_nsautorelease_pool.h",
    287     "mac/scoped_nsautorelease_pool.mm",
    288     "mac/scoped_nsexception_enabler.h",
    289     "mac/scoped_nsexception_enabler.mm",
    290     "mac/scoped_nsobject.h",
    291     "mac/scoped_sending_event.h",
    292     "mac/scoped_sending_event.mm",
    293     "mac/sdk_forward_declarations.h",
    294     "macros.h",
    295     "md5.cc",
    296     "md5.h",
    297     "memory/aligned_memory.cc",
    298     "memory/aligned_memory.h",
    299     "memory/discardable_memory.cc",
    300     "memory/discardable_memory.h",
    301     "memory/discardable_memory_android.cc",
    302     "memory/discardable_memory_emulated.cc",
    303     "memory/discardable_memory_emulated.h",
    304     "memory/discardable_memory_linux.cc",
    305     "memory/discardable_memory_mac.cc",
    306     "memory/discardable_memory_malloc.cc",
    307     "memory/discardable_memory_malloc.h",
    308     "memory/discardable_memory_manager.cc",
    309     "memory/discardable_memory_manager.h",
    310     "memory/discardable_memory_win.cc",
    311     "memory/linked_ptr.h",
    312     "memory/manual_constructor.h",
    313     "memory/memory_pressure_listener.cc",
    314     "memory/memory_pressure_listener.h",
    315     "memory/raw_scoped_refptr_mismatch_checker.h",
    316     "memory/ref_counted.cc",
    317     "memory/ref_counted.h",
    318     "memory/ref_counted_delete_on_message_loop.h",
    319     "memory/ref_counted_memory.cc",
    320     "memory/ref_counted_memory.h",
    321     "memory/scoped_handle.h",
    322     "memory/scoped_open_process.h",
    323     "memory/scoped_policy.h",
    324     "memory/scoped_ptr.h",
    325     "memory/scoped_vector.h",
    326     "memory/shared_memory.h",
    327     "memory/shared_memory_android.cc",
    328     "memory/shared_memory_nacl.cc",
    329     "memory/shared_memory_posix.cc",
    330     "memory/shared_memory_win.cc",
    331     "memory/singleton.cc",
    332     "memory/singleton.h",
    333     "memory/weak_ptr.cc",
    334     "memory/weak_ptr.h",
    335     "message_loop/incoming_task_queue.cc",
    336     "message_loop/incoming_task_queue.h",
    337     "message_loop/message_loop.cc",
    338     "message_loop/message_loop.h",
    339     "message_loop/message_loop_proxy.cc",
    340     "message_loop/message_loop_proxy.h",
    341     "message_loop/message_loop_proxy_impl.cc",
    342     "message_loop/message_loop_proxy_impl.h",
    343     "message_loop/message_pump.cc",
    344     "message_loop/message_pump.h",
    345     "message_loop/message_pump_android.cc",
    346     "message_loop/message_pump_android.h",
    347     "message_loop/message_pump_default.cc",
    348     "message_loop/message_pump_default.h",
    349     "message_loop/message_pump_glib.cc",
    350     "message_loop/message_pump_glib.h",
    351     "message_loop/message_pump_io_ios.cc",
    352     "message_loop/message_pump_io_ios.h",
    353     "message_loop/message_pump_libevent.cc",
    354     "message_loop/message_pump_libevent.h",
    355     "message_loop/message_pump_mac.h",
    356     "message_loop/message_pump_mac.mm",
    357     "message_loop/message_pump_observer.h",
    358     "message_loop/message_pump_win.cc",
    359     "message_loop/message_pump_win.h",
    360     "metrics/field_trial.cc",
    361     "metrics/field_trial.h",
    362     "metrics/sample_map.cc",
    363     "metrics/sample_map.h",
    364     "metrics/sample_vector.cc",
    365     "metrics/sample_vector.h",
    366     "metrics/bucket_ranges.cc",
    367     "metrics/bucket_ranges.h",
    368     "metrics/histogram.cc",
    369     "metrics/histogram.h",
    370     "metrics/histogram_base.cc",
    371     "metrics/histogram_base.h",
    372     "metrics/histogram_delta_serialization.cc",
    373     "metrics/histogram_delta_serialization.",
    374     "metrics/histogram_flattener.h",
    375     "metrics/histogram_samples.cc",
    376     "metrics/histogram_samples.h",
    377     "metrics/histogram_snapshot_manager.cc",
    378     "metrics/histogram_snapshot_manager.h",
    379     "metrics/sparse_histogram.cc",
    380     "metrics/sparse_histogram.h",
    381     "metrics/statistics_recorder.cc",
    382     "metrics/statistics_recorder.h",
    383     "metrics/stats_counters.cc",
    384     "metrics/stats_counters.h",
    385     "metrics/stats_table.cc",
    386     "metrics/stats_table.h",
    387     "metrics/user_metrics.cc",
    388     "metrics/user_metrics.h",
    389     "metrics/user_metrics_action.h",
    390     "move.h",
    391     "native_library.h",
    392     "native_library_mac.mm",
    393     "native_library_posix.cc",
    394     "native_library_win.cc",
    395     "numerics/safe_conversions.h",
    396     "numerics/safe_conversions_impl.h",
    397     "numerics/safe_math.h",
    398     "numerics/safe_math_impl.h",
    399     "nix/mime_util_xdg.cc",
    400     "nix/mime_util_xdg.h",
    401     "nix/xdg_util.cc",
    402     "nix/xdg_util.h",
    403     "observer_list.h",
    404     "observer_list_threadsafe.h",
    405     "os_compat_android.cc",
    406     "os_compat_android.h",
    407     "os_compat_nacl.cc",
    408     "os_compat_nacl.h",
    409     "path_service.cc",
    410     "path_service.h",
    411     "pending_task.cc",
    412     "pending_task.h",
    413     "pickle.cc",
    414     "pickle.h",
    415     "platform_file.cc",
    416     "platform_file.h",
    417     "platform_file_posix.cc",
    418     "platform_file_win.cc",
    419     "port.h",
    420     "posix/eintr_wrapper.h",
    421     "posix/file_descriptor_shuffle.cc",
    422     "posix/global_descriptors.cc",
    423     "posix/global_descriptors.h",
    424     "posix/unix_domain_socket_linux.cc",
    425     "posix/unix_domain_socket_linux.h",
    426     "power_monitor/power_monitor.cc",
    427     "power_monitor/power_monitor.h",
    428     "power_monitor/power_monitor_device_source.cc",
    429     "power_monitor/power_monitor_device_source.h",
    430     "power_monitor/power_monitor_device_source_android.cc",
    431     "power_monitor/power_monitor_device_source_android.h",
    432     "power_monitor/power_monitor_device_source_ios.mm",
    433     "power_monitor/power_monitor_device_source_mac.mm",
    434     "power_monitor/power_monitor_device_source_posix.cc",
    435     "power_monitor/power_monitor_device_source_win.cc",
    436     "power_monitor/power_monitor_source.cc",
    437     "power_monitor/power_monitor_source.h",
    438     "power_monitor/power_observer.h",
    439     "process/internal_linux.cc",
    440     "process/internal_linux.h",
    441     "process/kill.cc",
    442     "process/kill.h",
    443     "process/kill_mac.cc",
    444     "process/kill_posix.cc",
    445     "process/kill_win.cc",
    446     "process/launch.cc",
    447     "process/launch.h",
    448     "process/launch_ios.cc",
    449     "process/launch_mac.cc",
    450     "process/launch_posix.cc",
    451     "process/launch_win.cc",
    452     "process/memory.cc",
    453     "process/memory.h",
    454     "process/memory_linux.cc",
    455     "process/memory_mac.mm",
    456     "process/memory_win.cc",
    457     "process/process.h",
    458     "process/process_handle_freebsd.cc",
    459     "process/process_handle_linux.cc",
    460     "process/process_handle_mac.cc",
    461     "process/process_handle_openbsd.cc",
    462     "process/process_handle_posix.cc",
    463     "process/process_handle_win.cc",
    464     "process/process_info.h",
    465     "process/process_info_mac.cc",
    466     "process/process_info_win.cc",
    467     "process/process_iterator.cc",
    468     "process/process_iterator.h",
    469     "process/process_iterator_freebsd.cc",
    470     "process/process_iterator_linux.cc",
    471     "process/process_iterator_mac.cc",
    472     "process/process_iterator_openbsd.cc",
    473     "process/process_iterator_win.cc",
    474     "process/process_linux.cc",
    475     "process/process_metrics.cc",
    476     "process/process_metrics.h",
    477     "process/process_metrics_freebsd.cc",
    478     "process/process_metrics_ios.cc",
    479     "process/process_metrics_linux.cc",
    480     "process/process_metrics_mac.cc",
    481     "process/process_metrics_openbsd.cc",
    482     "process/process_metrics_posix.cc",
    483     "process/process_metrics_win.cc",
    484     "process/process_posix.cc",
    485     "process/process_win.cc",
    486     "profiler/scoped_profile.cc",
    487     "profiler/scoped_profile.h",
    488     "profiler/alternate_timer.cc",
    489     "profiler/alternate_timer.h",
    490     "profiler/tracked_time.cc",
    491     "profiler/tracked_time.h",
    492     "rand_util.cc",
    493     "rand_util.h",
    494     "rand_util_nacl.cc",
    495     "rand_util_posix.cc",
    496     "rand_util_win.cc",
    497     "run_loop.cc",
    498     "run_loop.h",
    499     "safe_strerror_posix.cc",
    500     "safe_strerror_posix.h",
    501     "scoped_generic.h",
    502     "scoped_native_library.cc",
    503     "scoped_native_library.h",
    504     "sequence_checker.h",
    505     "sequence_checker_impl.cc",
    506     "sequence_checker_impl.h",
    507     "sequenced_task_runner.cc",
    508     "sequenced_task_runner.h",
    509     "sequenced_task_runner_helpers.h",
    510     "sha1.h",
    511     "sha1_portable.cc",
    512     "sha1_win.cc",
    513     "single_thread_task_runner.h",
    514     "stl_util.h",
    515     "strings/latin1_string_conversions.cc",
    516     "strings/latin1_string_conversions.h",
    517     "strings/nullable_string16.cc",
    518     "strings/nullable_string16.h",
    519     "strings/safe_sprintf.cc",
    520     "strings/safe_sprintf.h",
    521     "strings/string16.cc",
    522     "strings/string16.h",
    523     "strings/string_number_conversions.cc",
    524     "strings/string_split.cc",
    525     "strings/string_split.h",
    526     "strings/string_number_conversions.h",
    527     "strings/string_piece.cc",
    528     "strings/string_piece.h",
    529     "strings/string_tokenizer.h",
    530     "strings/string_util.cc",
    531     "strings/string_util.h",
    532     "strings/string_util_constants.cc",
    533     "strings/string_util_posix.h",
    534     "strings/string_util_win.h",
    535     "strings/stringize_macros.h",
    536     "strings/stringprintf.cc",
    537     "strings/stringprintf.h",
    538     "strings/sys_string_conversions.h",
    539     "strings/sys_string_conversions_mac.mm",
    540     "strings/sys_string_conversions_posix.cc",
    541     "strings/sys_string_conversions_win.cc",
    542     "strings/utf_offset_string_conversions.cc",
    543     "strings/utf_offset_string_conversions.h",
    544     "strings/utf_string_conversion_utils.cc",
    545     "strings/utf_string_conversion_utils.h",
    546     "strings/utf_string_conversions.cc",
    547     "strings/utf_string_conversions.h",
    548     "supports_user_data.cc",
    549     "supports_user_data.h",
    550     "sync_socket.h",
    551     "sync_socket_posix.cc",
    552     "sync_socket_win.cc",
    553     "synchronization/cancellation_flag.cc",
    554     "synchronization/cancellation_flag.h",
    555     "synchronization/condition_variable.h",
    556     "synchronization/condition_variable_posix.cc",
    557     "synchronization/condition_variable_win.cc",
    558     "synchronization/lock.cc",
    559     "synchronization/lock.h",
    560     "synchronization/lock_impl.h",
    561     "synchronization/lock_impl_posix.cc",
    562     "synchronization/lock_impl_win.cc",
    563     "synchronization/spin_wait.h",
    564     "synchronization/waitable_event.h",
    565     "synchronization/waitable_event_posix.cc",
    566     "synchronization/waitable_event_watcher.h",
    567     "synchronization/waitable_event_watcher_posix.cc",
    568     "synchronization/waitable_event_watcher_win.cc",
    569     "synchronization/waitable_event_win.cc",
    570     "system_monitor/system_monitor.cc",
    571     "system_monitor/system_monitor.h",
    572     "sys_byteorder.h",
    573     "sys_info.cc",
    574     "sys_info.h",
    575     "sys_info_android.cc",
    576     "sys_info_chromeos.cc",
    577     "sys_info_freebsd.cc",
    578     "sys_info_ios.mm",
    579     "sys_info_linux.cc",
    580     "sys_info_mac.cc",
    581     "sys_info_openbsd.cc",
    582     "sys_info_posix.cc",
    583     "sys_info_win.cc",
    584     "task/cancelable_task_tracker.cc",
    585     "task/cancelable_task_tracker.h",
    586     "task_runner.cc",
    587     "task_runner.h",
    588     "task_runner_util.h",
    589     "template_util.h",
    590     "thread_task_runner_handle.cc",
    591     "thread_task_runner_handle.h",
    592     "threading/non_thread_safe.h",
    593     "threading/non_thread_safe_impl.cc",
    594     "threading/non_thread_safe_impl.h",
    595     "threading/platform_thread.h",
    596     "threading/platform_thread_android.cc",
    597     "threading/platform_thread_linux.cc",
    598     "threading/platform_thread_mac.mm",
    599     "threading/platform_thread_posix.cc",
    600     "threading/platform_thread_win.cc",
    601     "threading/post_task_and_reply_impl.cc",
    602     "threading/post_task_and_reply_impl.h",
    603     "threading/sequenced_worker_pool.cc",
    604     "threading/sequenced_worker_pool.h",
    605     "threading/simple_thread.cc",
    606     "threading/simple_thread.h",
    607     "threading/thread.cc",
    608     "threading/thread.h",
    609     "threading/thread_checker.h",
    610     "threading/thread_checker_impl.cc",
    611     "threading/thread_checker_impl.h",
    612     "threading/thread_collision_warner.cc",
    613     "threading/thread_collision_warner.h",
    614     "threading/thread_id_name_manager.cc",
    615     "threading/thread_id_name_manager.h",
    616     "threading/thread_local.h",
    617     "threading/thread_local_android.cc",
    618     "threading/thread_local_posix.cc",
    619     "threading/thread_local_storage.cc",
    620     "threading/thread_local_storage.h",
    621     "threading/thread_local_storage_posix.cc",
    622     "threading/thread_local_storage_win.cc",
    623     "threading/thread_local_win.cc",
    624     "threading/thread_restrictions.h",
    625     "threading/thread_restrictions.cc",
    626     "threading/watchdog.cc",
    627     "threading/watchdog.h",
    628     "threading/worker_pool.h",
    629     "threading/worker_pool.cc",
    630     "threading/worker_pool_posix.cc",
    631     "threading/worker_pool_posix.h",
    632     "threading/worker_pool_win.cc",
    633     "time/clock.cc",
    634     "time/clock.h",
    635     "time/default_clock.cc",
    636     "time/default_clock.h",
    637     "time/default_tick_clock.cc",
    638     "time/default_tick_clock.h",
    639     "time/tick_clock.cc",
    640     "time/tick_clock.h",
    641     "time/time.cc",
    642     "time/time.h",
    643     "time/time_mac.cc",
    644     "time/time_posix.cc",
    645     "time/time_win.cc",
    646     "timer/elapsed_timer.cc",
    647     "timer/elapsed_timer.h",
    648     "timer/hi_res_timer_manager.h",
    649     "timer/hi_res_timer_manager_posix.cc",
    650     "timer/hi_res_timer_manager_win.cc",
    651     "timer/mock_timer.cc",
    652     "timer/mock_timer.h",
    653     "timer/timer.cc",
    654     "timer/timer.h",
    655     "tracked_objects.cc",
    656     "tracked_objects.h",
    657     "tracking_info.cc",
    658     "tracking_info.h",
    659     "tuple.h",
    660     "values.cc",
    661     "values.h",
    662     "value_conversions.cc",
    663     "value_conversions.h",
    664     "version.cc",
    665     "version.h",
    666     "vlog.cc",
    667     "vlog.h",
    668     "win/enum_variant.cc",
    669     "win/enum_variant.h",
    670     "win/event_trace_consumer.h",
    671     "win/event_trace_controller.cc",
    672     "win/event_trace_controller.h",
    673     "win/event_trace_provider.cc",
    674     "win/event_trace_provider.h",
    675     "win/i18n.cc",
    676     "win/i18n.h",
    677     "win/iat_patch_function.cc",
    678     "win/iat_patch_function.h",
    679     "win/iunknown_impl.cc",
    680     "win/iunknown_impl.h",
    681     "win/message_window.cc",
    682     "win/message_window.h",
    683     "win/metro.cc",
    684     "win/metro.h",
    685     "win/object_watcher.cc",
    686     "win/object_watcher.h",
    687     "win/registry.cc",
    688     "win/registry.h",
    689     "win/resource_util.cc",
    690     "win/resource_util.h",
    691     "win/scoped_bstr.cc",
    692     "win/scoped_bstr.h",
    693     "win/scoped_co_mem.h",
    694     "win/scoped_com_initializer.h",
    695     "win/scoped_comptr.h",
    696     "win/scoped_gdi_object.h",
    697     "win/scoped_handle.cc",
    698     "win/scoped_handle.h",
    699     "win/scoped_hdc.h",
    700     "win/scoped_hglobal.h",
    701     "win/scoped_process_information.cc",
    702     "win/scoped_process_information.h",
    703     "win/scoped_propvariant.h",
    704     "win/scoped_select_object.h",
    705     "win/scoped_variant.cc",
    706     "win/scoped_variant.h",
    707     "win/shortcut.cc",
    708     "win/shortcut.h",
    709     "win/startup_information.cc",
    710     "win/startup_information.h",
    711     "win/win_util.cc",
    712     "win/win_util.h",
    713     "win/windows_version.cc",
    714     "win/windows_version.h",
    715     "win/wrapped_window_proc.cc",
    716     "win/wrapped_window_proc.h",
    717   ]
    718 
    719   if (is_nacl) {
    720     sources += [ "files/file_path_watcher_stub.cc" ]
    721   }
    722 
    723   sources -= [
    724     "process/process_handle_freebsd.cc",
    725     "process/process_handle_openbsd.cc",
    726     "process/process_iterator_freebsd.cc",
    727     "process/process_iterator_openbsd.cc",
    728     "process/process_metrics_freebsd.cc",
    729     "process/process_metrics_openbsd.cc",
    730     "sys_info_freebsd.cc",
    731     "sys_info_openbsd.cc",
    732   ]
    733 
    734   defines = [
    735     "BASE_IMPLEMENTATION",
    736   ]
    737 
    738   deps = [
    739     ":base_static",
    740     "//base/allocator:allocator_extension_thunks",
    741     "//base/third_party/dynamic_annotations",
    742     "//base/third_party/nspr",
    743     "//third_party/modp_b64",
    744   ]
    745 
    746   if (is_android) {
    747     sources += [
    748        "memory/discardable_memory_ashmem_allocator.cc",
    749        "memory/discardable_memory_ashmem_allocator.h",
    750        "memory/discardable_memory_ashmem.cc",
    751        "memory/discardable_memory_ashmem.h",
    752     ]
    753     sources -= [
    754       "base_paths_posix.cc",
    755       "power_monitor/power_monitor_device_source_posix.cc",
    756     ]
    757 
    758     # Android uses some Linux sources, put those back.
    759     set_sources_assignment_filter([])
    760     sources += [
    761       "debug/proc_maps_linux.cc",
    762       "files/file_path_watcher_linux.cc",
    763       "process/memory_linux.cc",
    764       "process/internal_linux.cc",
    765       "process/process_handle_linux.cc",
    766       "process/process_iterator_linux.cc",
    767       "process/process_metrics_linux.cc",
    768       "posix/unix_domain_socket_linux.cc",
    769       "sys_info_linux.cc",
    770     ]
    771     set_sources_assignment_filter(sources_assignment_filter)
    772 
    773     deps += [
    774       ":base_jni_headers",
    775       "//third_party/ashmem",
    776       "//third_party/android_tools:cpu_features"
    777     ]
    778 
    779     # logging.cc uses the Android logging library.
    780     libs = [ "log" ]
    781 
    782     sources -= [
    783       "debug/stack_trace_posix.cc",
    784     ]
    785   }
    786 
    787   if (is_nacl) {
    788     # These things would otherwise be built on a Posix build but aren't
    789     # supported on NaCl.
    790     sources -= [
    791       "debug/stack_trace_posix.cc",
    792       "files/file_enumerator_posix.cc",
    793       "file_util_posix.cc",
    794       "message_loop/message_pump_libevent.cc",
    795       "process/kill_posix.cc",
    796       "process/launch_posix.cc",
    797       "process/process_metrics_posix.cc",
    798       "process/process_posix.cc",
    799       "metrics/field_trial.cc",
    800       "native_library_posix.cc",
    801       "memory/shared_memory_posix.cc",
    802       "sync_socket_posix.cc",
    803       "sys_info_posix.cc",
    804     ]
    805   } else {
    806     # Remove nacl stuff.
    807     sources -= [
    808       "os_compat_nacl.cc",
    809       "os_compat_nacl.h",
    810       "rand_util_nacl.cc",
    811       "memory/shared_memory_nacl.cc",
    812     ]
    813   }
    814 
    815   # Windows.
    816   if (is_win) {
    817     sources -= [
    818       "message_loop/message_pump_libevent.cc",
    819       "strings/string16.cc",
    820       # Not using sha1_win.cc because it may have caused a
    821       # regression to page cycler moz.
    822       "sha1_win.cc",
    823     ]
    824 
    825     libs = [
    826       "netapi32.lib",
    827       "powrprof.lib",
    828     ]
    829     ldflags = [
    830       "/DELAYLOAD:powrprof.dll",
    831     ]
    832   } else if (!is_nacl) {
    833     # Non-Windows.
    834     deps += [ "//third_party/libevent" ]
    835   }
    836 
    837   # Mac.
    838   if (is_mac) {
    839     sources -= [
    840       "base_paths_posix.cc",
    841       "native_library_posix.cc",
    842       "strings/sys_string_conversions_posix.cc",
    843     ]
    844     deps += [ "//third_party/mach_override" ]
    845   } else {
    846     # Non-Mac.
    847     sources -= [
    848       "files/file_path_watcher_fsevents.cc",
    849       "files/file_path_watcher_fsevents.h",
    850       "files/file_path_watcher_kqueue.cc",
    851       "files/file_path_watcher_kqueue.h",
    852     ]
    853   }
    854 
    855   # Linux.
    856   if (is_linux) {
    857     # TODO(brettw) this will need to be parameterized at some point.
    858     linux_configs = [
    859       "//build/config/linux:glib",
    860     ]
    861 
    862     configs += linux_configs
    863     all_dependent_configs = linux_configs
    864 
    865     # These dependencies are not required on Android, and in the case
    866     # of xdg_mime must be excluded due to licensing restrictions.
    867     deps += [
    868       "//base/third_party/symbolize",
    869       "//base/third_party/xdg_mime",
    870       "//base/third_party/xdg_user_dirs",
    871     ]
    872   } else {
    873     # Non-Linux.
    874     sources -= [
    875       "nix/mime_util_xdg.cc",
    876       "nix/mime_util_xdg.h",
    877       "nix/xdg_util.cc",
    878       "nix/xdg_util.h",
    879     ]
    880   }
    881 
    882   if (!use_glib) {
    883     sources -= [
    884       "message_loop/message_pump_glib.cc",
    885       "message_loop/message_pump_glib.h",
    886     ]
    887   }
    888 }
    889 
    890 # This is the subset of files from base that should not be used with a dynamic
    891 # library. Note that this library cannot depend on base because base depends on
    892 # base_static.
    893 source_set("base_static") {
    894   sources = [
    895     "base_switches.cc",
    896     "base_switches.h",
    897     "win/pe_image.cc",
    898     "win/pe_image.h",
    899   ]
    900 }
    901 
    902 component("i18n") {
    903   output_name = "base_i18n"
    904   sources = [
    905     "i18n/base_i18n_export.h",
    906     "i18n/bidi_line_iterator.cc",
    907     "i18n/bidi_line_iterator.h",
    908     "i18n/break_iterator.cc",
    909     "i18n/break_iterator.h",
    910     "i18n/case_conversion.cc",
    911     "i18n/case_conversion.h",
    912     "i18n/char_iterator.cc",
    913     "i18n/char_iterator.h",
    914     "i18n/file_util_icu.cc",
    915     "i18n/file_util_icu.h",
    916     "i18n/i18n_constants.cc",
    917     "i18n/i18n_constants.h",
    918     "i18n/icu_encoding_detection.cc",
    919     "i18n/icu_encoding_detection.h",
    920     "i18n/icu_string_conversions.cc",
    921     "i18n/icu_string_conversions.h",
    922     "i18n/icu_util.cc",
    923     "i18n/icu_util.h",
    924     "i18n/number_formatting.cc",
    925     "i18n/number_formatting.h",
    926     "i18n/rtl.cc",
    927     "i18n/rtl.h",
    928     "i18n/streaming_utf8_validator.cc",
    929     "i18n/streaming_utf8_validator.h",
    930     "i18n/string_compare.cc",
    931     "i18n/string_compare.h",
    932     "i18n/string_search.cc",
    933     "i18n/string_search.h",
    934     "i18n/time_formatting.cc",
    935     "i18n/time_formatting.h",
    936     "i18n/timezone.cc",
    937     "i18n/timezone.h",
    938     "i18n/utf8_validator_tables.cc",
    939     "i18n/utf8_validator_tables.h",
    940   ]
    941   defines = [ "BASE_I18N_IMPLEMENTATION" ]
    942   configs += [ "//build/config/compiler:wexit_time_destructors" ]
    943   deps = [
    944     ":base",
    945     "//base/third_party/dynamic_annotations",
    946     "//third_party/icu",
    947   ]
    948 }
    949 
    950 source_set("prefs") {
    951   sources = [
    952     "prefs/base_prefs_export.h",
    953     "prefs/default_pref_store.cc",
    954     "prefs/default_pref_store.h",
    955     "prefs/json_pref_store.cc",
    956     "prefs/json_pref_store.h",
    957     "prefs/overlay_user_pref_store.cc",
    958     "prefs/overlay_user_pref_store.h",
    959     "prefs/persistent_pref_store.h",
    960     "prefs/pref_change_registrar.cc",
    961     "prefs/pref_change_registrar.h",
    962     "prefs/pref_filter.h",
    963     "prefs/pref_member.cc",
    964     "prefs/pref_member.h",
    965     "prefs/pref_notifier.h",
    966     "prefs/pref_notifier_impl.cc",
    967     "prefs/pref_notifier_impl.h",
    968     "prefs/pref_observer.h",
    969     "prefs/pref_registry.cc",
    970     "prefs/pref_registry.h",
    971     "prefs/pref_registry_simple.cc",
    972     "prefs/pref_registry_simple.h",
    973     "prefs/pref_service.cc",
    974     "prefs/pref_service.h",
    975     "prefs/pref_service_factory.cc",
    976     "prefs/pref_service_factory.h",
    977     "prefs/pref_store.cc",
    978     "prefs/pref_store.h",
    979     "prefs/pref_value_map.cc",
    980     "prefs/pref_value_map.h",
    981     "prefs/pref_value_store.cc",
    982     "prefs/pref_value_store.h",
    983     "prefs/scoped_user_pref_update.cc",
    984     "prefs/scoped_user_pref_update.h",
    985     "prefs/value_map_pref_store.cc",
    986     "prefs/value_map_pref_store.h",
    987     "prefs/writeable_pref_store.h",
    988   ]
    989 
    990   defines = [ "BASE_PREFS_IMPLEMENTATION" ]
    991 
    992   deps = [ ":base" ]
    993 }
    994 
    995 source_set("prefs_test_support") {
    996   sources = [
    997     "prefs/mock_pref_change_callback.cc",
    998     "prefs/pref_store_observer_mock.cc",
    999     "prefs/pref_store_observer_mock.h",
   1000     "prefs/testing_pref_service.cc",
   1001     "prefs/testing_pref_service.h",
   1002     "prefs/testing_pref_store.cc",
   1003     "prefs/testing_pref_store.h",
   1004   ]
   1005 
   1006   deps = [
   1007     ":base",
   1008     ":prefs",
   1009     "//testing/gmock",
   1010   ]
   1011 }
   1012 
   1013 source_set("message_loop_tests") {
   1014   sources = [
   1015     "message_loop/message_loop_test.cc",
   1016     "message_loop/message_loop_test.h",
   1017   ]
   1018 
   1019   deps = [
   1020     ":base",
   1021     "//testing/gtest",
   1022   ]
   1023 }
   1024 
   1025 test("base_unittests") {
   1026   sources = [
   1027     "android/application_status_listener_unittest.cc",
   1028     "android/jni_android_unittest.cc",
   1029     "android/jni_array_unittest.cc",
   1030     "android/jni_string_unittest.cc",
   1031     "android/path_utils_unittest.cc",
   1032     "android/scoped_java_ref_unittest.cc",
   1033     "android/sys_utils_unittest.cc",
   1034     "async_socket_io_handler_unittest.cc",
   1035     "at_exit_unittest.cc",
   1036     "atomicops_unittest.cc",
   1037     "barrier_closure_unittest.cc",
   1038     "base64_unittest.cc",
   1039     "big_endian_unittest.cc",
   1040     "bind_unittest.cc",
   1041     "bind_unittest.nc",
   1042     "bits_unittest.cc",
   1043     "build_time_unittest.cc",
   1044     "callback_helpers_unittest.cc",
   1045     "callback_list_unittest.cc",
   1046     "callback_list_unittest.nc",
   1047     "callback_unittest.cc",
   1048     "callback_unittest.nc",
   1049     "cancelable_callback_unittest.cc",
   1050     "command_line_unittest.cc",
   1051     "containers/hash_tables_unittest.cc",
   1052     "containers/linked_list_unittest.cc",
   1053     "containers/mru_cache_unittest.cc",
   1054     "containers/small_map_unittest.cc",
   1055     "containers/stack_container_unittest.cc",
   1056     "cpu_unittest.cc",
   1057     "debug/crash_logging_unittest.cc",
   1058     "debug/leak_tracker_unittest.cc",
   1059     "debug/proc_maps_linux_unittest.cc",
   1060     "debug/stack_trace_unittest.cc",
   1061     "debug/trace_event_memory_unittest.cc",
   1062     "debug/trace_event_synthetic_delay_unittest.cc",
   1063     "debug/trace_event_system_stats_monitor_unittest.cc",
   1064     "debug/trace_event_unittest.cc",
   1065     "debug/trace_event_unittest.h",
   1066     "debug/trace_event_win_unittest.cc",
   1067     "deferred_sequenced_task_runner_unittest.cc",
   1068     "environment_unittest.cc",
   1069     "file_util_unittest.cc",
   1070     "file_version_info_unittest.cc",
   1071     "files/dir_reader_posix_unittest.cc",
   1072     "files/file_path_unittest.cc",
   1073     "files/file_proxy_unittest.cc",
   1074     "files/file_unittest.cc",
   1075     "files/file_util_proxy_unittest.cc",
   1076     "files/important_file_writer_unittest.cc",
   1077     "files/scoped_temp_dir_unittest.cc",
   1078     "gmock_unittest.cc",
   1079     "guid_unittest.cc",
   1080     "hash_unittest.cc",
   1081     "id_map_unittest.cc",
   1082     "i18n/break_iterator_unittest.cc",
   1083     "i18n/char_iterator_unittest.cc",
   1084     "i18n/case_conversion_unittest.cc",
   1085     "i18n/file_util_icu_unittest.cc",
   1086     "i18n/icu_string_conversions_unittest.cc",
   1087     "i18n/number_formatting_unittest.cc",
   1088     "i18n/rtl_unittest.cc",
   1089     "i18n/streaming_utf8_validator_unittest.cc",
   1090     "i18n/string_search_unittest.cc",
   1091     "i18n/time_formatting_unittest.cc",
   1092     "i18n/timezone_unittest.cc",
   1093     "ini_parser_unittest.cc",
   1094     "ios/device_util_unittest.mm",
   1095     "json/json_parser_unittest.cc",
   1096     "json/json_reader_unittest.cc",
   1097     "json/json_value_converter_unittest.cc",
   1098     "json/json_value_serializer_unittest.cc",
   1099     "json/json_writer_unittest.cc",
   1100     "json/string_escape_unittest.cc",
   1101     "lazy_instance_unittest.cc",
   1102     "logging_unittest.cc",
   1103     "mac/bind_objc_block_unittest.mm",
   1104     "mac/foundation_util_unittest.mm",
   1105     "mac/libdispatch_task_runner_unittest.cc",
   1106     "mac/mac_util_unittest.mm",
   1107     "mac/objc_property_releaser_unittest.mm",
   1108     "mac/scoped_nsobject_unittest.mm",
   1109     "mac/scoped_sending_event_unittest.mm",
   1110     "md5_unittest.cc",
   1111     "memory/aligned_memory_unittest.cc",
   1112     "memory/discardable_memory_manager_unittest.cc",
   1113     "memory/discardable_memory_unittest.cc",
   1114     "memory/linked_ptr_unittest.cc",
   1115     "memory/ref_counted_memory_unittest.cc",
   1116     "memory/ref_counted_unittest.cc",
   1117     "memory/scoped_ptr_unittest.cc",
   1118     "memory/scoped_ptr_unittest.nc",
   1119     "memory/scoped_vector_unittest.cc",
   1120     "memory/shared_memory_unittest.cc",
   1121     "memory/singleton_unittest.cc",
   1122     "memory/weak_ptr_unittest.cc",
   1123     "memory/weak_ptr_unittest.nc",
   1124     "message_loop/message_loop_proxy_impl_unittest.cc",
   1125     "message_loop/message_loop_proxy_unittest.cc",
   1126     "message_loop/message_loop_unittest.cc",
   1127     "message_loop/message_pump_glib_unittest.cc",
   1128     "message_loop/message_pump_io_ios_unittest.cc",
   1129     "metrics/sample_map_unittest.cc",
   1130     "metrics/sample_vector_unittest.cc",
   1131     "metrics/bucket_ranges_unittest.cc",
   1132     "metrics/field_trial_unittest.cc",
   1133     "metrics/histogram_base_unittest.cc",
   1134     "metrics/histogram_delta_serialization_unittest.cc",
   1135     "metrics/histogram_snapshot_manager_unittest.cc",
   1136     "metrics/histogram_unittest.cc",
   1137     "metrics/sparse_histogram_unittest.cc",
   1138     "metrics/stats_table_unittest.cc",
   1139     "metrics/statistics_recorder_unittest.cc",
   1140     "observer_list_unittest.cc",
   1141     "os_compat_android_unittest.cc",
   1142     "path_service_unittest.cc",
   1143     "pickle_unittest.cc",
   1144     "platform_file_unittest.cc",
   1145     "posix/file_descriptor_shuffle_unittest.cc",
   1146     "posix/unix_domain_socket_linux_unittest.cc",
   1147     "power_monitor/power_monitor_unittest.cc",
   1148     "prefs/default_pref_store_unittest.cc",
   1149     "prefs/json_pref_store_unittest.cc",
   1150     "prefs/mock_pref_change_callback.h",
   1151     "prefs/overlay_user_pref_store_unittest.cc",
   1152     "prefs/pref_change_registrar_unittest.cc",
   1153     "prefs/pref_member_unittest.cc",
   1154     "prefs/pref_notifier_impl_unittest.cc",
   1155     "prefs/pref_service_unittest.cc",
   1156     "prefs/pref_value_map_unittest.cc",
   1157     "prefs/pref_value_store_unittest.cc",
   1158     "prefs/scoped_user_pref_update_unittest.cc",
   1159     "process/memory_unittest.cc",
   1160     "process/memory_unittest_mac.h",
   1161     "process/memory_unittest_mac.mm",
   1162     "process/process_metrics_unittest.cc",
   1163     "process/process_metrics_unittest_ios.cc",
   1164     "process/process_util_unittest.cc",
   1165     "process/process_util_unittest_ios.cc",
   1166     "profiler/tracked_time_unittest.cc",
   1167     "rand_util_unittest.cc",
   1168     "numerics/safe_numerics_unittest.cc",
   1169     "scoped_clear_errno_unittest.cc",
   1170     "scoped_generic_unittest.cc",
   1171     "scoped_native_library_unittest.cc",
   1172     "scoped_observer.h",
   1173     "security_unittest.cc",
   1174     "sequence_checker_unittest.cc",
   1175     "sha1_unittest.cc",
   1176     "stl_util_unittest.cc",
   1177     "strings/nullable_string16_unittest.cc",
   1178     "strings/safe_sprintf_unittest.cc",
   1179     "strings/string16_unittest.cc",
   1180     "strings/stringprintf_unittest.cc",
   1181     "strings/string_number_conversions_unittest.cc",
   1182     "strings/string_piece_unittest.cc",
   1183     "strings/string_split_unittest.cc",
   1184     "strings/string_tokenizer_unittest.cc",
   1185     "strings/string_util_unittest.cc",
   1186     "strings/stringize_macros_unittest.cc",
   1187     "strings/sys_string_conversions_mac_unittest.mm",
   1188     "strings/sys_string_conversions_unittest.cc",
   1189     "strings/utf_offset_string_conversions_unittest.cc",
   1190     "strings/utf_string_conversions_unittest.cc",
   1191     "supports_user_data_unittest.cc",
   1192     "sync_socket_unittest.cc",
   1193     "synchronization/cancellation_flag_unittest.cc",
   1194     "synchronization/condition_variable_unittest.cc",
   1195     "synchronization/lock_unittest.cc",
   1196     "synchronization/waitable_event_unittest.cc",
   1197     "synchronization/waitable_event_watcher_unittest.cc",
   1198     "sys_info_unittest.cc",
   1199     "system_monitor/system_monitor_unittest.cc",
   1200     "task/cancelable_task_tracker_unittest.cc",
   1201     "task_runner_util_unittest.cc",
   1202     "template_util_unittest.cc",
   1203     "test/expectations/expectation_unittest.cc",
   1204     "test/expectations/parser_unittest.cc",
   1205     "test/statistics_delta_reader_unittest.cc",
   1206     "test/test_reg_util_win_unittest.cc",
   1207     "test/trace_event_analyzer_unittest.cc",
   1208     "threading/non_thread_safe_unittest.cc",
   1209     "threading/platform_thread_unittest.cc",
   1210     "threading/sequenced_worker_pool_unittest.cc",
   1211     "threading/simple_thread_unittest.cc",
   1212     "threading/thread_checker_unittest.cc",
   1213     "threading/thread_collision_warner_unittest.cc",
   1214     "threading/thread_id_name_manager_unittest.cc",
   1215     "threading/thread_local_storage_unittest.cc",
   1216     "threading/thread_local_unittest.cc",
   1217     "threading/thread_unittest.cc",
   1218     "threading/watchdog_unittest.cc",
   1219     "threading/worker_pool_posix_unittest.cc",
   1220     "threading/worker_pool_unittest.cc",
   1221     "time/pr_time_unittest.cc",
   1222     "time/time_unittest.cc",
   1223     "time/time_win_unittest.cc",
   1224     "timer/hi_res_timer_manager_unittest.cc",
   1225     "timer/mock_timer_unittest.cc",
   1226     "timer/timer_unittest.cc",
   1227     "tools_sanity_unittest.cc",
   1228     "tracked_objects_unittest.cc",
   1229     "tuple_unittest.cc",
   1230     "values_unittest.cc",
   1231     "version_unittest.cc",
   1232     "vlog_unittest.cc",
   1233     "win/dllmain.cc",
   1234     "win/enum_variant_unittest.cc",
   1235     "win/event_trace_consumer_unittest.cc",
   1236     "win/event_trace_controller_unittest.cc",
   1237     "win/event_trace_provider_unittest.cc",
   1238     "win/i18n_unittest.cc",
   1239     "win/iunknown_impl_unittest.cc",
   1240     "win/message_window_unittest.cc",
   1241     "win/object_watcher_unittest.cc",
   1242     "win/pe_image_unittest.cc",
   1243     "win/registry_unittest.cc",
   1244     "win/scoped_bstr_unittest.cc",
   1245     "win/scoped_comptr_unittest.cc",
   1246     "win/scoped_process_information_unittest.cc",
   1247     "win/scoped_variant_unittest.cc",
   1248     "win/shortcut_unittest.cc",
   1249     "win/startup_information_unittest.cc",
   1250     "win/win_util_unittest.cc",
   1251     "win/wrapped_window_proc_unittest.cc",
   1252   ]
   1253 
   1254   deps = [
   1255     ":base",
   1256     ":i18n",
   1257     ":message_loop_tests",
   1258     ":prefs",
   1259     ":prefs_test_support",
   1260     "//base/allocator",
   1261     "//base/test:run_all_unittests",
   1262     "//base/test:test_support",
   1263     "//base/third_party/dynamic_annotations",
   1264     "//testing/gmock",
   1265     "//testing/gtest",
   1266     "//third_party/icu",
   1267   ]
   1268 
   1269   if (is_ios) {
   1270     sources -= [
   1271       "metrics/stats_table_uinittest.cc",  # Requires spawning a process.
   1272       "process/memory_unittest.cc",
   1273       "process/memory_unittest_mac.h",
   1274       "process/memory_unittest_mac.mm",
   1275       "process/process_util_unittest.cc",
   1276     ]
   1277 
   1278     # Pull in specific Mac files for iOS (which have been filtered out by file
   1279     # name rules).
   1280     set_sources_assignment_filter([])
   1281     sources += [
   1282       "mac/bind_objc_block_unittest.mm",
   1283       "mac/foundation_util_unittest.mm",
   1284       "mac/objc_property_releaser_unittest.mm",
   1285       "mac/scoped_nsobject_unittest.mm",
   1286       "sys_string_conversions_mac_unittest.mm",
   1287     ]
   1288     set_sources_assignment_filter(sources_assignment_filter)
   1289 
   1290     # TODO(GYP): dep on copy_test_data_ios action.
   1291   }
   1292 
   1293   if (is_linux) {
   1294     sources -= [ "file_version_info_unittest.cc" ]
   1295     sources += [ "nix/xdg_util_unittest.cc" ]
   1296     defines = [ "USE_SYMBOLIZE" ]
   1297     configs += [ "//build/config/linux:glib" ]
   1298   }
   1299 
   1300   if (!is_linux || use_ozone) {
   1301     sources -= [ "message_loop/message_pump_glib_unittest.cc" ]
   1302   }
   1303 
   1304   if (is_posix || is_ios) {
   1305     sources += [ "message_loop/message_pump_libevent_unittest.cc" ]
   1306     deps += [ "//third_party/libevent" ]
   1307   }
   1308 
   1309   if (is_android) {
   1310     set_sources_assignment_filter([])
   1311     sources += [ "debug/proc_maps_linux_unittest.cc" ]
   1312     set_sources_assignment_filter(sources_assignment_filter)
   1313   }
   1314 }
   1315 
   1316 if (is_android) {
   1317   generate_jni("base_jni_headers") {
   1318     sources = [
   1319       "android/java/src/org/chromium/base/ApplicationStatus.java",
   1320       "android/java/src/org/chromium/base/BuildInfo.java",
   1321       "android/java/src/org/chromium/base/CommandLine.java",
   1322       "android/java/src/org/chromium/base/ContentUriUtils.java",
   1323       "android/java/src/org/chromium/base/CpuFeatures.java",
   1324       "android/java/src/org/chromium/base/EventLog.java",
   1325       "android/java/src/org/chromium/base/ImportantFileWriterAndroid.java",
   1326       "android/java/src/org/chromium/base/JNIUtils.java",
   1327       "android/java/src/org/chromium/base/library_loader/LibraryLoader.java",
   1328       "android/java/src/org/chromium/base/MemoryPressureListener.java",
   1329       "android/java/src/org/chromium/base/JavaHandlerThread.java",
   1330       "android/java/src/org/chromium/base/PathService.java",
   1331       "android/java/src/org/chromium/base/PathUtils.java",
   1332       "android/java/src/org/chromium/base/PowerMonitor.java",
   1333       "android/java/src/org/chromium/base/SystemMessageHandler.java",
   1334       "android/java/src/org/chromium/base/SysUtils.java",
   1335       "android/java/src/org/chromium/base/ThreadUtils.java",
   1336       "android/java/src/org/chromium/base/TraceEvent.java",
   1337     ]
   1338     jni_package = "base"
   1339   }
   1340 
   1341   java_cpp_template("base_java_application_state") {
   1342     sources = [
   1343       "android/java/src/org/chromium/base/ApplicationState.template",
   1344       ]
   1345     source_prereqs = [
   1346       "android/application_state_list.h"
   1347       ]
   1348 
   1349     package_name = "org/chromium/base"
   1350   }
   1351 
   1352   java_cpp_template("base_java_memory_pressure_level_list") {
   1353     sources = [
   1354       "android/java/src/org/chromium/base/MemoryPressureLevelList.template",
   1355       ]
   1356     source_prereqs = [
   1357       "memory/memory_pressure_level_list.h"
   1358       ]
   1359 
   1360     package_name = "org/chromium/base"
   1361   }
   1362 
   1363   java_cpp_template("base_native_libraries_gen") {
   1364     sources = [
   1365       "android/java/templates/NativeLibraries.template",
   1366       ]
   1367     source_prereqs = [
   1368       "android/java/templates/native_libraries_array.h",
   1369       ]
   1370 
   1371     package_name = "org/chromium/base/library_loader"
   1372     include_path = "android/java/templates"
   1373   }
   1374 
   1375 
   1376 }
   1377