1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5# Essential components (and their tests) that are needed to build 6# Chrome should be here. Other components that are useful only in 7# Mojo land like mojo_shell should be in mojo.gyp. 8{ 9 'variables': { 10 'chromium_code': 1, 11 }, 12 'targets': [ 13 { 14 'target_name': 'mojo_base', 15 'type': 'none', 16 'dependencies': [ 17 # NOTE: If adding a new dependency here, please consider whether it 18 # should also be added to the list of Mojo-related dependencies of 19 # build/all.gyp:All on iOS, as All cannot depend on the mojo_base 20 # target on iOS due to the presence of the js targets, which cause v8 21 # to be built. 22 'mojo_common_lib', 23 'mojo_common_unittests', 24 ], 25 'conditions': [ 26 ['OS == "android"', { 27 'dependencies': [ 28 'mojo_public.gyp:mojo_bindings_java', 29 'mojo_public.gyp:mojo_public_java', 30 ], 31 }], 32 ] 33 }, 34 { 35 'target_name': 'mojo_none', 36 'type': 'none', 37 }, 38 { 39 # GN version: //mojo/common 40 'target_name': 'mojo_common_lib', 41 'type': '<(component)', 42 'defines': [ 43 'MOJO_COMMON_IMPLEMENTATION', 44 ], 45 'dependencies': [ 46 '../base/base.gyp:base', 47 '../mojo/mojo_public.gyp:mojo_public_system', 48 ], 49 'sources': [ 50 'common/common_type_converters.cc', 51 'common/common_type_converters.h', 52 'common/data_pipe_file_utils.cc', 53 'common/data_pipe_utils.cc', 54 'common/data_pipe_utils.h', 55 ], 56 }, 57 { 58 # GN version: //mojo/common:common_custom_types 59 'target_name': 'mojo_common_custom_types_mojom', 60 'type': 'none', 61 'variables': { 62 'mojom_files': [ 63 'common/common_custom_types.mojom', 64 ], 65 'mojom_typemaps': [ 66 'common/common_custom_types.typemap', 67 ], 68 }, 69 'dependencies': [ 70 '../ipc/ipc.gyp:ipc', 71 ], 72 'includes': [ 'mojom_bindings_generator_explicit.gypi' ], 73 }, 74 { 75 # GN version: //mojo/common:test_common_custom_types 76 'target_name': 'mojo_test_common_custom_types', 77 'type': 'static_library', 78 'variables': { 79 'mojom_typemaps': [ 80 'common/common_custom_types.typemap', 81 ], 82 }, 83 'sources': [ 84 'common/test_common_custom_types.mojom', 85 ], 86 'dependencies': [ 87 'mojo_common_custom_types_mojom', 88 ], 89 'includes': [ 'mojom_bindings_generator.gypi' ], 90 }, 91 { 92 # GN version: //mojo/common:mojo_common_unittests 93 'target_name': 'mojo_common_unittests', 94 'type': 'executable', 95 'dependencies': [ 96 '../base/base.gyp:base', 97 '../base/base.gyp:test_support_base', 98 '../base/base.gyp:base_message_loop_tests', 99 '../testing/gtest.gyp:gtest', 100 '../url/url.gyp:url_lib', 101 'mojo_common_custom_types_mojom', 102 'mojo_common_lib', 103 'mojo_test_common_custom_types', 104 'mojo_edk.gyp:mojo_system_impl', 105 'mojo_edk.gyp:mojo_common_test_support', 106 'mojo_edk.gyp:mojo_run_all_unittests', 107 'mojo_public.gyp:mojo_cpp_bindings', 108 'mojo_public.gyp:mojo_public_test_utils', 109 ], 110 'sources': [ 111 'common/common_custom_types_unittest.cc', 112 'common/common_type_converters_unittest.cc', 113 ], 114 }, 115 ], 116 'conditions': [ 117 ['OS=="android"', { 118 'targets': [ 119 { 120 'target_name': 'mojo_jni_headers', 121 'type': 'none', 122 'dependencies': [ 123 'mojo_java_set_jni_headers', 124 ], 125 'sources': [ 126 'android/javatests/src/org/chromium/mojo/MojoTestCase.java', 127 'android/javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java', 128 'android/system/src/org/chromium/mojo/system/impl/CoreImpl.java', 129 ], 130 'variables': { 131 'jni_gen_package': 'mojo', 132 }, 133 'includes': [ '../build/jni_generator.gypi' ], 134 }, 135 { 136 'target_name': 'libmojo_system_java', 137 'type': 'static_library', 138 'dependencies': [ 139 '../base/base.gyp:base', 140 'mojo_common_lib', 141 'mojo_edk.gyp:mojo_system_impl', 142 'mojo_jni_headers', 143 'mojo_public.gyp:mojo_message_pump_lib', 144 ], 145 'sources': [ 146 'android/system/core_impl.cc', 147 'android/system/core_impl.h', 148 ], 149 }, 150 { 151 'target_name': 'mojo_java_set_jni_headers', 152 'type': 'none', 153 'variables': { 154 'jni_gen_package': 'mojo', 155 'input_java_class': 'java/util/HashSet.class', 156 }, 157 'includes': [ '../build/jar_file_jni_generator.gypi' ], 158 }, 159 { 160 'target_name': 'mojo_system_java', 161 'type': 'none', 162 'dependencies': [ 163 '../base/base.gyp:base_java', 164 'libmojo_system_java', 165 'mojo_public.gyp:mojo_public_java', 166 ], 167 'variables': { 168 'java_in_dir': '<(DEPTH)/mojo/android/system', 169 }, 170 'includes': [ '../build/java.gypi' ], 171 }, 172 ], 173 }], 174 ['test_isolation_mode != "noop"', { 175 'targets': [ 176 { 177 'target_name': 'mojo_common_unittests_run', 178 'type': 'none', 179 'dependencies': [ 180 'mojo_common_unittests', 181 ], 182 'includes': [ 183 '../build/isolate.gypi', 184 ], 185 'sources': [ 186 'mojo_common_unittests.isolate', 187 ], 188 }, 189 ], 190 }], 191 ] 192} 193