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