[GCM] Add the dummy app handler when there is at least one handler.
[chromium-blink-merge.git] / android_webview / android_webview.gyp
blob3f91264c2b444bdee74005646318e4d7051fa76e
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.
5   'variables': {
6     'chromium_code': 1,
7   },
8   'targets': [
9     {
10       'target_name': 'android_webview_pak',
11       'type': 'none',
12       'dependencies': [
13         '<(DEPTH)/content/app/resources/content_resources.gyp:content_resources',
14         '<(DEPTH)/net/net.gyp:net_resources',
15         '<(DEPTH)/third_party/WebKit/public/blink_resources.gyp:blink_resources',
16         '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources',
17       ],
18       'actions': [
19         {
20           'action_name': 'repack_android_webview_pack',
21           'variables': {
22             'pak_inputs': [
23               '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_resources.pak',
24               '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_100_percent.pak',
25               '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
26               '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
27               '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak',
28             ],
29             'pak_output': '<(PRODUCT_DIR)/android_webview_assets/webviewchromium.pak',
30           },
31          'includes': [ '../build/repack_action.gypi' ],
32         },
33         {
34           'action_name': 'add_en_US_pak_locale',
35           'variables': {
36             'pak_inputs': ['<(SHARED_INTERMEDIATE_DIR)/content/app/strings/content_strings_en-US.pak'],
37             'pak_output': '<(PRODUCT_DIR)/android_webview_assets/en-US.pak',
38           },
39          'includes': [ '../build/repack_action.gypi' ],
40         }
41       ],
42     },
43     {
44       'target_name': 'android_webview_strings_grd',
45       'android_unmangled_name': 1,
46       'type': 'none',
47       'variables': {
48         'grd_file': '../android_webview/java/strings/android_webview_strings.grd',
49       },
50       'includes': [
51           '../build/java_strings_grd.gypi',
52       ],
53     },
54     {
55       'target_name': 'android_webview_version',
56       'type': 'none',
57       'direct_dependent_settings': {
58         'include_dirs': [
59           '<(SHARED_INTERMEDIATE_DIR)',
60         ],
61       },
62       # Because generate_version generates a header, we must set the
63       # hard_dependency flag.
64       'hard_dependency': 1,
65       'actions': [
66         {
67           'action_name': 'generate_version',
68           'includes': [
69             '../build/util/version.gypi',
70           ],
71           'variables': {
72             'template_input_path': 'common/aw_version_info_values.h.version',
73           },
74           'inputs': [
75             '<(version_py_path)',
76             '<(template_input_path)',
77             '<(version_path)',
78             '<(lastchange_path)',
79           ],
80           'outputs': [
81             '<(SHARED_INTERMEDIATE_DIR)/android_webview/common/aw_version_info_values.h',
82           ],
83           'action': [
84             'python',
85             '<(version_py_path)',
86             '-f', '<(version_path)',
87             '-f', '<(lastchange_path)',
88             '<(template_input_path)',
89             '<@(_outputs)',
90           ],
91           'message': 'Generating version information',
92         },
93       ],
94     },
95     {
96       'target_name': 'android_webview_common',
97       'type': 'static_library',
98       'dependencies': [
99         '../android_webview/native/webview_native.gyp:webview_native',
100         '../components/components.gyp:auto_login_parser',
101         '../components/components.gyp:autofill_content_renderer',
102         '../components/components.gyp:cdm_browser',
103         '../components/components.gyp:cdm_renderer',
104         '../components/components.gyp:data_reduction_proxy_core_browser',
105         '../components/components.gyp:navigation_interception',
106         '../components/components.gyp:visitedlink_browser',
107         '../components/components.gyp:visitedlink_renderer',
108         '../components/components.gyp:web_contents_delegate_android',
109         '../content/content.gyp:content_app_both',
110         '../content/content.gyp:content_browser',
111         '../gpu/blink/gpu_blink.gyp:gpu_blink',
112         '../gpu/command_buffer/command_buffer.gyp:gles2_utils',
113         '../gpu/gpu.gyp:command_buffer_service',
114         '../gpu/gpu.gyp:gles2_implementation',
115         '../gpu/gpu.gyp:gl_in_process_context',
116         '../media/media.gyp:media',
117         '../printing/printing.gyp:printing',
118         '../skia/skia.gyp:skia',
119         '../third_party/WebKit/public/blink.gyp:blink',
120         '../ui/gl/gl.gyp:gl',
121         '../ui/shell_dialogs/shell_dialogs.gyp:shell_dialogs',
122         '../webkit/common/gpu/webkit_gpu.gyp:webkit_gpu',
123         'android_webview_pak',
124         'android_webview_version',
125       ],
126       'include_dirs': [
127         '..',
128         '../skia/config',
129         '<(SHARED_INTERMEDIATE_DIR)/ui/resources/',
130       ],
131       'sources': [
132         'browser/aw_browser_context.cc',
133         'browser/aw_browser_context.h',
134         'browser/aw_browser_main_parts.cc',
135         'browser/aw_browser_main_parts.h',
136         'browser/aw_browser_permission_request_delegate.h',
137         'browser/aw_contents_client_bridge_base.cc',
138         'browser/aw_contents_client_bridge_base.h',
139         'browser/aw_content_browser_client.cc',
140         'browser/aw_content_browser_client.h',
141         'browser/aw_contents_io_thread_client.h',
142         'browser/aw_cookie_access_policy.cc',
143         'browser/aw_cookie_access_policy.h',
144         'browser/aw_dev_tools_manager_delegate.cc',
145         'browser/aw_dev_tools_manager_delegate.h',
146         'browser/aw_download_manager_delegate.cc',
147         'browser/aw_download_manager_delegate.h',
148         'browser/aw_form_database_service.cc',
149         'browser/aw_form_database_service.h',
150         'browser/aw_gl_surface.cc',
151         'browser/aw_gl_surface.h',
152         'browser/aw_http_auth_handler_base.cc',
153         'browser/aw_http_auth_handler_base.h',
154         'browser/aw_javascript_dialog_manager.cc',
155         'browser/aw_javascript_dialog_manager.h',
156         'browser/aw_login_delegate.cc',
157         'browser/aw_login_delegate.h',
158         'browser/aw_pref_store.cc',
159         'browser/aw_pref_store.h',
160         'browser/aw_quota_manager_bridge.cc',
161         'browser/aw_quota_manager_bridge.h',
162         'browser/aw_quota_permission_context.cc',
163         'browser/aw_quota_permission_context.h',
164         'browser/aw_request_interceptor.cc',
165         'browser/aw_request_interceptor.h',
166         'browser/aw_resource_context.cc',
167         'browser/aw_resource_context.h',
168         'browser/aw_ssl_host_state_delegate.cc',
169         'browser/aw_ssl_host_state_delegate.h',
170         'browser/aw_result_codes.h',
171         'browser/aw_web_preferences_populater.cc',
172         'browser/aw_web_preferences_populater.h',
173         'browser/aw_web_resource_response.cc',
174         'browser/aw_web_resource_response.h',
175         'browser/browser_view_renderer.cc',
176         'browser/browser_view_renderer.h',
177         'browser/browser_view_renderer_client.h',
178         'browser/deferred_gpu_command_service.cc',
179         'browser/deferred_gpu_command_service.h',
180         'browser/find_helper.cc',
181         'browser/find_helper.h',
182         'browser/hardware_renderer.cc',
183         'browser/hardware_renderer.h',
184         'browser/icon_helper.cc',
185         'browser/icon_helper.h',
186         'browser/input_stream.h',
187         'browser/jni_dependency_factory.h',
188         'browser/gl_view_renderer_manager.cc',
189         'browser/gl_view_renderer_manager.h',
190         'browser/net/android_stream_reader_url_request_job.cc',
191         'browser/net/android_stream_reader_url_request_job.h',
192         'browser/net/aw_network_delegate.cc',
193         'browser/net/aw_network_delegate.h',
194         'browser/net/aw_url_request_context_getter.cc',
195         'browser/net/aw_url_request_context_getter.h',
196         'browser/net/aw_url_request_job_factory.cc',
197         'browser/net/aw_url_request_job_factory.h',
198         'browser/net_disk_cache_remover.cc',
199         'browser/net_disk_cache_remover.h',
200         'browser/net/init_native_callback.h',
201         'browser/net/input_stream_reader.cc',
202         'browser/net/input_stream_reader.h',
203         'browser/parent_compositor_draw_constraints.cc',
204         'browser/parent_compositor_draw_constraints.h',
205         'browser/parent_output_surface.cc',
206         'browser/parent_output_surface.h',
207         'browser/renderer_host/aw_render_view_host_ext.cc',
208         'browser/renderer_host/aw_render_view_host_ext.h',
209         'browser/renderer_host/aw_resource_dispatcher_host_delegate.cc',
210         'browser/renderer_host/aw_resource_dispatcher_host_delegate.h',
211         'browser/renderer_host/print_manager.cc',
212         'browser/renderer_host/print_manager.h',
213         'browser/scoped_allow_wait_for_legacy_web_view_api.h',
214         'browser/scoped_app_gl_state_restore.cc',
215         'browser/scoped_app_gl_state_restore.h',
216         'browser/shared_renderer_state.cc',
217         'browser/shared_renderer_state.h',
218         'common/android_webview_message_generator.cc',
219         'common/android_webview_message_generator.h',
220         'common/aw_content_client.cc',
221         'common/aw_content_client.h',
222         'common/aw_crash_handler.cc',
223         'common/aw_crash_handler.h',
224         'common/aw_hit_test_data.cc',
225         'common/aw_hit_test_data.h',
226         'common/aw_resource.h',
227         'common/aw_switches.cc',
228         'common/aw_switches.h',
229         'common/devtools_instrumentation.h',
230         'common/print_messages.cc',
231         'common/print_messages.h',
232         'common/render_view_messages.cc',
233         'common/render_view_messages.h',
234         'common/url_constants.cc',
235         'common/url_constants.h',
236         'lib/aw_browser_dependency_factory_impl.cc',
237         'lib/aw_browser_dependency_factory_impl.h',
238         'lib/main/aw_main_delegate.cc',
239         'lib/main/aw_main_delegate.h',
240         'public/browser/draw_gl.h',
241         'renderer/aw_content_renderer_client.cc',
242         'renderer/aw_content_renderer_client.h',
243         'renderer/aw_key_systems.cc',
244         'renderer/aw_key_systems.h',
245         'renderer/aw_permission_client.cc',
246         'renderer/aw_permission_client.h',
247         'renderer/aw_render_process_observer.cc',
248         'renderer/aw_render_process_observer.h',
249         'renderer/aw_render_frame_ext.cc',
250         'renderer/aw_render_frame_ext.h',
251         'renderer/aw_render_view_ext.cc',
252         'renderer/aw_render_view_ext.h',
253         'renderer/print_web_view_helper.cc',
254         'renderer/print_web_view_helper.h',
255         'renderer/print_web_view_helper_android.cc',
256         'renderer/print_web_view_helper_linux.cc',
257         'renderer/print_render_frame_observer.cc',
258         'renderer/print_render_frame_observer.h',
259       ],
260     },
261     {
262       'target_name': 'libwebviewchromium',
263       'includes': [
264           'libwebviewchromium.gypi',
265       ],
266     }
267   ],
268   'conditions': [
269     ['android_webview_build==0', {
270       'includes': [
271         'android_webview_tests.gypi',
272       ],
273       'targets': [
274         {
275           'target_name': 'android_webview_java',
276           'type': 'none',
277           'dependencies': [
278             '../components/components.gyp:navigation_interception_java',
279             '../components/components.gyp:web_contents_delegate_android_java',
280             '../content/content.gyp:content_java',
281             '../ui/android/ui_android.gyp:ui_java',
282             'android_webview_strings_grd',
283           ],
284           'variables': {
285             'java_in_dir': '../android_webview/java',
286             'has_java_resources': 1,
287             'R_package': 'org.chromium.android_webview',
288             'R_package_relpath': 'org/chromium/android_webview',
289           },
290           'includes': [ '../build/java.gypi' ],
291         },
292         {
293           'target_name': 'system_webview_apk',
294           'variables': {
295             'android_sdk_jar': '<(DEPTH)/third_party/android_platform/webview/frameworks_1622219.jar',
296             'apk_name': 'SystemWebView',
297             'android_manifest_path': 'apk/java/AndroidManifest.xml',
298             'java_in_dir': '../android_webview/glue/java',
299             'resource_dir': 'apk/java/res',
300             'shared_resources': 1,
301           },
302           'includes': [ 'apk/system_webview_apk_common.gypi' ],
303           'copies': [
304             {
305               'destination': '<(PRODUCT_DIR)/android_webview_assets',
306               'files': [],
307               'conditions': [
308                 ['icu_use_data_file_flag==1', {
309                   'files': [
310                     '<(PRODUCT_DIR)/icudtl.dat',
311                   ],
312                 }],
313                 ['v8_use_external_startup_data==1', {
314                   'files': [
315                     '<(PRODUCT_DIR)/natives_blob.bin',
316                     '<(PRODUCT_DIR)/snapshot_blob.bin',
317                   ],
318                 }],
319               ],
320             },
321           ],
322         },
323       ],
324      }, {  # android_webview_build==1
325       'targets': [
326         {
327           'target_name': 'android_webview_jarjar_ui_resources',
328           'android_unmangled_name': 1,
329           'type': 'none',
330           'variables': {
331             'res_dir': '../ui/android/java/res',
332             'rules_file': '../android_webview/build/jarjar-rules.txt',
333           },
334           'includes': ['../android_webview/build/jarjar_resources.gypi'],
335         },
336         {
337           'target_name': 'android_webview_jarjar_content_resources',
338           'android_unmangled_name': 1,
339           'type': 'none',
340           'variables': {
341             'res_dir': '../content/public/android/java/res',
342             'rules_file': '../android_webview/build/jarjar-rules.txt',
343           },
344           'includes': ['../android_webview/build/jarjar_resources.gypi'],
345         },
346         {
347           'target_name': 'android_webview_resources',
348           'type': 'none',
349           'android_unmangled_name': 1,
350           'dependencies': [
351             '../content/content.gyp:content_strings_grd',
352             '../ui/android/ui_android.gyp:ui_strings_grd',
353             'android_webview_jarjar_content_resources',
354             'android_webview_jarjar_ui_resources',
355             'android_webview_strings_grd',
356           ],
357         },
358       ],
359     }],
360   ],