Home | History | Annotate | Download | only in mojo
      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