1// Copyright (C) 2015 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Common defaults 16// ======================================================== 17 18// Using Chrome header files directly could cause -Wunused-parameter errors, 19// and this is workaround. Please find the document in include_generator.py 20// for details. 21// Note: gensrcs does not support exclude_srcs, so filegroup rule is 22// introduced. 23package { 24 default_applicable_licenses: ["external_libchrome_license"], 25} 26 27// Added automatically by a large-scale-change that took the approach of 28// 'apply every license found to every target'. While this makes sure we respect 29// every license restriction, it may not be entirely correct. 30// 31// e.g. GPL in an MIT project might only apply to the contrib/ directory. 32// 33// Please consider splitting the single license below into multiple licenses, 34// taking care not to lose any license_kind information, and overriding the 35// default license using the 'licenses: [...]' property on targets as needed. 36// 37// For unused files, consider creating a 'fileGroup' with "//visibility:private" 38// to attach the license to, and including a comment whether the files may be 39// used in the current project. 40// See: http://go/android-license-faq 41license { 42 name: "external_libchrome_license", 43 visibility: [":__subpackages__"], 44 license_kinds: [ 45 "SPDX-license-identifier-Apache-2.0", 46 "SPDX-license-identifier-BSD", 47 "SPDX-license-identifier-GPL-2.0", 48 "SPDX-license-identifier-LGPL-2.1", 49 "SPDX-license-identifier-MIT", 50 "SPDX-license-identifier-MPL", 51 "SPDX-license-identifier-Unicode-DFS", 52 "legacy_unencumbered", 53 ], 54 license_text: [ 55 "NOTICE", 56 ], 57} 58 59filegroup { 60 name: "libchrome-include-sources", 61 srcs: [ 62 "base/allocator/allocator_extension.h", 63 "base/allocator/allocator_shim.h", 64 "base/allocator/allocator_shim_internals.h", 65 "base/allocator/allocator_shim_override_cpp_symbols.h", 66 "base/allocator/allocator_shim_override_libc_symbols.h", 67 "base/allocator/allocator_shim_override_linker_wrapped_symbols.h", 68 "base/allocator/buildflags.h", 69 "base/android/android_hardware_buffer_compat.h", 70 "base/android/build_info.h", 71 "base/android/content_uri_utils.h", 72 "base/android/java_exception_reporter.h", 73 "base/android/jni_android.h", 74 "base/android/jni_array.h", 75 "base/android/jni_string.h", 76 "base/android/path_utils.h", 77 "base/android/scoped_hardware_buffer_handle.h", 78 "base/android/scoped_java_ref.h", 79 "base/android/sys_utils.h", 80 "base/at_exit.h", 81 "base/atomic_ref_count.h", 82 "base/atomic_sequence_num.h", 83 "base/atomicops.h", 84 "base/atomicops_internals_atomicword_compat.h", 85 "base/atomicops_internals_portable.h", 86 "base/atomicops_internals_x86_msvc.h", 87 "base/auto_reset.h", 88 "base/barrier_closure.h", 89 "base/base64.h", 90 "base/base64url.h", 91 "base/base_export.h", 92 "base/base_paths.h", 93 "base/base_paths_android.h", 94 "base/base_paths_posix.h", 95 "base/base_switches.h", 96 "base/big_endian.h", 97 "base/bind.h", 98 "base/bind_helpers.h", 99 "base/bind_internal.h", 100 "base/bit_cast.h", 101 "base/bits.h", 102 "base/build_time.h", 103 "base/callback.h", 104 "base/callback_forward.h", 105 "base/callback_helpers.h", 106 "base/callback_internal.h", 107 "base/callback_list.h", 108 "base/cancelable_callback.h", 109 "base/cfi_buildflags.h", 110 "base/command_line.h", 111 "base/compiler_specific.h", 112 "base/component_export.h", 113 "base/containers/adapters.h", 114 "base/containers/circular_deque.h", 115 "base/containers/flat_map.h", 116 "base/containers/flat_set.h", 117 "base/containers/flat_tree.h", 118 "base/containers/hash_tables.h", 119 "base/containers/linked_list.h", 120 "base/containers/mru_cache.h", 121 "base/containers/queue.h", 122 "base/containers/ring_buffer.h", 123 "base/containers/small_map.h", 124 "base/containers/span.h", 125 "base/containers/stack.h", 126 "base/containers/stack_container.h", 127 "base/containers/vector_buffer.h", 128 "base/cpu.h", 129 "base/critical_closure.h", 130 "base/debug/activity_tracker.h", 131 "base/debug/alias.h", 132 "base/debug/crash_logging.h", 133 "base/debug/debugger.h", 134 "base/debug/debugging_buildflags.h", 135 "base/debug/dump_without_crashing.h", 136 "base/debug/elf_reader_linux.h", 137 "base/debug/leak_annotations.h", 138 "base/debug/leak_tracker.h", 139 "base/debug/proc_maps_linux.h", 140 "base/debug/profiler.h", 141 "base/debug/stack_trace.h", 142 "base/debug/task_annotator.h", 143 "base/debug/thread_heap_usage_tracker.h", 144 "base/environment.h", 145 "base/export_template.h", 146 "base/feature_list.h", 147 "base/file_descriptor_posix.h", 148 "base/file_version_info.h", 149 "base/files/dir_reader_fallback.h", 150 "base/files/dir_reader_linux.h", 151 "base/files/dir_reader_posix.h", 152 "base/files/file.h", 153 "base/files/file_descriptor_watcher_posix.h", 154 "base/files/file_enumerator.h", 155 "base/files/file_path.h", 156 "base/files/file_path_watcher.h", 157 "base/files/file_tracing.h", 158 "base/files/file_util.h", 159 "base/files/important_file_writer.h", 160 "base/files/memory_mapped_file.h", 161 "base/files/platform_file.h", 162 "base/files/scoped_file.h", 163 "base/files/scoped_temp_dir.h", 164 "base/format_macros.h", 165 "base/functional/bind.h", 166 "base/functional/callback.h", 167 "base/functional/callback_forward.h", 168 "base/functional/callback_helpers.h", 169 "base/gtest_prod_util.h", 170 "base/guid.h", 171 "base/hash.h", 172 "base/i18n/base_i18n_export.h", 173 "base/i18n/rtl.h", 174 "base/json/json_file_value_serializer.h", 175 "base/json/json_parser.h", 176 "base/json/json_reader.h", 177 "base/json/json_string_value_serializer.h", 178 "base/json/json_value_converter.h", 179 "base/json/json_writer.h", 180 "base/json/string_escape.h", 181 "base/lazy_instance.h", 182 "base/lazy_instance_helpers.h", 183 "base/location.h", 184 "base/logging.h", 185 "base/macros.h", 186 "base/md5.h", 187 "base/memory/aligned_memory.h", 188 "base/memory/free_deleter.h", 189 "base/memory/linked_ptr.h", 190 "base/memory/platform_shared_memory_region.h", 191 "base/memory/protected_memory.h", 192 "base/memory/protected_memory_buildflags.h", 193 "base/memory/protected_memory_cfi.h", 194 "base/memory/ptr_util.h", 195 "base/memory/raw_scoped_refptr_mismatch_checker.h", 196 "base/memory/read_only_shared_memory_region.h", 197 "base/memory/ref_counted.h", 198 "base/memory/ref_counted_delete_on_sequence.h", 199 "base/memory/ref_counted_memory.h", 200 "base/memory/scoped_policy.h", 201 "base/memory/scoped_refptr.h", 202 "base/memory/shared_memory.h", 203 "base/memory/shared_memory_handle.h", 204 "base/memory/shared_memory_helper.h", 205 "base/memory/shared_memory_mapping.h", 206 "base/memory/singleton.h", 207 "base/memory/unsafe_shared_memory_region.h", 208 "base/memory/weak_ptr.h", 209 "base/memory/writable_shared_memory_region.h", 210 "base/message_loop/incoming_task_queue.h", 211 "base/message_loop/message_loop.h", 212 "base/message_loop/message_loop_current.h", 213 "base/message_loop/message_loop_task_runner.h", 214 "base/message_loop/message_pump.h", 215 "base/message_loop/message_pump_default.h", 216 "base/message_loop/message_pump_for_io.h", 217 "base/message_loop/message_pump_for_ui.h", 218 "base/message_loop/message_pump_glib.h", 219 "base/message_loop/message_pump_libevent.h", 220 "base/message_loop/timer_slack.h", 221 "base/message_loop/watchable_io_message_pump_posix.h", 222 "base/metrics/bucket_ranges.h", 223 "base/metrics/dummy_histogram.h", 224 "base/metrics/field_trial.h", 225 "base/metrics/field_trial_param_associator.h", 226 "base/metrics/field_trial_params.h", 227 "base/metrics/histogram.h", 228 "base/metrics/histogram_base.h", 229 "base/metrics/histogram_delta_serialization.h", 230 "base/metrics/histogram_flattener.h", 231 "base/metrics/histogram_functions.h", 232 "base/metrics/histogram_macros.h", 233 "base/metrics/histogram_macros_internal.h", 234 "base/metrics/histogram_macros_local.h", 235 "base/metrics/histogram_samples.h", 236 "base/metrics/histogram_snapshot_manager.h", 237 "base/metrics/metrics_hashes.h", 238 "base/metrics/persistent_histogram_allocator.h", 239 "base/metrics/persistent_histogram_storage.h", 240 "base/metrics/persistent_memory_allocator.h", 241 "base/metrics/persistent_sample_map.h", 242 "base/metrics/record_histogram_checker.h", 243 "base/metrics/sample_map.h", 244 "base/metrics/sample_vector.h", 245 "base/metrics/single_sample_metrics.h", 246 "base/metrics/sparse_histogram.h", 247 "base/metrics/statistics_recorder.h", 248 "base/metrics/user_metrics.h", 249 "base/metrics/user_metrics_action.h", 250 "base/native_library.h", 251 "base/no_destructor.h", 252 "base/numerics/checked_math.h", 253 "base/numerics/checked_math_impl.h", 254 "base/numerics/clamped_math.h", 255 "base/numerics/clamped_math_impl.h", 256 "base/numerics/math_constants.h", 257 "base/numerics/ranges.h", 258 "base/numerics/safe_conversions.h", 259 "base/numerics/safe_conversions_arm_impl.h", 260 "base/numerics/safe_conversions_impl.h", 261 "base/numerics/safe_math.h", 262 "base/numerics/safe_math_arm_impl.h", 263 "base/numerics/safe_math_clang_gcc_impl.h", 264 "base/numerics/safe_math_shared_impl.h", 265 "base/observer_list.h", 266 "base/observer_list_threadsafe.h", 267 "base/optional.h", 268 "base/os_compat_android.h", 269 "base/path_service.h", 270 "base/pending_task.h", 271 "base/pickle.h", 272 "base/posix/eintr_wrapper.h", 273 "base/posix/file_descriptor_shuffle.h", 274 "base/posix/global_descriptors.h", 275 "base/posix/safe_strerror.h", 276 "base/posix/unix_domain_socket.h", 277 "base/post_task_and_reply_with_result_internal.h", 278 "base/power_monitor/power_monitor.h", 279 "base/power_monitor/power_monitor_device_source.h", 280 "base/power_monitor/power_monitor_source.h", 281 "base/power_monitor/power_observer.h", 282 "base/process/internal_aix.h", 283 "base/process/internal_linux.h", 284 "base/process/kill.h", 285 "base/process/launch.h", 286 "base/process/memory.h", 287 "base/process/process.h", 288 "base/process/process_handle.h", 289 "base/process/process_info.h", 290 "base/process/process_iterator.h", 291 "base/process/process_metrics.h", 292 "base/process/process_metrics_iocounters.h", 293 "base/rand_util.h", 294 "base/run_loop.h", 295 "base/sampling_heap_profiler/lock_free_address_hash_set.h", 296 "base/sampling_heap_profiler/sampling_heap_profiler.h", 297 "base/scoped_clear_errno.h", 298 "base/scoped_generic.h", 299 "base/scoped_native_library.h", 300 "base/scoped_observer.h", 301 "base/sequence_checker.h", 302 "base/sequence_checker_impl.h", 303 "base/sequence_token.h", 304 "base/sequenced_task_runner.h", 305 "base/sequenced_task_runner_helpers.h", 306 "base/sha1.h", 307 "base/single_thread_task_runner.h", 308 "base/stl_util.h", 309 "base/strings/char_traits.h", 310 "base/strings/nullable_string16.h", 311 "base/strings/old_utf_string_conversions.h", 312 "base/strings/pattern.h", 313 "base/strings/safe_sprintf.h", 314 "base/strings/strcat.h", 315 "base/strings/string16.h", 316 "base/strings/string_number_conversions.h", 317 "base/strings/string_piece.h", 318 "base/strings/string_piece_forward.h", 319 "base/strings/string_split.h", 320 "base/strings/string_tokenizer.h", 321 "base/strings/string_util.h", 322 "base/strings/string_util_posix.h", 323 "base/strings/stringize_macros.h", 324 "base/strings/stringprintf.h", 325 "base/strings/sys_string_conversions.h", 326 "base/strings/utf_string_conversion_utils.h", 327 "base/strings/utf_string_conversions.h", 328 "base/sync_socket.h", 329 "base/synchronization/atomic_flag.h", 330 "base/synchronization/cancellation_flag.h", 331 "base/synchronization/condition_variable.h", 332 "base/synchronization/lock.h", 333 "base/synchronization/lock_impl.h", 334 "base/synchronization/spin_wait.h", 335 "base/synchronization/synchronization_buildflags.h", 336 "base/synchronization/waitable_event.h", 337 "base/synchronization/waitable_event_watcher.h", 338 "base/sys_byteorder.h", 339 "base/sys_info.h", 340 "base/sys_info_internal.h", 341 "base/task/cancelable_task_tracker.h", 342 "base/task/sequence_manager/enqueue_order.h", 343 "base/task/sequence_manager/graceful_queue_shutdown_helper.h", 344 "base/task/sequence_manager/intrusive_heap.h", 345 "base/task/sequence_manager/lazily_deallocated_deque.h", 346 "base/task/sequence_manager/lazy_now.h", 347 "base/task/sequence_manager/moveable_auto_lock.h", 348 "base/task/sequence_manager/real_time_domain.h", 349 "base/task/sequence_manager/sequence_manager.h", 350 "base/task/sequence_manager/sequence_manager_impl.h", 351 "base/task/sequence_manager/sequenced_task_source.h", 352 "base/task/sequence_manager/task_queue.h", 353 "base/task/sequence_manager/task_queue_impl.h", 354 "base/task/sequence_manager/task_queue_selector.h", 355 "base/task/sequence_manager/task_queue_selector_logic.h", 356 "base/task/sequence_manager/task_time_observer.h", 357 "base/task/sequence_manager/test/fake_task.h", 358 "base/task/sequence_manager/test/lazy_thread_controller_for_test.h", 359 "base/task/sequence_manager/test/mock_time_domain.h", 360 "base/task/sequence_manager/test/sequence_manager_for_test.h", 361 "base/task/sequence_manager/test/test_task_queue.h", 362 "base/task/sequence_manager/test/test_task_time_observer.h", 363 "base/task/sequence_manager/thread_controller.h", 364 "base/task/sequence_manager/thread_controller_impl.h", 365 "base/task/sequence_manager/thread_controller_with_message_pump_impl.h", 366 "base/task/sequence_manager/time_domain.h", 367 "base/task/sequence_manager/work_queue.h", 368 "base/task/sequence_manager/work_queue_sets.h", 369 "base/task_runner.h", 370 "base/task_runner_util.h", 371 "base/task_scheduler/can_schedule_sequence_observer.h", 372 "base/task_scheduler/delayed_task_manager.h", 373 "base/task_scheduler/environment_config.h", 374 "base/task_scheduler/lazy_task_runner.h", 375 "base/task_scheduler/post_task.h", 376 "base/task_scheduler/priority_queue.h", 377 "base/task_scheduler/scheduler_lock.h", 378 "base/task_scheduler/scheduler_lock_impl.h", 379 "base/task_scheduler/scheduler_single_thread_task_runner_manager.h", 380 "base/task_scheduler/scheduler_worker.h", 381 "base/task_scheduler/scheduler_worker_observer.h", 382 "base/task_scheduler/scheduler_worker_params.h", 383 "base/task_scheduler/scheduler_worker_pool.h", 384 "base/task_scheduler/scheduler_worker_pool_impl.h", 385 "base/task_scheduler/scheduler_worker_pool_params.h", 386 "base/task_scheduler/scheduler_worker_stack.h", 387 "base/task_scheduler/scoped_set_task_priority_for_current_thread.h", 388 "base/task_scheduler/sequence.h", 389 "base/task_scheduler/sequence_sort_key.h", 390 "base/task_scheduler/service_thread.h", 391 "base/task_scheduler/single_thread_task_runner_thread_mode.h", 392 "base/task_scheduler/task.h", 393 "base/task_scheduler/task_scheduler.h", 394 "base/task_scheduler/task_scheduler_impl.h", 395 "base/task_scheduler/task_tracker.h", 396 "base/task_scheduler/task_tracker_posix.h", 397 "base/task_scheduler/task_traits.h", 398 "base/task_scheduler/task_traits_details.h", 399 "base/task_scheduler/test_utils.h", 400 "base/task_scheduler/tracked_ref.h", 401 "base/template_util.h", 402 "base/test/bind_test_util.h", 403 "base/test/copy_only_int.h", 404 "base/test/fontconfig_util_linux.h", 405 "base/test/gtest_util.h", 406 "base/test/metrics/histogram_enum_reader.h", 407 "base/test/metrics/histogram_tester.h", 408 "base/test/mock_entropy_provider.h", 409 "base/test/move_only_int.h", 410 "base/test/multiprocess_test.h", 411 "base/test/scoped_environment_variable_override.h", 412 "base/test/scoped_feature_list.h", 413 "base/test/scoped_locale.h", 414 "base/test/scoped_task_environment.h", 415 "base/test/simple_test_clock.h", 416 "base/test/simple_test_tick_clock.h", 417 "base/test/test_file_util.h", 418 "base/test/test_io_thread.h", 419 "base/test/test_mock_time_task_runner.h", 420 "base/test/test_pending_task.h", 421 "base/test/test_shared_memory_util.h", 422 "base/test/test_simple_task_runner.h", 423 "base/test/test_switches.h", 424 "base/test/test_timeouts.h", 425 "base/third_party/dynamic_annotations/dynamic_annotations.h", 426 "base/third_party/icu/icu_utf.h", 427 "base/third_party/libevent/event.h", 428 "base/third_party/nspr/prtime.h", 429 "base/third_party/symbolize/symbolize.h", 430 "base/third_party/valgrind/memcheck.h", 431 "base/third_party/valgrind/valgrind.h", 432 "base/thread_annotations.h", 433 "base/threading/platform_thread.h", 434 "base/threading/platform_thread_internal_posix.h", 435 "base/threading/post_task_and_reply_impl.h", 436 "base/threading/scoped_blocking_call.h", 437 "base/threading/sequence_local_storage_map.h", 438 "base/threading/sequence_local_storage_slot.h", 439 "base/threading/sequenced_task_runner_handle.h", 440 "base/threading/simple_thread.h", 441 "base/threading/thread.h", 442 "base/threading/thread_checker.h", 443 "base/threading/thread_checker_impl.h", 444 "base/threading/thread_collision_warner.h", 445 "base/threading/thread_id_name_manager.h", 446 "base/threading/thread_local.h", 447 "base/threading/thread_local_storage.h", 448 "base/threading/thread_restrictions.h", 449 "base/threading/thread_task_runner_handle.h", 450 "base/time/clock.h", 451 "base/time/default_clock.h", 452 "base/time/default_tick_clock.h", 453 "base/time/tick_clock.h", 454 "base/time/time.h", 455 "base/time/time_override.h", 456 "base/time/time_to_iso8601.h", 457 "base/timer/elapsed_timer.h", 458 "base/timer/hi_res_timer_manager.h", 459 "base/timer/mock_timer.h", 460 "base/timer/timer.h", 461 "base/token.h", 462 "base/trace_event/common/trace_event_common.h", 463 "base/trace_event/heap_profiler.h", 464 "base/trace_event/trace_event.h", 465 "base/tuple.h", 466 "base/unguessable_token.h", 467 "base/value_iterators.h", 468 "base/values.h", 469 "base/version.h", 470 "base/vlog.h", 471 "build/build_config.h", 472 "build/buildflag.h", 473 "device/bluetooth/bluetooth_advertisement.h", 474 "device/bluetooth/bluetooth_common.h", 475 "device/bluetooth/bluetooth_export.h", 476 "device/bluetooth/bluetooth_uuid.h", 477 "device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.h", 478 "testing/gmock/include/gmock/gmock.h", 479 "testing/gtest/include/gtest/gtest.h", 480 "testing/gtest/include/gtest/gtest_prod.h", 481 "testing/multiprocess_func_list.h", 482 "testing/platform_test.h", 483 "third_party/ashmem/ashmem.h", 484 "third_party/modp_b64/modp_b64.h", 485 "third_party/protobuf/src/google/protobuf/message_lite.h", 486 "third_party/re2/src/re2/re2.h", 487 "ui/gfx/geometry/insets.h", 488 "ui/gfx/geometry/insets_f.h", 489 "ui/gfx/geometry/mojo/geometry_struct_traits.h", 490 "ui/gfx/geometry/point.h", 491 "ui/gfx/geometry/point_conversions.h", 492 "ui/gfx/geometry/point_f.h", 493 "ui/gfx/geometry/rect.h", 494 "ui/gfx/geometry/rect_f.h", 495 "ui/gfx/geometry/safe_integer_conversions.h", 496 "ui/gfx/geometry/scroll_offset.h", 497 "ui/gfx/geometry/size.h", 498 "ui/gfx/geometry/size_conversions.h", 499 "ui/gfx/geometry/size_f.h", 500 "ui/gfx/geometry/vector2d.h", 501 "ui/gfx/geometry/vector2d_f.h", 502 "ui/gfx/gfx_export.h", 503 "ui/gfx/range/gfx_range_export.h", 504 "ui/gfx/range/mojo/range_struct_traits.h", 505 "ui/gfx/range/range.h", 506 "ui/gfx/range/range_f.h", 507 ], 508} 509 510gensrcs { 511 name: "libchrome-include", 512 cmd: "$(location libchrome_tools/include_generator.py) $(in) $(out)", 513 tool_files: ["libchrome_tools/include_generator.py"], 514 export_include_dirs: ["."], 515 srcs: [":libchrome-include-sources"], 516 output_extension: "h", 517} 518 519cc_defaults { 520 name: "libchrome-defaults", 521 522 cflags: [ 523 "-Wall", 524 "-Werror", 525 "-Wno-deprecated-declarations", 526 "-Wno-implicit-fallthrough", 527 "-Wno-implicit-int-float-conversion", 528 // memory_mapped_file.cc:80, json_parser.cc:264, 529 // sys_string_conversions_posix.cc:122, and 530 // icu_utf.cc:161,165 have -Wno-implicit-fallthrough. 531 "-Wno-missing-field-initializers", 532 "-Wno-unused-parameter", 533 ], 534 535 // Note: Although the generated header files are exported here, in building 536 // libchrome, "." has priority (unlike building projects using libchrome), 537 // so the raw header files are used for them. 538 generated_headers: ["libchrome-include"], 539 export_generated_headers: ["libchrome-include"], 540 header_libs: ["jni_headers"], 541 export_header_lib_headers: ["jni_headers"], 542 target: { 543 host: { 544 cflags: [ 545 "-D__ANDROID_HOST__", 546 "-DDONT_EMBED_BUILD_METADATA", 547 ], 548 }, 549 darwin: { 550 enabled: false, 551 }, 552 }, 553} 554 555cc_defaults { 556 name: "libchrome-test-defaults", 557 defaults: ["libchrome-defaults"], 558 cflags: [ 559 "-Wno-unused-function", 560 "-Wno-unused-variable", 561 ], 562} 563 564libchromeCommonSrc = [ 565 "base/at_exit.cc", 566 "base/barrier_closure.cc", 567 "base/base64.cc", 568 "base/base64url.cc", 569 "base/base_paths.cc", 570 "base/base_paths_posix.cc", 571 "base/base_switches.cc", 572 "base/big_endian.cc", 573 "base/build_time.cc", 574 "base/callback_helpers.cc", 575 "base/callback_internal.cc", 576 "base/command_line.cc", 577 "base/cpu.cc", 578 "base/debug/activity_tracker.cc", 579 "base/debug/alias.cc", 580 "base/debug/crash_logging.cc", 581 "base/debug/debugger.cc", 582 "base/debug/debugger_posix.cc", 583 "base/debug/dump_without_crashing.cc", 584 "base/debug/proc_maps_linux.cc", 585 "base/debug/profiler.cc", 586 "base/debug/stack_trace.cc", 587 "base/debug/task_annotator.cc", 588 "base/environment.cc", 589 "base/feature_list.cc", 590 "base/files/file.cc", 591 "base/files/file_descriptor_watcher_posix.cc", 592 "base/files/file_enumerator.cc", 593 "base/files/file_enumerator_posix.cc", 594 "base/files/file_path.cc", 595 "base/files/file_path_constants.cc", 596 "base/files/file_path_watcher.cc", 597 "base/files/file_posix.cc", 598 "base/files/file_tracing.cc", 599 "base/files/file_util.cc", 600 "base/files/file_util_posix.cc", 601 "base/files/important_file_writer.cc", 602 "base/files/memory_mapped_file.cc", 603 "base/files/memory_mapped_file_posix.cc", 604 "base/files/scoped_file.cc", 605 "base/files/scoped_temp_dir.cc", 606 "base/guid.cc", 607 "base/hash.cc", 608 "base/json/json_file_value_serializer.cc", 609 "base/json/json_parser.cc", 610 "base/json/json_reader.cc", 611 "base/json/json_string_value_serializer.cc", 612 "base/json/json_value_converter.cc", 613 "base/json/json_writer.cc", 614 "base/json/string_escape.cc", 615 "base/lazy_instance_helpers.cc", 616 "base/location.cc", 617 "base/logging.cc", 618 "base/md5.cc", 619 "base/memory/aligned_memory.cc", 620 "base/memory/platform_shared_memory_region.cc", 621 "base/memory/read_only_shared_memory_region.cc", 622 "base/memory/ref_counted.cc", 623 "base/memory/ref_counted_memory.cc", 624 "base/memory/shared_memory_handle.cc", 625 "base/memory/shared_memory_helper.cc", 626 "base/memory/shared_memory_mapping.cc", 627 "base/memory/unsafe_shared_memory_region.cc", 628 "base/memory/weak_ptr.cc", 629 "base/memory/writable_shared_memory_region.cc", 630 "base/message_loop/incoming_task_queue.cc", 631 "base/message_loop/message_loop.cc", 632 "base/message_loop/message_loop_current.cc", 633 "base/message_loop/message_loop_task_runner.cc", 634 "base/message_loop/message_pump.cc", 635 "base/message_loop/message_pump_default.cc", 636 "base/message_loop/message_pump_libevent.cc", 637 "base/message_loop/watchable_io_message_pump_posix.cc", 638 "base/metrics/bucket_ranges.cc", 639 "base/metrics/dummy_histogram.cc", 640 "base/metrics/field_trial.cc", 641 "base/metrics/field_trial_param_associator.cc", 642 "base/metrics/histogram.cc", 643 "base/metrics/histogram_base.cc", 644 "base/metrics/histogram_functions.cc", 645 "base/metrics/histogram_samples.cc", 646 "base/metrics/histogram_snapshot_manager.cc", 647 "base/metrics/metrics_hashes.cc", 648 "base/metrics/persistent_histogram_allocator.cc", 649 "base/metrics/persistent_memory_allocator.cc", 650 "base/metrics/persistent_sample_map.cc", 651 "base/metrics/sample_map.cc", 652 "base/metrics/sample_vector.cc", 653 "base/metrics/sparse_histogram.cc", 654 "base/metrics/statistics_recorder.cc", 655 "base/native_library.cc", 656 "base/native_library_posix.cc", 657 "base/observer_list_threadsafe.cc", 658 "base/path_service.cc", 659 "base/pending_task.cc", 660 "base/pickle.cc", 661 "base/posix/file_descriptor_shuffle.cc", 662 "base/posix/global_descriptors.cc", 663 "base/posix/safe_strerror.cc", 664 "base/process/kill.cc", 665 "base/process/kill_posix.cc", 666 "base/process/launch.cc", 667 "base/process/launch_posix.cc", 668 "base/process/memory.cc", 669 "base/process/process_handle.cc", 670 "base/process/process_handle_posix.cc", 671 "base/process/process_iterator.cc", 672 "base/process/process_metrics.cc", 673 "base/process/process_metrics_posix.cc", 674 "base/process/process_posix.cc", 675 "base/rand_util.cc", 676 "base/rand_util_posix.cc", 677 "base/run_loop.cc", 678 "base/scoped_native_library.cc", 679 "base/sequence_checker_impl.cc", 680 "base/sequence_token.cc", 681 "base/sequenced_task_runner.cc", 682 "base/sha1.cc", 683 "base/strings/nullable_string16.cc", 684 "base/strings/pattern.cc", 685 "base/strings/safe_sprintf.cc", 686 "base/strings/strcat.cc", 687 "base/strings/string16.cc", 688 "base/strings/string_number_conversions.cc", 689 "base/strings/string_piece.cc", 690 "base/strings/string_split.cc", 691 "base/strings/string_util.cc", 692 "base/strings/string_util_constants.cc", 693 "base/strings/stringprintf.cc", 694 "base/strings/utf_string_conversion_utils.cc", 695 "base/strings/utf_string_conversions.cc", 696 "base/sync_socket_posix.cc", 697 "base/synchronization/atomic_flag.cc", 698 "base/synchronization/condition_variable_posix.cc", 699 "base/synchronization/lock.cc", 700 "base/synchronization/lock_impl_posix.cc", 701 "base/synchronization/waitable_event_posix.cc", 702 "base/sys_info.cc", 703 "base/sys_info_posix.cc", 704 "base/task/cancelable_task_tracker.cc", 705 "base/task_runner.cc", 706 "base/task_scheduler/scheduler_lock_impl.cc", 707 "base/task_scheduler/scoped_set_task_priority_for_current_thread.cc", 708 "base/task_scheduler/sequence.cc", 709 "base/task_scheduler/sequence_sort_key.cc", 710 "base/task_scheduler/task.cc", 711 "base/task_scheduler/task_traits.cc", 712 "base/third_party/dynamic_annotations/dynamic_annotations.c", 713 "base/third_party/icu/icu_utf.cc", 714 "base/third_party/nspr/prtime.cc", 715 "base/threading/platform_thread_posix.cc", 716 "base/threading/post_task_and_reply_impl.cc", 717 "base/threading/scoped_blocking_call.cc", 718 "base/threading/sequence_local_storage_map.cc", 719 "base/threading/sequence_local_storage_slot.cc", 720 "base/threading/sequenced_task_runner_handle.cc", 721 "base/threading/simple_thread.cc", 722 "base/threading/thread.cc", 723 "base/threading/thread_checker_impl.cc", 724 "base/threading/thread_collision_warner.cc", 725 "base/threading/thread_id_name_manager.cc", 726 "base/threading/thread_local_storage.cc", 727 "base/threading/thread_local_storage_posix.cc", 728 "base/threading/thread_restrictions.cc", 729 "base/threading/thread_task_runner_handle.cc", 730 "base/time/clock.cc", 731 "base/time/default_clock.cc", 732 "base/time/default_tick_clock.cc", 733 "base/time/tick_clock.cc", 734 "base/time/time.cc", 735 "base/time/time_conversion_posix.cc", 736 "base/time/time_exploded_posix.cc", 737 "base/time/time_now_posix.cc", 738 "base/time/time_override.cc", 739 "base/timer/elapsed_timer.cc", 740 "base/timer/timer.cc", 741 "base/token.cc", 742 "base/unguessable_token.cc", 743 "base/value_iterators.cc", 744 "base/values.cc", 745 "base/version.cc", 746 "base/vlog.cc", 747 "device/bluetooth/bluetooth_advertisement.cc", 748 "device/bluetooth/bluetooth_uuid.cc", 749 "device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.cc", 750 "ui/gfx/geometry/insets.cc", 751 "ui/gfx/geometry/insets_f.cc", 752 "ui/gfx/geometry/point.cc", 753 "ui/gfx/geometry/point_conversions.cc", 754 "ui/gfx/geometry/point_f.cc", 755 "ui/gfx/geometry/rect.cc", 756 "ui/gfx/geometry/rect_f.cc", 757 "ui/gfx/geometry/size.cc", 758 "ui/gfx/geometry/size_conversions.cc", 759 "ui/gfx/geometry/size_f.cc", 760 "ui/gfx/geometry/vector2d.cc", 761 "ui/gfx/geometry/vector2d_f.cc", 762 "ui/gfx/range/range.cc", 763 "ui/gfx/range/range_f.cc", 764] 765 766libchromeLinuxSrc = [ 767 "base/files/file_path_watcher_linux.cc", 768 "base/files/file_util_linux.cc", 769 "base/memory/shared_memory_posix.cc", 770 "base/posix/unix_domain_socket.cc", 771 "base/process/internal_linux.cc", 772 "base/process/memory_linux.cc", 773 "base/process/process_handle_linux.cc", 774 "base/process/process_info_linux.cc", 775 "base/process/process_iterator_linux.cc", 776 "base/process/process_metrics_linux.cc", 777 "base/strings/sys_string_conversions_posix.cc", 778 "base/sys_info_linux.cc", 779 "base/threading/platform_thread_internal_posix.cc", 780 "base/threading/platform_thread_linux.cc", 781] 782 783libchromeMuslSrc = [ 784 "base/debug/stack_trace_posix.cc", 785 "base/memory/platform_shared_memory_region_posix.cc", 786 "base/memory/shared_memory_handle_posix.cc", 787] 788 789libchromeGlibcSrc = [ 790 "base/allocator/allocator_shim.cc", 791 "base/allocator/allocator_shim_default_dispatch_to_glibc.cc", 792 "base/debug/stack_trace_posix.cc", 793 "base/memory/platform_shared_memory_region_posix.cc", 794 "base/memory/shared_memory_handle_posix.cc", 795] 796 797libchromeLinuxBionicSrc = [ 798 "base/debug/stack_trace_android.cc", 799 "base/memory/platform_shared_memory_region_posix.cc", 800 "base/memory/shared_memory_handle_posix.cc", 801] 802 803libchromeAndroidSrc = [ 804 "base/android/android_hardware_buffer_compat.cc", 805 "base/android/build_info.cc", 806 "base/android/content_uri_utils.cc", 807 "base/android/java_exception_reporter.cc", 808 "base/android/jni_android.cc", 809 "base/android/jni_array.cc", 810 "base/android/jni_string.cc", 811 "base/android/path_utils.cc", 812 "base/android/scoped_java_ref.cc", 813 "base/android/scoped_hardware_buffer_handle.cc", 814 "base/android/sys_utils.cc", 815 "base/base_paths_android.cc", 816 "base/debug/stack_trace_android.cc", 817 "base/memory/platform_shared_memory_region_android.cc", 818 "base/memory/shared_memory_android.cc", 819 "base/memory/shared_memory_handle_android.cc", 820 "base/os_compat_android.cc", 821 "base/sys_info_android.cc", 822 "base/time/time_android.cc", 823] 824 825// libchrome static+shared for host and device 826// ======================================================== 827cc_library { 828 name: "libchrome", 829 host_supported: true, 830 ramdisk_available: true, 831 recovery_available: true, 832 vendor_available: true, 833 defaults: ["libchrome-defaults"], 834 srcs: libchromeCommonSrc, 835 836 export_shared_lib_headers: ["libbase"], 837 export_header_lib_headers: ["libgtest_prod_headers"], 838 shared_libs: [ 839 "libbase", 840 "libevent", 841 ], 842 header_libs: [ 843 "libgtest_prod_headers", 844 ], 845 static_libs: [ 846 "libmodpb64", 847 ], 848 generated_headers: [ 849 "libmojo_jni_headers", 850 "libmojo_jni_registration_headers", 851 ], 852 export_generated_headers: [ 853 "libmojo_jni_registration_headers", 854 ], 855 target: { 856 linux: { 857 srcs: libchromeLinuxSrc, 858 }, 859 linux_bionic: { 860 srcs: libchromeLinuxBionicSrc, 861 shared_libs: [ 862 "liblog", 863 ], 864 }, 865 glibc: { 866 srcs: libchromeGlibcSrc, 867 }, 868 musl: { 869 srcs: libchromeMuslSrc, 870 }, 871 android: { 872 srcs: libchromeAndroidSrc, 873 shared_libs: [ 874 "libcutils", 875 "liblog", 876 ], 877 }, 878 }, 879 apex_available: [ 880 "//apex_available:platform", 881 "com.android.btservices", 882 ], 883 min_sdk_version: "30", 884 visibility: [ 885 "//device/google/bertha:__subpackages__", 886 "//device/google/cheets2/camera/v3", 887 "//external/avb", 888 "//external/gsc-utils:__subpackages__", 889 "//external/libbrillo", 890 "//external/libpalmrejection", 891 "//external/puffin", 892 "//external/v4l2_codec2:__subpackages__", 893 "//external/zucchini", 894 "//frameworks/base/services", 895 "//frameworks/base/services/core/jni", 896 "//frameworks/native/libs/vr/libpdx_default_transport", 897 "//frameworks/native/services/inputflinger:__subpackages__", 898 "//hardware/libhardware/modules/camera/3_4", 899 "//hardware/interfaces/keymaster/4.0/vts/performance", 900 "//hardware/interfaces/security/keymint/aidl/vts/performance", 901 "//hardware/nxp/secure_element/snxxx:__subpackages__", 902 "//hardware/nxp/uwb", 903 "//packages/modules/Bluetooth:__subpackages__", 904 "//system/core/fs_mgr/libfs_avb", 905 "//system/core/fs_mgr/libsnapshot", 906 "//system/security/keystore", 907 "//system/update_engine", 908 "//test/sts/tests/hostside/securityPatch:__subpackages__", 909 "//vendor:__subpackages__", 910 ], 911} 912 913// libchrome-crypto shared library for device 914// ======================================================== 915 916// Similar to libchrome, generate wrapped header files. See comments for 917// libchrome-include for the details. 918gensrcs { 919 name: "libchrome-crypto-include", 920 cmd: "$(location libchrome_tools/include_generator.py) $(in) $(out)", 921 tool_files: ["libchrome_tools/include_generator.py"], 922 export_include_dirs: ["."], 923 srcs: ["crypto/**/*.h"], 924 output_extension: "h", 925} 926 927cc_library_shared { 928 name: "libchrome-crypto", 929 vendor_available: true, 930 defaults: ["libchrome-defaults"], 931 srcs: [ 932 "crypto/random.cc", 933 ], 934 935 generated_headers: ["libchrome-crypto-include"], 936 export_generated_headers: ["libchrome-crypto-include"], 937 938 shared_libs: [ 939 "libchrome", 940 ], 941} 942 943// Helpers needed for unit tests. 944// ======================================================== 945cc_library_static { 946 name: "libchrome_test_helpers", 947 defaults: ["libchrome-test-defaults"], 948 shared_libs: ["libchrome"], 949 host_supported: true, 950 951 srcs: [ 952 "base/test/gtest_util.cc", 953 "base/test/simple_test_clock.cc", 954 "base/test/simple_test_tick_clock.cc", 955 "base/test/test_file_util.cc", 956 "base/test/test_file_util_linux.cc", 957 "base/test/test_switches.cc", 958 "base/test/test_timeouts.cc", 959 ], 960} 961 962// Helpers needed for unit tests (for host). 963// ======================================================== 964cc_library_host_static { 965 name: "libchrome_test_helpers-host", 966 defaults: ["libchrome-test-defaults"], 967 shared_libs: ["libchrome"], 968 969 srcs: ["base/test/simple_test_clock.cc"], 970} 971 972// Host and target unit tests. Run (from repo root) with: 973// ./out/host/<arch>/nativetest/libchrome_test/libchrome_test 974// or 975// adb shell /data/nativetest/libchrome_test/libchrome_test 976// ======================================================== 977cc_test { 978 name: "libchrome_test", 979 host_supported: true, 980 defaults: ["libchrome-test-defaults"], 981 srcs: [ 982 "base/at_exit_unittest.cc", 983 "base/atomicops_unittest.cc", 984 "base/base64_unittest.cc", 985 "base/base64url_unittest.cc", 986 "base/big_endian_unittest.cc", 987 "base/bind_unittest.cc", 988 "base/bits_unittest.cc", 989 "base/build_time_unittest.cc", 990 "base/callback_helpers_unittest.cc", 991 "base/callback_list_unittest.cc", 992 "base/callback_unittest.cc", 993 "base/cancelable_callback_unittest.cc", 994 "base/command_line_unittest.cc", 995 "base/cpu_unittest.cc", 996 "base/debug/activity_tracker_unittest.cc", 997 "base/debug/debugger_unittest.cc", 998 "base/debug/leak_tracker_unittest.cc", 999 "base/environment_unittest.cc", 1000 "base/files/dir_reader_posix_unittest.cc", 1001 "base/files/file_descriptor_watcher_posix_unittest.cc", 1002 "base/files/file_enumerator_unittest.cc", 1003 "base/files/file_path_unittest.cc", 1004 "base/files/file_path_watcher_unittest.cc", 1005 "base/files/file_unittest.cc", 1006 "base/files/important_file_writer_unittest.cc", 1007 "base/files/scoped_temp_dir_unittest.cc", 1008 "base/gmock_unittest.cc", 1009 "base/guid_unittest.cc", 1010 "base/json/json_parser_unittest.cc", 1011 "base/json/json_reader_unittest.cc", 1012 "base/json/json_value_converter_unittest.cc", 1013 "base/json/json_value_serializer_unittest.cc", 1014 "base/json/json_writer_unittest.cc", 1015 "base/json/string_escape_unittest.cc", 1016 "base/lazy_instance_unittest.cc", 1017 "base/logging_unittest.cc", 1018 "base/md5_unittest.cc", 1019 "base/memory/aligned_memory_unittest.cc", 1020 "base/memory/linked_ptr_unittest.cc", 1021 "base/memory/ref_counted_memory_unittest.cc", 1022 "base/memory/ref_counted_unittest.cc", 1023 "base/memory/singleton_unittest.cc", 1024 "base/memory/weak_ptr_unittest.cc", 1025 "base/message_loop/message_loop_task_runner_unittest.cc", 1026 "base/message_loop/message_loop_unittest.cc", 1027 "base/metrics/bucket_ranges_unittest.cc", 1028 "base/metrics/field_trial_unittest.cc", 1029 "base/metrics/histogram_base_unittest.cc", 1030 "base/metrics/histogram_macros_unittest.cc", 1031 "base/metrics/histogram_snapshot_manager_unittest.cc", 1032 "base/metrics/histogram_unittest.cc", 1033 "base/metrics/metrics_hashes_unittest.cc", 1034 "base/metrics/persistent_histogram_allocator_unittest.cc", 1035 "base/metrics/persistent_memory_allocator_unittest.cc", 1036 "base/metrics/persistent_sample_map_unittest.cc", 1037 "base/metrics/sample_map_unittest.cc", 1038 "base/metrics/sample_vector_unittest.cc", 1039 "base/metrics/sparse_histogram_unittest.cc", 1040 "base/metrics/statistics_recorder_unittest.cc", 1041 "base/observer_list_unittest.cc", 1042 "base/optional_unittest.cc", 1043 "base/pickle_unittest.cc", 1044 "base/posix/file_descriptor_shuffle_unittest.cc", 1045 "base/posix/unix_domain_socket_unittest.cc", 1046 "base/process/process_info_unittest.cc", 1047 "base/process/process_metrics_unittest.cc", 1048 "base/rand_util_unittest.cc", 1049 "base/scoped_clear_errno_unittest.cc", 1050 "base/scoped_generic_unittest.cc", 1051 "base/security_unittest.cc", 1052 "base/sequence_checker_unittest.cc", 1053 "base/sequence_token_unittest.cc", 1054 "base/sha1_unittest.cc", 1055 "base/stl_util_unittest.cc", 1056 "base/strings/pattern_unittest.cc", 1057 "base/strings/string16_unittest.cc", 1058 "base/strings/string_number_conversions_unittest.cc", 1059 "base/strings/string_piece_unittest.cc", 1060 "base/strings/string_split_unittest.cc", 1061 "base/strings/string_util_unittest.cc", 1062 "base/strings/stringprintf_unittest.cc", 1063 "base/strings/sys_string_conversions_unittest.cc", 1064 "base/strings/utf_string_conversions_unittest.cc", 1065 "base/sync_socket_unittest.cc", 1066 "base/synchronization/atomic_flag_unittest.cc", 1067 "base/synchronization/condition_variable_unittest.cc", 1068 "base/synchronization/lock_unittest.cc", 1069 "base/synchronization/waitable_event_unittest.cc", 1070 "base/sys_info_unittest.cc", 1071 "base/task/cancelable_task_tracker_unittest.cc", 1072 "base/task_runner_util_unittest.cc", 1073 "base/task_scheduler/scheduler_lock_unittest.cc", 1074 "base/task_scheduler/scoped_set_task_priority_for_current_thread_unittest.cc", 1075 "base/task_scheduler/sequence_sort_key_unittest.cc", 1076 "base/task_scheduler/sequence_unittest.cc", 1077 "base/task_scheduler/task_traits.cc", 1078 "base/template_util_unittest.cc", 1079 "base/test/metrics/histogram_tester.cc", 1080 "base/test/mock_entropy_provider.cc", 1081 "base/test/multiprocess_test.cc", 1082 "base/test/scoped_feature_list.cc", 1083 "base/test/scoped_locale.cc", 1084 "base/test/simple_test_tick_clock.cc", 1085 "base/test/test_file_util.cc", 1086 "base/test/test_file_util_linux.cc", 1087 "base/test/test_file_util_posix.cc", 1088 "base/test/test_io_thread.cc", 1089 "base/test/test_mock_time_task_runner.cc", 1090 "base/test/test_pending_task.cc", 1091 "base/test/test_shared_memory_util.cc", 1092 "base/test/test_simple_task_runner.cc", 1093 "base/test/test_switches.cc", 1094 "base/test/test_timeouts.cc", 1095 "base/threading/platform_thread_unittest.cc", 1096 "base/threading/simple_thread_unittest.cc", 1097 "base/threading/thread_checker_unittest.cc", 1098 "base/threading/thread_collision_warner_unittest.cc", 1099 "base/threading/thread_id_name_manager_unittest.cc", 1100 "base/threading/thread_local_storage_unittest.cc", 1101 "base/threading/thread_local_unittest.cc", 1102 "base/threading/thread_unittest.cc", 1103 "base/time/pr_time_unittest.cc", 1104 "base/time/time_unittest.cc", 1105 "base/timer/hi_res_timer_manager_unittest.cc", 1106 "base/timer/mock_timer.cc", 1107 "base/tuple_unittest.cc", 1108 "base/values_unittest.cc", 1109 "base/version_unittest.cc", 1110 "base/vlog_unittest.cc", 1111 "testing/multiprocess_func_list.cc", 1112 "testrunner.cc", 1113 "ui/gfx/range/range_unittest.cc", 1114 ], 1115 1116 cflags: ["-DUNIT_TEST"], 1117 shared_libs: [ 1118 "libchrome", 1119 "libevent", 1120 ], 1121 static_libs: [ 1122 "libgmock", 1123 "libgtest", 1124 ], 1125 target: { 1126 android: { 1127 cflags: ["-DDONT_EMBED_BUILD_METADATA"], 1128 }, 1129 }, 1130} 1131 1132filegroup { 1133 name: "libmojo_mojom_files", 1134 srcs: [ 1135 "ipc/ipc.mojom", 1136 "mojo/public/interfaces/bindings/interface_control_messages.mojom", 1137 "mojo/public/interfaces/bindings/native_struct.mojom", 1138 "mojo/public/interfaces/bindings/pipe_control_messages.mojom", 1139 "mojo/public/mojom/base/big_buffer.mojom", 1140 "mojo/public/mojom/base/big_string.mojom", 1141 "mojo/public/mojom/base/file.mojom", 1142 "mojo/public/mojom/base/file_error.mojom", 1143 "mojo/public/mojom/base/file_info.mojom", 1144 "mojo/public/mojom/base/file_path.mojom", 1145 "mojo/public/mojom/base/process_id.mojom", 1146 "mojo/public/mojom/base/read_only_buffer.mojom", 1147 "mojo/public/mojom/base/ref_counted_memory.mojom", 1148 "mojo/public/mojom/base/shared_memory.mojom", 1149 "mojo/public/mojom/base/string16.mojom", 1150 "mojo/public/mojom/base/text_direction.mojom", 1151 "mojo/public/mojom/base/thread_priority.mojom", 1152 "mojo/public/mojom/base/time.mojom", 1153 "mojo/public/mojom/base/unguessable_token.mojom", 1154 "mojo/public/mojom/base/values.mojom", 1155 "ui/gfx/geometry/mojo/geometry.mojom", 1156 "ui/gfx/range/mojo/range.mojom", 1157 ], 1158} 1159 1160filegroup { 1161 name: "libmojo_mojo_sources", 1162 srcs: [ 1163 "mojo/**/*.cc", 1164 ], 1165 exclude_srcs: [ 1166 // Unused in Chrome. Looks like mistakenly checked in. 1167 // TODO(hidehiko): Remove this after the file is removed in Chrome 1168 // repository. http://crrev.com/c/644531 1169 "mojo/public/cpp/system/message.cc", 1170 1171 // No WTF support. 1172 "mojo/public/cpp/bindings/lib/string_traits_wtf.cc", 1173 1174 // Exclude windows/mac/ios/fuchsia files. 1175 "**/*_win.cc", 1176 "**/*_fuchsia.cc", 1177 "mojo/core/mach_port_relay.*", 1178 "mojo/public/cpp/base/logfont_win*", 1179 "mojo/public/mojom/base/logfont_win*", 1180 1181 // Exclude js binding related files. 1182 "mojo/public/js/**/*", 1183 1184 // Exclude tests. 1185 "**/*_unittest.cc", 1186 "**/*_unittests.cc", 1187 "**/*_perftest.cc", 1188 "mojo/core/core_test_base.*", 1189 "mojo/core/test/*", 1190 "mojo/core/test_utils.*", 1191 "mojo/public/c/system/tests/**/*", 1192 "mojo/public/cpp/bindings/tests/**/*", 1193 "mojo/public/cpp/system/tests/**/*", 1194 "mojo/public/cpp/test_support/**/*", 1195 "mojo/public/java/system/javatests/**/*", 1196 "mojo/public/tests/**/*", 1197 1198 // Exclude memory allocator unsupported feature 1199 "mojo/public/cpp/base/memory_allocator_dump_cross_process_uid*", 1200 1201 // Exclude fuzzers 1202 "mojo/public/tools/fuzzers/**/*", 1203 ], 1204} 1205 1206python_binary_host { 1207 name: "jni_generator", 1208 main: "base/android/jni_generator/jni_generator.py", 1209 srcs: [ 1210 "base/android/jni_generator/jni_generator.py", 1211 "build/**/*.py", 1212 ], 1213 version: { 1214 py3: { 1215 embedded_launcher: true, 1216 }, 1217 }, 1218} 1219 1220python_binary_host { 1221 name: "jni_registration_generator", 1222 main: "base/android/jni_generator/jni_registration_generator.py", 1223 srcs: [ 1224 "base/android/jni_generator/jni_generator.py", 1225 "base/android/jni_generator/jni_registration_generator.py", 1226 "build/**/*.py", 1227 ], 1228 version: { 1229 py3: { 1230 embedded_launcher: true, 1231 }, 1232 }, 1233} 1234 1235python_binary_host { 1236 name: "mojom_bindings_generator", 1237 main: "mojo/public/tools/bindings/mojom_bindings_generator.py", 1238 srcs: [ 1239 "build/**/*.py", 1240 "mojo/public/tools/bindings/**/*.py", 1241 "third_party/jinja2/**/*.py", 1242 "third_party/markupsafe/**/*.py", 1243 "third_party/ply/**/*.py", 1244 ], 1245 data: [ 1246 "mojo/public/tools/bindings/generators/cpp_templates/*.tmpl", 1247 "mojo/public/tools/bindings/generators/java_templates/*.tmpl", 1248 "mojo/public/tools/bindings/generators/js_templates/*.tmpl", 1249 ], 1250 version: { 1251 py3: { 1252 // TODO(b/174041232): Enable embedded_launcher 1253 embedded_launcher: false, 1254 }, 1255 }, 1256} 1257 1258genrule { 1259 name: "libmojo_mojom_templates", 1260 cmd: "$(location mojom_bindings_generator)" + 1261 " --use_bundled_pylibs precompile" + 1262 " -o $(genDir)", 1263 1264 tools: [ 1265 "mojom_bindings_generator", 1266 ], 1267 1268 out: [ 1269 "cpp_templates.zip", 1270 "java_templates.zip", 1271 "js_templates.zip", 1272 ], 1273} 1274 1275python_binary_host { 1276 name: "mojom_generate_type_mappings", 1277 main: "libchrome_tools/mojom_generate_type_mappings.py", 1278 srcs: [ 1279 "build/gn_helpers.py", 1280 "libchrome_tools/mojom_generate_type_mappings.py", 1281 "mojo/public/tools/bindings/generate_type_mappings.py", 1282 "mojo/public/tools/bindings/pylib/mojom/fileutil.py", 1283 "mojo/public/tools/bindings/pylib/mojom/generate/generator.py", 1284 "mojo/public/tools/bindings/pylib/mojom/generate/module.py", 1285 "mojo/public/tools/bindings/pylib/mojom/generate/pack.py", 1286 ], 1287 version: { 1288 py3: { 1289 // TODO(b/174041232): Enable embedded_launcher 1290 embedded_launcher: false, 1291 }, 1292 }, 1293} 1294 1295genrule { 1296 name: "libmojo_common_custom_types__type_mappings", 1297 cmd: "$(location mojom_generate_type_mappings)" + 1298 " --output=$(out)" + 1299 " $(in)", 1300 1301 tools: ["mojom_generate_type_mappings"], 1302 1303 srcs: [ 1304 "mojo/public/cpp/base/big_buffer.typemap", 1305 "mojo/public/cpp/base/big_string.typemap", 1306 "mojo/public/cpp/base/file.typemap", 1307 "mojo/public/cpp/base/file_error.typemap", 1308 "mojo/public/cpp/base/file_info.typemap", 1309 "mojo/public/cpp/base/file_path.typemap", 1310 "mojo/public/cpp/base/process_id.typemap", 1311 "mojo/public/cpp/base/read_only_buffer.typemap", 1312 "mojo/public/cpp/base/ref_counted_memory.typemap", 1313 "mojo/public/cpp/base/shared_memory.typemap", 1314 "mojo/public/cpp/base/string16.typemap", 1315 "mojo/public/cpp/base/text_direction.typemap", 1316 "mojo/public/cpp/base/thread_priority.typemap", 1317 "mojo/public/cpp/base/time.typemap", 1318 "mojo/public/cpp/base/unguessable_token.typemap", 1319 "mojo/public/cpp/base/values.typemap", 1320 "ui/gfx/geometry/mojo/geometry.typemap", 1321 "ui/gfx/range/mojo/range.typemap", 1322 ], 1323 out: ["common_custom_types__type_mappings"], 1324} 1325 1326python_binary_host { 1327 name: "mojom_types_downgrader", 1328 main: "mojo/public/tools/bindings/mojom_types_downgrader.py", 1329 srcs: [ 1330 "mojo/public/tools/bindings/mojom_types_downgrader.py", 1331 ], 1332 version: { 1333 py3: { 1334 embedded_launcher: true, 1335 }, 1336 }, 1337} 1338 1339generate_mojom_downgraded_files { 1340 name: "libmojo_mojom_downgraded_files", 1341 srcs: [":libmojo_mojom_files"], 1342} 1343 1344generate_mojom_pickles { 1345 name: "libmojo_mojom_pickles", 1346 srcs: [":libmojo_mojom_downgraded_files"], 1347} 1348 1349generate_mojom_headers { 1350 name: "libmojo_mojom_headers", 1351 srcs: [":libmojo_mojom_downgraded_files"], 1352 pickles: [":libmojo_mojom_pickles"], 1353 templates: ":libmojo_mojom_templates", 1354 flags: "--disallow_native_types", 1355 typemaps: [":libmojo_common_custom_types__type_mappings"], 1356} 1357 1358generate_mojom_srcs { 1359 name: "libmojo_mojom_srcs", 1360 srcs: [":libmojo_mojom_downgraded_files"], 1361 pickles: [":libmojo_mojom_pickles"], 1362 templates: ":libmojo_mojom_templates", 1363 flags: "--disallow_native_types", 1364 typemaps: [":libmojo_common_custom_types__type_mappings"], 1365} 1366 1367genrule { 1368 name: "libmojo_jni_headers", 1369 cmd: "$(location libchrome_tools/jni_generator_helper.sh)" + 1370 " --jni_generator=$(location jni_generator)" + 1371 " --output_dir=$(genDir)/jni" + 1372 " --includes=base/android/jni_generator/jni_generator_helper.h" + 1373 " --ptr_type=long" + 1374 " $(in)", 1375 1376 tools: [ 1377 "jni_generator", 1378 ], 1379 1380 tool_files: [ 1381 "libchrome_tools/jni_generator_helper.sh", 1382 ], 1383 1384 srcs: [ 1385 "base/android/java/src/org/chromium/base/BuildInfo.java", 1386 "base/android/java/src/org/chromium/base/ContentUriUtils.java", 1387 "base/android/java/src/org/chromium/base/JavaExceptionReporter.java", 1388 "base/android/java/src/org/chromium/base/PathUtils.java", 1389 "base/android/java/src/org/chromium/base/SysUtils.java", 1390 "base/android/java/src/org/chromium/base/ThreadUtils.java", 1391 "mojo/public/java/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java", 1392 "mojo/public/java/system/src/org/chromium/mojo/system/impl/CoreImpl.java", 1393 "mojo/public/java/system/src/org/chromium/mojo/system/impl/WatcherImpl.java", 1394 ], 1395 1396 out: [ 1397 "jni/BaseRunLoop_jni.h", 1398 "jni/BuildInfo_jni.h", 1399 "jni/ContentUriUtils_jni.h", 1400 "jni/CoreImpl_jni.h", 1401 "jni/JavaExceptionReporter_jni.h", 1402 "jni/PathUtils_jni.h", 1403 "jni/SysUtils_jni.h", 1404 "jni/WatcherImpl_jni.h", 1405 ], 1406} 1407 1408genrule { 1409 name: "libmojo_jni_registration_headers", 1410 cmd: "$(location libchrome_tools/jni_registration_generator_helper.sh)" + 1411 " --jni_generator=$(location jni_registration_generator)" + 1412 " --output=$(genDir)/jni/libmojo_jni_registrations.h" + 1413 " $(in)", 1414 1415 tools: [ 1416 "jni_registration_generator", 1417 ], 1418 1419 tool_files: [ 1420 "libchrome_tools/jni_registration_generator_helper.sh", 1421 ], 1422 1423 srcs: [ 1424 "base/android/java/src/org/chromium/base/BuildInfo.java", 1425 "base/android/java/src/org/chromium/base/JavaExceptionReporter.java", 1426 "base/android/java/src/org/chromium/base/ThreadUtils.java", 1427 "mojo/public/java/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java", 1428 "mojo/public/java/system/src/org/chromium/mojo/system/impl/CoreImpl.java", 1429 "mojo/public/java/system/src/org/chromium/mojo/system/impl/WatcherImpl.java", 1430 ], 1431 1432 out: [ 1433 "jni/libmojo_jni_registrations.h", 1434 ], 1435} 1436 1437cc_library_shared { 1438 name: "libmojo", 1439 vendor_available: true, 1440 1441 generated_sources: ["libmojo_mojom_srcs"], 1442 generated_headers: [ 1443 "libmojo_jni_headers", 1444 "libmojo_jni_registration_headers", 1445 "libmojo_mojom_headers", 1446 ], 1447 export_generated_headers: [ 1448 "libmojo_jni_registration_headers", 1449 "libmojo_mojom_headers", 1450 ], 1451 1452 srcs: [ 1453 ":libmojo_mojo_sources", 1454 "base/android/build_info.cc", 1455 "base/android/java_exception_reporter.cc", 1456 "base/android/jni_android.cc", 1457 "base/android/jni_array.cc", 1458 "base/android/jni_string.cc", 1459 "base/android/scoped_java_ref.cc", 1460 "ipc/ipc_message.cc", 1461 "ipc/ipc_message_attachment.cc", 1462 "ipc/ipc_message_attachment_set.cc", 1463 "ipc/ipc_message_utils.cc", 1464 "ipc/ipc_mojo_handle_attachment.cc", 1465 "ipc/ipc_mojo_message_helper.cc", 1466 "ipc/ipc_mojo_param_traits.cc", 1467 "ipc/ipc_platform_file_attachment_posix.cc", 1468 "ipc/native_handle_type_converters.cc", 1469 ], 1470 1471 cflags: [ 1472 "-DMOJO_CORE_LEGACY_PROTOCOL", 1473 "-Wall", 1474 "-Werror", 1475 "-Wno-missing-field-initializers", 1476 "-Wno-unused-parameter", 1477 ], 1478 1479 // We also pass NO_ASHMEM to make base::SharedMemory avoid using it and prefer 1480 // the POSIX versions. 1481 cppflags: [ 1482 "-DNO_ASHMEM", 1483 "-Wno-extra", 1484 "-Wno-ignored-qualifiers", 1485 "-Wno-non-virtual-dtor", 1486 "-Wno-sign-promo", 1487 ], 1488 1489 shared_libs: [ 1490 "libchrome", 1491 "libchrome-crypto", 1492 "libevent", 1493 "liblog", 1494 ], 1495 1496 header_libs: ["jni_headers"], 1497 1498 export_include_dirs: ["."], 1499} 1500 1501generate_mojom_srcjar { 1502 name: "libmojo_mojom_java_srcs", 1503 srcs: [":libmojo_mojom_downgraded_files"], 1504 pickles: [":libmojo_mojom_pickles"], 1505 srcjar: "libmojo_mojom.srcjar", 1506 templates: ":libmojo_mojom_templates", 1507 flags: "--disallow_native_types", 1508 typemaps: [":libmojo_common_custom_types__type_mappings"], 1509} 1510 1511java_library { 1512 name: "android.mojo", 1513 1514 srcs: [ 1515 ":libmojo_mojom_java_srcs", 1516 "base/android/java/src/org/chromium/base/BuildConfig.java", 1517 "base/android/java/src/org/chromium/base/BuildInfo.java", 1518 "base/android/java/src/org/chromium/base/ContextUtils.java", 1519 "base/android/java/src/org/chromium/base/DiscardableReferencePool.java", 1520 "base/android/java/src/org/chromium/base/JavaExceptionReporter.java", 1521 "base/android/java/src/org/chromium/base/Log.java", 1522 "base/android/java/src/org/chromium/base/PackageUtils.java", 1523 "base/android/java/src/org/chromium/base/StrictModeContext.java", 1524 "base/android/java/src/org/chromium/base/Supplier.java", 1525 "base/android/java/src/org/chromium/base/ThreadUtils.java", 1526 "base/android/java/src/org/chromium/base/TimezoneUtils.java", 1527 "base/android/java/src/org/chromium/base/VisibleForTesting.java", 1528 "base/android/java/src/org/chromium/base/annotations/AccessedByNative.java", 1529 "base/android/java/src/org/chromium/base/annotations/CalledByNative.java", 1530 "base/android/java/src/org/chromium/base/annotations/CalledByNativeUnchecked.java", 1531 "base/android/java/src/org/chromium/base/annotations/JNIAdditionalImport.java", 1532 "base/android/java/src/org/chromium/base/annotations/JNINamespace.java", 1533 "base/android/java/src/org/chromium/base/annotations/MainDex.java", 1534 "base/android/java/src/org/chromium/base/annotations/NativeCall.java", 1535 "base/android/java/src/org/chromium/base/annotations/NativeClassQualifiedName.java", 1536 "base/android/java/src/org/chromium/base/annotations/RemovableInRelease.java", 1537 "base/android/java/src/org/chromium/base/annotations/UsedByReflection.java", 1538 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/AssociatedInterfaceNotSupported.java", 1539 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/AssociatedInterfaceRequestNotSupported.java", 1540 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/AutoCloseableRouter.java", 1541 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/BindingsHelper.java", 1542 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Callbacks.java", 1543 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ConnectionErrorHandler.java", 1544 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java", 1545 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/DataHeader.java", 1546 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Decoder.java", 1547 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/DelegatingConnectionErrorHandler.java", 1548 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/DeserializationException.java", 1549 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Encoder.java", 1550 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ExceptionHandler.java", 1551 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ExecutorFactory.java", 1552 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/HandleOwner.java", 1553 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Interface.java", 1554 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java", 1555 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceRequest.java", 1556 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Message.java", 1557 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageHeader.java", 1558 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageReceiver.java", 1559 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageReceiverWithResponder.java", 1560 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Router.java", 1561 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/RouterImpl.java", 1562 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/SerializationException.java", 1563 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ServiceMessage.java", 1564 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/SideEffectFreeCloseable.java", 1565 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Struct.java", 1566 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Union.java", 1567 "mojo/public/java/system/src/org/chromium/mojo/system/Core.java", 1568 "mojo/public/java/system/src/org/chromium/mojo/system/DataPipe.java", 1569 "mojo/public/java/system/src/org/chromium/mojo/system/Flags.java", 1570 "mojo/public/java/system/src/org/chromium/mojo/system/Handle.java", 1571 "mojo/public/java/system/src/org/chromium/mojo/system/InvalidHandle.java", 1572 "mojo/public/java/system/src/org/chromium/mojo/system/MessagePipeHandle.java", 1573 "mojo/public/java/system/src/org/chromium/mojo/system/MojoException.java", 1574 "mojo/public/java/system/src/org/chromium/mojo/system/MojoResult.java", 1575 "mojo/public/java/system/src/org/chromium/mojo/system/Pair.java", 1576 "mojo/public/java/system/src/org/chromium/mojo/system/ResultAnd.java", 1577 "mojo/public/java/system/src/org/chromium/mojo/system/RunLoop.java", 1578 "mojo/public/java/system/src/org/chromium/mojo/system/SharedBufferHandle.java", 1579 "mojo/public/java/system/src/org/chromium/mojo/system/UntypedHandle.java", 1580 "mojo/public/java/system/src/org/chromium/mojo/system/Watcher.java", 1581 "mojo/public/java/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java", 1582 "mojo/public/java/system/src/org/chromium/mojo/system/impl/CoreImpl.java", 1583 "mojo/public/java/system/src/org/chromium/mojo/system/impl/DataPipeConsumerHandleImpl.java", 1584 "mojo/public/java/system/src/org/chromium/mojo/system/impl/DataPipeProducerHandleImpl.java", 1585 "mojo/public/java/system/src/org/chromium/mojo/system/impl/HandleBase.java", 1586 "mojo/public/java/system/src/org/chromium/mojo/system/impl/MessagePipeHandleImpl.java", 1587 "mojo/public/java/system/src/org/chromium/mojo/system/impl/SharedBufferHandleImpl.java", 1588 "mojo/public/java/system/src/org/chromium/mojo/system/impl/UntypedHandleImpl.java", 1589 "mojo/public/java/system/src/org/chromium/mojo/system/impl/WatcherImpl.java", 1590 ], 1591 1592 static_libs: [ 1593 "android-support-annotations", 1594 ], 1595} 1596