Home | History | Annotate | Download | only in mojo
      1 # Copyright 2013 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 {
      6   'variables': {
      7     'chromium_code': 1,
      8   },
      9   'includes': [
     10     'mojo_apps.gypi',
     11     'mojo_examples.gypi',
     12     'mojo_public.gypi',
     13     'mojo_services.gypi',
     14   ],
     15   'targets': [
     16     {
     17       'target_name': 'mojo',
     18       'type': 'none',
     19       'dependencies': [
     20         'mojo_bindings',
     21         'mojo_bindings_unittests',
     22         'mojo_common_lib',
     23         'mojo_common_unittests',
     24         'mojo_hello_world_service',
     25         'mojo_js',
     26         'mojo_js_unittests',
     27         'mojo_public_perftests',
     28         'mojo_public_test_support',
     29         'mojo_public_unittests',
     30         'mojo_sample_app',
     31         'mojo_shell',
     32         'mojo_shell_lib',
     33         'mojo_system',
     34         'mojo_system_impl',
     35         'mojo_system_unittests',
     36         'mojo_utility',
     37         'mojo_utility_unittests',
     38       ],
     39     },
     40     {
     41       'target_name': 'mojo_run_all_unittests',
     42       'type': 'static_library',
     43       'dependencies': [
     44         '../base/base.gyp:base',
     45         '../base/base.gyp:test_support_base',
     46         '../testing/gtest.gyp:gtest',
     47         'mojo_system',
     48         'mojo_system_impl',
     49       ],
     50       'sources': [
     51         'common/test/run_all_unittests.cc',
     52       ],
     53     },
     54     {
     55       'target_name': 'mojo_run_all_perftests',
     56       'type': 'static_library',
     57       'dependencies': [
     58         '../base/base.gyp:test_support_base',
     59         'mojo_system',
     60         'mojo_system_impl',
     61       ],
     62       'sources': [
     63         'common/test/run_all_perftests.cc',
     64       ],
     65     },
     66     {
     67       'target_name': 'mojo_system_impl',
     68       'type': '<(component)',
     69       'dependencies': [
     70         'mojo_system',
     71         '../base/base.gyp:base',
     72       ],
     73       'defines': [
     74         'MOJO_SYSTEM_IMPL_IMPLEMENTATION',
     75       ],
     76       'sources': [
     77         'system/channel.cc',
     78         'system/channel.h',
     79         'system/constants.h',
     80         'system/core_impl.cc',
     81         'system/core_impl.h',
     82         'system/data_pipe.cc',
     83         'system/data_pipe.h',
     84         'system/data_pipe_consumer_dispatcher.cc',
     85         'system/data_pipe_consumer_dispatcher.h',
     86         'system/data_pipe_producer_dispatcher.cc',
     87         'system/data_pipe_producer_dispatcher.h',
     88         'system/dispatcher.cc',
     89         'system/dispatcher.h',
     90         'system/local_data_pipe.cc',
     91         'system/local_data_pipe.h',
     92         'system/local_message_pipe_endpoint.cc',
     93         'system/local_message_pipe_endpoint.h',
     94         'system/memory.cc',
     95         'system/memory.h',
     96         'system/message_in_transit.cc',
     97         'system/message_in_transit.h',
     98         'system/message_pipe.cc',
     99         'system/message_pipe.h',
    100         'system/message_pipe_dispatcher.cc',
    101         'system/message_pipe_dispatcher.h',
    102         'system/message_pipe_endpoint.cc',
    103         'system/message_pipe_endpoint.h',
    104         'system/platform_channel.cc',
    105         'system/platform_channel.h',
    106         'system/platform_channel_handle.cc',
    107         'system/platform_channel_handle.h',
    108         'system/platform_channel_posix.cc',
    109         'system/proxy_message_pipe_endpoint.cc',
    110         'system/proxy_message_pipe_endpoint.h',
    111         'system/raw_channel.h',
    112         'system/raw_channel_posix.cc',
    113         'system/raw_channel_win.cc',
    114         'system/simple_dispatcher.cc',
    115         'system/simple_dispatcher.h',
    116         'system/waiter.cc',
    117         'system/waiter.h',
    118         'system/waiter_list.cc',
    119         'system/waiter_list.h',
    120       ],
    121     },
    122     {
    123       'target_name': 'mojo_system_unittests',
    124       'type': 'executable',
    125       'dependencies': [
    126         '../base/base.gyp:run_all_unittests',
    127         '../testing/gtest.gyp:gtest',
    128         'mojo_common_test_support',
    129         'mojo_system',
    130         'mojo_system_impl',
    131       ],
    132       'sources': [
    133         'system/core_impl_unittest.cc',
    134         'system/core_test_base.cc',
    135         'system/core_test_base.h',
    136         'system/dispatcher_unittest.cc',
    137         'system/message_pipe_dispatcher_unittest.cc',
    138         'system/message_pipe_unittest.cc',
    139         'system/multiprocess_message_pipe_unittest.cc',
    140         'system/raw_channel_posix_unittest.cc',
    141         'system/remote_message_pipe_posix_unittest.cc',
    142         'system/simple_dispatcher_unittest.cc',
    143         'system/test_utils.cc',
    144         'system/test_utils.h',
    145         'system/waiter_list_unittest.cc',
    146         'system/waiter_test_utils.cc',
    147         'system/waiter_test_utils.h',
    148         'system/waiter_unittest.cc',
    149       ],
    150     },
    151     {
    152       'target_name': 'mojo_gles2_impl',
    153       'type': '<(component)',
    154       'dependencies': [
    155         '../gpu/gpu.gyp:gles2_c_lib',
    156         'mojo_gles2',
    157       ],
    158       'defines': [
    159         'MOJO_GLES2_IMPL_IMPLEMENTATION',
    160       ],
    161       'sources': [
    162         'gles2/export.h',
    163         'gles2/gles2_impl.cc',
    164         'gles2/gles2_impl.h',
    165       ],
    166     },
    167     {
    168       'target_name': 'mojo_common_lib',
    169       'type': '<(component)',
    170       'defines': [
    171         'MOJO_COMMON_IMPLEMENTATION',
    172       ],
    173       'dependencies': [
    174         '../base/base.gyp:base',
    175         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
    176         'mojo_system',
    177       ],
    178       'sources': [
    179         'common/bindings_support_impl.cc',
    180         'common/bindings_support_impl.h',
    181         'common/common_type_converters.cc',
    182         'common/common_type_converters.h',
    183         'common/handle_watcher.cc',
    184         'common/handle_watcher.h',
    185         'common/message_pump_mojo.cc',
    186         'common/message_pump_mojo.h',
    187         'common/message_pump_mojo_handler.h',
    188       ],
    189       'conditions': [
    190         ['OS == "win"', {
    191           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    192           'msvs_disabled_warnings': [
    193             4267,
    194           ],
    195         }],
    196       ],
    197     },
    198     {
    199       'target_name': 'mojo_common_test_support',
    200       'type': 'static_library',
    201       'dependencies': [
    202         '../base/base.gyp:base',
    203         '../base/base.gyp:test_support_base',
    204         '../testing/gtest.gyp:gtest',
    205         'mojo_system',
    206         'mojo_system_impl',
    207       ],
    208       'sources': [
    209         'common/test/multiprocess_test_base.cc',
    210         'common/test/multiprocess_test_base.h',
    211       ],
    212     },
    213     {
    214       'target_name': 'mojo_common_unittests',
    215       'type': 'executable',
    216       'dependencies': [
    217         '../base/base.gyp:base',
    218         '../base/base.gyp:base_message_loop_tests',
    219         '../testing/gtest.gyp:gtest',
    220         'mojo_bindings',
    221         'mojo_common_lib',
    222         'mojo_common_test_support',
    223         'mojo_public_test_support',
    224         'mojo_run_all_unittests',
    225         'mojo_system',
    226         'mojo_system_impl',
    227       ],
    228       'sources': [
    229         'common/common_type_converters_unittest.cc',
    230         'common/handle_watcher_unittest.cc',
    231         'common/message_pump_mojo_unittest.cc',
    232         'common/test/multiprocess_test_base_unittest.cc',
    233       ],
    234       'conditions': [
    235         ['OS == "win"', {
    236           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    237           'msvs_disabled_warnings': [
    238             4267,
    239           ],
    240         }],
    241       ],
    242     },
    243     {
    244       'target_name': 'mojo_shell_lib',
    245       'type': 'static_library',
    246       'dependencies': [
    247         '../base/base.gyp:base',
    248         '../net/net.gyp:net',
    249         '../url/url.gyp:url_lib',
    250         'mojo_bindings',
    251         'mojo_gles2_impl',
    252         'mojo_native_viewport_service',
    253         'mojo_system',
    254         'mojo_system_impl',
    255       ],
    256       'sources': [
    257         'shell/app_container.cc',
    258         'shell/app_container.h',
    259         'shell/context.cc',
    260         'shell/context.h',
    261         'shell/init.cc',
    262         'shell/init.h',
    263         'shell/loader.cc',
    264         'shell/loader.h',
    265         'shell/network_delegate.cc',
    266         'shell/network_delegate.h',
    267         'shell/run.cc',
    268         'shell/run.h',
    269         'shell/storage.cc',
    270         'shell/storage.h',
    271         'shell/switches.cc',
    272         'shell/switches.h',
    273         'shell/task_runners.cc',
    274         'shell/task_runners.h',
    275         'shell/url_request_context_getter.cc',
    276         'shell/url_request_context_getter.h',
    277       ],
    278       'conditions': [
    279         ['OS == "win"', {
    280           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    281           'msvs_disabled_warnings': [
    282             4267,
    283           ],
    284         }],
    285       ],
    286     },
    287     {
    288       'target_name': 'mojo_shell',
    289       'type': 'executable',
    290       'dependencies': [
    291         '../base/base.gyp:base',
    292         '../ui/gl/gl.gyp:gl',
    293         '../url/url.gyp:url_lib',
    294         'mojo_common_lib',
    295         'mojo_shell_lib',
    296         'mojo_system',
    297         'mojo_system_impl',
    298       ],
    299       'sources': [
    300         'shell/desktop/mojo_main.cc',
    301       ],
    302       'conditions': [
    303         ['OS == "win"', {
    304           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
    305           'msvs_disabled_warnings': [
    306             4267,
    307           ],
    308         }],
    309       ],
    310     },
    311   ],
    312   'conditions': [
    313     ['OS=="android"', {
    314       'targets': [
    315         {
    316           'target_name': 'mojo_native_viewport_java',
    317           'type': 'none',
    318           'dependencies': [
    319             '../base/base.gyp:base_java',
    320           ],
    321           'variables': {
    322             'java_in_dir': '<(DEPTH)/mojo/services/native_viewport/android',
    323           },
    324           'includes': [ '../build/java.gypi' ],
    325         },
    326         {
    327           'target_name': 'mojo_java_set_jni_headers',
    328           'type': 'none',
    329           'variables': {
    330             'jni_gen_package': 'mojo',
    331             'input_java_class': 'java/util/HashSet.class',
    332           },
    333           'includes': [ '../build/jar_file_jni_generator.gypi' ],
    334         },
    335         {
    336           'target_name': 'mojo_jni_headers',
    337           'type': 'none',
    338           'dependencies': [
    339             'mojo_java_set_jni_headers',
    340           ],
    341           'direct_dependent_settings': {
    342             'include_dirs': [
    343               '<(SHARED_INTERMEDIATE_DIR)/mojo',
    344             ],
    345           },
    346           'sources': [
    347             'services/native_viewport/android/src/org/chromium/mojo/NativeViewportAndroid.java',
    348             'shell/android/apk/src/org/chromium/mojo_shell_apk/MojoMain.java',
    349           ],
    350           'variables': {
    351             'jni_gen_package': 'mojo'
    352           },
    353           'includes': [ '../build/jni_generator.gypi' ],
    354         },
    355         {
    356           'target_name': 'libmojo_shell',
    357           'type': 'shared_library',
    358           'dependencies': [
    359             '../base/base.gyp:base',
    360             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
    361             '../ui/gfx/gfx.gyp:gfx',
    362             '../ui/gl/gl.gyp:gl',
    363             'mojo_common_lib',
    364             'mojo_jni_headers',
    365             'mojo_shell_lib',
    366           ],
    367           'sources': [
    368             'shell/android/library_loader.cc',
    369             'shell/android/mojo_main.cc',
    370             'shell/android/mojo_main.h',
    371           ],
    372         },
    373         {
    374           'target_name': 'mojo_shell_apk',
    375           'type': 'none',
    376           'dependencies': [
    377             '../base/base.gyp:base_java',
    378             '../net/net.gyp:net_java',
    379             'mojo_native_viewport_java',
    380             'libmojo_shell',
    381           ],
    382           'variables': {
    383             'apk_name': 'MojoShell',
    384             'java_in_dir': '<(DEPTH)/mojo/shell/android/apk',
    385             'resource_dir': '<(DEPTH)/mojo/shell/android/apk/res',
    386             'native_lib_target': 'libmojo_shell',
    387           },
    388           'includes': [ '../build/java_apk.gypi' ],
    389         }
    390       ],
    391     }],
    392   ],
    393 }
    394