# Copyright 2014 The Chroium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. { 'includes': [ 'mojo_public.gypi', ], 'variables': { 'chromium_code': 1, }, 'target_defaults' : { 'include_dirs': [ '..', ], }, 'targets': [ { 'target_name': 'mojo_public', 'type': 'none', 'dependencies': [ 'mojo_js_bindings', 'mojo_public_system', ], }, { # GN version: //mojo/public/c/system 'target_name': 'mojo_public_system', 'type': '<(component)', 'sources': [ '<@(mojo_public_system_sources)', ], 'defines': [ 'MOJO_SYSTEM_IMPLEMENTATION', ], }, { # GN version: //mojo/public/cpp/system 'target_name': 'mojo_cpp_system', 'type': 'static_library', 'sources': [ '<@(mojo_cpp_system_sources)', ], 'dependencies': [ '../base/base.gyp:base', 'mojo_public_system', ], }, { # GN version: //mojo/public/cpp/bindings 'target_name': 'mojo_cpp_bindings', 'type': 'static_library', 'include_dirs': [ '..' ], 'sources': [ '<@(mojo_cpp_bindings_sources)', # This comes from the mojo_interface_bindings_cpp_sources dependency. '>@(mojom_generated_sources)', ], 'dependencies': [ '../base/base.gyp:base', 'mojo_cpp_system', 'mojo_interface_bindings_cpp_sources', ], }, { # GN version: //mojo/message_pump 'target_name': 'mojo_message_pump_lib', 'type': '<(component)', 'defines': [ 'MOJO_MESSAGE_PUMP_IMPLEMENTATION', ], 'dependencies': [ '../base/base.gyp:base', 'mojo_cpp_system', ], 'sources': [ 'message_pump/handle_watcher.cc', 'message_pump/handle_watcher.h', 'message_pump/message_pump_mojo.cc', 'message_pump/message_pump_mojo.h', 'message_pump/message_pump_mojo_handler.h', 'message_pump/time_helper.cc', 'message_pump/time_helper.h', ], }, { # GN version: //mojo/public/js 'target_name': 'mojo_js_bindings', 'type': 'static_library', 'include_dirs': [ '..' ], 'sources': [ 'public/js/constants.cc', 'public/js/constants.h', ], }, { 'target_name': 'mojo_interface_bindings_mojom', 'type': 'none', 'variables': { 'require_interface_bindings': 0, 'mojom_files': [ 'public/interfaces/bindings/interface_control_messages.mojom', 'public/interfaces/bindings/pipe_control_messages.mojom', ], }, 'includes': [ 'mojom_bindings_generator_explicit.gypi' ], }, { 'target_name': 'mojo_interface_bindings_cpp_sources', 'type': 'none', 'dependencies': [ 'mojo_interface_bindings_mojom', ], }, { # This target can be used to introduce a dependency on interface bindings # generation without introducing any side-effects in the dependent # target's configuration. 'target_name': 'mojo_interface_bindings_generation', 'type': 'none', 'dependencies': [ 'mojo_interface_bindings_cpp_sources', ], }, { # GN version: //mojo/public/c/test_support 'target_name': 'mojo_public_test_support', 'type': 'static_library', 'include_dirs': [ '..', ], 'direct_dependent_settings': { 'include_dirs': [ '..', ], }, 'sources': [ 'public/c/test_support/test_support.h', # TODO(vtl): Convert this to thunks http://crbug.com/386799 'public/tests/test_support_private.cc', 'public/tests/test_support_private.h', ], }, { # GN version: //mojo/public/cpp/test_support:test_utils 'target_name': 'mojo_public_test_utils', 'type': 'static_library', 'dependencies': [ '../base/base.gyp:base', '../testing/gtest.gyp:gtest', 'mojo_public_test_support', ], 'sources': [ 'public/cpp/test_support/lib/test_support.cc', 'public/cpp/test_support/lib/test_utils.cc', 'public/cpp/test_support/test_utils.h', ], }, { # GN version: //mojo/public/cpp/bindings/tests:mojo_public_bindings_test_utils 'target_name': 'mojo_public_bindings_test_utils', 'type': 'static_library', 'dependencies': [ '../base/base.gyp:base', ], 'sources': [ 'public/cpp/bindings/tests/validation_test_input_parser.cc', 'public/cpp/bindings/tests/validation_test_input_parser.h', ], }, ], 'conditions': [ ['OS == "android"', { 'targets': [ { # GN version: //mojo/public/java:system 'target_name': 'mojo_public_java', 'type': 'none', 'variables': { 'chromium_code': 0, 'java_in_dir': 'public/java/system', }, 'includes': [ '../build/java.gypi' ], }, { 'target_name': 'mojo_interface_bindings_java_sources', 'type': 'none', 'dependencies': [ 'mojo_interface_bindings_mojom', ], }, { # GN version: //mojo/public/java:bindings 'target_name': 'mojo_bindings_java', 'type': 'none', 'variables': { 'chromium_code': 0, 'java_in_dir': 'public/java/bindings', }, 'dependencies': [ 'mojo_interface_bindings_java_sources', 'mojo_public_java', '<(DEPTH)/base/base.gyp:base_java', ], 'includes': [ '../build/java.gypi' ], }, ], }], ['OS != "ios"', { 'targets': [ { # TODO(yzshen): crbug.com/617718 Consider moving this into blink. # GN version: //mojo/public/cpp/bindings:wtf_support 'target_name': 'mojo_cpp_bindings_wtf_support', 'type': 'static_library', 'include_dirs': [ '..' ], 'sources': [ 'public/cpp/bindings/array_traits_wtf.h', 'public/cpp/bindings/array_traits_wtf_vector.h', 'public/cpp/bindings/lib/string_traits_wtf.cc', 'public/cpp/bindings/lib/wtf_clone_equals_util.h', 'public/cpp/bindings/lib/wtf_serialization.h', 'public/cpp/bindings/map_traits_wtf.h', 'public/cpp/bindings/map_traits_wtf_hash_map.h', 'public/cpp/bindings/string_traits_wtf.h', 'public/cpp/bindings/wtf_array.h', 'public/cpp/bindings/wtf_map.h', ], 'dependencies': [ 'mojo_cpp_bindings', '../third_party/WebKit/Source/config.gyp:config', '../third_party/WebKit/Source/wtf/wtf.gyp:wtf', ], 'export_dependent_settings': [ 'mojo_cpp_bindings', '../third_party/WebKit/Source/config.gyp:config', ], }, ], }], ['OS == "win" and target_arch=="ia32"', { 'targets': [ { # GN version: //mojo/public/c/system 'target_name': 'mojo_public_system_win64', 'type': '<(component)', 'sources': [ '<@(mojo_public_system_sources)', ], 'defines': [ 'MOJO_SYSTEM_IMPLEMENTATION', ], 'configurations': { 'Common_Base': { 'msvs_target_platform': 'x64', }, }, }, { # GN version: //mojo/public/cpp/system 'target_name': 'mojo_cpp_system_win64', 'type': 'static_library', 'sources': [ '<@(mojo_cpp_system_sources)', ], 'dependencies': [ '../base/base.gyp:base_win64', 'mojo_public_system_win64', ], 'configurations': { 'Common_Base': { 'msvs_target_platform': 'x64', }, }, }, { # GN version: //mojo/public/cpp/bindings 'target_name': 'mojo_cpp_bindings_win64', 'type': 'static_library', 'include_dirs': [ '..' ], 'sources': [ '<@(mojo_cpp_bindings_sources)', # This comes from the mojo_interface_bindings_cpp_sources dependency. '>@(mojom_generated_sources)', ], 'dependencies': [ '../base/base.gyp:base_win64', 'mojo_cpp_system_win64', 'mojo_interface_bindings_cpp_sources', ], 'configurations': { 'Common_Base': { 'msvs_target_platform': 'x64', }, }, }, ], }], ], }