blob: 3a612893e9724ced5856987029cff22a7ddaccea [file] [log] [blame]
Colin Cross1c9187a2016-11-08 11:03:15 -08001// 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
Hidehiko Abec0d6a322018-02-15 11:09:33 +090018// 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.
Hidehiko Abeb268b432018-04-24 01:37:19 +090021// Note: gensrcs does not support exclude_srcs, so filegroup rule is
22// introduced.
Bob Badourdeac3a12021-02-12 14:51:58 -080023package {
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
Hidehiko Abeb268b432018-04-24 01:37:19 +090059filegroup {
60 name: "libchrome-include-sources",
Hidehiko Abe3dc91092018-04-17 02:39:24 +090061 srcs: [
hschamc8fd3f42020-03-11 10:41:13 +090062 "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",
hschama993eda2020-05-07 13:50:12 +090069 "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",
hschamc8fd3f42020-03-11 10:41:13 +090080 "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",
hschama993eda2020-05-07 13:50:12 +090093 "base/base_paths_android.h",
hschamc8fd3f42020-03-11 10:41:13 +090094 "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",
hschama993eda2020-05-07 13:50:12 +0900264 "base/os_compat_android.h",
hschamc8fd3f42020-03-11 10:41:13 +0900265 "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",
hschamc8fd3f42020-03-11 10:41:13 +0900468 "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",
Hidehiko Abeb268b432018-04-24 01:37:19 +0900502 ],
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"],
Hidehiko Abec0d6a322018-02-15 11:09:33 +0900511 output_extension: "h",
512}
513
Colin Cross1c9187a2016-11-08 11:03:15 -0800514cc_defaults {
515 name: "libchrome-defaults",
Colin Cross1c9187a2016-11-08 11:03:15 -0800516
517 cflags: [
518 "-Wall",
519 "-Werror",
Elliott Hughescd603b12018-01-10 16:38:43 -0800520 "-Wno-deprecated-declarations",
Chih-Hung Hsieha5a2dc02018-09-06 11:32:24 -0700521 "-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.
Hidehiko Abed5a42bb2018-02-22 02:41:22 +0900525 "-Wno-missing-field-initializers",
Hidehiko Abec0d6a322018-02-15 11:09:33 +0900526 "-Wno-unused-parameter",
Colin Cross1c9187a2016-11-08 11:03:15 -0800527 ],
Hidehiko Abec0d6a322018-02-15 11:09:33 +0900528
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"],
Orion Hodson649dae62020-04-08 20:16:28 +0100534 header_libs: ["jni_headers"],
535 export_header_lib_headers: ["jni_headers"],
Colin Cross1c9187a2016-11-08 11:03:15 -0800536 target: {
537 host: {
538 cflags: [
539 "-D__ANDROID_HOST__",
540 "-DDONT_EMBED_BUILD_METADATA",
541 ],
542 },
543 darwin: {
Hidehiko Abe36041032018-02-07 03:18:46 +0000544 enabled: false,
Colin Cross1c9187a2016-11-08 11:03:15 -0800545 },
546 },
547}
548
549cc_defaults {
550 name: "libchrome-test-defaults",
551 defaults: ["libchrome-defaults"],
552 cflags: [
Colin Cross1c9187a2016-11-08 11:03:15 -0800553 "-Wno-unused-function",
Yi Kong090abad2018-01-03 12:53:04 -0800554 "-Wno-unused-variable",
Colin Cross1c9187a2016-11-08 11:03:15 -0800555 ],
556}
557
558libchromeCommonSrc = [
559 "base/at_exit.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700560 "base/barrier_closure.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800561 "base/base64.cc",
562 "base/base64url.cc",
Hidehiko Abe34c15582018-04-12 17:02:44 +0900563 "base/base_paths.cc",
564 "base/base_paths_posix.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800565 "base/base_switches.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700566 "base/big_endian.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800567 "base/build_time.cc",
568 "base/callback_helpers.cc",
569 "base/callback_internal.cc",
570 "base/command_line.cc",
571 "base/cpu.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900572 "base/debug/activity_tracker.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800573 "base/debug/alias.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700574 "base/debug/crash_logging.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800575 "base/debug/debugger.cc",
576 "base/debug/debugger_posix.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900577 "base/debug/dump_without_crashing.cc",
Hidehiko Abed7e7f682018-03-15 00:16:10 +0900578 "base/debug/proc_maps_linux.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900579 "base/debug/profiler.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800580 "base/debug/stack_trace.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800581 "base/debug/task_annotator.cc",
582 "base/environment.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900583 "base/feature_list.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800584 "base/files/file.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900585 "base/files/file_descriptor_watcher_posix.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800586 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700609 "base/lazy_instance_helpers.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800610 "base/location.cc",
611 "base/logging.cc",
612 "base/md5.cc",
613 "base/memory/aligned_memory.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700614 "base/memory/platform_shared_memory_region.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700615 "base/memory/read_only_shared_memory_region.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800616 "base/memory/ref_counted.cc",
617 "base/memory/ref_counted_memory.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700618 "base/memory/shared_memory_handle.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900619 "base/memory/shared_memory_helper.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700620 "base/memory/shared_memory_mapping.cc",
621 "base/memory/unsafe_shared_memory_region.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800622 "base/memory/weak_ptr.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700623 "base/memory/writable_shared_memory_region.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800624 "base/message_loop/incoming_task_queue.cc",
625 "base/message_loop/message_loop.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700626 "base/message_loop/message_loop_current.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800627 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700631 "base/message_loop/watchable_io_message_pump_posix.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800632 "base/metrics/bucket_ranges.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700633 "base/metrics/dummy_histogram.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800634 "base/metrics/field_trial.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900635 "base/metrics/field_trial_param_associator.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800636 "base/metrics/histogram.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700637 "base/metrics/histogram_base.cc",
638 "base/metrics/histogram_functions.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800639 "base/metrics/histogram_samples.cc",
640 "base/metrics/histogram_snapshot_manager.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700641 "base/metrics/metrics_hashes.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800642 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700649 "base/native_library.cc",
650 "base/native_library_posix.cc",
651 "base/observer_list_threadsafe.cc",
Hidehiko Abe34c15582018-04-12 17:02:44 +0900652 "base/path_service.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800653 "base/pending_task.cc",
654 "base/pickle.cc",
655 "base/posix/file_descriptor_shuffle.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700656 "base/posix/global_descriptors.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800657 "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",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900662 "base/process/memory.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800663 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800669 "base/rand_util.cc",
670 "base/rand_util_posix.cc",
671 "base/run_loop.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700672 "base/scoped_native_library.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800673 "base/sequence_checker_impl.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900674 "base/sequence_token.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800675 "base/sequenced_task_runner.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900676 "base/sha1.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700677 "base/strings/nullable_string16.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800678 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800683 "base/strings/string_split.cc",
684 "base/strings/string_util.cc",
685 "base/strings/string_util_constants.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700686 "base/strings/stringprintf.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800687 "base/strings/utf_string_conversion_utils.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700688 "base/strings/utf_string_conversions.cc",
689 "base/sync_socket_posix.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900690 "base/synchronization/atomic_flag.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800691 "base/synchronization/condition_variable_posix.cc",
692 "base/synchronization/lock.cc",
693 "base/synchronization/lock_impl_posix.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800694 "base/synchronization/waitable_event_posix.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800695 "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",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900700 "base/task_scheduler/scoped_set_task_priority_for_current_thread.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800701 "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",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900705 "base/third_party/dynamic_annotations/dynamic_annotations.c",
Colin Cross1c9187a2016-11-08 11:03:15 -0800706 "base/third_party/icu/icu_utf.cc",
707 "base/third_party/nspr/prtime.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800708 "base/threading/platform_thread_posix.cc",
709 "base/threading/post_task_and_reply_impl.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700710 "base/threading/scoped_blocking_call.cc",
711 "base/threading/sequence_local_storage_map.cc",
712 "base/threading/sequence_local_storage_slot.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800713 "base/threading/sequenced_task_runner_handle.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800714 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800719 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800723 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700728 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800732 "base/timer/elapsed_timer.cc",
733 "base/timer/timer.cc",
Hidehiko Abe34c15582018-04-12 17:02:44 +0900734 "base/unguessable_token.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700735 "base/value_iterators.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800736 "base/values.cc",
737 "base/version.cc",
738 "base/vlog.cc",
Hidehiko Abe34c15582018-04-12 17:02:44 +0900739 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800756]
757
758libchromeLinuxSrc = [
Colin Cross1c9187a2016-11-08 11:03:15 -0800759 "base/files/file_path_watcher_linux.cc",
760 "base/files/file_util_linux.cc",
761 "base/memory/shared_memory_posix.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700762 "base/posix/unix_domain_socket.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800763 "base/process/internal_linux.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900764 "base/process/memory_linux.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800765 "base/process/process_handle_linux.cc",
Jakub Pawlowski319afc52017-03-14 10:55:53 -0700766 "base/process/process_info_linux.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800767 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800773]
774
Colin Cross7e6a2642022-01-13 13:45:32 -0800775libchromeMuslSrc = [
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 = [
Hidehiko Abe24af70e2018-02-08 13:43:07 +0900782 "base/allocator/allocator_shim.cc",
Hidehiko Abed7e7f682018-03-15 00:16:10 +0900783 "base/allocator/allocator_shim_default_dispatch_to_glibc.cc",
784 "base/debug/stack_trace_posix.cc",
hschama993eda2020-05-07 13:50:12 +0900785 "base/memory/platform_shared_memory_region_posix.cc",
786 "base/memory/shared_memory_handle_posix.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800787]
788
Jeongik Cha20d64222021-02-26 14:22:33 +0900789libchromeLinuxBionicSrc = [
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
Hidehiko Abe24af70e2018-02-08 13:43:07 +0900795libchromeAndroidSrc = [
hschama993eda2020-05-07 13:50:12 +0900796 "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",
Hidehiko Abed7e7f682018-03-15 00:16:10 +0900808 "base/debug/stack_trace_android.cc",
hschama993eda2020-05-07 13:50:12 +0900809 "base/memory/platform_shared_memory_region_android.cc",
Hidehiko Abe24af70e2018-02-08 13:43:07 +0900810 "base/memory/shared_memory_android.cc",
hschama993eda2020-05-07 13:50:12 +0900811 "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",
Hidehiko Abe24af70e2018-02-08 13:43:07 +0900815]
Colin Cross1c9187a2016-11-08 11:03:15 -0800816
817// libchrome static+shared for host and device
818// ========================================================
819cc_library {
820 name: "libchrome",
821 host_supported: true,
Inseob Kim35abebf2021-06-14 12:57:12 +0900822 ramdisk_available: true,
Dan Willemsenc0ea7c52018-10-23 13:46:11 -0700823 recovery_available: true,
Dan Willemsenc9027cb2017-04-07 14:11:37 -0700824 vendor_available: true,
Colin Cross1c9187a2016-11-08 11:03:15 -0800825 defaults: ["libchrome-defaults"],
826 srcs: libchromeCommonSrc,
827
828 export_shared_lib_headers: ["libbase"],
Elliott Hughes3e993c22021-04-22 13:31:27 -0700829 export_header_lib_headers: ["libgtest_prod_headers"],
Colin Cross1c9187a2016-11-08 11:03:15 -0800830 shared_libs: [
831 "libbase",
832 "libevent",
833 ],
Elliott Hughes3e993c22021-04-22 13:31:27 -0700834 header_libs: [
835 "libgtest_prod_headers",
836 ],
Colin Cross1c9187a2016-11-08 11:03:15 -0800837 static_libs: [
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700838 "libmodpb64",
Colin Cross1c9187a2016-11-08 11:03:15 -0800839 ],
hschama993eda2020-05-07 13:50:12 +0900840 generated_headers: [
841 "libmojo_jni_headers",
842 "libmojo_jni_registration_headers",
843 ],
844 export_generated_headers: [
845 "libmojo_jni_registration_headers",
846 ],
Colin Cross1c9187a2016-11-08 11:03:15 -0800847 target: {
Dan Willemsenb60f75f2017-10-03 14:19:02 -0700848 linux: {
849 srcs: libchromeLinuxSrc,
850 },
Jeongik Cha20d64222021-02-26 14:22:33 +0900851 linux_bionic: {
852 srcs: libchromeLinuxBionicSrc,
853 shared_libs: [
854 "liblog",
855 ],
856 },
Colin Cross7e6a2642022-01-13 13:45:32 -0800857 glibc: {
858 srcs: libchromeGlibcSrc,
859 },
860 musl: {
861 srcs: libchromeMuslSrc,
Hidehiko Abe24af70e2018-02-08 13:43:07 +0900862 },
Colin Cross1c9187a2016-11-08 11:03:15 -0800863 android: {
Hidehiko Abe24af70e2018-02-08 13:43:07 +0900864 srcs: libchromeAndroidSrc,
Colin Cross1c9187a2016-11-08 11:03:15 -0800865 shared_libs: [
Colin Cross1c9187a2016-11-08 11:03:15 -0800866 "libcutils",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700867 "liblog",
Colin Cross1c9187a2016-11-08 11:03:15 -0800868 ],
Colin Cross1c9187a2016-11-08 11:03:15 -0800869 },
Colin Cross1c9187a2016-11-08 11:03:15 -0800870 },
William Escande8e5f4542022-06-03 19:09:20 -0700871 apex_available: [
872 "//apex_available:platform",
873 "com.android.bluetooth",
874 ],
Roopa Sattiraju06adc1e2021-12-22 16:10:29 -0800875 min_sdk_version: "30",
Colin Cross1c9187a2016-11-08 11:03:15 -0800876}
877
878// libchrome-crypto shared library for device
879// ========================================================
Hidehiko Abe3dc91092018-04-17 02:39:24 +0900880
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
Colin Cross1c9187a2016-11-08 11:03:15 -0800892cc_library_shared {
893 name: "libchrome-crypto",
Jeffrey Kardatzke9f9c37c2018-05-18 15:31:22 -0700894 vendor_available: true,
Colin Cross1c9187a2016-11-08 11:03:15 -0800895 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
Hidehiko Abe3dc91092018-04-17 02:39:24 +0900904 generated_headers: ["libchrome-crypto-include"],
905 export_generated_headers: ["libchrome-crypto-include"],
906
Colin Cross1c9187a2016-11-08 11:03:15 -0800907 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"],
Mark Urbanus394b0042017-01-27 12:58:18 -0800920 host_supported: true,
Colin Cross1c9187a2016-11-08 11:03:15 -0800921
922 srcs: [
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900923 "base/test/gtest_util.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800924 "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 ],
Colin Cross1c9187a2016-11-08 11:03:15 -0800931}
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"],
Colin Cross1c9187a2016-11-08 11:03:15 -0800941}
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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700957 "base/big_endian_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800958 "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",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900967 "base/debug/activity_tracker_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800968 "base/debug/debugger_unittest.cc",
969 "base/debug/leak_tracker_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800970 "base/environment_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800971 "base/files/dir_reader_posix_unittest.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +0900972 "base/files/file_descriptor_watcher_posix_unittest.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700973 "base/files/file_enumerator_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800974 "base/files/file_path_unittest.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -0700975 "base/files/file_path_watcher_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800976 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800981 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -0800994 "base/memory/singleton_unittest.cc",
995 "base/memory/weak_ptr_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -0800996 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -08001000 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001004 "base/metrics/metrics_hashes_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001005 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -08001012 "base/observer_list_unittest.cc",
1013 "base/optional_unittest.cc",
1014 "base/pickle_unittest.cc",
1015 "base/posix/file_descriptor_shuffle_unittest.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001016 "base/posix/unix_domain_socket_unittest.cc",
Jakub Pawlowski319afc52017-03-14 10:55:53 -07001017 "base/process/process_info_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001018 "base/process/process_metrics_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001019 "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",
Jakub Pawlowski319afc52017-03-14 10:55:53 -07001024 "base/sequence_token_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001025 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -08001031 "base/strings/string_split_unittest.cc",
1032 "base/strings/string_util_unittest.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001033 "base/strings/stringprintf_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001034 "base/strings/sys_string_conversions_unittest.cc",
1035 "base/strings/utf_string_conversions_unittest.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001036 "base/sync_socket_unittest.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +09001037 "base/synchronization/atomic_flag_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001038 "base/synchronization/condition_variable_unittest.cc",
1039 "base/synchronization/lock_unittest.cc",
1040 "base/synchronization/waitable_event_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001041 "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",
Hidehiko Abe36040ed2017-12-13 18:59:30 +09001045 "base/task_scheduler/scoped_set_task_priority_for_current_thread_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001046 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001050 "base/test/metrics/histogram_tester.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +09001051 "base/test/mock_entropy_provider.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001052 "base/test/multiprocess_test.cc",
Hidehiko Abe36040ed2017-12-13 18:59:30 +09001053 "base/test/scoped_feature_list.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001054 "base/test/scoped_locale.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001055 "base/test/simple_test_tick_clock.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001056 "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",
Hidehiko Abe36040ed2017-12-13 18:59:30 +09001060 "base/test/test_mock_time_task_runner.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001061 "base/test/test_pending_task.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001062 "base/test/test_shared_memory_util.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001063 "base/test/test_simple_task_runner.cc",
1064 "base/test/test_switches.cc",
1065 "base/test/test_timeouts.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001066 "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",
Colin Cross1c9187a2016-11-08 11:03:15 -08001074 "base/time/pr_time_unittest.cc",
1075 "base/time/time_unittest.cc",
1076 "base/timer/hi_res_timer_manager_unittest.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001077 "base/timer/mock_timer.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001078 "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",
Hidehiko Abe34c15582018-04-12 17:02:44 +09001084 "ui/gfx/range/range_unittest.cc",
Colin Cross1c9187a2016-11-08 11:03:15 -08001085 ],
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 },
Colin Cross1c9187a2016-11-08 11:03:15 -08001107 },
1108}
Hidehiko Abeb268b432018-04-24 01:37:19 +09001109
1110filegroup {
1111 name: "libmojo_mojom_files",
1112 srcs: [
1113 "ipc/ipc.mojom",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001114 "mojo/public/interfaces/bindings/interface_control_messages.mojom",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001115 "mojo/public/interfaces/bindings/native_struct.mojom",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001116 "mojo/public/interfaces/bindings/pipe_control_messages.mojom",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001117 "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",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001133 "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
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001152 // Exclude windows/mac/ios/fuchsia files.
Hidehiko Abeb268b432018-04-24 01:37:19 +09001153 "**/*_win.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001154 "**/*_fuchsia.cc",
1155 "mojo/core/mach_port_relay.*",
1156 "mojo/public/cpp/base/logfont_win*",
1157 "mojo/public/mojom/base/logfont_win*",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001158
1159 // Exclude js binding related files.
Hidehiko Abeb268b432018-04-24 01:37:19 +09001160 "mojo/public/js/**/*",
1161
1162 // Exclude tests.
Hidehiko Abeb268b432018-04-24 01:37:19 +09001163 "**/*_unittest.cc",
1164 "**/*_unittests.cc",
1165 "**/*_perftest.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001166 "mojo/core/core_test_base.*",
1167 "mojo/core/test/*",
1168 "mojo/core/test_utils.*",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001169 "mojo/public/c/system/tests/**/*",
1170 "mojo/public/cpp/bindings/tests/**/*",
1171 "mojo/public/cpp/system/tests/**/*",
1172 "mojo/public/cpp/test_support/**/*",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001173 "mojo/public/java/system/javatests/**/*",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001174 "mojo/public/tests/**/*",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001175
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/**/*",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001181 ],
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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001203 ],
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",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001214 ],
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: [
Hidehiko Abeb268b432018-04-24 01:37:19 +09001222 "build/**/*.py",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001223 "mojo/public/tools/bindings/**/*.py",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001224 "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
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001236genrule {
1237 name: "libmojo_mojom_templates",
1238 cmd: "$(location mojom_bindings_generator)" +
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001239 " --use_bundled_pylibs precompile" +
1240 " -o $(genDir)",
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001241
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
Hidehiko Abeefb5ead2018-06-05 21:26:21 +09001253python_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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001260 "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",
Hidehiko Abeefb5ead2018-06-05 21:26:21 +09001264 ],
1265 defaults: ["libmojo_scripts"],
1266}
1267
1268genrule {
1269 name: "libmojo_common_custom_types__type_mappings",
1270 cmd: "$(location mojom_generate_type_mappings)" +
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001271 " --output=$(out)" +
1272 " $(in)",
Hidehiko Abeefb5ead2018-06-05 21:26:21 +09001273
1274 tools: ["mojom_generate_type_mappings"],
1275
1276 srcs: [
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001277 "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",
Hidehiko Abeefb5ead2018-06-05 21:26:21 +09001295 ],
1296 out: ["common_custom_types__type_mappings"],
1297}
1298
hscham7b910032020-03-12 16:28:26 +09001299python_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
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001313generate_mojom_pickles {
1314 name: "libmojo_mojom_pickles",
hscham7b910032020-03-12 16:28:26 +09001315 srcs: [":libmojo_mojom_downgraded_files"],
Hidehiko Abeb268b432018-04-24 01:37:19 +09001316}
1317
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001318generate_mojom_headers {
1319 name: "libmojo_mojom_headers",
hscham7b910032020-03-12 16:28:26 +09001320 srcs: [":libmojo_mojom_downgraded_files"],
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001321 pickles: [":libmojo_mojom_pickles"],
1322 templates: ":libmojo_mojom_templates",
1323 flags: "--disallow_native_types",
1324 typemaps: [":libmojo_common_custom_types__type_mappings"],
1325}
Hidehiko Abeb268b432018-04-24 01:37:19 +09001326
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001327generate_mojom_srcs {
1328 name: "libmojo_mojom_srcs",
hscham7b910032020-03-12 16:28:26 +09001329 srcs: [":libmojo_mojom_downgraded_files"],
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001330 pickles: [":libmojo_mojom_pickles"],
1331 templates: ":libmojo_mojom_templates",
1332 flags: "--disallow_native_types",
1333 typemaps: [":libmojo_common_custom_types__type_mappings"],
Hidehiko Abeb268b432018-04-24 01:37:19 +09001334}
1335
Hidehiko Abeb268b432018-04-24 01:37:19 +09001336genrule {
1337 name: "libmojo_jni_headers",
1338 cmd: "$(location libchrome_tools/jni_generator_helper.sh)" +
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001339 " --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)",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001344
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",
hschama993eda2020-05-07 13:50:12 +09001355 "base/android/java/src/org/chromium/base/ContentUriUtils.java",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001356 "base/android/java/src/org/chromium/base/JavaExceptionReporter.java",
hschama993eda2020-05-07 13:50:12 +09001357 "base/android/java/src/org/chromium/base/PathUtils.java",
1358 "base/android/java/src/org/chromium/base/SysUtils.java",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001359 "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",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001363 ],
1364
1365 out: [
Hidehiko Abeb268b432018-04-24 01:37:19 +09001366 "jni/BaseRunLoop_jni.h",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001367 "jni/BuildInfo_jni.h",
hschama993eda2020-05-07 13:50:12 +09001368 "jni/ContentUriUtils_jni.h",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001369 "jni/CoreImpl_jni.h",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001370 "jni/JavaExceptionReporter_jni.h",
hschama993eda2020-05-07 13:50:12 +09001371 "jni/PathUtils_jni.h",
1372 "jni/SysUtils_jni.h",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001373 "jni/WatcherImpl_jni.h",
1374 ],
1375}
1376
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001377genrule {
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
Hidehiko Abeb268b432018-04-24 01:37:19 +09001406cc_library_shared {
1407 name: "libmojo",
Jeffrey Kardatzke9f9c37c2018-05-18 15:31:22 -07001408 vendor_available: true,
Hidehiko Abeb268b432018-04-24 01:37:19 +09001409
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001410 generated_sources: ["libmojo_mojom_srcs"],
Hidehiko Abeb268b432018-04-24 01:37:19 +09001411 generated_headers: [
1412 "libmojo_jni_headers",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001413 "libmojo_jni_registration_headers",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001414 "libmojo_mojom_headers",
1415 ],
Hidehiko Abeb268b432018-04-24 01:37:19 +09001416 export_generated_headers: [
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001417 "libmojo_jni_registration_headers",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001418 "libmojo_mojom_headers",
1419 ],
1420
1421 srcs: [
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001422 ":libmojo_mojo_sources",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001423 "base/android/build_info.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001424 "base/android/java_exception_reporter.cc",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001425 "base/android/jni_android.cc",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001426 "base/android/jni_array.cc",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001427 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001437 "ipc/native_handle_type_converters.cc",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001438 ],
1439
1440 cflags: [
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001441 "-DMOJO_CORE_LEGACY_PROTOCOL",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001442 "-Wall",
1443 "-Werror",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001444 "-Wno-missing-field-initializers",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001445 "-Wno-unused-parameter",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001446 ],
1447
1448 // We also pass NO_ASHMEM to make base::SharedMemory avoid using it and prefer
1449 // the POSIX versions.
1450 cppflags: [
Hidehiko Abeb268b432018-04-24 01:37:19 +09001451 "-DNO_ASHMEM",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001452 "-Wno-extra",
1453 "-Wno-ignored-qualifiers",
1454 "-Wno-non-virtual-dtor",
1455 "-Wno-sign-promo",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001456 ],
1457
1458 shared_libs: [
Hidehiko Abeb268b432018-04-24 01:37:19 +09001459 "libchrome",
1460 "libchrome-crypto",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001461 "libevent",
1462 "liblog",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001463 ],
1464
Jeffrey Kardatzke9f9c37c2018-05-18 15:31:22 -07001465 header_libs: ["jni_headers"],
1466
Hidehiko Abeb268b432018-04-24 01:37:19 +09001467 export_include_dirs: ["."],
1468}
1469
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001470generate_mojom_srcjar {
Hidehiko Abeb268b432018-04-24 01:37:19 +09001471 name: "libmojo_mojom_java_srcs",
hscham7b910032020-03-12 16:28:26 +09001472 srcs: [":libmojo_mojom_downgraded_files"],
Luis Hector Chavezd958dea2018-09-05 16:05:30 -07001473 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"],
Hidehiko Abeb268b432018-04-24 01:37:19 +09001478}
1479
1480java_library {
1481 name: "android.mojo",
1482
1483 srcs: [
1484 ":libmojo_mojom_java_srcs",
hschamc8fd3f42020-03-11 10:41:13 +09001485 "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",
Jakub Pawlowskie280f122017-04-05 09:22:29 -07001559 ],
1560
1561 static_libs: [
1562 "android-support-annotations",
Hidehiko Abeb268b432018-04-24 01:37:19 +09001563 ],
1564}