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