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   'targets': [
      9     {
     10       'target_name': 'libwebviewchromium',
     11       'type': 'shared_library',
     12       'android_unmangled_name': 1,
     13       'dependencies': [
     14         'android_webview_common',
     15       ],
     16       'android_enable_fdo': 1,
     17       'conditions': [
     18         # Avoid clashes between the versions of this library built with
     19         # android_webview_build==1 by using a different name prefix.
     20         [ 'android_webview_build==0', {
     21           'product_prefix': 'libstandalone',
     22         }],
     23         [ 'android_webview_build==1', {
     24           # When building inside the android tree we also need to depend on all
     25           # the java sources generated from templates which will be needed by
     26           # android_webview_java in android_webview/Android.mk.
     27           'dependencies': [
     28             '../base/base.gyp:base_java_application_state',
     29             '../base/base.gyp:base_java_memory_pressure_level_list',
     30             '../content/content.gyp:content_gamepad_mapping',
     31             '../content/content.gyp:gesture_event_type_java',
     32             '../content/content.gyp:page_transition_types_java',
     33             '../content/content.gyp:popup_item_type_java',
     34             '../content/content.gyp:result_codes_java',
     35             '../content/content.gyp:screen_orientation_values_java',
     36             '../content/content.gyp:speech_recognition_error_java',
     37             '../media/media.gyp:media_android_imageformat_list',
     38             '../net/net.gyp:cert_verify_status_android_java',
     39             '../net/net.gyp:certificate_mime_types_java',
     40             '../net/net.gyp:net_errors_java',
     41             '../net/net.gyp:private_key_types_java',
     42             '../ui/android/ui_android.gyp:bitmap_format_java',
     43             '../ui/android/ui_android.gyp:window_open_disposition_java',
     44           ],
     45         }],
     46         [ 'android_webview_build==1 and use_system_skia==0', {
     47           # When not using the system skia there are linker warnings about
     48           # overriden hidden symbols which there's no easy way to eliminate;
     49           # disable them. http://crbug.com/157326
     50           'ldflags': [
     51             '-Wl,--no-fatal-warnings',
     52           ],
     53           'ldflags!': [
     54             '-Wl,--fatal-warnings',
     55           ],
     56         }],
     57       ],
     58       'sources': [
     59         'lib/main/webview_entry_point.cc',
     60       ],
     61     },
     62     {
     63       'target_name': 'android_webview_pak',
     64       'type': 'none',
     65       'dependencies': [
     66         '<(DEPTH)/content/content_resources.gyp:content_resources',
     67         '<(DEPTH)/net/net.gyp:net_resources',
     68         '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources',
     69         '<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources',
     70       ],
     71       'actions': [
     72         {
     73           'action_name': 'repack_android_webview_pack',
     74           'variables': {
     75             'pak_inputs': [
     76               '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
     77               '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
     78               '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak',
     79               '<(SHARED_INTERMEDIATE_DIR)/webkit/blink_resources.pak',
     80               '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak',
     81             ],
     82             'pak_output': '<(PRODUCT_DIR)/android_webview_apk/assets/webviewchromium.pak',
     83           },
     84          'includes': [ '../build/repack_action.gypi' ],
     85         },
     86         {
     87           'action_name': 'add_en_US_pak_locale',
     88           'variables': {
     89             'pak_inputs': ['<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak'],
     90             'pak_output': '<(PRODUCT_DIR)/android_webview_apk/assets/en-US.pak',
     91           },
     92          'includes': [ '../build/repack_action.gypi' ],
     93         }
     94       ],
     95     },
     96     {
     97       'target_name': 'android_webview_common',
     98       'type': 'static_library',
     99       'dependencies': [
    100         '../android_webview/native/webview_native.gyp:webview_native',
    101         '../components/components.gyp:auto_login_parser',
    102         '../components/components.gyp:autofill_content_renderer',
    103         '../components/components.gyp:cdm_browser',
    104         '../components/components.gyp:cdm_renderer',
    105         '../components/components.gyp:data_reduction_proxy_browser',
    106         '../components/components.gyp:navigation_interception',
    107         '../components/components.gyp:visitedlink_browser',
    108         '../components/components.gyp:visitedlink_renderer',
    109         '../components/components.gyp:web_contents_delegate_android',
    110         '../content/content.gyp:content_app_both',
    111         '../content/content.gyp:content_browser',
    112         '../gpu/gpu.gyp:command_buffer_service',
    113         '../gpu/gpu.gyp:gles2_implementation',
    114         '../gpu/gpu.gyp:gl_in_process_context',
    115         '../media/media.gyp:media',
    116         '../printing/printing.gyp:printing',
    117         '../skia/skia.gyp:skia',
    118         '../third_party/WebKit/public/blink.gyp:blink',
    119         '../ui/gl/gl.gyp:gl',
    120         '../ui/shell_dialogs/shell_dialogs.gyp:shell_dialogs',
    121         '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
    122         'android_webview_pak',
    123       ],
    124       'include_dirs': [
    125         '..',
    126         '../skia/config',
    127         '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/',
    128       ],
    129       'sources': [
    130         'browser/aw_browser_context.cc',
    131         'browser/aw_browser_context.h',
    132         'browser/aw_browser_main_parts.cc',
    133         'browser/aw_browser_main_parts.h',
    134         'browser/aw_browser_permission_request_delegate.h',
    135         'browser/aw_contents_client_bridge_base.cc',
    136         'browser/aw_contents_client_bridge_base.h',
    137         'browser/aw_content_browser_client.cc',
    138         'browser/aw_content_browser_client.h',
    139         'browser/aw_contents_io_thread_client.h',
    140         'browser/aw_cookie_access_policy.cc',
    141         'browser/aw_cookie_access_policy.h',
    142         'browser/aw_download_manager_delegate.cc',
    143         'browser/aw_download_manager_delegate.h',
    144         'browser/aw_form_database_service.cc',
    145         'browser/aw_form_database_service.h',
    146         'browser/aw_gl_surface.cc',
    147         'browser/aw_gl_surface.h',
    148         'browser/aw_http_auth_handler_base.cc',
    149         'browser/aw_http_auth_handler_base.h',
    150         'browser/aw_javascript_dialog_manager.cc',
    151         'browser/aw_javascript_dialog_manager.h',
    152         'browser/aw_login_delegate.cc',
    153         'browser/aw_login_delegate.h',
    154         'browser/aw_pref_store.cc',
    155         'browser/aw_pref_store.h',
    156         'browser/aw_quota_manager_bridge.cc',
    157         'browser/aw_quota_manager_bridge.h',
    158         'browser/aw_quota_permission_context.cc',
    159         'browser/aw_quota_permission_context.h',
    160         'browser/aw_request_interceptor.cc',
    161         'browser/aw_request_interceptor.h',
    162         'browser/aw_resource_context.cc',
    163         'browser/aw_resource_context.h',
    164         'browser/aw_result_codes.h',
    165         'browser/aw_web_preferences_populater.cc',
    166         'browser/aw_web_preferences_populater.h',
    167         'browser/aw_web_resource_response.cc',
    168         'browser/aw_web_resource_response.h',
    169         'browser/browser_view_renderer.cc',
    170         'browser/browser_view_renderer.h',
    171         'browser/browser_view_renderer_client.h',
    172         'browser/deferred_gpu_command_service.cc',
    173         'browser/deferred_gpu_command_service.h',
    174         'browser/find_helper.cc',
    175         'browser/find_helper.h',
    176         'browser/global_tile_manager.cc',
    177         'browser/global_tile_manager.h',
    178         'browser/global_tile_manager_client.h',
    179         'browser/gpu_memory_buffer_factory_impl.cc',
    180         'browser/gpu_memory_buffer_factory_impl.h',
    181         'browser/hardware_renderer.cc',
    182         'browser/hardware_renderer.h',
    183         'browser/icon_helper.cc',
    184         'browser/icon_helper.h',
    185         'browser/input_stream.h',
    186         'browser/jni_dependency_factory.h',
    187         'browser/gl_view_renderer_manager.cc',
    188         'browser/gl_view_renderer_manager.h',
    189         'browser/net/android_stream_reader_url_request_job.cc',
    190         'browser/net/android_stream_reader_url_request_job.h',
    191         'browser/net/aw_network_delegate.cc',
    192         'browser/net/aw_network_delegate.h',
    193         'browser/net/aw_url_request_context_getter.cc',
    194         'browser/net/aw_url_request_context_getter.h',
    195         'browser/net/aw_url_request_job_factory.cc',
    196         'browser/net/aw_url_request_job_factory.h',
    197         'browser/net_disk_cache_remover.cc',
    198         'browser/net_disk_cache_remover.h',
    199         'browser/net/init_native_callback.h',
    200         'browser/net/input_stream_reader.cc',
    201         'browser/net/input_stream_reader.h',
    202         'browser/parent_compositor_draw_constraints.cc',
    203         'browser/parent_compositor_draw_constraints.h',
    204         'browser/parent_output_surface.cc',
    205         'browser/parent_output_surface.h',
    206         'browser/renderer_host/aw_render_view_host_ext.cc',
    207         'browser/renderer_host/aw_render_view_host_ext.h',
    208         'browser/renderer_host/aw_resource_dispatcher_host_delegate.cc',
    209         'browser/renderer_host/aw_resource_dispatcher_host_delegate.h',
    210         'browser/renderer_host/print_manager.cc',
    211         'browser/renderer_host/print_manager.h',
    212         'browser/scoped_allow_wait_for_legacy_web_view_api.h',
    213         'browser/scoped_app_gl_state_restore.cc',
    214         'browser/scoped_app_gl_state_restore.h',
    215         'browser/shared_renderer_state.cc',
    216         'browser/shared_renderer_state.h',
    217         'common/android_webview_message_generator.cc',
    218         'common/android_webview_message_generator.h',
    219         'common/aw_content_client.cc',
    220         'common/aw_content_client.h',
    221         'common/aw_hit_test_data.cc',
    222         'common/aw_hit_test_data.h',
    223         'common/aw_resource.h',
    224         'common/aw_switches.cc',
    225         'common/aw_switches.h',
    226         'common/devtools_instrumentation.h',
    227         'common/print_messages.cc',
    228         'common/print_messages.h',
    229         'common/render_view_messages.cc',
    230         'common/render_view_messages.h',
    231         'common/url_constants.cc',
    232         'common/url_constants.h',
    233         'lib/aw_browser_dependency_factory_impl.cc',
    234         'lib/aw_browser_dependency_factory_impl.h',
    235         'lib/main/aw_main_delegate.cc',
    236         'lib/main/aw_main_delegate.h',
    237         'public/browser/draw_gl.h',
    238         'renderer/aw_content_renderer_client.cc',
    239         'renderer/aw_content_renderer_client.h',
    240         'renderer/aw_key_systems.cc',
    241         'renderer/aw_key_systems.h',
    242         'renderer/aw_permission_client.cc',
    243         'renderer/aw_permission_client.h',
    244         'renderer/aw_render_process_observer.cc',
    245         'renderer/aw_render_process_observer.h',
    246         'renderer/aw_render_frame_ext.cc',
    247         'renderer/aw_render_frame_ext.h',
    248         'renderer/aw_render_view_ext.cc',
    249         'renderer/aw_render_view_ext.h',
    250         'renderer/print_web_view_helper.cc',
    251         'renderer/print_web_view_helper.h',
    252         'renderer/print_web_view_helper_android.cc',
    253         'renderer/print_web_view_helper_linux.cc',
    254         'renderer/print_render_frame_observer.cc',
    255         'renderer/print_render_frame_observer.h',
    256       ],
    257     },
    258   ],
    259   'conditions': [
    260     ['android_webview_build==0', {
    261       'includes': [
    262         'android_webview_tests.gypi',
    263       ],
    264       'targets': [
    265         {
    266           'target_name': 'android_webview_java',
    267           'type': 'none',
    268           'dependencies': [
    269             '../components/components.gyp:navigation_interception_java',
    270             '../components/components.gyp:web_contents_delegate_android_java',
    271             '../content/content.gyp:content_java',
    272             '../ui/android/ui_android.gyp:ui_java',
    273           ],
    274           'variables': {
    275             'java_in_dir': '../android_webview/java',
    276           },
    277           'includes': [ '../build/java.gypi' ],
    278         },
    279       ],
    280      }, {  # android_webview_build==1
    281       'targets': [
    282         {
    283           'target_name': 'android_webview_jarjar_ui_resources',
    284           'android_unmangled_name': 1,
    285           'type': 'none',
    286           'variables': {
    287             'res_dir': '../ui/android/java/res',
    288             'rules_file': '../android_webview/build/jarjar-rules.txt',
    289           },
    290           'includes': ['../android_webview/build/jarjar_resources.gypi'],
    291         },
    292         {
    293           'target_name': 'android_webview_jarjar_content_resources',
    294           'android_unmangled_name': 1,
    295           'type': 'none',
    296           'variables': {
    297             'res_dir': '../content/public/android/java/res',
    298             'rules_file': '../android_webview/build/jarjar-rules.txt',
    299           },
    300           'includes': ['../android_webview/build/jarjar_resources.gypi'],
    301         },
    302         {
    303           'target_name': 'android_webview_resources',
    304           'type': 'none',
    305           'android_unmangled_name': 1,
    306           'dependencies': [
    307             '../content/content.gyp:content_strings_grd',
    308             '../ui/android/ui_android.gyp:ui_strings_grd',
    309             'android_webview_jarjar_ui_resources',
    310             'android_webview_jarjar_content_resources'
    311           ],
    312         },
    313       ],
    314     }],
    315   ],
    316 }
    317