1*635a8641SAndroid Build Coastguard Worker# Copyright 2018 The Chromium OS Authors. All rights reserved. 2*635a8641SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 3*635a8641SAndroid Build Coastguard Worker# found in the LICENSE file. 4*635a8641SAndroid Build Coastguard Worker# 5*635a8641SAndroid Build Coastguard Worker# BUILD.gn doesn't compile all files in the directory to reduce build size. 6*635a8641SAndroid Build Coastguard Worker# Missing files can be added if needed. 7*635a8641SAndroid Build Coastguard Worker 8*635a8641SAndroid Build Coastguard Workerimport("//common-mk/mojom_bindings_generator.gni") 9*635a8641SAndroid Build Coastguard Workerimport("//common-mk/mojom_type_mappings_generator.gni") 10*635a8641SAndroid Build Coastguard Workerimport("//common-mk/pkg_config.gni") 11*635a8641SAndroid Build Coastguard Worker 12*635a8641SAndroid Build Coastguard Workergroup("all") { 13*635a8641SAndroid Build Coastguard Worker deps = [ 14*635a8641SAndroid Build Coastguard Worker ":libchrome", 15*635a8641SAndroid Build Coastguard Worker ":libchrome-test", 16*635a8641SAndroid Build Coastguard Worker ] 17*635a8641SAndroid Build Coastguard Worker if (use.mojo) { 18*635a8641SAndroid Build Coastguard Worker deps += [ ":libmojo" ] 19*635a8641SAndroid Build Coastguard Worker } 20*635a8641SAndroid Build Coastguard Worker} 21*635a8641SAndroid Build Coastguard Worker 22*635a8641SAndroid Build Coastguard Workerconfig("libchrome_config") { 23*635a8641SAndroid Build Coastguard Worker # TODO(hidehiko): Consolidate with build_config.h. 24*635a8641SAndroid Build Coastguard Worker defines = [ 25*635a8641SAndroid Build Coastguard Worker "OS_CHROMEOS", 26*635a8641SAndroid Build Coastguard Worker "USE_NSS_CERTS", 27*635a8641SAndroid Build Coastguard Worker "USE_SYSTEM_LIBEVENT", 28*635a8641SAndroid Build Coastguard Worker "NO_TCMALLOC", 29*635a8641SAndroid Build Coastguard Worker "MOJO_CORE_LEGACY_PROTOCOL", 30*635a8641SAndroid Build Coastguard Worker ] 31*635a8641SAndroid Build Coastguard Worker if (use.asan) { 32*635a8641SAndroid Build Coastguard Worker defines += [ "LEAK_SANITIZER" ] 33*635a8641SAndroid Build Coastguard Worker } 34*635a8641SAndroid Build Coastguard Worker 35*635a8641SAndroid Build Coastguard Worker include_dirs = [ "." ] 36*635a8641SAndroid Build Coastguard Worker cflags = [ 37*635a8641SAndroid Build Coastguard Worker "-Wno-deprecated-register", 38*635a8641SAndroid Build Coastguard Worker "-Wno-narrowing", 39*635a8641SAndroid Build Coastguard Worker "-Wno-unreachable-code-return", 40*635a8641SAndroid Build Coastguard Worker "-Wno-unused-local-typedefs", 41*635a8641SAndroid Build Coastguard Worker "-Xclang-only=-Wno-char-subscripts", 42*635a8641SAndroid Build Coastguard Worker ] 43*635a8641SAndroid Build Coastguard Worker 44*635a8641SAndroid Build Coastguard Worker # Address sanitizer + coverage builds do not support -z,defs. 45*635a8641SAndroid Build Coastguard Worker if (!(use.asan || use.coverage)) { 46*635a8641SAndroid Build Coastguard Worker ldflags = [ "-Wl,-z,defs" ] 47*635a8641SAndroid Build Coastguard Worker } 48*635a8641SAndroid Build Coastguard Worker} 49*635a8641SAndroid Build Coastguard Worker 50*635a8641SAndroid Build Coastguard Workerconfig("base_core_config") { 51*635a8641SAndroid Build Coastguard Worker cflags = [ 52*635a8641SAndroid Build Coastguard Worker # Suppressing warning in base/strings/stringprintf.cc. 53*635a8641SAndroid Build Coastguard Worker "-Wno-format-nonliteral", 54*635a8641SAndroid Build Coastguard Worker 55*635a8641SAndroid Build Coastguard Worker # This is for _exit(1) in base/debug/debugger_posix.cc. 56*635a8641SAndroid Build Coastguard Worker "-Wno-unreachable-code", 57*635a8641SAndroid Build Coastguard Worker ] 58*635a8641SAndroid Build Coastguard Worker} 59*635a8641SAndroid Build Coastguard Worker 60*635a8641SAndroid Build Coastguard Workerlibbase_sublibs = [ 61*635a8641SAndroid Build Coastguard Worker { 62*635a8641SAndroid Build Coastguard Worker name = "base-core" 63*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 64*635a8641SAndroid Build Coastguard Worker libs = [ 65*635a8641SAndroid Build Coastguard Worker "pthread", 66*635a8641SAndroid Build Coastguard Worker "rt", 67*635a8641SAndroid Build Coastguard Worker "modp_b64", 68*635a8641SAndroid Build Coastguard Worker ] 69*635a8641SAndroid Build Coastguard Worker pkg_deps = [ 70*635a8641SAndroid Build Coastguard Worker "glib-2.0", 71*635a8641SAndroid Build Coastguard Worker "libevent", 72*635a8641SAndroid Build Coastguard Worker ] 73*635a8641SAndroid Build Coastguard Worker configs = [ ":base_core_config" ] 74*635a8641SAndroid Build Coastguard Worker sources = [ 75*635a8641SAndroid Build Coastguard Worker "base/allocator/allocator_extension.cc", 76*635a8641SAndroid Build Coastguard Worker "base/allocator/allocator_shim.cc", 77*635a8641SAndroid Build Coastguard Worker "base/allocator/allocator_shim_default_dispatch_to_glibc.cc", 78*635a8641SAndroid Build Coastguard Worker "base/at_exit.cc", 79*635a8641SAndroid Build Coastguard Worker "base/barrier_closure.cc", 80*635a8641SAndroid Build Coastguard Worker "base/base64.cc", 81*635a8641SAndroid Build Coastguard Worker "base/base64url.cc", 82*635a8641SAndroid Build Coastguard Worker "base/base_paths.cc", 83*635a8641SAndroid Build Coastguard Worker "base/base_paths_posix.cc", 84*635a8641SAndroid Build Coastguard Worker "base/base_switches.cc", 85*635a8641SAndroid Build Coastguard Worker "base/big_endian.cc", 86*635a8641SAndroid Build Coastguard Worker "base/build_time.cc", 87*635a8641SAndroid Build Coastguard Worker "base/callback_helpers.cc", 88*635a8641SAndroid Build Coastguard Worker "base/callback_internal.cc", 89*635a8641SAndroid Build Coastguard Worker "base/command_line.cc", 90*635a8641SAndroid Build Coastguard Worker "base/cpu.cc", 91*635a8641SAndroid Build Coastguard Worker "base/debug/activity_tracker.cc", 92*635a8641SAndroid Build Coastguard Worker "base/debug/alias.cc", 93*635a8641SAndroid Build Coastguard Worker "base/debug/crash_logging.cc", 94*635a8641SAndroid Build Coastguard Worker "base/debug/debugger.cc", 95*635a8641SAndroid Build Coastguard Worker "base/debug/debugger_posix.cc", 96*635a8641SAndroid Build Coastguard Worker "base/debug/dump_without_crashing.cc", 97*635a8641SAndroid Build Coastguard Worker "base/debug/stack_trace.cc", 98*635a8641SAndroid Build Coastguard Worker "base/debug/stack_trace_posix.cc", 99*635a8641SAndroid Build Coastguard Worker "base/debug/task_annotator.cc", 100*635a8641SAndroid Build Coastguard Worker "base/environment.cc", 101*635a8641SAndroid Build Coastguard Worker "base/feature_list.cc", 102*635a8641SAndroid Build Coastguard Worker "base/files/file.cc", 103*635a8641SAndroid Build Coastguard Worker "base/files/file_descriptor_watcher_posix.cc", 104*635a8641SAndroid Build Coastguard Worker "base/files/file_enumerator.cc", 105*635a8641SAndroid Build Coastguard Worker "base/files/file_enumerator_posix.cc", 106*635a8641SAndroid Build Coastguard Worker "base/files/file_path.cc", 107*635a8641SAndroid Build Coastguard Worker "base/files/file_path_constants.cc", 108*635a8641SAndroid Build Coastguard Worker "base/files/file_path_watcher.cc", 109*635a8641SAndroid Build Coastguard Worker "base/files/file_path_watcher_linux.cc", 110*635a8641SAndroid Build Coastguard Worker "base/files/file_posix.cc", 111*635a8641SAndroid Build Coastguard Worker "base/files/file_tracing.cc", 112*635a8641SAndroid Build Coastguard Worker "base/files/file_util.cc", 113*635a8641SAndroid Build Coastguard Worker "base/files/file_util_linux.cc", 114*635a8641SAndroid Build Coastguard Worker "base/files/file_util_posix.cc", 115*635a8641SAndroid Build Coastguard Worker "base/files/important_file_writer.cc", 116*635a8641SAndroid Build Coastguard Worker "base/files/memory_mapped_file.cc", 117*635a8641SAndroid Build Coastguard Worker "base/files/memory_mapped_file_posix.cc", 118*635a8641SAndroid Build Coastguard Worker "base/files/scoped_file.cc", 119*635a8641SAndroid Build Coastguard Worker "base/files/scoped_temp_dir.cc", 120*635a8641SAndroid Build Coastguard Worker "base/guid.cc", 121*635a8641SAndroid Build Coastguard Worker "base/hash.cc", 122*635a8641SAndroid Build Coastguard Worker "base/json/json_file_value_serializer.cc", 123*635a8641SAndroid Build Coastguard Worker "base/json/json_parser.cc", 124*635a8641SAndroid Build Coastguard Worker "base/json/json_reader.cc", 125*635a8641SAndroid Build Coastguard Worker "base/json/json_string_value_serializer.cc", 126*635a8641SAndroid Build Coastguard Worker "base/json/json_value_converter.cc", 127*635a8641SAndroid Build Coastguard Worker "base/json/json_writer.cc", 128*635a8641SAndroid Build Coastguard Worker "base/json/string_escape.cc", 129*635a8641SAndroid Build Coastguard Worker "base/lazy_instance_helpers.cc", 130*635a8641SAndroid Build Coastguard Worker "base/location.cc", 131*635a8641SAndroid Build Coastguard Worker "base/logging.cc", 132*635a8641SAndroid Build Coastguard Worker "base/md5.cc", 133*635a8641SAndroid Build Coastguard Worker "base/memory/aligned_memory.cc", 134*635a8641SAndroid Build Coastguard Worker "base/memory/platform_shared_memory_region.cc", 135*635a8641SAndroid Build Coastguard Worker "base/memory/platform_shared_memory_region_posix.cc", 136*635a8641SAndroid Build Coastguard Worker "base/memory/read_only_shared_memory_region.cc", 137*635a8641SAndroid Build Coastguard Worker "base/memory/ref_counted.cc", 138*635a8641SAndroid Build Coastguard Worker "base/memory/ref_counted_memory.cc", 139*635a8641SAndroid Build Coastguard Worker "base/memory/shared_memory_handle.cc", 140*635a8641SAndroid Build Coastguard Worker "base/memory/shared_memory_handle_posix.cc", 141*635a8641SAndroid Build Coastguard Worker "base/memory/shared_memory_helper.cc", 142*635a8641SAndroid Build Coastguard Worker "base/memory/shared_memory_mapping.cc", 143*635a8641SAndroid Build Coastguard Worker "base/memory/shared_memory_posix.cc", 144*635a8641SAndroid Build Coastguard Worker "base/memory/unsafe_shared_memory_region.cc", 145*635a8641SAndroid Build Coastguard Worker "base/memory/weak_ptr.cc", 146*635a8641SAndroid Build Coastguard Worker "base/memory/writable_shared_memory_region.cc", 147*635a8641SAndroid Build Coastguard Worker "base/message_loop/incoming_task_queue.cc", 148*635a8641SAndroid Build Coastguard Worker "base/message_loop/message_loop.cc", 149*635a8641SAndroid Build Coastguard Worker "base/message_loop/message_loop_current.cc", 150*635a8641SAndroid Build Coastguard Worker "base/message_loop/message_loop_task_runner.cc", 151*635a8641SAndroid Build Coastguard Worker "base/message_loop/message_pump.cc", 152*635a8641SAndroid Build Coastguard Worker "base/message_loop/message_pump_default.cc", 153*635a8641SAndroid Build Coastguard Worker "base/message_loop/message_pump_glib.cc", 154*635a8641SAndroid Build Coastguard Worker "base/message_loop/message_pump_libevent.cc", 155*635a8641SAndroid Build Coastguard Worker "base/message_loop/watchable_io_message_pump_posix.cc", 156*635a8641SAndroid Build Coastguard Worker "base/metrics/bucket_ranges.cc", 157*635a8641SAndroid Build Coastguard Worker "base/metrics/dummy_histogram.cc", 158*635a8641SAndroid Build Coastguard Worker "base/metrics/field_trial.cc", 159*635a8641SAndroid Build Coastguard Worker "base/metrics/field_trial_param_associator.cc", 160*635a8641SAndroid Build Coastguard Worker "base/metrics/field_trial_params.cc", 161*635a8641SAndroid Build Coastguard Worker "base/metrics/histogram.cc", 162*635a8641SAndroid Build Coastguard Worker "base/metrics/histogram_base.cc", 163*635a8641SAndroid Build Coastguard Worker "base/metrics/histogram_functions.cc", 164*635a8641SAndroid Build Coastguard Worker "base/metrics/histogram_samples.cc", 165*635a8641SAndroid Build Coastguard Worker "base/metrics/histogram_snapshot_manager.cc", 166*635a8641SAndroid Build Coastguard Worker "base/metrics/metrics_hashes.cc", 167*635a8641SAndroid Build Coastguard Worker "base/metrics/persistent_histogram_allocator.cc", 168*635a8641SAndroid Build Coastguard Worker "base/metrics/persistent_memory_allocator.cc", 169*635a8641SAndroid Build Coastguard Worker "base/metrics/persistent_sample_map.cc", 170*635a8641SAndroid Build Coastguard Worker "base/metrics/sample_map.cc", 171*635a8641SAndroid Build Coastguard Worker "base/metrics/sample_vector.cc", 172*635a8641SAndroid Build Coastguard Worker "base/metrics/sparse_histogram.cc", 173*635a8641SAndroid Build Coastguard Worker "base/metrics/statistics_recorder.cc", 174*635a8641SAndroid Build Coastguard Worker "base/observer_list_threadsafe.cc", 175*635a8641SAndroid Build Coastguard Worker "base/path_service.cc", 176*635a8641SAndroid Build Coastguard Worker "base/pending_task.cc", 177*635a8641SAndroid Build Coastguard Worker "base/pickle.cc", 178*635a8641SAndroid Build Coastguard Worker "base/posix/file_descriptor_shuffle.cc", 179*635a8641SAndroid Build Coastguard Worker "base/posix/global_descriptors.cc", 180*635a8641SAndroid Build Coastguard Worker "base/posix/safe_strerror.cc", 181*635a8641SAndroid Build Coastguard Worker "base/posix/unix_domain_socket.cc", 182*635a8641SAndroid Build Coastguard Worker "base/process/internal_linux.cc", 183*635a8641SAndroid Build Coastguard Worker "base/process/kill.cc", 184*635a8641SAndroid Build Coastguard Worker "base/process/kill_posix.cc", 185*635a8641SAndroid Build Coastguard Worker "base/process/launch.cc", 186*635a8641SAndroid Build Coastguard Worker "base/process/launch_posix.cc", 187*635a8641SAndroid Build Coastguard Worker "base/process/memory.cc", 188*635a8641SAndroid Build Coastguard Worker "base/process/memory_linux.cc", 189*635a8641SAndroid Build Coastguard Worker "base/process/process_handle.cc", 190*635a8641SAndroid Build Coastguard Worker "base/process/process_handle_linux.cc", 191*635a8641SAndroid Build Coastguard Worker "base/process/process_handle_posix.cc", 192*635a8641SAndroid Build Coastguard Worker "base/process/process_info_linux.cc", 193*635a8641SAndroid Build Coastguard Worker "base/process/process_iterator.cc", 194*635a8641SAndroid Build Coastguard Worker "base/process/process_iterator_linux.cc", 195*635a8641SAndroid Build Coastguard Worker "base/process/process_metrics.cc", 196*635a8641SAndroid Build Coastguard Worker "base/process/process_metrics_linux.cc", 197*635a8641SAndroid Build Coastguard Worker "base/process/process_metrics_posix.cc", 198*635a8641SAndroid Build Coastguard Worker "base/process/process_posix.cc", 199*635a8641SAndroid Build Coastguard Worker "base/rand_util.cc", 200*635a8641SAndroid Build Coastguard Worker "base/rand_util_posix.cc", 201*635a8641SAndroid Build Coastguard Worker "base/run_loop.cc", 202*635a8641SAndroid Build Coastguard Worker "base/sequence_checker_impl.cc", 203*635a8641SAndroid Build Coastguard Worker "base/sequence_token.cc", 204*635a8641SAndroid Build Coastguard Worker "base/sequenced_task_runner.cc", 205*635a8641SAndroid Build Coastguard Worker "base/sha1.cc", 206*635a8641SAndroid Build Coastguard Worker "base/strings/nullable_string16.cc", 207*635a8641SAndroid Build Coastguard Worker "base/strings/pattern.cc", 208*635a8641SAndroid Build Coastguard Worker "base/strings/safe_sprintf.cc", 209*635a8641SAndroid Build Coastguard Worker "base/strings/strcat.cc", 210*635a8641SAndroid Build Coastguard Worker "base/strings/string16.cc", 211*635a8641SAndroid Build Coastguard Worker "base/strings/string_number_conversions.cc", 212*635a8641SAndroid Build Coastguard Worker "base/strings/string_piece.cc", 213*635a8641SAndroid Build Coastguard Worker "base/strings/string_split.cc", 214*635a8641SAndroid Build Coastguard Worker "base/strings/string_util.cc", 215*635a8641SAndroid Build Coastguard Worker "base/strings/string_util_constants.cc", 216*635a8641SAndroid Build Coastguard Worker "base/strings/stringprintf.cc", 217*635a8641SAndroid Build Coastguard Worker "base/strings/sys_string_conversions_posix.cc", 218*635a8641SAndroid Build Coastguard Worker "base/strings/utf_string_conversion_utils.cc", 219*635a8641SAndroid Build Coastguard Worker "base/strings/utf_string_conversions.cc", 220*635a8641SAndroid Build Coastguard Worker "base/sync_socket_posix.cc", 221*635a8641SAndroid Build Coastguard Worker "base/synchronization/atomic_flag.cc", 222*635a8641SAndroid Build Coastguard Worker "base/synchronization/condition_variable_posix.cc", 223*635a8641SAndroid Build Coastguard Worker "base/synchronization/lock.cc", 224*635a8641SAndroid Build Coastguard Worker "base/synchronization/lock_impl_posix.cc", 225*635a8641SAndroid Build Coastguard Worker "base/synchronization/waitable_event_posix.cc", 226*635a8641SAndroid Build Coastguard Worker "base/synchronization/waitable_event_watcher_posix.cc", 227*635a8641SAndroid Build Coastguard Worker "base/sys_info.cc", 228*635a8641SAndroid Build Coastguard Worker "base/sys_info_chromeos.cc", 229*635a8641SAndroid Build Coastguard Worker "base/sys_info_linux.cc", 230*635a8641SAndroid Build Coastguard Worker "base/sys_info_posix.cc", 231*635a8641SAndroid Build Coastguard Worker "base/task/cancelable_task_tracker.cc", 232*635a8641SAndroid Build Coastguard Worker "base/task_runner.cc", 233*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/delayed_task_manager.cc", 234*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/environment_config.cc", 235*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/lazy_task_runner.cc", 236*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/post_task.cc", 237*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/priority_queue.cc", 238*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scheduler_lock_impl.cc", 239*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scheduler_single_thread_task_runner_manager.cc", 240*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scheduler_worker.cc", 241*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scheduler_worker_pool.cc", 242*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scheduler_worker_pool_impl.cc", 243*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scheduler_worker_pool_params.cc", 244*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scheduler_worker_stack.cc", 245*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/scoped_set_task_priority_for_current_thread.cc", 246*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/sequence.cc", 247*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/sequence_sort_key.cc", 248*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/service_thread.cc", 249*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/task.cc", 250*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/task_scheduler.cc", 251*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/task_scheduler_impl.cc", 252*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/task_tracker.cc", 253*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/task_tracker_posix.cc", 254*635a8641SAndroid Build Coastguard Worker "base/task_scheduler/task_traits.cc", 255*635a8641SAndroid Build Coastguard Worker "base/third_party/dynamic_annotations/dynamic_annotations.c", 256*635a8641SAndroid Build Coastguard Worker "base/third_party/icu/icu_utf.cc", 257*635a8641SAndroid Build Coastguard Worker "base/third_party/nspr/prtime.cc", 258*635a8641SAndroid Build Coastguard Worker "base/threading/platform_thread_internal_posix.cc", 259*635a8641SAndroid Build Coastguard Worker "base/threading/platform_thread_linux.cc", 260*635a8641SAndroid Build Coastguard Worker "base/threading/platform_thread_posix.cc", 261*635a8641SAndroid Build Coastguard Worker "base/threading/post_task_and_reply_impl.cc", 262*635a8641SAndroid Build Coastguard Worker "base/threading/scoped_blocking_call.cc", 263*635a8641SAndroid Build Coastguard Worker "base/threading/sequence_local_storage_map.cc", 264*635a8641SAndroid Build Coastguard Worker "base/threading/sequence_local_storage_slot.cc", 265*635a8641SAndroid Build Coastguard Worker "base/threading/sequenced_task_runner_handle.cc", 266*635a8641SAndroid Build Coastguard Worker "base/threading/simple_thread.cc", 267*635a8641SAndroid Build Coastguard Worker "base/threading/thread.cc", 268*635a8641SAndroid Build Coastguard Worker "base/threading/thread_checker_impl.cc", 269*635a8641SAndroid Build Coastguard Worker "base/threading/thread_collision_warner.cc", 270*635a8641SAndroid Build Coastguard Worker "base/threading/thread_id_name_manager.cc", 271*635a8641SAndroid Build Coastguard Worker "base/threading/thread_local_storage.cc", 272*635a8641SAndroid Build Coastguard Worker "base/threading/thread_local_storage_posix.cc", 273*635a8641SAndroid Build Coastguard Worker "base/threading/thread_restrictions.cc", 274*635a8641SAndroid Build Coastguard Worker "base/threading/thread_task_runner_handle.cc", 275*635a8641SAndroid Build Coastguard Worker "base/time/clock.cc", 276*635a8641SAndroid Build Coastguard Worker "base/time/default_clock.cc", 277*635a8641SAndroid Build Coastguard Worker "base/time/default_tick_clock.cc", 278*635a8641SAndroid Build Coastguard Worker "base/time/tick_clock.cc", 279*635a8641SAndroid Build Coastguard Worker "base/time/time.cc", 280*635a8641SAndroid Build Coastguard Worker "base/time/time_conversion_posix.cc", 281*635a8641SAndroid Build Coastguard Worker "base/time/time_exploded_posix.cc", 282*635a8641SAndroid Build Coastguard Worker "base/time/time_now_posix.cc", 283*635a8641SAndroid Build Coastguard Worker "base/time/time_override.cc", 284*635a8641SAndroid Build Coastguard Worker "base/timer/elapsed_timer.cc", 285*635a8641SAndroid Build Coastguard Worker "base/timer/timer.cc", 286*635a8641SAndroid Build Coastguard Worker "base/unguessable_token.cc", 287*635a8641SAndroid Build Coastguard Worker "base/value_iterators.cc", 288*635a8641SAndroid Build Coastguard Worker "base/values.cc", 289*635a8641SAndroid Build Coastguard Worker "base/version.cc", 290*635a8641SAndroid Build Coastguard Worker "base/vlog.cc", 291*635a8641SAndroid Build Coastguard Worker ] 292*635a8641SAndroid Build Coastguard Worker }, 293*635a8641SAndroid Build Coastguard Worker 294*635a8641SAndroid Build Coastguard Worker { 295*635a8641SAndroid Build Coastguard Worker name = "base-dl" 296*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 297*635a8641SAndroid Build Coastguard Worker deps = [ ":base-core" ] 298*635a8641SAndroid Build Coastguard Worker libs = [ "dl" ] 299*635a8641SAndroid Build Coastguard Worker sources = [ 300*635a8641SAndroid Build Coastguard Worker "base/native_library.cc", 301*635a8641SAndroid Build Coastguard Worker "base/native_library_posix.cc", 302*635a8641SAndroid Build Coastguard Worker "base/scoped_native_library.cc", 303*635a8641SAndroid Build Coastguard Worker ] 304*635a8641SAndroid Build Coastguard Worker }, 305*635a8641SAndroid Build Coastguard Worker 306*635a8641SAndroid Build Coastguard Worker { 307*635a8641SAndroid Build Coastguard Worker name = "base-policy" 308*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 309*635a8641SAndroid Build Coastguard Worker deps = [ ":base-core" ] 310*635a8641SAndroid Build Coastguard Worker libs = [ "re2" ] 311*635a8641SAndroid Build Coastguard Worker sources = [ 312*635a8641SAndroid Build Coastguard Worker "components/json_schema/json_schema_constants.cc", 313*635a8641SAndroid Build Coastguard Worker "components/json_schema/json_schema_validator.cc", 314*635a8641SAndroid Build Coastguard Worker "components/policy/core/common/policy_load_status.cc", 315*635a8641SAndroid Build Coastguard Worker "components/policy/core/common/registry_dict.cc", 316*635a8641SAndroid Build Coastguard Worker "components/policy/core/common/schema.cc", 317*635a8641SAndroid Build Coastguard Worker ] 318*635a8641SAndroid Build Coastguard Worker }, 319*635a8641SAndroid Build Coastguard Worker 320*635a8641SAndroid Build Coastguard Worker { 321*635a8641SAndroid Build Coastguard Worker name = "base-base_test_support" 322*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 323*635a8641SAndroid Build Coastguard Worker testonly = true 324*635a8641SAndroid Build Coastguard Worker sources = [ 325*635a8641SAndroid Build Coastguard Worker "base/test/scoped_task_environment.cc", 326*635a8641SAndroid Build Coastguard Worker "base/test/simple_test_clock.cc", 327*635a8641SAndroid Build Coastguard Worker "base/test/simple_test_tick_clock.cc", 328*635a8641SAndroid Build Coastguard Worker "base/test/test_file_util.cc", 329*635a8641SAndroid Build Coastguard Worker "base/test/test_file_util_linux.cc", 330*635a8641SAndroid Build Coastguard Worker "base/test/test_mock_time_task_runner.cc", 331*635a8641SAndroid Build Coastguard Worker "base/test/test_pending_task.cc", 332*635a8641SAndroid Build Coastguard Worker "base/test/test_simple_task_runner.cc", 333*635a8641SAndroid Build Coastguard Worker "base/test/test_switches.cc", 334*635a8641SAndroid Build Coastguard Worker "base/test/test_timeouts.cc", 335*635a8641SAndroid Build Coastguard Worker ] 336*635a8641SAndroid Build Coastguard Worker }, 337*635a8641SAndroid Build Coastguard Worker] 338*635a8641SAndroid Build Coastguard Worker 339*635a8641SAndroid Build Coastguard Workerif (use.crypto) { 340*635a8641SAndroid Build Coastguard Worker libbase_sublibs += [ 341*635a8641SAndroid Build Coastguard Worker { 342*635a8641SAndroid Build Coastguard Worker name = "base-crypto" 343*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 344*635a8641SAndroid Build Coastguard Worker deps = [ 345*635a8641SAndroid Build Coastguard Worker ":base-core", 346*635a8641SAndroid Build Coastguard Worker ":base-dl", 347*635a8641SAndroid Build Coastguard Worker ] 348*635a8641SAndroid Build Coastguard Worker pkg_deps = [ 349*635a8641SAndroid Build Coastguard Worker "nss", 350*635a8641SAndroid Build Coastguard Worker "openssl", 351*635a8641SAndroid Build Coastguard Worker ] 352*635a8641SAndroid Build Coastguard Worker sources = [ 353*635a8641SAndroid Build Coastguard Worker "crypto/hmac.cc", 354*635a8641SAndroid Build Coastguard Worker "crypto/hmac_nss.cc", 355*635a8641SAndroid Build Coastguard Worker "crypto/nss_key_util.cc", 356*635a8641SAndroid Build Coastguard Worker "crypto/nss_util.cc", 357*635a8641SAndroid Build Coastguard Worker "crypto/openssl_util.cc", 358*635a8641SAndroid Build Coastguard Worker "crypto/p224.cc", 359*635a8641SAndroid Build Coastguard Worker "crypto/p224_spake.cc", 360*635a8641SAndroid Build Coastguard Worker "crypto/random.cc", 361*635a8641SAndroid Build Coastguard Worker "crypto/rsa_private_key.cc", 362*635a8641SAndroid Build Coastguard Worker "crypto/rsa_private_key_nss.cc", 363*635a8641SAndroid Build Coastguard Worker "crypto/scoped_test_nss_db.cc", 364*635a8641SAndroid Build Coastguard Worker "crypto/secure_hash.cc", 365*635a8641SAndroid Build Coastguard Worker "crypto/secure_util.cc", 366*635a8641SAndroid Build Coastguard Worker "crypto/sha2.cc", 367*635a8641SAndroid Build Coastguard Worker "crypto/signature_creator_nss.cc", 368*635a8641SAndroid Build Coastguard Worker "crypto/signature_verifier_nss.cc", 369*635a8641SAndroid Build Coastguard Worker "crypto/symmetric_key_nss.cc", 370*635a8641SAndroid Build Coastguard Worker "crypto/third_party/nss/rsawrapr.c", 371*635a8641SAndroid Build Coastguard Worker "crypto/third_party/nss/sha512.cc", 372*635a8641SAndroid Build Coastguard Worker 373*635a8641SAndroid Build Coastguard Worker # Added to libchrome only (not upstream) to support OpenSSL 1.1 API 374*635a8641SAndroid Build Coastguard Worker "crypto/libcrypto-compat.c", 375*635a8641SAndroid Build Coastguard Worker ] 376*635a8641SAndroid Build Coastguard Worker }, 377*635a8641SAndroid Build Coastguard Worker ] 378*635a8641SAndroid Build Coastguard Worker} 379*635a8641SAndroid Build Coastguard Worker 380*635a8641SAndroid Build Coastguard Workerif (use.dbus) { 381*635a8641SAndroid Build Coastguard Worker libbase_sublibs += [ 382*635a8641SAndroid Build Coastguard Worker { 383*635a8641SAndroid Build Coastguard Worker name = "base-dbus" 384*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 385*635a8641SAndroid Build Coastguard Worker deps = [ ":base-core" ] 386*635a8641SAndroid Build Coastguard Worker pkg_deps = [ "dbus-1" ] 387*635a8641SAndroid Build Coastguard Worker if (use.fuzzer) { 388*635a8641SAndroid Build Coastguard Worker pkg_deps += [ "protobuf" ] 389*635a8641SAndroid Build Coastguard Worker } else { 390*635a8641SAndroid Build Coastguard Worker pkg_deps += [ "protobuf-lite" ] 391*635a8641SAndroid Build Coastguard Worker } 392*635a8641SAndroid Build Coastguard Worker sources = [ 393*635a8641SAndroid Build Coastguard Worker "dbus/bus.cc", 394*635a8641SAndroid Build Coastguard Worker "dbus/dbus_statistics.cc", 395*635a8641SAndroid Build Coastguard Worker "dbus/exported_object.cc", 396*635a8641SAndroid Build Coastguard Worker "dbus/message.cc", 397*635a8641SAndroid Build Coastguard Worker "dbus/object_manager.cc", 398*635a8641SAndroid Build Coastguard Worker "dbus/object_path.cc", 399*635a8641SAndroid Build Coastguard Worker "dbus/object_proxy.cc", 400*635a8641SAndroid Build Coastguard Worker "dbus/property.cc", 401*635a8641SAndroid Build Coastguard Worker "dbus/scoped_dbus_error.cc", 402*635a8641SAndroid Build Coastguard Worker "dbus/string_util.cc", 403*635a8641SAndroid Build Coastguard Worker "dbus/util.cc", 404*635a8641SAndroid Build Coastguard Worker "dbus/values_util.cc", 405*635a8641SAndroid Build Coastguard Worker ] 406*635a8641SAndroid Build Coastguard Worker }, 407*635a8641SAndroid Build Coastguard Worker 408*635a8641SAndroid Build Coastguard Worker { 409*635a8641SAndroid Build Coastguard Worker name = "base-dbus_test_support" 410*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 411*635a8641SAndroid Build Coastguard Worker testonly = true 412*635a8641SAndroid Build Coastguard Worker pkg_deps = [ "dbus-1" ] 413*635a8641SAndroid Build Coastguard Worker if (use.fuzzer) { 414*635a8641SAndroid Build Coastguard Worker pkg_deps += [ "protobuf" ] 415*635a8641SAndroid Build Coastguard Worker } else { 416*635a8641SAndroid Build Coastguard Worker pkg_deps += [ "protobuf-lite" ] 417*635a8641SAndroid Build Coastguard Worker } 418*635a8641SAndroid Build Coastguard Worker sources = [ 419*635a8641SAndroid Build Coastguard Worker "dbus/mock_bus.cc", 420*635a8641SAndroid Build Coastguard Worker "dbus/mock_exported_object.cc", 421*635a8641SAndroid Build Coastguard Worker "dbus/mock_object_manager.cc", 422*635a8641SAndroid Build Coastguard Worker "dbus/mock_object_proxy.cc", 423*635a8641SAndroid Build Coastguard Worker ] 424*635a8641SAndroid Build Coastguard Worker }, 425*635a8641SAndroid Build Coastguard Worker ] 426*635a8641SAndroid Build Coastguard Worker} 427*635a8641SAndroid Build Coastguard Worker 428*635a8641SAndroid Build Coastguard Workerif (use.timers) { 429*635a8641SAndroid Build Coastguard Worker libbase_sublibs += [ 430*635a8641SAndroid Build Coastguard Worker { 431*635a8641SAndroid Build Coastguard Worker name = "base-timers" 432*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 433*635a8641SAndroid Build Coastguard Worker deps = [ ":base-core" ] 434*635a8641SAndroid Build Coastguard Worker sources = [ "components/timers/alarm_timer_chromeos.cc" ] 435*635a8641SAndroid Build Coastguard Worker }, 436*635a8641SAndroid Build Coastguard Worker 437*635a8641SAndroid Build Coastguard Worker { 438*635a8641SAndroid Build Coastguard Worker name = "base-timer_test_support" 439*635a8641SAndroid Build Coastguard Worker output_name = name + "-${libbase_ver}" 440*635a8641SAndroid Build Coastguard Worker testonly = true 441*635a8641SAndroid Build Coastguard Worker sources = [ "base/timer/mock_timer.cc" ] 442*635a8641SAndroid Build Coastguard Worker }, 443*635a8641SAndroid Build Coastguard Worker ] 444*635a8641SAndroid Build Coastguard Worker} 445*635a8641SAndroid Build Coastguard Worker 446*635a8641SAndroid Build Coastguard Worker# Generate static/shared libraries. 447*635a8641SAndroid Build Coastguard Workerforeach(attr, libbase_sublibs) { 448*635a8641SAndroid Build Coastguard Worker if (defined(attr.pkg_deps)) { 449*635a8641SAndroid Build Coastguard Worker # If it depends on external packages, introduces -pkg-config config. 450*635a8641SAndroid Build Coastguard Worker pkg_config(attr.name + "-pkg-config") { 451*635a8641SAndroid Build Coastguard Worker pkg_deps = attr.pkg_deps 452*635a8641SAndroid Build Coastguard Worker } 453*635a8641SAndroid Build Coastguard Worker } 454*635a8641SAndroid Build Coastguard Worker 455*635a8641SAndroid Build Coastguard Worker if (defined(attr.testonly) && attr.testonly) { 456*635a8641SAndroid Build Coastguard Worker buildtype = "static_library" 457*635a8641SAndroid Build Coastguard Worker } else { 458*635a8641SAndroid Build Coastguard Worker buildtype = "shared_library" 459*635a8641SAndroid Build Coastguard Worker } 460*635a8641SAndroid Build Coastguard Worker target(buildtype, attr.name) { 461*635a8641SAndroid Build Coastguard Worker output_name = attr.output_name 462*635a8641SAndroid Build Coastguard Worker sources = attr.sources 463*635a8641SAndroid Build Coastguard Worker if (defined(attr.deps)) { 464*635a8641SAndroid Build Coastguard Worker deps = attr.deps 465*635a8641SAndroid Build Coastguard Worker } 466*635a8641SAndroid Build Coastguard Worker 467*635a8641SAndroid Build Coastguard Worker if (defined(attr.libs)) { 468*635a8641SAndroid Build Coastguard Worker libs = attr.libs 469*635a8641SAndroid Build Coastguard Worker } 470*635a8641SAndroid Build Coastguard Worker 471*635a8641SAndroid Build Coastguard Worker if (defined(attr.pkg_deps)) { 472*635a8641SAndroid Build Coastguard Worker configs += [ ":" + attr.name + "-pkg-config" ] 473*635a8641SAndroid Build Coastguard Worker } 474*635a8641SAndroid Build Coastguard Worker configs += [ 475*635a8641SAndroid Build Coastguard Worker ":libchrome_config", 476*635a8641SAndroid Build Coastguard Worker "//common-mk:visibility_default", 477*635a8641SAndroid Build Coastguard Worker ] 478*635a8641SAndroid Build Coastguard Worker if (buildtype == "static_library") { 479*635a8641SAndroid Build Coastguard Worker configs -= [ "//common-mk:use_thin_archive" ] 480*635a8641SAndroid Build Coastguard Worker configs += [ "//common-mk:nouse_thin_archive" ] 481*635a8641SAndroid Build Coastguard Worker } 482*635a8641SAndroid Build Coastguard Worker if (defined(attr.configs)) { 483*635a8641SAndroid Build Coastguard Worker configs += attr.configs 484*635a8641SAndroid Build Coastguard Worker } 485*635a8641SAndroid Build Coastguard Worker } 486*635a8641SAndroid Build Coastguard Worker} 487*635a8641SAndroid Build Coastguard Worker 488*635a8641SAndroid Build Coastguard Workeraction("base") { 489*635a8641SAndroid Build Coastguard Worker deps = [] 490*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 491*635a8641SAndroid Build Coastguard Worker if (!defined(attr.testonly) || !attr.testonly) { 492*635a8641SAndroid Build Coastguard Worker deps += [ ":" + attr.name ] 493*635a8641SAndroid Build Coastguard Worker } 494*635a8641SAndroid Build Coastguard Worker } 495*635a8641SAndroid Build Coastguard Worker 496*635a8641SAndroid Build Coastguard Worker script = "//common-mk/write_args.py" 497*635a8641SAndroid Build Coastguard Worker outputs = [ "${root_out_dir}/lib/lib${target_name}-${libbase_ver}.so" ] 498*635a8641SAndroid Build Coastguard Worker args = [ "--output" ] + outputs + [ "--" ] + [ 499*635a8641SAndroid Build Coastguard Worker "GROUP", 500*635a8641SAndroid Build Coastguard Worker "(", 501*635a8641SAndroid Build Coastguard Worker "AS_NEEDED", 502*635a8641SAndroid Build Coastguard Worker "(", 503*635a8641SAndroid Build Coastguard Worker ] 504*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 505*635a8641SAndroid Build Coastguard Worker if (!defined(attr.testonly) || !attr.testonly) { 506*635a8641SAndroid Build Coastguard Worker args += [ "-l" + attr.output_name ] 507*635a8641SAndroid Build Coastguard Worker } 508*635a8641SAndroid Build Coastguard Worker } 509*635a8641SAndroid Build Coastguard Worker args += [ 510*635a8641SAndroid Build Coastguard Worker ")", 511*635a8641SAndroid Build Coastguard Worker ")", 512*635a8641SAndroid Build Coastguard Worker ] 513*635a8641SAndroid Build Coastguard Worker} 514*635a8641SAndroid Build Coastguard Worker 515*635a8641SAndroid Build Coastguard Workerlibchrome_exported_cflags = [ 516*635a8641SAndroid Build Coastguard Worker "-I/usr/include/base-${libbase_ver}", 517*635a8641SAndroid Build Coastguard Worker "-Wno-unused-local-typedefs", 518*635a8641SAndroid Build Coastguard Worker "-DBASE_VER=${libbase_ver}", 519*635a8641SAndroid Build Coastguard Worker] 520*635a8641SAndroid Build Coastguard Worker 521*635a8641SAndroid Build Coastguard Workerif (use.asan) { 522*635a8641SAndroid Build Coastguard Worker libchrome_exported_cflags += [ "-DLEAK_SANITIZER" ] 523*635a8641SAndroid Build Coastguard Worker} 524*635a8641SAndroid Build Coastguard Worker 525*635a8641SAndroid Build Coastguard Workergenerate_pkg_config("libchrome") { 526*635a8641SAndroid Build Coastguard Worker deps = [ ":base" ] 527*635a8641SAndroid Build Coastguard Worker output_name = "libchrome-${libbase_ver}" 528*635a8641SAndroid Build Coastguard Worker description = "chrome base library" 529*635a8641SAndroid Build Coastguard Worker version = "${libbase_ver}" 530*635a8641SAndroid Build Coastguard Worker requires_private = [] 531*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 532*635a8641SAndroid Build Coastguard Worker if ((!defined(attr.testonly) || !attr.testonly) && defined(attr.pkg_deps)) { 533*635a8641SAndroid Build Coastguard Worker requires_private += attr.pkg_deps 534*635a8641SAndroid Build Coastguard Worker } 535*635a8641SAndroid Build Coastguard Worker } 536*635a8641SAndroid Build Coastguard Worker libs = [ "-lbase-${libbase_ver}" ] 537*635a8641SAndroid Build Coastguard Worker libs_private = [] 538*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 539*635a8641SAndroid Build Coastguard Worker if (!defined(attr.testonly) || !attr.testonly) { 540*635a8641SAndroid Build Coastguard Worker libs_private += [ "-l" + attr.output_name ] 541*635a8641SAndroid Build Coastguard Worker if (defined(attr.libs)) { 542*635a8641SAndroid Build Coastguard Worker foreach(lib, attr.libs) { 543*635a8641SAndroid Build Coastguard Worker libs_private += [ "-l" + lib ] 544*635a8641SAndroid Build Coastguard Worker } 545*635a8641SAndroid Build Coastguard Worker } 546*635a8641SAndroid Build Coastguard Worker } 547*635a8641SAndroid Build Coastguard Worker } 548*635a8641SAndroid Build Coastguard Worker cflags = libchrome_exported_cflags 549*635a8641SAndroid Build Coastguard Worker} 550*635a8641SAndroid Build Coastguard Worker 551*635a8641SAndroid Build Coastguard Workeraction("base-test") { 552*635a8641SAndroid Build Coastguard Worker deps = [] 553*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 554*635a8641SAndroid Build Coastguard Worker if (defined(attr.testonly) && attr.testonly) { 555*635a8641SAndroid Build Coastguard Worker deps += [ ":" + attr.name ] 556*635a8641SAndroid Build Coastguard Worker } 557*635a8641SAndroid Build Coastguard Worker } 558*635a8641SAndroid Build Coastguard Worker 559*635a8641SAndroid Build Coastguard Worker script = "//common-mk/write_args.py" 560*635a8641SAndroid Build Coastguard Worker outputs = [ "${root_out_dir}/lib${target_name}-${libbase_ver}.a" ] 561*635a8641SAndroid Build Coastguard Worker args = [ "--output" ] + outputs + [ "--" ] + [ 562*635a8641SAndroid Build Coastguard Worker "GROUP", 563*635a8641SAndroid Build Coastguard Worker "(", 564*635a8641SAndroid Build Coastguard Worker "AS_NEEDED", 565*635a8641SAndroid Build Coastguard Worker "(", 566*635a8641SAndroid Build Coastguard Worker ] 567*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 568*635a8641SAndroid Build Coastguard Worker if (defined(attr.testonly) && attr.testonly) { 569*635a8641SAndroid Build Coastguard Worker args += [ "-l" + attr.output_name ] 570*635a8641SAndroid Build Coastguard Worker } 571*635a8641SAndroid Build Coastguard Worker } 572*635a8641SAndroid Build Coastguard Worker args += [ 573*635a8641SAndroid Build Coastguard Worker ")", 574*635a8641SAndroid Build Coastguard Worker ")", 575*635a8641SAndroid Build Coastguard Worker ] 576*635a8641SAndroid Build Coastguard Worker} 577*635a8641SAndroid Build Coastguard Worker 578*635a8641SAndroid Build Coastguard Workergenerate_pkg_config("libchrome-test") { 579*635a8641SAndroid Build Coastguard Worker deps = [ ":base-test" ] 580*635a8641SAndroid Build Coastguard Worker output_name = "libchrome-test-${libbase_ver}" 581*635a8641SAndroid Build Coastguard Worker description = "chrome base test library" 582*635a8641SAndroid Build Coastguard Worker version = "${libbase_ver}" 583*635a8641SAndroid Build Coastguard Worker requires_private = [] 584*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 585*635a8641SAndroid Build Coastguard Worker if (defined(attr.testonly) && attr.testonly && defined(attr.pkg_deps)) { 586*635a8641SAndroid Build Coastguard Worker requires_private += attr.pkg_deps 587*635a8641SAndroid Build Coastguard Worker } 588*635a8641SAndroid Build Coastguard Worker } 589*635a8641SAndroid Build Coastguard Worker libs = [ "-lbase-test-${libbase_ver}" ] 590*635a8641SAndroid Build Coastguard Worker libs_private = [] 591*635a8641SAndroid Build Coastguard Worker foreach(attr, libbase_sublibs) { 592*635a8641SAndroid Build Coastguard Worker if (defined(attr.testonly) && attr.testonly) { 593*635a8641SAndroid Build Coastguard Worker libs_private += [ "-l" + attr.output_name ] 594*635a8641SAndroid Build Coastguard Worker if (defined(attr.libs)) { 595*635a8641SAndroid Build Coastguard Worker libs_private += [ "-l" + lib ] 596*635a8641SAndroid Build Coastguard Worker } 597*635a8641SAndroid Build Coastguard Worker } 598*635a8641SAndroid Build Coastguard Worker } 599*635a8641SAndroid Build Coastguard Worker cflags = libchrome_exported_cflags 600*635a8641SAndroid Build Coastguard Worker} 601*635a8641SAndroid Build Coastguard Worker 602*635a8641SAndroid Build Coastguard Workerif (use.mojo) { 603*635a8641SAndroid Build Coastguard Worker generate_mojom_type_mappings("mojom_type_mappings") { 604*635a8641SAndroid Build Coastguard Worker mojom_type_mappings_generator = 605*635a8641SAndroid Build Coastguard Worker "libchrome_tools/mojom_generate_type_mappings.py" 606*635a8641SAndroid Build Coastguard Worker sources = [ 607*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/big_buffer.typemap", 608*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/big_string.typemap", 609*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/file.typemap", 610*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/file_error.typemap", 611*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/file_info.typemap", 612*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/file_path.typemap", 613*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/memory_allocator_dump_cross_process_uid.typemap", 614*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/process_id.typemap", 615*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/read_only_buffer.typemap", 616*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/ref_counted_memory.typemap", 617*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/shared_memory.typemap", 618*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/string16.typemap", 619*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/text_direction.typemap", 620*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/thread_priority.typemap", 621*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/time.typemap", 622*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/unguessable_token.typemap", 623*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/values.typemap", 624*635a8641SAndroid Build Coastguard Worker ] 625*635a8641SAndroid Build Coastguard Worker } 626*635a8641SAndroid Build Coastguard Worker generate_mojom_bindings_gen("mojom_bindings_gen") { 627*635a8641SAndroid Build Coastguard Worker mojom_bindings_generator = 628*635a8641SAndroid Build Coastguard Worker "mojo/public/tools/bindings/mojom_bindings_generator.py" 629*635a8641SAndroid Build Coastguard Worker typemaps = get_target_outputs(":mojom_type_mappings") 630*635a8641SAndroid Build Coastguard Worker sources = [ 631*635a8641SAndroid Build Coastguard Worker "ipc/ipc.mojom", 632*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/big_buffer.mojom", 633*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/big_string.mojom", 634*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/file.mojom", 635*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/file_error.mojom", 636*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/file_info.mojom", 637*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/file_path.mojom", 638*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/memory_allocator_dump_cross_process_uid.mojom", 639*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/process_id.mojom", 640*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/read_only_buffer.mojom", 641*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/ref_counted_memory.mojom", 642*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/shared_memory.mojom", 643*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/string16.mojom", 644*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/text_direction.mojom", 645*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/thread_priority.mojom", 646*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/time.mojom", 647*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/unguessable_token.mojom", 648*635a8641SAndroid Build Coastguard Worker "mojo/public/mojom/base/values.mojom", 649*635a8641SAndroid Build Coastguard Worker "ui/gfx/geometry/mojo/geometry.mojom", 650*635a8641SAndroid Build Coastguard Worker "ui/gfx/range/mojo/range.mojom", 651*635a8641SAndroid Build Coastguard Worker ] 652*635a8641SAndroid Build Coastguard Worker } 653*635a8641SAndroid Build Coastguard Worker 654*635a8641SAndroid Build Coastguard Worker generate_mojom_bindings_gen("mojom_bindings_native_gen") { 655*635a8641SAndroid Build Coastguard Worker mojom_bindings_generator = 656*635a8641SAndroid Build Coastguard Worker "mojo/public/tools/bindings/mojom_bindings_generator.py" 657*635a8641SAndroid Build Coastguard Worker sources = [ 658*635a8641SAndroid Build Coastguard Worker "mojo/public/interfaces/bindings/interface_control_messages.mojom", 659*635a8641SAndroid Build Coastguard Worker "mojo/public/interfaces/bindings/native_struct.mojom", 660*635a8641SAndroid Build Coastguard Worker "mojo/public/interfaces/bindings/pipe_control_messages.mojom", 661*635a8641SAndroid Build Coastguard Worker ] 662*635a8641SAndroid Build Coastguard Worker disallow_native_types = true 663*635a8641SAndroid Build Coastguard Worker disallow_interfaces = true 664*635a8641SAndroid Build Coastguard Worker } 665*635a8641SAndroid Build Coastguard Worker 666*635a8641SAndroid Build Coastguard Worker # Probably we should consider build libmojo as a part of libchrome. 667*635a8641SAndroid Build Coastguard Worker # crbug.com/924035. 668*635a8641SAndroid Build Coastguard Worker static_library("mojo") { 669*635a8641SAndroid Build Coastguard Worker output_name = "mojo-${libbase_ver}" 670*635a8641SAndroid Build Coastguard Worker deps = [ 671*635a8641SAndroid Build Coastguard Worker ":base-core", 672*635a8641SAndroid Build Coastguard Worker ":base-crypto", 673*635a8641SAndroid Build Coastguard Worker ":mojom_bindings_gen", 674*635a8641SAndroid Build Coastguard Worker ":mojom_bindings_native_gen", 675*635a8641SAndroid Build Coastguard Worker ":mojom_type_mappings", 676*635a8641SAndroid Build Coastguard Worker ] 677*635a8641SAndroid Build Coastguard Worker 678*635a8641SAndroid Build Coastguard Worker # TODO(hidehiko): Consolidate with build_config.h. 679*635a8641SAndroid Build Coastguard Worker configs -= [ 680*635a8641SAndroid Build Coastguard Worker "//common-mk:use_thin_archive", 681*635a8641SAndroid Build Coastguard Worker "//common-mk:pie", 682*635a8641SAndroid Build Coastguard Worker ] 683*635a8641SAndroid Build Coastguard Worker configs += [ 684*635a8641SAndroid Build Coastguard Worker ":libchrome_config", 685*635a8641SAndroid Build Coastguard Worker "//common-mk:visibility_default", 686*635a8641SAndroid Build Coastguard Worker "//common-mk:nouse_thin_archive", 687*635a8641SAndroid Build Coastguard Worker "//common-mk:pic", 688*635a8641SAndroid Build Coastguard Worker ] 689*635a8641SAndroid Build Coastguard Worker sources = 690*635a8641SAndroid Build Coastguard Worker [ 691*635a8641SAndroid Build Coastguard Worker "ipc/ipc_message.cc", 692*635a8641SAndroid Build Coastguard Worker "ipc/ipc_message_attachment.cc", 693*635a8641SAndroid Build Coastguard Worker "ipc/ipc_message_attachment_set.cc", 694*635a8641SAndroid Build Coastguard Worker "ipc/ipc_message_utils.cc", 695*635a8641SAndroid Build Coastguard Worker "ipc/ipc_mojo_handle_attachment.cc", 696*635a8641SAndroid Build Coastguard Worker "ipc/ipc_mojo_message_helper.cc", 697*635a8641SAndroid Build Coastguard Worker "ipc/ipc_mojo_param_traits.cc", 698*635a8641SAndroid Build Coastguard Worker "ipc/ipc_platform_file_attachment_posix.cc", 699*635a8641SAndroid Build Coastguard Worker "mojo/core/invitation_dispatcher.cc", 700*635a8641SAndroid Build Coastguard Worker "mojo/core/connection_params.cc", 701*635a8641SAndroid Build Coastguard Worker "mojo/core/channel_posix.cc", 702*635a8641SAndroid Build Coastguard Worker "mojo/core/platform_handle_dispatcher.cc", 703*635a8641SAndroid Build Coastguard Worker "mojo/core/mojo_core.cc", 704*635a8641SAndroid Build Coastguard Worker "mojo/core/channel.cc", 705*635a8641SAndroid Build Coastguard Worker "mojo/core/entrypoints.cc", 706*635a8641SAndroid Build Coastguard Worker "mojo/core/broker_posix.cc", 707*635a8641SAndroid Build Coastguard Worker "mojo/core/data_pipe_producer_dispatcher.cc", 708*635a8641SAndroid Build Coastguard Worker "mojo/core/broker_host.cc", 709*635a8641SAndroid Build Coastguard Worker "mojo/core/watcher_dispatcher.cc", 710*635a8641SAndroid Build Coastguard Worker "mojo/core/request_context.cc", 711*635a8641SAndroid Build Coastguard Worker "mojo/core/configuration.cc", 712*635a8641SAndroid Build Coastguard Worker "mojo/core/node_channel.cc", 713*635a8641SAndroid Build Coastguard Worker "mojo/core/shared_buffer_dispatcher.cc", 714*635a8641SAndroid Build Coastguard Worker "mojo/core/watch.cc", 715*635a8641SAndroid Build Coastguard Worker "mojo/core/embedder/scoped_ipc_support.cc", 716*635a8641SAndroid Build Coastguard Worker "mojo/core/embedder/embedder.cc", 717*635a8641SAndroid Build Coastguard Worker "mojo/core/message_pipe_dispatcher.cc", 718*635a8641SAndroid Build Coastguard Worker "mojo/core/handle_table.cc", 719*635a8641SAndroid Build Coastguard Worker "mojo/core/core.cc", 720*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/event.cc", 721*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/name.cc", 722*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/port.cc", 723*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/message_queue.cc", 724*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/port_locker.cc", 725*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/node.cc", 726*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/user_message.cc", 727*635a8641SAndroid Build Coastguard Worker "mojo/core/ports/port_ref.cc", 728*635a8641SAndroid Build Coastguard Worker "mojo/core/data_pipe_consumer_dispatcher.cc", 729*635a8641SAndroid Build Coastguard Worker "mojo/core/scoped_process_handle.cc", 730*635a8641SAndroid Build Coastguard Worker "mojo/core/node_controller.cc", 731*635a8641SAndroid Build Coastguard Worker "mojo/core/watcher_set.cc", 732*635a8641SAndroid Build Coastguard Worker "mojo/core/dispatcher.cc", 733*635a8641SAndroid Build Coastguard Worker "mojo/core/platform_handle_in_transit.cc", 734*635a8641SAndroid Build Coastguard Worker "mojo/core/platform_handle_utils.cc", 735*635a8641SAndroid Build Coastguard Worker "mojo/core/platform_shared_memory_mapping.cc", 736*635a8641SAndroid Build Coastguard Worker "mojo/core/user_message_impl.cc", 737*635a8641SAndroid Build Coastguard Worker "mojo/core/data_pipe_control_message.cc", 738*635a8641SAndroid Build Coastguard Worker "mojo/public/c/system/thunks.cc", 739*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/big_string_mojom_traits.cc", 740*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/shared_memory_mojom_traits.cc", 741*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/unguessable_token_mojom_traits.cc", 742*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/ref_counted_memory_mojom_traits.cc", 743*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/big_buffer.cc", 744*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/read_only_buffer_mojom_traits.cc", 745*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/string16_mojom_traits.cc", 746*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/big_buffer_mojom_traits.cc", 747*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/file_info_mojom_traits.cc", 748*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/time_mojom_traits.cc", 749*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/thread_priority_mojom_traits.cc", 750*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/text_direction_mojom_traits.cc", 751*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/values_mojom_traits.cc", 752*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/file_path_mojom_traits.cc", 753*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/process_id_mojom_traits.cc", 754*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/base/file_mojom_traits.cc", 755*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/serialization_context.cc", 756*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/associated_interface_ptr_state.cc", 757*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/array_internal.cc", 758*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/interface_ptr_state.cc", 759*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/buffer.cc", 760*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/sync_call_restrictions.cc", 761*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/multiplex_router.cc", 762*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/sync_handle_watcher.cc", 763*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/validation_errors.cc", 764*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/scoped_interface_endpoint_handle.cc", 765*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/message_dumper.cc", 766*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/sync_event_watcher.cc", 767*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/task_runner_helper.cc", 768*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/sequence_local_sync_event_watcher.cc", 769*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/validation_context.cc", 770*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/associated_group.cc", 771*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/native_struct_serialization.cc", 772*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/validation_util.cc", 773*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc", 774*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/filter_chain.cc", 775*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/message.cc", 776*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/unserialized_message_context.cc", 777*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc", 778*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/control_message_proxy.cc", 779*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/control_message_handler.cc", 780*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/connector.cc", 781*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/interface_endpoint_client.cc", 782*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/sync_handle_registry.cc", 783*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/associated_binding.cc", 784*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/message_header_validator.cc", 785*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/associated_group_controller.cc", 786*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/associated_interface_ptr.cc", 787*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/fixed_buffer.cc", 788*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/message_internal.cc", 789*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/bindings/lib/binding_state.cc", 790*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/platform/platform_channel_endpoint.cc", 791*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/platform/platform_handle.cc", 792*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/platform/named_platform_channel.cc", 793*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/platform/platform_channel.cc", 794*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/platform/platform_channel_server_endpoint.cc", 795*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/platform/socket_utils_posix.cc", 796*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/platform/named_platform_channel_posix.cc", 797*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/buffer.cc", 798*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/platform_handle.cc", 799*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/wait.cc", 800*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/wait_set.cc", 801*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/data_pipe_utils.cc", 802*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/scope_to_message_pipe.cc", 803*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/handle_signal_tracker.cc", 804*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/trap.cc", 805*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/isolated_connection.cc", 806*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/string_data_pipe_producer.cc", 807*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/data_pipe_drainer.cc", 808*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/invitation.cc", 809*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/simple_watcher.cc", 810*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/file_data_pipe_producer.cc", 811*635a8641SAndroid Build Coastguard Worker "mojo/public/cpp/system/message_pipe.cc", 812*635a8641SAndroid Build Coastguard Worker ] + get_target_outputs(":mojom_bindings_gen") + 813*635a8641SAndroid Build Coastguard Worker get_target_outputs(":mojom_bindings_native_gen") 814*635a8641SAndroid Build Coastguard Worker } 815*635a8641SAndroid Build Coastguard Worker 816*635a8641SAndroid Build Coastguard Worker generate_pkg_config("libmojo") { 817*635a8641SAndroid Build Coastguard Worker deps = [ ":mojo" ] 818*635a8641SAndroid Build Coastguard Worker output_name = "libmojo-${libbase_ver}" 819*635a8641SAndroid Build Coastguard Worker description = "Chrome Mojo IPC library" 820*635a8641SAndroid Build Coastguard Worker version = "${libbase_ver}" 821*635a8641SAndroid Build Coastguard Worker libs = [ "-lmojo-${libbase_ver}" ] 822*635a8641SAndroid Build Coastguard Worker cflags = [ 823*635a8641SAndroid Build Coastguard Worker "-I/usr/lib/base-${libbase_ver}", 824*635a8641SAndroid Build Coastguard Worker "-Wno-cast-qual", 825*635a8641SAndroid Build Coastguard Worker "-Wno-cast-align", 826*635a8641SAndroid Build Coastguard Worker ] 827*635a8641SAndroid Build Coastguard Worker } 828*635a8641SAndroid Build Coastguard Worker} 829