Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / mojo / mojo.gyp
index 69678c5..f56e6e9 100644 (file)
@@ -21,6 +21,7 @@
   ],
   'targets': [
     {
+      # GN version: //mojo
       'target_name': 'mojo',
       'type': 'none',
       'dependencies': [
@@ -28,6 +29,8 @@
         'mojo_application_manager_unittests',
         'mojo_apps_js_unittests',
         'mojo_base.gyp:mojo_base',
+        'mojo_clipboard',
+        'mojo_clipboard_unittests',
         'mojo_compositor_app',
         'mojo_content_handler_demo',
         'mojo_echo_client',
@@ -37,8 +40,7 @@
         'mojo_geometry_lib',
         'mojo_html_viewer',
         'mojo_js',
-        'mojo_launcher',
-        'mojo_native_viewport_service_lib',
+        'mojo_native_viewport_service',
         'mojo_network_service',
         'mojo_pepper_container_app',
         'mojo_png_viewer',
@@ -49,6 +51,7 @@
         'mojo_surfaces_app',
         'mojo_surfaces_app',
         'mojo_surfaces_child_app',
+        'mojo_surfaces_child_gl_app',
         'mojo_surfaces_lib',
         'mojo_surfaces_lib_unittests',
         'mojo_surfaces_service',
             'mojo_dbus_echo_service',
           ],
         }],
+        ['component != "shared_library" and OS == "linux"', {
+          'dependencies': [
+            'mojo_python_bindings',
+            'mojo_python_embedder',
+            'mojo_python_system',
+            'mojo_python',
+          ],
+        }],
       ]
     },
     {
       ],
     },
     {
+      # GN version: //mojo/spy
       'target_name': 'mojo_spy',
       'type': 'static_library',
       'dependencies': [
         '../base/base.gyp:base',
         '../base/base.gyp:base_static',
         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
-        '../net/net.gyp:net',
-        '../url/url.gyp:url_lib',
         'mojo_application_manager',
         'mojo_base.gyp:mojo_application_bindings',
         'mojo_base.gyp:mojo_common_lib',
         'mojo_base.gyp:mojo_system_impl',
         'mojo_base.gyp:mojo_application_chromium',
         'mojo_external_service_bindings',
-        'mojo_native_viewport_service_lib',
         'mojo_network_bindings',
         'mojo_spy',
       ],
         'shell/init.h',
         'shell/in_process_dynamic_service_runner.cc',
         'shell/in_process_dynamic_service_runner.h',
-        'shell/keep_alive.cc',
-        'shell/keep_alive.h',
         'shell/mojo_url_resolver.cc',
         'shell/mojo_url_resolver.h',
         'shell/out_of_process_dynamic_service_runner.cc',
         'shell/out_of_process_dynamic_service_runner.h',
-        'shell/run.cc',
-        'shell/run.h',
         'shell/switches.cc',
         'shell/switches.h',
         'shell/task_runners.cc',
         'shell/test_child_process.h',
         'shell/ui_application_loader_android.cc',
         'shell/ui_application_loader_android.h',
-        'shell/view_manager_loader.cc',
-        'shell/view_manager_loader.h',
       ],
       'conditions': [
+        ['component=="shared_library"', {
+          'dependencies': [
+            '../ui/gl/gl.gyp:gl',
+          ],
+        }],
         ['OS=="linux"', {
           'dependencies': [
             '../build/linux/system.gyp:dbus',
         ['OS=="android"', {
           'dependencies': [
             'mojo_network_service_lib',
+            'mojo_native_viewport_service_lib',
           ],
           'sources': [
             'shell/network_application_loader.cc',
             'shell/network_application_loader.h',
           ],
         }],
-        ['use_aura==1', {
-          'dependencies': [
-            # These are only necessary as long as we hard code use of ViewManager.
-            '../skia/skia.gyp:skia',
-            'mojo_view_manager',
-            'mojo_view_manager_bindings',
-          ],
-        }, {  # use_aura==0
-          'sources!': [
-            'shell/view_manager_loader.cc',
-            'shell/view_manager_loader.h',
-          ],
-        }],
       ],
     },
     {
+      # GN version: //mojo/shell:test_support
       'target_name': 'mojo_shell_test_support',
       'type': 'static_library',
       'dependencies': [
-        '../base/base.gyp:base',
         '../base/base.gyp:base_static',
-        '../url/url.gyp:url_lib',
-        'mojo_application_manager',
         'mojo_base.gyp:mojo_system_impl',
         'mojo_shell_lib',
       ],
       'type': 'executable',
       'dependencies': [
         '../base/base.gyp:base',
-        '../ui/gl/gl.gyp:gl',
-        '../url/url.gyp:url_lib',
-        'mojo_application_manager',
         'mojo_base.gyp:mojo_common_lib',
         'mojo_base.gyp:mojo_environment_chromium',
-        'mojo_base.gyp:mojo_system_impl',
         'mojo_shell_lib',
       ],
+      'sources': [
+        'shell/desktop/mojo_main.cc',
+      ],
       'conditions': [
-        ['use_ozone==1', {
+        ['component=="shared_library"', {
           'dependencies': [
-            '../ui/ozone/ozone.gyp:ozone',
+            '../ui/gfx/gfx.gyp:gfx',
           ],
         }],
       ],
-      'sources': [
-        'shell/desktop/mojo_main.cc',
-      ],
     },
     {
       # GN version: //mojo/shell:mojo_shell_tests
         '../base/base.gyp:test_support_base',
         '../testing/gtest.gyp:gtest',
         '../net/net.gyp:net_test_support',
-        # TODO(vtl): We don't currently need this, but I imagine we will soon.
-        # '../ui/gl/gl.gyp:gl',
         '../url/url.gyp:url_lib',
         'mojo_application_manager',
         'mojo_base.gyp:mojo_common_lib',
       'dependencies': [
         '../base/base.gyp:base',
         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
-        '../net/net.gyp:net',
         '../url/url.gyp:url_lib',
         'mojo_content_handler_bindings',
         'mojo_network_bindings',
       'export_dependent_settings': [
         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
         'mojo_base.gyp:mojo_application_bindings',
+        'mojo_network_bindings',
       ],
     },
     {
+      # GN version: //mojo/application_manager:unittests
       'target_name': 'mojo_application_manager_unittests',
       'type': 'executable',
       'dependencies': [
       'dependencies': [
         '../base/base.gyp:base',
         '../cc/cc.gyp:cc',
+        '../cc/cc.gyp:cc_surfaces',
         '../skia/skia.gyp:skia',
         '../gpu/gpu.gyp:gles2_implementation',
-        '<(mojo_gles2_for_loadable_module)',
+        'mojo_geometry_lib',
+        'mojo_surfaces_bindings',
+        'mojo_surfaces_lib',
+      ],
+      'includes': [
+        'mojo_public_gles2_for_loadable_module.gypi',
+      ],
+      'export_dependent_settings': [
+        'mojo_surfaces_bindings',
       ],
       'sources': [
         'cc/context_provider_mojo.cc',
         'cc/context_provider_mojo.h',
+        'cc/output_surface_mojo.cc',
+        'cc/output_surface_mojo.h',
       ],
     },
   ],
     ['OS=="linux"', {
       'targets': [
         {
+          # GN version: //mojo/dbus
           'target_name': 'mojo_dbus_service',
           'type': 'static_library',
           'dependencies': [
     ['use_aura==1', {
       'targets': [
         {
+          # GN version: //mojo/aura
           'target_name': 'mojo_aura_support',
           'type': 'static_library',
           'dependencies': [
             '../ui/compositor/compositor.gyp:compositor',
             '../ui/events/events.gyp:events',
             '../ui/events/events.gyp:events_base',
-            '../ui/gl/gl.gyp:gl',
-            '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
             'mojo_cc_support',
             'mojo_native_viewport_bindings',
-            '<(mojo_gles2_for_loadable_module)',
+          ],
+          'includes': [
+            'mojo_public_gles2_for_loadable_module.gypi',
           ],
           'sources': [
             'aura/aura_init.cc',
           ],
         },
         {
+          # GN version: //mojo/views
           'target_name': 'mojo_views_support',
           'type': 'static_library',
           'dependencies': [
             '../base/base.gyp:base',
             '../base/base.gyp:base_i18n',
             '../skia/skia.gyp:skia',
-            '../skia/skia.gyp:skia',
             '../third_party/icu/icu.gyp:icui18n',
             '../third_party/icu/icu.gyp:icuuc',
             '../ui/aura/aura.gyp:aura',
             '../ui/wm/wm.gyp:wm',
             'mojo_aura_support',
             'mojo_views_support_internal',
+            'mojo_view_manager_bindings',
           ],
           'sources': [
+            'views/input_method_mojo_linux.cc',
+            'views/input_method_mojo_linux.h',
             'views/native_widget_view_manager.cc',
             'views/native_widget_view_manager.h',
             'views/views_init.cc',
           ],
         },
         {
+          # GN version: //mojo/views:views_internal
           'target_name': 'mojo_views_support_internal',
           'type': '<(component)',
           'dependencies': [
             '../base/base.gyp:base_static',
             '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
             '../skia/skia.gyp:skia',
-            '../skia/skia.gyp:skia',
             '../third_party/icu/icu.gyp:icui18n',
             '../third_party/icu/icu.gyp:icuuc',
             '../ui/base/ui_base.gyp:ui_base',
         },
       ],
     }],
+    ['component!="shared_library" and OS=="linux"', {
+      'targets': [
+        {
+          # GN version: //mojo/public/python:system
+          'target_name': 'mojo_python_system',
+          'variables': {
+            'python_base_module': 'mojo',
+            'python_cython_module': 'system',
+          },
+          'sources': [
+            'public/python/mojo/c_core.pxd',
+            'public/python/mojo/c_environment.pxd',
+            'public/python/mojo/system.pyx',
+            'public/python/src/python_system_helper.cc',
+            'public/python/src/python_system_helper.h',
+          ],
+          'dependencies': [
+            'mojo_base.gyp:mojo_environment_standalone',
+            'mojo_base.gyp:mojo_system',
+            'mojo_base.gyp:mojo_utility',
+          ],
+          'includes': [ '../third_party/cython/cython_compiler.gypi' ],
+        },
+        {
+          # GN version: //mojo/python:embedder
+          'target_name': 'mojo_python_embedder',
+          'type': 'loadable_module',
+          'variables': {
+            'python_base_module': 'mojo',
+            'python_cython_module': 'embedder',
+          },
+          'sources': [
+            'python/system/mojo/embedder.pyx',
+          ],
+          'dependencies': [
+            'mojo_base.gyp:mojo_system_impl',
+          ],
+          'includes': [ '../third_party/cython/cython_compiler.gypi' ],
+        },
+        {
+          # GN version: //mojo/public/python:bindings
+          'target_name': 'mojo_python_bindings',
+          'type': 'none',
+          'variables': {
+            'python_base_module': 'mojo/bindings',
+          },
+          'sources': [
+            'public/python/mojo/bindings/__init__.py',
+            'public/python/mojo/bindings/descriptor.py',
+            'public/python/mojo/bindings/messaging.py',
+            'public/python/mojo/bindings/reflection.py',
+            'public/python/mojo/bindings/serialization.py',
+          ],
+          'dependencies': [
+            'mojo_python_system',
+          ],
+          'includes': [ '../third_party/cython/python_module.gypi' ],
+        },
+        {
+          # GN version: //mojo/python
+          'target_name': 'mojo_python',
+          'type': 'none',
+          'variables': {
+            'python_base_module': 'mojo',
+          },
+          'sources': [
+            'public/python/mojo/__init__.py',
+          ],
+          'dependencies': [
+            'mojo_python_bindings',
+            'mojo_python_embedder',
+            'mojo_python_system',
+          ],
+          # The python module need to be copied to their destinations
+          'actions': [
+            {
+              'action_name': 'Copy system module.',
+              'inputs': [
+                '<(DEPTH)/build/cp.py',
+                '<(PRODUCT_DIR)/libmojo_python_system.so',
+              ],
+              'outputs': [
+                '<(PRODUCT_DIR)/python/mojo/system.so',
+              ],
+              'action': [
+                'python',
+                '<@(_inputs)',
+                '<@(_outputs)',
+              ]
+            },
+            {
+              'action_name': 'Copy embedder module.',
+              'inputs': [
+                '<(DEPTH)/build/cp.py',
+                '<(PRODUCT_DIR)/libmojo_python_embedder.so',
+              ],
+              'outputs': [
+                '<(PRODUCT_DIR)/python/mojo/embedder.so',
+              ],
+              'action': [
+                'python',
+                '<@(_inputs)',
+                '<@(_outputs)',
+              ]
+            },
+          ],
+          'includes': [ '../third_party/cython/python_module.gypi' ],
+        },
+      ],
+    }],
+    ['component!="shared_library" and OS=="linux" and test_isolation_mode!="noop"', {
+      'targets': [
+        {
+          'target_name': 'mojo_python_unittests_run',
+          'type': 'none',
+          'dependencies': [
+            'mojo_python',
+            'mojo_base.gyp:mojo_public_test_interfaces',
+          ],
+          'includes': [
+            '../build/isolate.gypi',
+            'mojo_python_unittests.isolate',
+          ],
+          'sources': [
+            'mojo_python_unittests.isolate',
+          ],
+        },
+      ],
+    }],
   ],
 }