diff options
Diffstat (limited to 'chromium/mojo')
-rw-r--r-- | chromium/mojo/build/package_app.gypi | 31 | ||||
-rw-r--r-- | chromium/mojo/mojo.gyp | 378 | ||||
-rw-r--r-- | chromium/mojo/mojo_apps.gypi | 72 | ||||
-rw-r--r-- | chromium/mojo/mojo_examples.gypi | 62 | ||||
-rw-r--r-- | chromium/mojo/mojo_public.gypi | 192 | ||||
-rw-r--r-- | chromium/mojo/mojo_services.gypi | 83 | ||||
-rw-r--r-- | chromium/mojo/public/bindings/mojom_bindings_generator.gypi | 82 |
7 files changed, 883 insertions, 17 deletions
diff --git a/chromium/mojo/build/package_app.gypi b/chromium/mojo/build/package_app.gypi new file mode 100644 index 00000000000..d74cdc3ea0d --- /dev/null +++ b/chromium/mojo/build/package_app.gypi @@ -0,0 +1,31 @@ +# Copyright (c) 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'type': 'none', + 'dependencies': [ + '<(app_name)', + ], + 'conditions': [ + ['OS=="android"', { + 'variables': { + 'mojo_app_dir': '<(PRODUCT_DIR)/apps', + 'source_binary': '<(SHARED_LIB_DIR)/<(SHARED_LIB_PREFIX)<(app_name)<(SHARED_LIB_SUFFIX)', + 'target_binary': '<(mojo_app_dir)/<(SHARED_LIB_PREFIX)<(app_name)<(SHARED_LIB_SUFFIX)', + }, + 'actions': [{ + 'action_name': 'strip', + 'inputs': [ '<(source_binary)', ], + 'outputs': [ '<(target_binary)', ], + 'action': [ + '<(android_strip)', + '<@(_inputs)', + '--strip-unneeded', + '-o', + '<@(_outputs)', + ], + }], + }], + ], +} diff --git a/chromium/mojo/mojo.gyp b/chromium/mojo/mojo.gyp index e323d288109..9151d4259d9 100644 --- a/chromium/mojo/mojo.gyp +++ b/chromium/mojo/mojo.gyp @@ -4,46 +4,390 @@ { 'variables': { - 'chromium_code': 1, # Use higher warning level. - }, - 'target_defaults': { - 'defines': ['MOJO_IMPLEMENTATION'], + 'chromium_code': 1, }, + 'includes': [ + 'mojo_apps.gypi', + 'mojo_examples.gypi', + 'mojo_public.gypi', + 'mojo_services.gypi', + ], 'targets': [ { 'target_name': 'mojo', 'type': 'none', 'dependencies': [ - 'mojo_message', + 'mojo_bindings', + 'mojo_bindings_unittests', + 'mojo_common_lib', + 'mojo_common_unittests', + 'mojo_hello_world_service', + 'mojo_js', + 'mojo_js_unittests', + 'mojo_public_perftests', + 'mojo_public_test_support', + 'mojo_public_unittests', + 'mojo_sample_app', + 'mojo_shell', + 'mojo_shell_lib', + 'mojo_system', + 'mojo_system_impl', + 'mojo_system_unittests', + 'mojo_utility', + 'mojo_utility_unittests', ], }, { - 'target_name': 'mojo_message', + 'target_name': 'mojo_run_all_unittests', 'type': 'static_library', - 'include_dirs': [ - '..', + 'dependencies': [ + '../base/base.gyp:base', + '../base/base.gyp:test_support_base', + '../testing/gtest.gyp:gtest', + 'mojo_system', + 'mojo_system_impl', + ], + 'sources': [ + 'common/test/run_all_unittests.cc', + ], + }, + { + 'target_name': 'mojo_run_all_perftests', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:test_support_base', + 'mojo_system', + 'mojo_system_impl', + ], + 'sources': [ + 'common/test/run_all_perftests.cc', + ], + }, + { + 'target_name': 'mojo_system_impl', + 'type': '<(component)', + 'dependencies': [ + 'mojo_system', + '../base/base.gyp:base', + ], + 'defines': [ + 'MOJO_SYSTEM_IMPL_IMPLEMENTATION', ], 'sources': [ - 'public/libs/message/message.cc', - 'public/libs/message/message.h', - 'public/libs/message/message_builder.cc', - 'public/libs/message/message_builder.h', + 'system/channel.cc', + 'system/channel.h', + 'system/constants.h', + 'system/core_impl.cc', + 'system/core_impl.h', + 'system/data_pipe.cc', + 'system/data_pipe.h', + 'system/data_pipe_consumer_dispatcher.cc', + 'system/data_pipe_consumer_dispatcher.h', + 'system/data_pipe_producer_dispatcher.cc', + 'system/data_pipe_producer_dispatcher.h', + 'system/dispatcher.cc', + 'system/dispatcher.h', + 'system/local_data_pipe.cc', + 'system/local_data_pipe.h', + 'system/local_message_pipe_endpoint.cc', + 'system/local_message_pipe_endpoint.h', + 'system/memory.cc', + 'system/memory.h', + 'system/message_in_transit.cc', + 'system/message_in_transit.h', + 'system/message_pipe.cc', + 'system/message_pipe.h', + 'system/message_pipe_dispatcher.cc', + 'system/message_pipe_dispatcher.h', + 'system/message_pipe_endpoint.cc', + 'system/message_pipe_endpoint.h', + 'system/platform_channel.cc', + 'system/platform_channel.h', + 'system/platform_channel_handle.cc', + 'system/platform_channel_handle.h', + 'system/platform_channel_posix.cc', + 'system/proxy_message_pipe_endpoint.cc', + 'system/proxy_message_pipe_endpoint.h', + 'system/raw_channel.h', + 'system/raw_channel_posix.cc', + 'system/raw_channel_win.cc', + 'system/simple_dispatcher.cc', + 'system/simple_dispatcher.h', + 'system/waiter.cc', + 'system/waiter.h', + 'system/waiter_list.cc', + 'system/waiter_list.h', ], }, { - 'target_name': 'mojo_unittests', + 'target_name': 'mojo_system_unittests', 'type': 'executable', 'dependencies': [ - 'mojo_message', '../base/base.gyp:run_all_unittests', '../testing/gtest.gyp:gtest', + 'mojo_common_test_support', + 'mojo_system', + 'mojo_system_impl', ], - 'include_dirs': [ - '..' + 'sources': [ + 'system/core_impl_unittest.cc', + 'system/core_test_base.cc', + 'system/core_test_base.h', + 'system/dispatcher_unittest.cc', + 'system/message_pipe_dispatcher_unittest.cc', + 'system/message_pipe_unittest.cc', + 'system/multiprocess_message_pipe_unittest.cc', + 'system/raw_channel_posix_unittest.cc', + 'system/remote_message_pipe_posix_unittest.cc', + 'system/simple_dispatcher_unittest.cc', + 'system/test_utils.cc', + 'system/test_utils.h', + 'system/waiter_list_unittest.cc', + 'system/waiter_test_utils.cc', + 'system/waiter_test_utils.h', + 'system/waiter_unittest.cc', + ], + }, + { + 'target_name': 'mojo_gles2_impl', + 'type': '<(component)', + 'dependencies': [ + '../gpu/gpu.gyp:gles2_c_lib', + 'mojo_gles2', + ], + 'defines': [ + 'MOJO_GLES2_IMPL_IMPLEMENTATION', ], 'sources': [ - 'public/libs/message/message_unittest.cc', + 'gles2/export.h', + 'gles2/gles2_impl.cc', + 'gles2/gles2_impl.h', ], }, + { + 'target_name': 'mojo_common_lib', + 'type': '<(component)', + 'defines': [ + 'MOJO_COMMON_IMPLEMENTATION', + ], + 'dependencies': [ + '../base/base.gyp:base', + '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', + 'mojo_system', + ], + 'sources': [ + 'common/bindings_support_impl.cc', + 'common/bindings_support_impl.h', + 'common/common_type_converters.cc', + 'common/common_type_converters.h', + 'common/handle_watcher.cc', + 'common/handle_watcher.h', + 'common/message_pump_mojo.cc', + 'common/message_pump_mojo.h', + 'common/message_pump_mojo_handler.h', + ], + 'conditions': [ + ['OS == "win"', { + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ + 4267, + ], + }], + ], + }, + { + 'target_name': 'mojo_common_test_support', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + '../base/base.gyp:test_support_base', + '../testing/gtest.gyp:gtest', + 'mojo_system', + 'mojo_system_impl', + ], + 'sources': [ + 'common/test/multiprocess_test_base.cc', + 'common/test/multiprocess_test_base.h', + ], + }, + { + 'target_name': 'mojo_common_unittests', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + '../base/base.gyp:base_message_loop_tests', + '../testing/gtest.gyp:gtest', + 'mojo_bindings', + 'mojo_common_lib', + 'mojo_common_test_support', + 'mojo_public_test_support', + 'mojo_run_all_unittests', + 'mojo_system', + 'mojo_system_impl', + ], + 'sources': [ + 'common/common_type_converters_unittest.cc', + 'common/handle_watcher_unittest.cc', + 'common/message_pump_mojo_unittest.cc', + 'common/test/multiprocess_test_base_unittest.cc', + ], + 'conditions': [ + ['OS == "win"', { + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ + 4267, + ], + }], + ], + }, + { + 'target_name': 'mojo_shell_lib', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + '../net/net.gyp:net', + '../url/url.gyp:url_lib', + 'mojo_bindings', + 'mojo_gles2_impl', + 'mojo_native_viewport_service', + 'mojo_system', + 'mojo_system_impl', + ], + 'sources': [ + 'shell/app_container.cc', + 'shell/app_container.h', + 'shell/context.cc', + 'shell/context.h', + 'shell/init.cc', + 'shell/init.h', + 'shell/loader.cc', + 'shell/loader.h', + 'shell/network_delegate.cc', + 'shell/network_delegate.h', + 'shell/run.cc', + 'shell/run.h', + 'shell/storage.cc', + 'shell/storage.h', + 'shell/switches.cc', + 'shell/switches.h', + 'shell/task_runners.cc', + 'shell/task_runners.h', + 'shell/url_request_context_getter.cc', + 'shell/url_request_context_getter.h', + ], + 'conditions': [ + ['OS == "win"', { + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ + 4267, + ], + }], + ], + }, + { + 'target_name': 'mojo_shell', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + '../ui/gl/gl.gyp:gl', + '../url/url.gyp:url_lib', + 'mojo_common_lib', + 'mojo_shell_lib', + 'mojo_system', + 'mojo_system_impl', + ], + 'sources': [ + 'shell/desktop/mojo_main.cc', + ], + 'conditions': [ + ['OS == "win"', { + # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. + 'msvs_disabled_warnings': [ + 4267, + ], + }], + ], + }, + ], + 'conditions': [ + ['OS=="android"', { + 'targets': [ + { + 'target_name': 'mojo_native_viewport_java', + 'type': 'none', + 'dependencies': [ + '../base/base.gyp:base_java', + ], + 'variables': { + 'java_in_dir': '<(DEPTH)/mojo/services/native_viewport/android', + }, + 'includes': [ '../build/java.gypi' ], + }, + { + 'target_name': 'mojo_java_set_jni_headers', + 'type': 'none', + 'variables': { + 'jni_gen_package': 'mojo', + 'input_java_class': 'java/util/HashSet.class', + }, + 'includes': [ '../build/jar_file_jni_generator.gypi' ], + }, + { + 'target_name': 'mojo_jni_headers', + 'type': 'none', + 'dependencies': [ + 'mojo_java_set_jni_headers', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(SHARED_INTERMEDIATE_DIR)/mojo', + ], + }, + 'sources': [ + 'services/native_viewport/android/src/org/chromium/mojo/NativeViewportAndroid.java', + 'shell/android/apk/src/org/chromium/mojo_shell_apk/MojoMain.java', + ], + 'variables': { + 'jni_gen_package': 'mojo' + }, + 'includes': [ '../build/jni_generator.gypi' ], + }, + { + 'target_name': 'libmojo_shell', + 'type': 'shared_library', + 'dependencies': [ + '../base/base.gyp:base', + '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', + '../ui/gfx/gfx.gyp:gfx', + '../ui/gl/gl.gyp:gl', + 'mojo_common_lib', + 'mojo_jni_headers', + 'mojo_shell_lib', + ], + 'sources': [ + 'shell/android/library_loader.cc', + 'shell/android/mojo_main.cc', + 'shell/android/mojo_main.h', + ], + }, + { + 'target_name': 'mojo_shell_apk', + 'type': 'none', + 'dependencies': [ + '../base/base.gyp:base_java', + '../net/net.gyp:net_java', + 'mojo_native_viewport_java', + 'libmojo_shell', + ], + 'variables': { + 'apk_name': 'MojoShell', + 'java_in_dir': '<(DEPTH)/mojo/shell/android/apk', + 'resource_dir': '<(DEPTH)/mojo/shell/android/apk/res', + 'native_lib_target': 'libmojo_shell', + }, + 'includes': [ '../build/java_apk.gypi' ], + } + ], + }], ], } diff --git a/chromium/mojo/mojo_apps.gypi b/chromium/mojo/mojo_apps.gypi new file mode 100644 index 00000000000..fbcd134539b --- /dev/null +++ b/chromium/mojo/mojo_apps.gypi @@ -0,0 +1,72 @@ +{ + 'targets': [ + { + 'target_name': 'mojo_js_lib', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + '../gpu/gpu.gyp:gles2_c_lib', + '../gin/gin.gyp:gin', + '../ui/gl/gl.gyp:gl', + '../v8/tools/gyp/v8.gyp:v8', + 'mojo_common_lib', + 'mojo_gles2', + 'mojo_gles2_bindings', + 'mojo_native_viewport_bindings', + 'mojo_system', + ], + 'export_dependent_settings': [ + '../base/base.gyp:base', + '../gin/gin.gyp:gin', + 'mojo_common_lib', + 'mojo_gles2', + 'mojo_gles2_bindings', + 'mojo_native_viewport_bindings', + 'mojo_system', + ], + 'sources': [ + 'apps/js/mojo_runner_delegate.cc', + 'apps/js/mojo_runner_delegate.h', + 'apps/js/bindings/threading.cc', + 'apps/js/bindings/threading.h', + 'apps/js/bindings/core.cc', + 'apps/js/bindings/core.h', + 'apps/js/bindings/gl/context.cc', + 'apps/js/bindings/gl/context.h', + 'apps/js/bindings/gl/module.cc', + 'apps/js/bindings/gl/module.h', + 'apps/js/bindings/gl/opaque.cc', + 'apps/js/bindings/gl/opaque.h', + 'apps/js/bindings/handle.cc', + 'apps/js/bindings/handle.h', + 'apps/js/bindings/support.cc', + 'apps/js/bindings/support.h', + 'apps/js/bindings/waiting_callback.cc', + 'apps/js/bindings/waiting_callback.h', + ], + }, + { + 'target_name': 'mojo_js_unittests', + 'type': 'executable', + 'dependencies': [ + '../gin/gin.gyp:gin_test', + 'mojo_js_lib', + 'mojo_run_all_unittests', + 'mojo_sample_service', + ], + 'sources': [ + 'apps/js/test/run_js_tests.cc', + ], + }, + { + 'target_name': 'mojo_js', + 'type': 'shared_library', + 'dependencies': [ + 'mojo_js_lib', + ], + 'sources': [ + 'apps/js/main.cc', + ], + }, + ], +} diff --git a/chromium/mojo/mojo_examples.gypi b/chromium/mojo/mojo_examples.gypi new file mode 100644 index 00000000000..dbc46109b33 --- /dev/null +++ b/chromium/mojo/mojo_examples.gypi @@ -0,0 +1,62 @@ +{ + 'targets': [ + { + 'target_name': 'mojo_sample_app', + 'type': 'shared_library', + 'dependencies': [ + '../base/base.gyp:base', + '../gpu/gpu.gyp:gles2_c_lib', + '../ui/gfx/gfx.gyp:gfx', + '../ui/gl/gl.gyp:gl', + 'mojo_common_lib', + 'mojo_gles2', + 'mojo_gles2_bindings', + 'mojo_native_viewport_bindings', + 'mojo_system', + ], + 'sources': [ + 'examples/sample_app/gles2_client_impl.cc', + 'examples/sample_app/gles2_client_impl.cc', + 'examples/sample_app/native_viewport_client_impl.cc', + 'examples/sample_app/native_viewport_client_impl.h', + 'examples/sample_app/sample_app.cc', + 'examples/sample_app/spinning_cube.cc', + 'examples/sample_app/spinning_cube.h', + ], + }, + { + 'target_name': 'package_mojo_sample_app', + 'variables': { + 'app_name': 'mojo_sample_app', + }, + 'includes': [ 'build/package_app.gypi' ], + }, + { + 'target_name': 'mojo_hello_world_bindings', + 'type': 'static_library', + 'sources': [ + 'examples/hello_world_service/hello_world_service.mojom', + ], + 'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ], + 'export_dependent_settings': [ + 'mojo_bindings', + 'mojo_system', + ], + }, + { + 'target_name': 'mojo_hello_world_service', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + 'mojo_hello_world_bindings', + ], + 'export_dependent_settings': [ + 'mojo_hello_world_bindings', + ], + 'sources': [ + 'examples/hello_world_service/hello_world_service_impl.cc', + 'examples/hello_world_service/hello_world_service_impl.h', + ], + }, + ], +} diff --git a/chromium/mojo/mojo_public.gypi b/chromium/mojo/mojo_public.gypi new file mode 100644 index 00000000000..f3b1cd855b0 --- /dev/null +++ b/chromium/mojo/mojo_public.gypi @@ -0,0 +1,192 @@ +{ + 'targets': [ + { + 'target_name': 'mojo_system', + 'type': 'shared_library', + 'defines': [ + 'MOJO_SYSTEM_IMPLEMENTATION', + ], + 'include_dirs': [ + '..', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '..', + ], + }, + 'sources': [ + 'public/system/core.h', + 'public/system/core_cpp.h', + 'public/system/core_private.cc', + 'public/system/core_private.h', + 'public/system/macros.h', + 'public/system/system_export.h', + ], + }, + { + 'target_name': 'mojo_gles2', + 'type': 'shared_library', + 'defines': [ + 'MOJO_GLES2_IMPLEMENTATION', + ], + 'include_dirs': [ + '..', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '..', + ], + }, + 'sources': [ + 'public/gles2/gles2.h', + 'public/gles2/gles2_private.cc', + 'public/gles2/gles2_private.h', + ], + }, + { + 'target_name': 'mojo_public_test_support', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + '../testing/gtest.gyp:gtest', + 'mojo_system', + ], + 'sources': [ + 'public/tests/simple_bindings_support.cc', + 'public/tests/simple_bindings_support.h', + 'public/tests/test_support.cc', + 'public/tests/test_support.h', + ], + }, + { + 'target_name': 'mojo_public_unittests', + 'type': 'executable', + 'dependencies': [ + '../testing/gtest.gyp:gtest', + 'mojo_bindings', + 'mojo_public_test_support', + 'mojo_run_all_unittests', + 'mojo_system', + ], + 'sources': [ + 'public/tests/bindings_array_unittest.cc', + 'public/tests/bindings_connector_unittest.cc', + 'public/tests/bindings_handle_passing_unittest.cc', + 'public/tests/bindings_remote_ptr_unittest.cc', + 'public/tests/bindings_type_conversion_unittest.cc', + 'public/tests/buffer_unittest.cc', + 'public/tests/math_calculator.mojom', + 'public/tests/sample_factory.mojom', + 'public/tests/system_core_cpp_unittest.cc', + 'public/tests/system_core_unittest.cc', + 'public/tests/test_structs.mojom', + ], + 'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ], + }, + { + 'target_name': 'mojo_public_perftests', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + '../testing/gtest.gyp:gtest', + 'mojo_public_test_support', + 'mojo_run_all_perftests', + 'mojo_system', + ], + 'sources': [ + 'public/tests/system_core_perftest.cc', + ], + }, + { + 'target_name': 'mojo_bindings', + 'type': 'static_library', + 'include_dirs': [ + '..' + ], + 'sources': [ + 'public/bindings/lib/array.cc', + 'public/bindings/lib/array.h', + 'public/bindings/lib/array_internal.h', + 'public/bindings/lib/array_internal.cc', + 'public/bindings/lib/bindings.h', + 'public/bindings/lib/bindings_internal.h', + 'public/bindings/lib/bindings_serialization.cc', + 'public/bindings/lib/bindings_serialization.h', + 'public/bindings/lib/bindings_support.cc', + 'public/bindings/lib/bindings_support.h', + 'public/bindings/lib/buffer.cc', + 'public/bindings/lib/buffer.h', + 'public/bindings/lib/connector.cc', + 'public/bindings/lib/connector.h', + 'public/bindings/lib/message.cc', + 'public/bindings/lib/message.h', + 'public/bindings/lib/message_builder.cc', + 'public/bindings/lib/message_builder.h', + 'public/bindings/lib/message_queue.cc', + 'public/bindings/lib/message_queue.h', + ], + }, + { + 'target_name': 'mojo_sample_service', + 'type': 'static_library', + 'sources': [ + 'public/bindings/sample/sample_service.mojom', + ], + 'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ], + 'export_dependent_settings': [ + 'mojo_bindings', + 'mojo_system', + ], + }, + { + 'target_name': 'mojo_bindings_unittests', + 'type': 'executable', + 'sources': [ + 'public/bindings/sample/sample_service_unittests.cc', + ], + 'dependencies': [ + '../testing/gtest.gyp:gtest', + 'mojo_public_test_support', + 'mojo_run_all_unittests', + 'mojo_sample_service', + ], + }, + { + 'target_name': 'mojo_utility', + 'type': 'static_library', + 'sources': [ + 'public/utility/bindings_support_impl.cc', + 'public/utility/bindings_support_impl.h', + 'public/utility/environment.cc', + 'public/utility/environment.h', + 'public/utility/run_loop.cc', + 'public/utility/run_loop.h', + 'public/utility/run_loop_handler.h', + 'public/utility/thread_local.h', + 'public/utility/thread_local_posix.cc', + 'public/utility/thread_local_win.cc', + ], + 'include_dirs': [ + '..', + ], + }, + { + 'target_name': 'mojo_utility_unittests', + 'type': 'executable', + 'dependencies': [ + '../base/base.gyp:base', + '../testing/gtest.gyp:gtest', + 'mojo_bindings', + 'mojo_public_test_support', + 'mojo_run_all_unittests', + 'mojo_system', + 'mojo_utility', + ], + 'sources': [ + 'public/utility/bindings_support_impl_unittest.cc', + 'public/utility/run_loop_unittest.cc', + 'public/utility/thread_local_unittest.cc', + ], + }, + ], +} diff --git a/chromium/mojo/mojo_services.gypi b/chromium/mojo/mojo_services.gypi new file mode 100644 index 00000000000..983d69f1ec4 --- /dev/null +++ b/chromium/mojo/mojo_services.gypi @@ -0,0 +1,83 @@ +{ + 'targets': [ + { + 'target_name': 'mojo_gles2_bindings', + 'type': 'static_library', + 'sources': [ + 'services/gles2/gles2.mojom', + ], + 'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ], + 'export_dependent_settings': [ + 'mojo_bindings', + 'mojo_system', + ], + }, + { + 'target_name': 'mojo_gles2_service', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + '../gpu/gpu.gyp:command_buffer_service', + '../gpu/gpu.gyp:gles2_implementation', + '../ui/gfx/gfx.gyp:gfx', + '../ui/gl/gl.gyp:gl', + 'mojo_gles2_bindings', + ], + 'export_dependent_settings': [ + 'mojo_gles2_bindings', + ], + 'sources': [ + 'services/gles2/gles2_impl.cc', + 'services/gles2/gles2_impl.h', + ], + }, + { + 'target_name': 'mojo_native_viewport_bindings', + 'type': 'static_library', + 'sources': [ + 'services/native_viewport/native_viewport.mojom', + ], + 'includes': [ 'public/bindings/mojom_bindings_generator.gypi' ], + 'export_dependent_settings': [ + 'mojo_bindings', + 'mojo_system', + ], + }, + { + 'target_name': 'mojo_native_viewport_service', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + '../ui/events/events.gyp:events', + '../ui/gfx/gfx.gyp:gfx', + 'mojo_gles2_service', + 'mojo_native_viewport_bindings', + ], + 'export_dependent_settings': [ + 'mojo_native_viewport_bindings', + ], + 'sources': [ + 'services/native_viewport/native_viewport.h', + 'services/native_viewport/native_viewport_android.cc', + 'services/native_viewport/native_viewport_impl.cc', + 'services/native_viewport/native_viewport_impl.h', + 'services/native_viewport/native_viewport_mac.mm', + 'services/native_viewport/native_viewport_stub.cc', + 'services/native_viewport/native_viewport_win.cc', + 'services/native_viewport/native_viewport_x11.cc', + ], + 'conditions': [ + ['OS=="win" or OS=="android" or OS=="linux" or OS=="mac"', { + 'sources!': [ + 'services/native_viewport/native_viewport_stub.cc', + ], + }], + ['OS=="android"', { + 'dependencies': [ + 'mojo_jni_headers', + ], + }], + ], + }, + ], +} diff --git a/chromium/mojo/public/bindings/mojom_bindings_generator.gypi b/chromium/mojo/public/bindings/mojom_bindings_generator.gypi new file mode 100644 index 00000000000..45efe768d1b --- /dev/null +++ b/chromium/mojo/public/bindings/mojom_bindings_generator.gypi @@ -0,0 +1,82 @@ +# Copyright (c) 2013 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'variables': { + 'output_dir': '<(SHARED_INTERMEDIATE_DIR)/mojom', + }, + 'rules': [ + { + 'rule_name': 'Generate C++ source files from mojom files', + 'extension': 'mojom', + 'variables': { + 'mojom_bindings_generator': + '<(DEPTH)/mojo/public/bindings/mojom_bindings_generator.py', + }, + 'inputs': [ + '<(mojom_bindings_generator)', + '<(DEPTH)/mojo/public/bindings/parse/mojo_parser.py', + '<(DEPTH)/mojo/public/bindings/parse/mojo_translate.py', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_declaration', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_definition', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_proxy_declaration', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_stub_case', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_stub_declaration', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/interface_stub_definition', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module.cc-template', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module.h-template', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/module_internal.h-template', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/params_definition', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/params_serialization', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/proxy_implementation', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_builder_definition', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_declaration', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_destructor', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_definition', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_serialization', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_serialization_definition', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/struct_serialization_traits', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/template_declaration', + '<(DEPTH)/mojo/public/bindings/generators/cpp_templates/wrapper_class_declaration', + '<(DEPTH)/mojo/public/bindings/generators/js_templates/module.js.tmpl', + '<(DEPTH)/mojo/public/bindings/generators/mojom.py', + '<(DEPTH)/mojo/public/bindings/generators/mojom_cpp_generator.py', + '<(DEPTH)/mojo/public/bindings/generators/mojom_data.py', + '<(DEPTH)/mojo/public/bindings/generators/mojom_generator.py', + '<(DEPTH)/mojo/public/bindings/generators/mojom_js_generator.py', + '<(DEPTH)/mojo/public/bindings/generators/mojom_pack.py', + '<(DEPTH)/mojo/public/bindings/generators/template_expander.py', + ], + 'outputs': [ + '<(output_dir)/<(RULE_INPUT_ROOT).cc', + '<(output_dir)/<(RULE_INPUT_ROOT).h', + '<(output_dir)/<(RULE_INPUT_ROOT).js', + '<(output_dir)/<(RULE_INPUT_ROOT)_internal.h', + ], + 'action': [ + 'python', '<@(mojom_bindings_generator)', + '<(RULE_INPUT_PATH)', + '-i', 'mojom', + '-o', '<(output_dir)', + ], + 'message': 'Generating C++ from mojom <(RULE_INPUT_PATH)', + 'process_outputs_as_sources': 1, + } + ], + 'dependencies': [ + 'mojo_bindings', + 'mojo_system', + ], + 'include_dirs': [ + '<(DEPTH)', + '<(SHARED_INTERMEDIATE_DIR)', + ], + 'direct_dependent_settings': { + 'include_dirs': [ + '<(DEPTH)', + '<(SHARED_INTERMEDIATE_DIR)', + ], + }, + 'hard_dependency': 1, +} |