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/trace_event/common/trace_event_common.h", 462 "base/trace_event/heap_profiler.h", 463 "base/trace_event/trace_event.h", 464 "base/tuple.h", 465 "base/unguessable_token.h", 466 "base/value_iterators.h", 467 "base/values.h", 468 "base/version.h", 469 "base/vlog.h", 470 "build/build_config.h", 471 "build/buildflag.h", 472 "device/bluetooth/bluetooth_advertisement.h", 473 "device/bluetooth/bluetooth_common.h", 474 "device/bluetooth/bluetooth_export.h", 475 "device/bluetooth/bluetooth_uuid.h", 476 "device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.h", 477 "testing/gmock/include/gmock/gmock.h", 478 "testing/gtest/include/gtest/gtest.h", 479 "testing/gtest/include/gtest/gtest_prod.h", 480 "testing/multiprocess_func_list.h", 481 "testing/platform_test.h", 482 "third_party/ashmem/ashmem.h", 483 "third_party/modp_b64/modp_b64.h", 484 "third_party/protobuf/src/google/protobuf/message_lite.h", 485 "third_party/re2/src/re2/re2.h", 486 "ui/gfx/geometry/insets.h", 487 "ui/gfx/geometry/insets_f.h", 488 "ui/gfx/geometry/mojo/geometry_struct_traits.h", 489 "ui/gfx/geometry/point.h", 490 "ui/gfx/geometry/point_conversions.h", 491 "ui/gfx/geometry/point_f.h", 492 "ui/gfx/geometry/rect.h", 493 "ui/gfx/geometry/rect_f.h", 494 "ui/gfx/geometry/safe_integer_conversions.h", 495 "ui/gfx/geometry/scroll_offset.h", 496 "ui/gfx/geometry/size.h", 497 "ui/gfx/geometry/size_conversions.h", 498 "ui/gfx/geometry/size_f.h", 499 "ui/gfx/geometry/vector2d.h", 500 "ui/gfx/geometry/vector2d_f.h", 501 "ui/gfx/gfx_export.h", 502 "ui/gfx/range/gfx_range_export.h", 503 "ui/gfx/range/mojo/range_struct_traits.h", 504 "ui/gfx/range/range.h", 505 "ui/gfx/range/range_f.h", 506 ], 507} 508 509gensrcs { 510 name: "libchrome-include", 511 cmd: "$(location libchrome_tools/include_generator.py) $(in) $(out)", 512 tool_files: ["libchrome_tools/include_generator.py"], 513 export_include_dirs: ["."], 514 srcs: [":libchrome-include-sources"], 515 output_extension: "h", 516} 517 518cc_defaults { 519 name: "libchrome-defaults", 520 521 cflags: [ 522 "-Wall", 523 "-Werror", 524 "-Wno-deprecated-declarations", 525 "-Wno-implicit-fallthrough", 526 "-Wno-implicit-int-float-conversion", 527 // memory_mapped_file.cc:80, json_parser.cc:264, 528 // sys_string_conversions_posix.cc:122, and 529 // icu_utf.cc:161,165 have -Wno-implicit-fallthrough. 530 "-Wno-missing-field-initializers", 531 "-Wno-unused-parameter", 532 ], 533 534 // Note: Although the generated header files are exported here, in building 535 // libchrome, "." has priority (unlike building projects using libchrome), 536 // so the raw header files are used for them. 537 generated_headers: ["libchrome-include"], 538 export_generated_headers: ["libchrome-include"], 539 header_libs: ["jni_headers"], 540 export_header_lib_headers: ["jni_headers"], 541 target: { 542 host: { 543 cflags: [ 544 "-D__ANDROID_HOST__", 545 "-DDONT_EMBED_BUILD_METADATA", 546 ], 547 }, 548 darwin: { 549 enabled: false, 550 }, 551 }, 552} 553 554cc_defaults { 555 name: "libchrome-test-defaults", 556 defaults: ["libchrome-defaults"], 557 cflags: [ 558 "-Wno-unused-function", 559 "-Wno-unused-variable", 560 ], 561} 562 563libchromeCommonSrc = [ 564 "base/at_exit.cc", 565 "base/barrier_closure.cc", 566 "base/base64.cc", 567 "base/base64url.cc", 568 "base/base_paths.cc", 569 "base/base_paths_posix.cc", 570 "base/base_switches.cc", 571 "base/big_endian.cc", 572 "base/build_time.cc", 573 "base/callback_helpers.cc", 574 "base/callback_internal.cc", 575 "base/command_line.cc", 576 "base/cpu.cc", 577 "base/debug/activity_tracker.cc", 578 "base/debug/alias.cc", 579 "base/debug/crash_logging.cc", 580 "base/debug/debugger.cc", 581 "base/debug/debugger_posix.cc", 582 "base/debug/dump_without_crashing.cc", 583 "base/debug/proc_maps_linux.cc", 584 "base/debug/profiler.cc", 585 "base/debug/stack_trace.cc", 586 "base/debug/task_annotator.cc", 587 "base/environment.cc", 588 "base/feature_list.cc", 589 "base/files/file.cc", 590 "base/files/file_descriptor_watcher_posix.cc", 591 "base/files/file_enumerator.cc", 592 "base/files/file_enumerator_posix.cc", 593 "base/files/file_path.cc", 594 "base/files/file_path_constants.cc", 595 "base/files/file_path_watcher.cc", 596 "base/files/file_posix.cc", 597 "base/files/file_tracing.cc", 598 "base/files/file_util.cc", 599 "base/files/file_util_posix.cc", 600 "base/files/important_file_writer.cc", 601 "base/files/memory_mapped_file.cc", 602 "base/files/memory_mapped_file_posix.cc", 603 "base/files/scoped_file.cc", 604 "base/files/scoped_temp_dir.cc", 605 "base/guid.cc", 606 "base/hash.cc", 607 "base/json/json_file_value_serializer.cc", 608 "base/json/json_parser.cc", 609 "base/json/json_reader.cc", 610 "base/json/json_string_value_serializer.cc", 611 "base/json/json_value_converter.cc", 612 "base/json/json_writer.cc", 613 "base/json/string_escape.cc", 614 "base/lazy_instance_helpers.cc", 615 "base/location.cc", 616 "base/logging.cc", 617 "base/md5.cc", 618 "base/memory/aligned_memory.cc", 619 "base/memory/platform_shared_memory_region.cc", 620 "base/memory/read_only_shared_memory_region.cc", 621 "base/memory/ref_counted.cc", 622 "base/memory/ref_counted_memory.cc", 623 "base/memory/shared_memory_handle.cc", 624 "base/memory/shared_memory_helper.cc", 625 "base/memory/shared_memory_mapping.cc", 626 "base/memory/unsafe_shared_memory_region.cc", 627 "base/memory/weak_ptr.cc", 628 "base/memory/writable_shared_memory_region.cc", 629 "base/message_loop/incoming_task_queue.cc", 630 "base/message_loop/message_loop.cc", 631 "base/message_loop/message_loop_current.cc", 632 "base/message_loop/message_loop_task_runner.cc", 633 "base/message_loop/message_pump.cc", 634 "base/message_loop/message_pump_default.cc", 635 "base/message_loop/message_pump_libevent.cc", 636 "base/message_loop/watchable_io_message_pump_posix.cc", 637 "base/metrics/bucket_ranges.cc", 638 "base/metrics/dummy_histogram.cc", 639 "base/metrics/field_trial.cc", 640 "base/metrics/field_trial_param_associator.cc", 641 "base/metrics/histogram.cc", 642 "base/metrics/histogram_base.cc", 643 "base/metrics/histogram_functions.cc", 644 "base/metrics/histogram_samples.cc", 645 "base/metrics/histogram_snapshot_manager.cc", 646 "base/metrics/metrics_hashes.cc", 647 "base/metrics/persistent_histogram_allocator.cc", 648 "base/metrics/persistent_memory_allocator.cc", 649 "base/metrics/persistent_sample_map.cc", 650 "base/metrics/sample_map.cc", 651 "base/metrics/sample_vector.cc", 652 "base/metrics/sparse_histogram.cc", 653 "base/metrics/statistics_recorder.cc", 654 "base/native_library.cc", 655 "base/native_library_posix.cc", 656 "base/observer_list_threadsafe.cc", 657 "base/path_service.cc", 658 "base/pending_task.cc", 659 "base/pickle.cc", 660 "base/posix/file_descriptor_shuffle.cc", 661 "base/posix/global_descriptors.cc", 662 "base/posix/safe_strerror.cc", 663 "base/process/kill.cc", 664 "base/process/kill_posix.cc", 665 "base/process/launch.cc", 666 "base/process/launch_posix.cc", 667 "base/process/memory.cc", 668 "base/process/process_handle.cc", 669 "base/process/process_handle_posix.cc", 670 "base/process/process_iterator.cc", 671 "base/process/process_metrics.cc", 672 "base/process/process_metrics_posix.cc", 673 "base/process/process_posix.cc", 674 "base/rand_util.cc", 675 "base/rand_util_posix.cc", 676 "base/run_loop.cc", 677 "base/scoped_native_library.cc", 678 "base/sequence_checker_impl.cc", 679 "base/sequence_token.cc", 680 "base/sequenced_task_runner.cc", 681 "base/sha1.cc", 682 "base/strings/nullable_string16.cc", 683 "base/strings/pattern.cc", 684 "base/strings/safe_sprintf.cc", 685 "base/strings/string16.cc", 686 "base/strings/string_number_conversions.cc", 687 "base/strings/string_piece.cc", 688 "base/strings/string_split.cc", 689 "base/strings/string_util.cc", 690 "base/strings/string_util_constants.cc", 691 "base/strings/stringprintf.cc", 692 "base/strings/utf_string_conversion_utils.cc", 693 "base/strings/utf_string_conversions.cc", 694 "base/sync_socket_posix.cc", 695 "base/synchronization/atomic_flag.cc", 696 "base/synchronization/condition_variable_posix.cc", 697 "base/synchronization/lock.cc", 698 "base/synchronization/lock_impl_posix.cc", 699 "base/synchronization/waitable_event_posix.cc", 700 "base/sys_info.cc", 701 "base/sys_info_posix.cc", 702 "base/task/cancelable_task_tracker.cc", 703 "base/task_runner.cc", 704 "base/task_scheduler/scheduler_lock_impl.cc", 705 "base/task_scheduler/scoped_set_task_priority_for_current_thread.cc", 706 "base/task_scheduler/sequence.cc", 707 "base/task_scheduler/sequence_sort_key.cc", 708 "base/task_scheduler/task.cc", 709 "base/task_scheduler/task_traits.cc", 710 "base/third_party/dynamic_annotations/dynamic_annotations.c", 711 "base/third_party/icu/icu_utf.cc", 712 "base/third_party/nspr/prtime.cc", 713 "base/threading/platform_thread_posix.cc", 714 "base/threading/post_task_and_reply_impl.cc", 715 "base/threading/scoped_blocking_call.cc", 716 "base/threading/sequence_local_storage_map.cc", 717 "base/threading/sequence_local_storage_slot.cc", 718 "base/threading/sequenced_task_runner_handle.cc", 719 "base/threading/simple_thread.cc", 720 "base/threading/thread.cc", 721 "base/threading/thread_checker_impl.cc", 722 "base/threading/thread_collision_warner.cc", 723 "base/threading/thread_id_name_manager.cc", 724 "base/threading/thread_local_storage.cc", 725 "base/threading/thread_local_storage_posix.cc", 726 "base/threading/thread_restrictions.cc", 727 "base/threading/thread_task_runner_handle.cc", 728 "base/time/clock.cc", 729 "base/time/default_clock.cc", 730 "base/time/default_tick_clock.cc", 731 "base/time/tick_clock.cc", 732 "base/time/time.cc", 733 "base/time/time_conversion_posix.cc", 734 "base/time/time_exploded_posix.cc", 735 "base/time/time_now_posix.cc", 736 "base/time/time_override.cc", 737 "base/timer/elapsed_timer.cc", 738 "base/timer/timer.cc", 739 "base/unguessable_token.cc", 740 "base/value_iterators.cc", 741 "base/values.cc", 742 "base/version.cc", 743 "base/vlog.cc", 744 "device/bluetooth/bluetooth_advertisement.cc", 745 "device/bluetooth/bluetooth_uuid.cc", 746 "device/bluetooth/bluez/bluetooth_service_attribute_value_bluez.cc", 747 "ui/gfx/geometry/insets.cc", 748 "ui/gfx/geometry/insets_f.cc", 749 "ui/gfx/geometry/point.cc", 750 "ui/gfx/geometry/point_conversions.cc", 751 "ui/gfx/geometry/point_f.cc", 752 "ui/gfx/geometry/rect.cc", 753 "ui/gfx/geometry/rect_f.cc", 754 "ui/gfx/geometry/size.cc", 755 "ui/gfx/geometry/size_conversions.cc", 756 "ui/gfx/geometry/size_f.cc", 757 "ui/gfx/geometry/vector2d.cc", 758 "ui/gfx/geometry/vector2d_f.cc", 759 "ui/gfx/range/range.cc", 760 "ui/gfx/range/range_f.cc", 761] 762 763libchromeLinuxSrc = [ 764 "base/files/file_path_watcher_linux.cc", 765 "base/files/file_util_linux.cc", 766 "base/memory/shared_memory_posix.cc", 767 "base/posix/unix_domain_socket.cc", 768 "base/process/internal_linux.cc", 769 "base/process/memory_linux.cc", 770 "base/process/process_handle_linux.cc", 771 "base/process/process_info_linux.cc", 772 "base/process/process_iterator_linux.cc", 773 "base/process/process_metrics_linux.cc", 774 "base/strings/sys_string_conversions_posix.cc", 775 "base/sys_info_linux.cc", 776 "base/threading/platform_thread_internal_posix.cc", 777 "base/threading/platform_thread_linux.cc", 778] 779 780libchromeMuslSrc = [ 781 "base/debug/stack_trace_posix.cc", 782 "base/memory/platform_shared_memory_region_posix.cc", 783 "base/memory/shared_memory_handle_posix.cc", 784] 785 786libchromeGlibcSrc = [ 787 "base/allocator/allocator_shim.cc", 788 "base/allocator/allocator_shim_default_dispatch_to_glibc.cc", 789 "base/debug/stack_trace_posix.cc", 790 "base/memory/platform_shared_memory_region_posix.cc", 791 "base/memory/shared_memory_handle_posix.cc", 792] 793 794libchromeLinuxBionicSrc = [ 795 "base/debug/stack_trace_android.cc", 796 "base/memory/platform_shared_memory_region_posix.cc", 797 "base/memory/shared_memory_handle_posix.cc", 798] 799 800libchromeAndroidSrc = [ 801 "base/android/android_hardware_buffer_compat.cc", 802 "base/android/build_info.cc", 803 "base/android/content_uri_utils.cc", 804 "base/android/java_exception_reporter.cc", 805 "base/android/jni_android.cc", 806 "base/android/jni_array.cc", 807 "base/android/jni_string.cc", 808 "base/android/path_utils.cc", 809 "base/android/scoped_java_ref.cc", 810 "base/android/scoped_hardware_buffer_handle.cc", 811 "base/android/sys_utils.cc", 812 "base/base_paths_android.cc", 813 "base/debug/stack_trace_android.cc", 814 "base/memory/platform_shared_memory_region_android.cc", 815 "base/memory/shared_memory_android.cc", 816 "base/memory/shared_memory_handle_android.cc", 817 "base/os_compat_android.cc", 818 "base/sys_info_android.cc", 819 "base/time/time_android.cc", 820] 821 822// libchrome static+shared for host and device 823// ======================================================== 824cc_library { 825 name: "libchrome", 826 host_supported: true, 827 ramdisk_available: true, 828 recovery_available: true, 829 vendor_available: true, 830 defaults: ["libchrome-defaults"], 831 srcs: libchromeCommonSrc, 832 833 export_shared_lib_headers: ["libbase"], 834 export_header_lib_headers: ["libgtest_prod_headers"], 835 shared_libs: [ 836 "libbase", 837 "libevent", 838 ], 839 header_libs: [ 840 "libgtest_prod_headers", 841 ], 842 static_libs: [ 843 "libmodpb64", 844 ], 845 generated_headers: [ 846 "libmojo_jni_headers", 847 "libmojo_jni_registration_headers", 848 ], 849 export_generated_headers: [ 850 "libmojo_jni_registration_headers", 851 ], 852 target: { 853 linux: { 854 srcs: libchromeLinuxSrc, 855 }, 856 linux_bionic: { 857 srcs: libchromeLinuxBionicSrc, 858 shared_libs: [ 859 "liblog", 860 ], 861 }, 862 glibc: { 863 srcs: libchromeGlibcSrc, 864 }, 865 musl: { 866 srcs: libchromeMuslSrc, 867 }, 868 android: { 869 srcs: libchromeAndroidSrc, 870 shared_libs: [ 871 "libcutils", 872 "liblog", 873 ], 874 }, 875 }, 876 apex_available: [ 877 "//apex_available:platform", 878 "com.android.btservices", 879 ], 880 min_sdk_version: "30", 881 visibility: [ 882 "//device/google/bertha:__subpackages__", 883 "//device/google/cheets2/camera/v3", 884 "//external/avb", 885 "//external/libbrillo", 886 "//external/libpalmrejection", 887 "//external/puffin", 888 "//external/v4l2_codec2:__subpackages__", 889 "//external/zucchini", 890 "//frameworks/base/services", 891 "//frameworks/base/services/core/jni", 892 "//frameworks/native/libs/vr/libpdx_default_transport", 893 "//frameworks/native/services/inputflinger:__subpackages__", 894 "//hardware/interfaces/keymaster/4.0/vts/performance", 895 "//hardware/interfaces/security/keymint/aidl/vts/performance", 896 "//hardware/nxp/secure_element/snxxx:__subpackages__", 897 "//hardware/nxp/uwb", 898 "//packages/modules/Bluetooth:__subpackages__", 899 "//system/core/fs_mgr/libfs_avb", 900 "//system/core/fs_mgr/libsnapshot", 901 "//system/security/keystore", 902 "//system/update_engine", 903 "//test/sts/tests/hostside/securityPatch:__subpackages__", 904 "//vendor:__subpackages__", 905 ], 906} 907 908// libchrome-crypto shared library for device 909// ======================================================== 910 911// Similar to libchrome, generate wrapped header files. See comments for 912// libchrome-include for the details. 913gensrcs { 914 name: "libchrome-crypto-include", 915 cmd: "$(location libchrome_tools/include_generator.py) $(in) $(out)", 916 tool_files: ["libchrome_tools/include_generator.py"], 917 export_include_dirs: ["."], 918 srcs: ["crypto/**/*.h"], 919 output_extension: "h", 920} 921 922cc_library_shared { 923 name: "libchrome-crypto", 924 vendor_available: true, 925 defaults: ["libchrome-defaults"], 926 srcs: [ 927 "crypto/random.cc", 928 ], 929 930 generated_headers: ["libchrome-crypto-include"], 931 export_generated_headers: ["libchrome-crypto-include"], 932 933 shared_libs: [ 934 "libchrome", 935 ], 936} 937 938// Helpers needed for unit tests. 939// ======================================================== 940cc_library_static { 941 name: "libchrome_test_helpers", 942 defaults: ["libchrome-test-defaults"], 943 shared_libs: ["libchrome"], 944 host_supported: true, 945 946 srcs: [ 947 "base/test/gtest_util.cc", 948 "base/test/simple_test_clock.cc", 949 "base/test/simple_test_tick_clock.cc", 950 "base/test/test_file_util.cc", 951 "base/test/test_file_util_linux.cc", 952 "base/test/test_switches.cc", 953 "base/test/test_timeouts.cc", 954 ], 955} 956 957// Helpers needed for unit tests (for host). 958// ======================================================== 959cc_library_host_static { 960 name: "libchrome_test_helpers-host", 961 defaults: ["libchrome-test-defaults"], 962 shared_libs: ["libchrome"], 963 964 srcs: ["base/test/simple_test_clock.cc"], 965} 966 967// Host and target unit tests. Run (from repo root) with: 968// ./out/host/<arch>/nativetest/libchrome_test/libchrome_test 969// or 970// adb shell /data/nativetest/libchrome_test/libchrome_test 971// ======================================================== 972cc_test { 973 name: "libchrome_test", 974 host_supported: true, 975 defaults: ["libchrome-test-defaults"], 976 srcs: [ 977 "base/at_exit_unittest.cc", 978 "base/atomicops_unittest.cc", 979 "base/base64_unittest.cc", 980 "base/base64url_unittest.cc", 981 "base/big_endian_unittest.cc", 982 "base/bind_unittest.cc", 983 "base/bits_unittest.cc", 984 "base/build_time_unittest.cc", 985 "base/callback_helpers_unittest.cc", 986 "base/callback_list_unittest.cc", 987 "base/callback_unittest.cc", 988 "base/cancelable_callback_unittest.cc", 989 "base/command_line_unittest.cc", 990 "base/cpu_unittest.cc", 991 "base/debug/activity_tracker_unittest.cc", 992 "base/debug/debugger_unittest.cc", 993 "base/debug/leak_tracker_unittest.cc", 994 "base/environment_unittest.cc", 995 "base/files/dir_reader_posix_unittest.cc", 996 "base/files/file_descriptor_watcher_posix_unittest.cc", 997 "base/files/file_enumerator_unittest.cc", 998 "base/files/file_path_unittest.cc", 999 "base/files/file_path_watcher_unittest.cc", 1000 "base/files/file_unittest.cc", 1001 "base/files/important_file_writer_unittest.cc", 1002 "base/files/scoped_temp_dir_unittest.cc", 1003 "base/gmock_unittest.cc", 1004 "base/guid_unittest.cc", 1005 "base/json/json_parser_unittest.cc", 1006 "base/json/json_reader_unittest.cc", 1007 "base/json/json_value_converter_unittest.cc", 1008 "base/json/json_value_serializer_unittest.cc", 1009 "base/json/json_writer_unittest.cc", 1010 "base/json/string_escape_unittest.cc", 1011 "base/lazy_instance_unittest.cc", 1012 "base/logging_unittest.cc", 1013 "base/md5_unittest.cc", 1014 "base/memory/aligned_memory_unittest.cc", 1015 "base/memory/linked_ptr_unittest.cc", 1016 "base/memory/ref_counted_memory_unittest.cc", 1017 "base/memory/ref_counted_unittest.cc", 1018 "base/memory/singleton_unittest.cc", 1019 "base/memory/weak_ptr_unittest.cc", 1020 "base/message_loop/message_loop_task_runner_unittest.cc", 1021 "base/message_loop/message_loop_unittest.cc", 1022 "base/metrics/bucket_ranges_unittest.cc", 1023 "base/metrics/field_trial_unittest.cc", 1024 "base/metrics/histogram_base_unittest.cc", 1025 "base/metrics/histogram_macros_unittest.cc", 1026 "base/metrics/histogram_snapshot_manager_unittest.cc", 1027 "base/metrics/histogram_unittest.cc", 1028 "base/metrics/metrics_hashes_unittest.cc", 1029 "base/metrics/persistent_histogram_allocator_unittest.cc", 1030 "base/metrics/persistent_memory_allocator_unittest.cc", 1031 "base/metrics/persistent_sample_map_unittest.cc", 1032 "base/metrics/sample_map_unittest.cc", 1033 "base/metrics/sample_vector_unittest.cc", 1034 "base/metrics/sparse_histogram_unittest.cc", 1035 "base/metrics/statistics_recorder_unittest.cc", 1036 "base/observer_list_unittest.cc", 1037 "base/optional_unittest.cc", 1038 "base/pickle_unittest.cc", 1039 "base/posix/file_descriptor_shuffle_unittest.cc", 1040 "base/posix/unix_domain_socket_unittest.cc", 1041 "base/process/process_info_unittest.cc", 1042 "base/process/process_metrics_unittest.cc", 1043 "base/rand_util_unittest.cc", 1044 "base/scoped_clear_errno_unittest.cc", 1045 "base/scoped_generic_unittest.cc", 1046 "base/security_unittest.cc", 1047 "base/sequence_checker_unittest.cc", 1048 "base/sequence_token_unittest.cc", 1049 "base/sha1_unittest.cc", 1050 "base/stl_util_unittest.cc", 1051 "base/strings/pattern_unittest.cc", 1052 "base/strings/string16_unittest.cc", 1053 "base/strings/string_number_conversions_unittest.cc", 1054 "base/strings/string_piece_unittest.cc", 1055 "base/strings/string_split_unittest.cc", 1056 "base/strings/string_util_unittest.cc", 1057 "base/strings/stringprintf_unittest.cc", 1058 "base/strings/sys_string_conversions_unittest.cc", 1059 "base/strings/utf_string_conversions_unittest.cc", 1060 "base/sync_socket_unittest.cc", 1061 "base/synchronization/atomic_flag_unittest.cc", 1062 "base/synchronization/condition_variable_unittest.cc", 1063 "base/synchronization/lock_unittest.cc", 1064 "base/synchronization/waitable_event_unittest.cc", 1065 "base/sys_info_unittest.cc", 1066 "base/task/cancelable_task_tracker_unittest.cc", 1067 "base/task_runner_util_unittest.cc", 1068 "base/task_scheduler/scheduler_lock_unittest.cc", 1069 "base/task_scheduler/scoped_set_task_priority_for_current_thread_unittest.cc", 1070 "base/task_scheduler/sequence_sort_key_unittest.cc", 1071 "base/task_scheduler/sequence_unittest.cc", 1072 "base/task_scheduler/task_traits.cc", 1073 "base/template_util_unittest.cc", 1074 "base/test/metrics/histogram_tester.cc", 1075 "base/test/mock_entropy_provider.cc", 1076 "base/test/multiprocess_test.cc", 1077 "base/test/scoped_feature_list.cc", 1078 "base/test/scoped_locale.cc", 1079 "base/test/simple_test_tick_clock.cc", 1080 "base/test/test_file_util.cc", 1081 "base/test/test_file_util_linux.cc", 1082 "base/test/test_file_util_posix.cc", 1083 "base/test/test_io_thread.cc", 1084 "base/test/test_mock_time_task_runner.cc", 1085 "base/test/test_pending_task.cc", 1086 "base/test/test_shared_memory_util.cc", 1087 "base/test/test_simple_task_runner.cc", 1088 "base/test/test_switches.cc", 1089 "base/test/test_timeouts.cc", 1090 "base/threading/platform_thread_unittest.cc", 1091 "base/threading/simple_thread_unittest.cc", 1092 "base/threading/thread_checker_unittest.cc", 1093 "base/threading/thread_collision_warner_unittest.cc", 1094 "base/threading/thread_id_name_manager_unittest.cc", 1095 "base/threading/thread_local_storage_unittest.cc", 1096 "base/threading/thread_local_unittest.cc", 1097 "base/threading/thread_unittest.cc", 1098 "base/time/pr_time_unittest.cc", 1099 "base/time/time_unittest.cc", 1100 "base/timer/hi_res_timer_manager_unittest.cc", 1101 "base/timer/mock_timer.cc", 1102 "base/tuple_unittest.cc", 1103 "base/values_unittest.cc", 1104 "base/version_unittest.cc", 1105 "base/vlog_unittest.cc", 1106 "testing/multiprocess_func_list.cc", 1107 "testrunner.cc", 1108 "ui/gfx/range/range_unittest.cc", 1109 ], 1110 1111 cflags: ["-DUNIT_TEST"], 1112 shared_libs: [ 1113 "libchrome", 1114 "libevent", 1115 ], 1116 static_libs: [ 1117 "libgmock", 1118 "libgtest", 1119 ], 1120 target: { 1121 android: { 1122 cflags: ["-DDONT_EMBED_BUILD_METADATA"], 1123 }, 1124 }, 1125} 1126 1127filegroup { 1128 name: "libmojo_mojom_files", 1129 srcs: [ 1130 "ipc/ipc.mojom", 1131 "mojo/public/interfaces/bindings/interface_control_messages.mojom", 1132 "mojo/public/interfaces/bindings/native_struct.mojom", 1133 "mojo/public/interfaces/bindings/pipe_control_messages.mojom", 1134 "mojo/public/mojom/base/big_buffer.mojom", 1135 "mojo/public/mojom/base/big_string.mojom", 1136 "mojo/public/mojom/base/file.mojom", 1137 "mojo/public/mojom/base/file_error.mojom", 1138 "mojo/public/mojom/base/file_info.mojom", 1139 "mojo/public/mojom/base/file_path.mojom", 1140 "mojo/public/mojom/base/process_id.mojom", 1141 "mojo/public/mojom/base/read_only_buffer.mojom", 1142 "mojo/public/mojom/base/ref_counted_memory.mojom", 1143 "mojo/public/mojom/base/shared_memory.mojom", 1144 "mojo/public/mojom/base/string16.mojom", 1145 "mojo/public/mojom/base/text_direction.mojom", 1146 "mojo/public/mojom/base/thread_priority.mojom", 1147 "mojo/public/mojom/base/time.mojom", 1148 "mojo/public/mojom/base/unguessable_token.mojom", 1149 "mojo/public/mojom/base/values.mojom", 1150 "ui/gfx/geometry/mojo/geometry.mojom", 1151 "ui/gfx/range/mojo/range.mojom", 1152 ], 1153} 1154 1155filegroup { 1156 name: "libmojo_mojo_sources", 1157 srcs: [ 1158 "mojo/**/*.cc", 1159 ], 1160 exclude_srcs: [ 1161 // Unused in Chrome. Looks like mistakenly checked in. 1162 // TODO(hidehiko): Remove this after the file is removed in Chrome 1163 // repository. http://crrev.com/c/644531 1164 "mojo/public/cpp/system/message.cc", 1165 1166 // No WTF support. 1167 "mojo/public/cpp/bindings/lib/string_traits_wtf.cc", 1168 1169 // Exclude windows/mac/ios/fuchsia files. 1170 "**/*_win.cc", 1171 "**/*_fuchsia.cc", 1172 "mojo/core/mach_port_relay.*", 1173 "mojo/public/cpp/base/logfont_win*", 1174 "mojo/public/mojom/base/logfont_win*", 1175 1176 // Exclude js binding related files. 1177 "mojo/public/js/**/*", 1178 1179 // Exclude tests. 1180 "**/*_unittest.cc", 1181 "**/*_unittests.cc", 1182 "**/*_perftest.cc", 1183 "mojo/core/core_test_base.*", 1184 "mojo/core/test/*", 1185 "mojo/core/test_utils.*", 1186 "mojo/public/c/system/tests/**/*", 1187 "mojo/public/cpp/bindings/tests/**/*", 1188 "mojo/public/cpp/system/tests/**/*", 1189 "mojo/public/cpp/test_support/**/*", 1190 "mojo/public/java/system/javatests/**/*", 1191 "mojo/public/tests/**/*", 1192 1193 // Exclude memory allocator unsupported feature 1194 "mojo/public/cpp/base/memory_allocator_dump_cross_process_uid*", 1195 1196 // Exclude fuzzers 1197 "mojo/public/tools/fuzzers/**/*", 1198 ], 1199} 1200 1201python_binary_host { 1202 name: "jni_generator", 1203 main: "base/android/jni_generator/jni_generator.py", 1204 srcs: [ 1205 "base/android/jni_generator/jni_generator.py", 1206 "build/**/*.py", 1207 ], 1208 version: { 1209 py3: { 1210 embedded_launcher: true, 1211 }, 1212 }, 1213} 1214 1215python_binary_host { 1216 name: "jni_registration_generator", 1217 main: "base/android/jni_generator/jni_registration_generator.py", 1218 srcs: [ 1219 "base/android/jni_generator/jni_generator.py", 1220 "base/android/jni_generator/jni_registration_generator.py", 1221 "build/**/*.py", 1222 ], 1223 version: { 1224 py3: { 1225 embedded_launcher: true, 1226 }, 1227 }, 1228} 1229 1230python_binary_host { 1231 name: "mojom_bindings_generator", 1232 main: "mojo/public/tools/bindings/mojom_bindings_generator.py", 1233 srcs: [ 1234 "build/**/*.py", 1235 "mojo/public/tools/bindings/**/*.py", 1236 "third_party/jinja2/**/*.py", 1237 "third_party/markupsafe/**/*.py", 1238 "third_party/ply/**/*.py", 1239 ], 1240 data: [ 1241 "mojo/public/tools/bindings/generators/cpp_templates/*.tmpl", 1242 "mojo/public/tools/bindings/generators/java_templates/*.tmpl", 1243 "mojo/public/tools/bindings/generators/js_templates/*.tmpl", 1244 ], 1245 version: { 1246 py3: { 1247 // TODO(b/174041232): Enable embedded_launcher 1248 embedded_launcher: false, 1249 }, 1250 }, 1251} 1252 1253genrule { 1254 name: "libmojo_mojom_templates", 1255 cmd: "$(location mojom_bindings_generator)" + 1256 " --use_bundled_pylibs precompile" + 1257 " -o $(genDir)", 1258 1259 tools: [ 1260 "mojom_bindings_generator", 1261 ], 1262 1263 out: [ 1264 "cpp_templates.zip", 1265 "java_templates.zip", 1266 "js_templates.zip", 1267 ], 1268} 1269 1270python_binary_host { 1271 name: "mojom_generate_type_mappings", 1272 main: "libchrome_tools/mojom_generate_type_mappings.py", 1273 srcs: [ 1274 "build/gn_helpers.py", 1275 "libchrome_tools/mojom_generate_type_mappings.py", 1276 "mojo/public/tools/bindings/generate_type_mappings.py", 1277 "mojo/public/tools/bindings/pylib/mojom/fileutil.py", 1278 "mojo/public/tools/bindings/pylib/mojom/generate/generator.py", 1279 "mojo/public/tools/bindings/pylib/mojom/generate/module.py", 1280 "mojo/public/tools/bindings/pylib/mojom/generate/pack.py", 1281 ], 1282 version: { 1283 py3: { 1284 // TODO(b/174041232): Enable embedded_launcher 1285 embedded_launcher: false, 1286 }, 1287 }, 1288} 1289 1290genrule { 1291 name: "libmojo_common_custom_types__type_mappings", 1292 cmd: "$(location mojom_generate_type_mappings)" + 1293 " --output=$(out)" + 1294 " $(in)", 1295 1296 tools: ["mojom_generate_type_mappings"], 1297 1298 srcs: [ 1299 "mojo/public/cpp/base/big_buffer.typemap", 1300 "mojo/public/cpp/base/big_string.typemap", 1301 "mojo/public/cpp/base/file.typemap", 1302 "mojo/public/cpp/base/file_error.typemap", 1303 "mojo/public/cpp/base/file_info.typemap", 1304 "mojo/public/cpp/base/file_path.typemap", 1305 "mojo/public/cpp/base/process_id.typemap", 1306 "mojo/public/cpp/base/read_only_buffer.typemap", 1307 "mojo/public/cpp/base/ref_counted_memory.typemap", 1308 "mojo/public/cpp/base/shared_memory.typemap", 1309 "mojo/public/cpp/base/string16.typemap", 1310 "mojo/public/cpp/base/text_direction.typemap", 1311 "mojo/public/cpp/base/thread_priority.typemap", 1312 "mojo/public/cpp/base/time.typemap", 1313 "mojo/public/cpp/base/unguessable_token.typemap", 1314 "mojo/public/cpp/base/values.typemap", 1315 "ui/gfx/geometry/mojo/geometry.typemap", 1316 "ui/gfx/range/mojo/range.typemap", 1317 ], 1318 out: ["common_custom_types__type_mappings"], 1319} 1320 1321python_binary_host { 1322 name: "mojom_types_downgrader", 1323 main: "mojo/public/tools/bindings/mojom_types_downgrader.py", 1324 srcs: [ 1325 "mojo/public/tools/bindings/mojom_types_downgrader.py", 1326 ], 1327 version: { 1328 py3: { 1329 embedded_launcher: true, 1330 }, 1331 }, 1332} 1333 1334generate_mojom_downgraded_files { 1335 name: "libmojo_mojom_downgraded_files", 1336 srcs: [":libmojo_mojom_files"], 1337} 1338 1339generate_mojom_pickles { 1340 name: "libmojo_mojom_pickles", 1341 srcs: [":libmojo_mojom_downgraded_files"], 1342} 1343 1344generate_mojom_headers { 1345 name: "libmojo_mojom_headers", 1346 srcs: [":libmojo_mojom_downgraded_files"], 1347 pickles: [":libmojo_mojom_pickles"], 1348 templates: ":libmojo_mojom_templates", 1349 flags: "--disallow_native_types", 1350 typemaps: [":libmojo_common_custom_types__type_mappings"], 1351} 1352 1353generate_mojom_srcs { 1354 name: "libmojo_mojom_srcs", 1355 srcs: [":libmojo_mojom_downgraded_files"], 1356 pickles: [":libmojo_mojom_pickles"], 1357 templates: ":libmojo_mojom_templates", 1358 flags: "--disallow_native_types", 1359 typemaps: [":libmojo_common_custom_types__type_mappings"], 1360} 1361 1362genrule { 1363 name: "libmojo_jni_headers", 1364 cmd: "$(location libchrome_tools/jni_generator_helper.sh)" + 1365 " --jni_generator=$(location jni_generator)" + 1366 " --output_dir=$(genDir)/jni" + 1367 " --includes=base/android/jni_generator/jni_generator_helper.h" + 1368 " --ptr_type=long" + 1369 " $(in)", 1370 1371 tools: [ 1372 "jni_generator", 1373 ], 1374 1375 tool_files: [ 1376 "libchrome_tools/jni_generator_helper.sh", 1377 ], 1378 1379 srcs: [ 1380 "base/android/java/src/org/chromium/base/BuildInfo.java", 1381 "base/android/java/src/org/chromium/base/ContentUriUtils.java", 1382 "base/android/java/src/org/chromium/base/JavaExceptionReporter.java", 1383 "base/android/java/src/org/chromium/base/PathUtils.java", 1384 "base/android/java/src/org/chromium/base/SysUtils.java", 1385 "base/android/java/src/org/chromium/base/ThreadUtils.java", 1386 "mojo/public/java/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java", 1387 "mojo/public/java/system/src/org/chromium/mojo/system/impl/CoreImpl.java", 1388 "mojo/public/java/system/src/org/chromium/mojo/system/impl/WatcherImpl.java", 1389 ], 1390 1391 out: [ 1392 "jni/BaseRunLoop_jni.h", 1393 "jni/BuildInfo_jni.h", 1394 "jni/ContentUriUtils_jni.h", 1395 "jni/CoreImpl_jni.h", 1396 "jni/JavaExceptionReporter_jni.h", 1397 "jni/PathUtils_jni.h", 1398 "jni/SysUtils_jni.h", 1399 "jni/WatcherImpl_jni.h", 1400 ], 1401} 1402 1403genrule { 1404 name: "libmojo_jni_registration_headers", 1405 cmd: "$(location libchrome_tools/jni_registration_generator_helper.sh)" + 1406 " --jni_generator=$(location jni_registration_generator)" + 1407 " --output=$(genDir)/jni/libmojo_jni_registrations.h" + 1408 " $(in)", 1409 1410 tools: [ 1411 "jni_registration_generator", 1412 ], 1413 1414 tool_files: [ 1415 "libchrome_tools/jni_registration_generator_helper.sh", 1416 ], 1417 1418 srcs: [ 1419 "base/android/java/src/org/chromium/base/BuildInfo.java", 1420 "base/android/java/src/org/chromium/base/JavaExceptionReporter.java", 1421 "base/android/java/src/org/chromium/base/ThreadUtils.java", 1422 "mojo/public/java/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java", 1423 "mojo/public/java/system/src/org/chromium/mojo/system/impl/CoreImpl.java", 1424 "mojo/public/java/system/src/org/chromium/mojo/system/impl/WatcherImpl.java", 1425 ], 1426 1427 out: [ 1428 "jni/libmojo_jni_registrations.h", 1429 ], 1430} 1431 1432cc_library_shared { 1433 name: "libmojo", 1434 vendor_available: true, 1435 1436 generated_sources: ["libmojo_mojom_srcs"], 1437 generated_headers: [ 1438 "libmojo_jni_headers", 1439 "libmojo_jni_registration_headers", 1440 "libmojo_mojom_headers", 1441 ], 1442 export_generated_headers: [ 1443 "libmojo_jni_registration_headers", 1444 "libmojo_mojom_headers", 1445 ], 1446 1447 srcs: [ 1448 ":libmojo_mojo_sources", 1449 "base/android/build_info.cc", 1450 "base/android/java_exception_reporter.cc", 1451 "base/android/jni_android.cc", 1452 "base/android/jni_array.cc", 1453 "base/android/jni_string.cc", 1454 "base/android/scoped_java_ref.cc", 1455 "ipc/ipc_message.cc", 1456 "ipc/ipc_message_attachment.cc", 1457 "ipc/ipc_message_attachment_set.cc", 1458 "ipc/ipc_message_utils.cc", 1459 "ipc/ipc_mojo_handle_attachment.cc", 1460 "ipc/ipc_mojo_message_helper.cc", 1461 "ipc/ipc_mojo_param_traits.cc", 1462 "ipc/ipc_platform_file_attachment_posix.cc", 1463 "ipc/native_handle_type_converters.cc", 1464 ], 1465 1466 cflags: [ 1467 "-DMOJO_CORE_LEGACY_PROTOCOL", 1468 "-Wall", 1469 "-Werror", 1470 "-Wno-missing-field-initializers", 1471 "-Wno-unused-parameter", 1472 ], 1473 1474 // We also pass NO_ASHMEM to make base::SharedMemory avoid using it and prefer 1475 // the POSIX versions. 1476 cppflags: [ 1477 "-DNO_ASHMEM", 1478 "-Wno-extra", 1479 "-Wno-ignored-qualifiers", 1480 "-Wno-non-virtual-dtor", 1481 "-Wno-sign-promo", 1482 ], 1483 1484 shared_libs: [ 1485 "libchrome", 1486 "libchrome-crypto", 1487 "libevent", 1488 "liblog", 1489 ], 1490 1491 header_libs: ["jni_headers"], 1492 1493 export_include_dirs: ["."], 1494} 1495 1496generate_mojom_srcjar { 1497 name: "libmojo_mojom_java_srcs", 1498 srcs: [":libmojo_mojom_downgraded_files"], 1499 pickles: [":libmojo_mojom_pickles"], 1500 srcjar: "libmojo_mojom.srcjar", 1501 templates: ":libmojo_mojom_templates", 1502 flags: "--disallow_native_types", 1503 typemaps: [":libmojo_common_custom_types__type_mappings"], 1504} 1505 1506java_library { 1507 name: "android.mojo", 1508 1509 srcs: [ 1510 ":libmojo_mojom_java_srcs", 1511 "base/android/java/src/org/chromium/base/BuildConfig.java", 1512 "base/android/java/src/org/chromium/base/BuildInfo.java", 1513 "base/android/java/src/org/chromium/base/ContextUtils.java", 1514 "base/android/java/src/org/chromium/base/DiscardableReferencePool.java", 1515 "base/android/java/src/org/chromium/base/JavaExceptionReporter.java", 1516 "base/android/java/src/org/chromium/base/Log.java", 1517 "base/android/java/src/org/chromium/base/PackageUtils.java", 1518 "base/android/java/src/org/chromium/base/StrictModeContext.java", 1519 "base/android/java/src/org/chromium/base/Supplier.java", 1520 "base/android/java/src/org/chromium/base/ThreadUtils.java", 1521 "base/android/java/src/org/chromium/base/TimezoneUtils.java", 1522 "base/android/java/src/org/chromium/base/VisibleForTesting.java", 1523 "base/android/java/src/org/chromium/base/annotations/AccessedByNative.java", 1524 "base/android/java/src/org/chromium/base/annotations/CalledByNative.java", 1525 "base/android/java/src/org/chromium/base/annotations/CalledByNativeUnchecked.java", 1526 "base/android/java/src/org/chromium/base/annotations/JNIAdditionalImport.java", 1527 "base/android/java/src/org/chromium/base/annotations/JNINamespace.java", 1528 "base/android/java/src/org/chromium/base/annotations/MainDex.java", 1529 "base/android/java/src/org/chromium/base/annotations/NativeCall.java", 1530 "base/android/java/src/org/chromium/base/annotations/NativeClassQualifiedName.java", 1531 "base/android/java/src/org/chromium/base/annotations/RemovableInRelease.java", 1532 "base/android/java/src/org/chromium/base/annotations/UsedByReflection.java", 1533 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/AssociatedInterfaceNotSupported.java", 1534 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/AssociatedInterfaceRequestNotSupported.java", 1535 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/AutoCloseableRouter.java", 1536 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/BindingsHelper.java", 1537 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Callbacks.java", 1538 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ConnectionErrorHandler.java", 1539 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Connector.java", 1540 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/DataHeader.java", 1541 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Decoder.java", 1542 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/DelegatingConnectionErrorHandler.java", 1543 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/DeserializationException.java", 1544 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Encoder.java", 1545 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ExceptionHandler.java", 1546 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ExecutorFactory.java", 1547 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/HandleOwner.java", 1548 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Interface.java", 1549 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java", 1550 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceRequest.java", 1551 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Message.java", 1552 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageHeader.java", 1553 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageReceiver.java", 1554 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/MessageReceiverWithResponder.java", 1555 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Router.java", 1556 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/RouterImpl.java", 1557 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/SerializationException.java", 1558 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/ServiceMessage.java", 1559 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/SideEffectFreeCloseable.java", 1560 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Struct.java", 1561 "mojo/public/java/bindings/src/org/chromium/mojo/bindings/Union.java", 1562 "mojo/public/java/system/src/org/chromium/mojo/system/Core.java", 1563 "mojo/public/java/system/src/org/chromium/mojo/system/DataPipe.java", 1564 "mojo/public/java/system/src/org/chromium/mojo/system/Flags.java", 1565 "mojo/public/java/system/src/org/chromium/mojo/system/Handle.java", 1566 "mojo/public/java/system/src/org/chromium/mojo/system/InvalidHandle.java", 1567 "mojo/public/java/system/src/org/chromium/mojo/system/MessagePipeHandle.java", 1568 "mojo/public/java/system/src/org/chromium/mojo/system/MojoException.java", 1569 "mojo/public/java/system/src/org/chromium/mojo/system/MojoResult.java", 1570 "mojo/public/java/system/src/org/chromium/mojo/system/Pair.java", 1571 "mojo/public/java/system/src/org/chromium/mojo/system/ResultAnd.java", 1572 "mojo/public/java/system/src/org/chromium/mojo/system/RunLoop.java", 1573 "mojo/public/java/system/src/org/chromium/mojo/system/SharedBufferHandle.java", 1574 "mojo/public/java/system/src/org/chromium/mojo/system/UntypedHandle.java", 1575 "mojo/public/java/system/src/org/chromium/mojo/system/Watcher.java", 1576 "mojo/public/java/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java", 1577 "mojo/public/java/system/src/org/chromium/mojo/system/impl/CoreImpl.java", 1578 "mojo/public/java/system/src/org/chromium/mojo/system/impl/DataPipeConsumerHandleImpl.java", 1579 "mojo/public/java/system/src/org/chromium/mojo/system/impl/DataPipeProducerHandleImpl.java", 1580 "mojo/public/java/system/src/org/chromium/mojo/system/impl/HandleBase.java", 1581 "mojo/public/java/system/src/org/chromium/mojo/system/impl/MessagePipeHandleImpl.java", 1582 "mojo/public/java/system/src/org/chromium/mojo/system/impl/SharedBufferHandleImpl.java", 1583 "mojo/public/java/system/src/org/chromium/mojo/system/impl/UntypedHandleImpl.java", 1584 "mojo/public/java/system/src/org/chromium/mojo/system/impl/WatcherImpl.java", 1585 ], 1586 1587 static_libs: [ 1588 "android-support-annotations", 1589 ], 1590} 1591