Home | History | Annotate | Download | only in android_webview
      1 # Copyright 2009 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   'variables': {
      6     'chromium_code': 1,
      7   },
      8   'conditions': [
      9     ['android_webview_build==0', {
     10       'includes': [
     11         'android_webview_tests.gypi',
     12       ],
     13     }],
     14   ],
     15   'targets': [
     16     {
     17       'target_name': 'libwebviewchromium',
     18       'type': 'shared_library',
     19       'android_unmangled_name': 1,
     20       'dependencies': [
     21         'android_webview_common',
     22       ],
     23       'conditions': [
     24         # Avoid clashes between the versions of this library built with
     25         # android_webview_build==1 by using a different name prefix.
     26         [ 'android_webview_build==0', {
     27           'product_prefix': 'libstandalone',
     28         }],
     29         # The general approach is to allow the executable target to choose
     30         # the allocator, but as in the WebView case we are building a library
     31         # only, put the dependency on the allocator here
     32         [ 'android_webview_build==1 and android_use_tcmalloc==1', {
     33           'dependencies': [
     34             '../base/allocator/allocator.gyp:allocator', ],
     35         }],
     36         [ 'android_webview_build==1 and use_system_skia==0', {
     37           # When not using the system skia there are linker warnings about
     38           # overriden hidden symbols which there's no easy way to eliminate;
     39           # disable them. http://crbug.com/157326
     40           'ldflags': [
     41             '-Wl,--no-fatal-warnings',
     42           ],
     43           'ldflags!': [
     44             '-Wl,--fatal-warnings',
     45           ],
     46         }],
     47       ],
     48       'sources': [
     49         'lib/main/webview_entry_point.cc',
     50       ],
     51     },
     52     {
     53       'target_name': 'android_webview_pak',
     54       'type': 'none',
     55       'dependencies': [
     56         '<(DEPTH)/content/content_resources.gyp:content_resources',
     57         '<(DEPTH)/net/net.gyp:net_resources',
     58         '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources',
     59         '<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources',
     60       ],
     61       'variables': {
     62         'repack_path': '<(DEPTH)/tools/grit/grit/format/repack.py',
     63       },
     64       'actions': [
     65         {
     66           'action_name': 'repack_android_webview_pack',
     67           'variables': {
     68             'pak_inputs': [
     69               '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
     70               '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
     71               '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak',
     72               '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.pak',
     73               '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak',
     74             ],
     75           },
     76           'inputs': [
     77             '<(repack_path)',
     78             '<@(pak_inputs)',
     79           ],
     80           'outputs': [
     81             '<(PRODUCT_DIR)/android_webview_apk/assets/webviewchromium.pak',
     82           ],
     83           'action': ['python', '<(repack_path)', '<@(_outputs)',
     84                      '<@(pak_inputs)'],
     85         }
     86       ],
     87     },
     88     {
     89       'target_name': 'android_webview_common',
     90       'type': 'static_library',
     91       'dependencies': [
     92         '../android_webview/native/webview_native.gyp:webview_native',
     93         '../components/components.gyp:auto_login_parser',
     94         '../components/components.gyp:autofill_content_renderer',
     95         '../components/components.gyp:navigation_interception',
     96         '../components/components.gyp:visitedlink_browser',
     97         '../components/components.gyp:visitedlink_renderer',
     98         '../components/components.gyp:web_contents_delegate_android',
     99         '../content/content.gyp:content_app_both',
    100         '../gpu/gpu.gyp:command_buffer_service',
    101         '../gpu/gpu.gyp:gles2_implementation',
    102         '../printing/printing.gyp:printing',
    103         '../skia/skia.gyp:skia',
    104         '../third_party/WebKit/public/blink.gyp:blink',
    105         '../ui/gl/gl.gyp:gl',
    106         '../ui/shell_dialogs/shell_dialogs.gyp:shell_dialogs',
    107         '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
    108         'android_webview_pak',
    109       ],
    110       'include_dirs': [
    111         '..',
    112         '../skia/config',
    113         '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/',
    114       ],
    115       'sources': [
    116         'browser/aw_browser_context.cc',
    117         'browser/aw_browser_context.h',
    118         'browser/aw_browser_main_parts.cc',
    119         'browser/aw_browser_main_parts.h',
    120         'browser/aw_contents_client_bridge_base.cc',
    121         'browser/aw_contents_client_bridge_base.h',
    122         'browser/aw_content_browser_client.cc',
    123         'browser/aw_content_browser_client.h',
    124         'browser/aw_contents_io_thread_client.h',
    125         'browser/aw_cookie_access_policy.cc',
    126         'browser/aw_cookie_access_policy.h',
    127         'browser/aw_download_manager_delegate.cc',
    128         'browser/aw_download_manager_delegate.h',
    129         'browser/aw_form_database_service.cc',
    130         'browser/aw_form_database_service.h',
    131         'browser/aw_gl_surface.cc',
    132         'browser/aw_gl_surface.h',
    133         'browser/aw_http_auth_handler_base.cc',
    134         'browser/aw_http_auth_handler_base.h',
    135         'browser/aw_javascript_dialog_manager.cc',
    136         'browser/aw_javascript_dialog_manager.h',
    137         'browser/aw_login_delegate.cc',
    138         'browser/aw_login_delegate.h',
    139         'browser/aw_pref_store.cc',
    140         'browser/aw_pref_store.h',
    141         'browser/aw_quota_manager_bridge.cc',
    142         'browser/aw_quota_manager_bridge.h',
    143         'browser/aw_quota_permission_context.cc',
    144         'browser/aw_quota_permission_context.h',
    145         'browser/aw_request_interceptor.cc',
    146         'browser/aw_request_interceptor.h',
    147         'browser/aw_resource_context.cc',
    148         'browser/aw_resource_context.h',
    149         'browser/aw_result_codes.h',
    150         'browser/aw_web_preferences_populater.cc',
    151         'browser/aw_web_preferences_populater.h',
    152         'browser/browser_view_renderer.h',
    153         'browser/find_helper.cc',
    154         'browser/find_helper.h',
    155         'browser/gpu_memory_buffer_factory_impl.cc',
    156         'browser/gpu_memory_buffer_factory_impl.h',
    157         'browser/icon_helper.cc',
    158         'browser/icon_helper.h',
    159         'browser/in_process_view_renderer.cc',
    160         'browser/in_process_view_renderer.h',
    161         'browser/input_stream.h',
    162         'browser/intercepted_request_data.cc',
    163         'browser/intercepted_request_data.h',
    164         'browser/jni_dependency_factory.h',
    165         'browser/gl_view_renderer_manager.cc',
    166         'browser/gl_view_renderer_manager.h',
    167         'browser/net/android_stream_reader_url_request_job.cc',
    168         'browser/net/android_stream_reader_url_request_job.h',
    169         'browser/net/aw_network_delegate.cc',
    170         'browser/net/aw_network_delegate.h',
    171         'browser/net/aw_url_request_context_getter.cc',
    172         'browser/net/aw_url_request_context_getter.h',
    173         'browser/net/aw_url_request_job_factory.cc',
    174         'browser/net/aw_url_request_job_factory.h',
    175         'browser/net_disk_cache_remover.cc',
    176         'browser/net_disk_cache_remover.h',
    177         'browser/net/init_native_callback.h',
    178         'browser/net/input_stream_reader.cc',
    179         'browser/net/input_stream_reader.h',
    180         'browser/renderer_host/aw_render_view_host_ext.cc',
    181         'browser/renderer_host/aw_render_view_host_ext.h',
    182         'browser/renderer_host/aw_resource_dispatcher_host_delegate.cc',
    183         'browser/renderer_host/aw_resource_dispatcher_host_delegate.h',
    184         'browser/renderer_host/print_manager.cc',
    185         'browser/renderer_host/print_manager.h',
    186         'browser/scoped_allow_wait_for_legacy_web_view_api.h',
    187         'browser/scoped_app_gl_state_restore.cc',
    188         'browser/scoped_app_gl_state_restore.h',
    189         'common/android_webview_message_generator.cc',
    190         'common/android_webview_message_generator.h',
    191         'common/aw_content_client.cc',
    192         'common/aw_content_client.h',
    193         'common/aw_hit_test_data.cc',
    194         'common/aw_hit_test_data.h',
    195         'common/aw_resource.h',
    196         'common/aw_switches.cc',
    197         'common/aw_switches.h',
    198         'common/print_messages.cc',
    199         'common/print_messages.h',
    200         'common/render_view_messages.cc',
    201         'common/render_view_messages.h',
    202         'common/url_constants.cc',
    203         'common/url_constants.h',
    204         'lib/aw_browser_dependency_factory_impl.cc',
    205         'lib/aw_browser_dependency_factory_impl.h',
    206         'lib/main/aw_main_delegate.cc',
    207         'lib/main/aw_main_delegate.h',
    208         'public/browser/draw_gl.h',
    209         'renderer/aw_content_renderer_client.cc',
    210         'renderer/aw_content_renderer_client.h',
    211         'renderer/aw_key_systems.cc',
    212         'renderer/aw_key_systems.h',
    213         'renderer/aw_render_process_observer.cc',
    214         'renderer/aw_render_process_observer.h',
    215         'renderer/aw_render_view_ext.cc',
    216         'renderer/aw_render_view_ext.h',
    217         'renderer/print_web_view_helper.cc',
    218         'renderer/print_web_view_helper.h',
    219         'renderer/print_web_view_helper_android.cc',
    220         'renderer/print_web_view_helper_linux.cc',
    221       ],
    222     },
    223     {
    224       'target_name': 'android_webview_java',
    225       'type': 'none',
    226       'dependencies': [
    227         '../components/components.gyp:navigation_interception_java',
    228         '../components/components.gyp:web_contents_delegate_android_java',
    229         '../content/content.gyp:content_java',
    230         '../ui/android/ui_android.gyp:ui_java',
    231       ],
    232       'variables': {
    233         'java_in_dir': '../android_webview/java',
    234       },
    235       'includes': [ '../build/java.gypi' ],
    236     },
    237   ],
    238 }
    239