| # Copyright 2015 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # TODO(lhchavez): Convert this to Android.bp |
| LOCAL_PATH:= $(call my-dir) |
| |
| # Build native shared library. |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE_CLASS := SHARED_LIBRARIES |
| LOCAL_MODULE := libmojo |
| LOCAL_MODULE_TAGS := optional |
| LOCAL_CPP_EXTENSION := .cc |
| |
| LOCAL_MOJOM_FILES := \ |
| mojo/common/common_custom_types.mojom \ |
| mojo/common/string16.mojom \ |
| mojo/public/interfaces/bindings/interface_control_messages.mojom \ |
| mojo/public/interfaces/bindings/pipe_control_messages.mojom \ |
| |
| # This file was copied from out/Release in a Chrome checkout. |
| # TODO(lhchavez): Generate this file instead of hardcoding it. |
| LOCAL_MOJOM_TYPE_MAPPINGS := \ |
| gen/mojo/common/common_custom_types__type_mappings \ |
| |
| LOCAL_MOJOM_BINDINGS_GENERATOR_FLAGS := --use_new_wrapper_types |
| |
| # Prepares all necessary templates. |
| include $(LOCAL_PATH)/build_mojom_templates.mk |
| |
| # Compiles all local mojom files. |
| include $(LOCAL_PATH)/build_mojom.mk |
| |
| # Runtime.class is added (instead of Runtime.java that lives in libcore) since |
| # the script that generates the JNI files does not handle compiling it well. |
| LOCAL_JAVA_JNI_FILES := \ |
| base/android/java/src/org/chromium/base/BuildInfo.java \ |
| base/android/java/src/org/chromium/base/ContentUriUtils.java \ |
| base/android/java/src/org/chromium/base/ContextUtils.java \ |
| base/android/java/src/org/chromium/base/PathUtils.java \ |
| base/android/java/src/org/chromium/base/SystemMessageHandler.java \ |
| jni/java/lang/Runtime.class \ |
| mojo/android/system/src/org/chromium/mojo/system/impl/BaseRunLoop.java \ |
| mojo/android/system/src/org/chromium/mojo/system/impl/CoreImpl.java \ |
| |
| # Generate all JNI header files. |
| include $(LOCAL_PATH)/build_generated_jni.mk |
| |
| LOCAL_SRC_FILES := \ |
| base/android/build_info.cc \ |
| base/android/content_uri_utils.cc \ |
| base/android/context_utils.cc \ |
| base/android/java_runtime.cc \ |
| base/android/jni_android.cc \ |
| base/android/jni_string.cc \ |
| base/android/path_utils.cc \ |
| base/android/scoped_java_ref.cc \ |
| base/base_paths.cc \ |
| base/base_paths_android.cc \ |
| base/debug/proc_maps_linux.cc \ |
| base/debug/stack_trace_android.cc \ |
| base/files/file_util_android.cc \ |
| base/message_loop/message_pump_android.cc \ |
| base/path_service.cc \ |
| base/threading/thread_local_android.cc \ |
| base/trace_event/java_heap_dump_provider_android.cc \ |
| base/trace_event/trace_event_android.cc \ |
| ipc/brokerable_attachment.cc \ |
| ipc/ipc_message.cc \ |
| ipc/ipc_message_attachment.cc \ |
| ipc/ipc_message_attachment_set.cc \ |
| ipc/ipc_message_utils.cc \ |
| ipc/ipc_mojo_handle_attachment.cc \ |
| ipc/ipc_mojo_message_helper.cc \ |
| ipc/ipc_mojo_param_traits.cc \ |
| ipc/ipc_platform_file_attachment_posix.cc \ |
| ipc/placeholder_brokerable_attachment.cc \ |
| mojo/android/system/base_run_loop.cc \ |
| mojo/android/system/core_impl.cc \ |
| mojo/edk/embedder/embedder.cc \ |
| mojo/common/common_custom_types_struct_traits.cc \ |
| mojo/edk/embedder/entrypoints.cc \ |
| mojo/edk/embedder/platform_channel_pair.cc \ |
| mojo/edk/embedder/platform_channel_pair_posix.cc \ |
| mojo/edk/embedder/platform_channel_utils_posix.cc \ |
| mojo/edk/embedder/platform_handle.cc \ |
| mojo/edk/embedder/platform_handle_utils_posix.cc \ |
| mojo/edk/embedder/platform_shared_buffer.cc \ |
| mojo/edk/system/awakable_list.cc \ |
| mojo/edk/system/broker_host_posix.cc \ |
| mojo/edk/system/broker_posix.cc \ |
| mojo/edk/system/channel.cc \ |
| mojo/edk/system/channel_posix.cc \ |
| mojo/edk/system/configuration.cc \ |
| mojo/edk/system/core.cc \ |
| mojo/edk/system/data_pipe_consumer_dispatcher.cc \ |
| mojo/edk/system/data_pipe_control_message.cc \ |
| mojo/edk/system/data_pipe_producer_dispatcher.cc \ |
| mojo/edk/system/dispatcher.cc \ |
| mojo/edk/system/handle_table.cc \ |
| mojo/edk/system/mapping_table.cc \ |
| mojo/edk/system/message_for_transit.cc \ |
| mojo/edk/system/message_pipe_dispatcher.cc \ |
| mojo/edk/system/node_channel.cc \ |
| mojo/edk/system/node_controller.cc \ |
| mojo/edk/system/platform_handle_dispatcher.cc \ |
| mojo/edk/system/ports/event.cc \ |
| mojo/edk/system/ports/message.cc \ |
| mojo/edk/system/ports/message_queue.cc \ |
| mojo/edk/system/ports/name.cc \ |
| mojo/edk/system/ports/node.cc \ |
| mojo/edk/system/ports/port.cc \ |
| mojo/edk/system/ports/port_ref.cc \ |
| mojo/edk/system/ports_message.cc \ |
| mojo/edk/system/request_context.cc \ |
| mojo/edk/system/shared_buffer_dispatcher.cc \ |
| mojo/edk/system/wait_set_dispatcher.cc \ |
| mojo/edk/system/waiter.cc \ |
| mojo/edk/system/watcher.cc \ |
| mojo/edk/system/watcher_set.cc \ |
| mojo/message_pump/handle_watcher.cc \ |
| mojo/message_pump/message_pump_mojo.cc \ |
| mojo/message_pump/time_helper.cc \ |
| mojo/public/c/system/thunks.cc \ |
| mojo/public/cpp/bindings/lib/array_internal.cc \ |
| mojo/public/cpp/bindings/lib/associated_group.cc \ |
| mojo/public/cpp/bindings/lib/associated_group_controller.cc \ |
| mojo/public/cpp/bindings/lib/bindings_internal.cc \ |
| mojo/public/cpp/bindings/lib/connector.cc \ |
| mojo/public/cpp/bindings/lib/control_message_handler.cc \ |
| mojo/public/cpp/bindings/lib/control_message_proxy.cc \ |
| mojo/public/cpp/bindings/lib/filter_chain.cc \ |
| mojo/public/cpp/bindings/lib/fixed_buffer.cc \ |
| mojo/public/cpp/bindings/lib/interface_endpoint_client.cc \ |
| mojo/public/cpp/bindings/lib/message.cc \ |
| mojo/public/cpp/bindings/lib/message_buffer.cc \ |
| mojo/public/cpp/bindings/lib/message_builder.cc \ |
| mojo/public/cpp/bindings/lib/message_filter.cc \ |
| mojo/public/cpp/bindings/lib/message_header_validator.cc \ |
| mojo/public/cpp/bindings/lib/multiplex_router.cc \ |
| mojo/public/cpp/bindings/lib/native_struct.cc \ |
| mojo/public/cpp/bindings/lib/native_struct_data.cc \ |
| mojo/public/cpp/bindings/lib/native_struct_serialization.cc \ |
| mojo/public/cpp/bindings/lib/no_interface.cc \ |
| mojo/public/cpp/bindings/lib/pipe_control_message_handler.cc \ |
| mojo/public/cpp/bindings/lib/pipe_control_message_proxy.cc \ |
| mojo/public/cpp/bindings/lib/router.cc \ |
| mojo/public/cpp/bindings/lib/scoped_interface_endpoint_handle.cc \ |
| mojo/public/cpp/bindings/lib/serialization_context.cc \ |
| mojo/public/cpp/bindings/lib/sync_handle_registry.cc \ |
| mojo/public/cpp/bindings/lib/sync_handle_watcher.cc \ |
| mojo/public/cpp/bindings/lib/validation_context.cc \ |
| mojo/public/cpp/bindings/lib/validation_errors.cc \ |
| mojo/public/cpp/bindings/lib/validation_util.cc \ |
| mojo/public/cpp/system/watcher.cc \ |
| |
| LOCAL_CFLAGS := \ |
| -Wno-unused-parameter \ |
| -Wno-missing-field-initializers \ |
| -DMOJO_EDK_LEGACY_PROTOCOL \ |
| |
| # We use OS_POSIX since we need to communicate with Chrome. |
| # We also pass NO_ASHMEM to make base::SharedMemory avoid using it and prefer |
| # the POSIX versions. |
| LOCAL_CPPFLAGS := \ |
| -Wno-sign-promo \ |
| -Wno-non-virtual-dtor \ |
| -Wno-ignored-qualifiers \ |
| -Wno-extra \ |
| -DOS_POSIX \ |
| -DNO_ASHMEM \ |
| -DNO_TCMALLOC \ |
| |
| LOCAL_SHARED_LIBRARIES := libevent liblog libchrome libchrome-crypto |
| |
| LOCAL_C_INCLUDES := \ |
| external/gtest/include \ |
| |
| LOCAL_EXPORT_C_INCLUDE_DIRS += \ |
| external/gtest/include \ |
| $(LOCAL_PATH) \ |
| |
| include $(BUILD_SHARED_LIBRARY) |
| |
| # Build Java library. |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := android.mojo |
| LOCAL_MODULE_CLASS := JAVA_LIBRARIES |
| |
| # We manually add a few classes explicitly rather than using the |
| # |all-java-files-under| macro because base/ includes some stuff that we don't |
| # want to compile since it requires a lot of extra gyp-generated files |
| LOCAL_SRC_FILES := \ |
| base/android/java/src/org/chromium/base/BuildInfo.java \ |
| base/android/java/src/org/chromium/base/ContextUtils.java \ |
| base/android/java/src/org/chromium/base/PackageUtils.java \ |
| base/android/java/src/org/chromium/base/VisibleForTesting.java \ |
| $(call all-java-files-under, mojo/android/system/src) \ |
| $(call all-java-files-under, mojo/public/java/system/src) \ |
| $(call all-java-files-under, mojo/public/java/bindings/src) \ |
| $(call all-java-files-under, base/android/java/src/org/chromium/base/annotations) \ |
| |
| # Adds all .mojom files Java sources to compilation. |
| original_module_class := SHARED_LIBRARIES |
| original_module := libmojo |
| include $(LOCAL_PATH)/build_mojom_jar.mk |
| |
| include $(BUILD_STATIC_JAVA_LIBRARY) |