Update {virtual,override,final} for content/ to follow C++11 style.
[chromium-blink-merge.git] / content / content_shell.gypi
blob1692ac7e470bbaaf803d7e720b24f58427423a44
1 # Copyright (c) 2012 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.
6   'variables': {
7     'content_shell_product_name': 'Content Shell',
8     # The "19" is so that sites that sniff for version think that this is
9     # something reasonably current; the "77.34.5" is a hint that this isn't a
10     # standard Chrome.
11     'content_shell_version': '19.77.34.5',
12     'conditions': [
13       ['OS=="linux"', {
14        'use_custom_freetype%': 1,
15       }, {
16        'use_custom_freetype%': 0,
17       }],
18     ],
19   },
20   'targets': [
21     {
22       # GN version: //content/shell:content_shell_lib
23       'target_name': 'content_shell_lib',
24       'type': 'static_library',
25       'defines': ['CONTENT_SHELL_VERSION="<(content_shell_version)"'],
26       'variables': {
27         'chromium_code': 1,
28       },
29       'dependencies': [
30         'app/resources/content_resources.gyp:content_resources',
31         'app/strings/content_strings.gyp:content_strings',
32         'content.gyp:content_app_both',
33         'content.gyp:content_browser',
34         'content.gyp:content_common',
35         'content.gyp:content_gpu',
36         'content.gyp:content_plugin',
37         'content.gyp:content_ppapi_plugin',
38         'content.gyp:content_renderer',
39         'content.gyp:content_resources',
40         'content.gyp:content_utility',
41         'content_shell_resources',
42         'copy_test_netscape_plugin',
43         'layouttest_support_content',
44         '../base/base.gyp:base',
45         '../base/base.gyp:base_static',
46         '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
47         '../cc/blink/cc_blink.gyp:cc_blink',
48         '../cc/cc.gyp:cc',
49         '../components/components.gyp:crash_component',
50         '../components/components.gyp:web_cache_renderer',
51         '../gin/gin.gyp:gin',
52         '../gpu/gpu.gyp:gpu',
53         '../ipc/ipc.gyp:ipc',
54         '../media/blink/media_blink.gyp:media_blink',
55         '../media/media.gyp:media',
56         '../net/net.gyp:net',
57         '../net/net.gyp:net_resources',
58         '../skia/skia.gyp:skia',
59         '../storage/storage_browser.gyp:storage',
60         '../third_party/WebKit/public/blink.gyp:blink',
61         '../third_party/WebKit/public/blink.gyp:blink_test_support',
62         '../ui/base/ui_base.gyp:ui_base',
63         '../ui/events/events.gyp:events_base',
64         '../ui/gfx/gfx.gyp:gfx',
65         '../ui/gfx/gfx.gyp:gfx_geometry',
66         '../ui/gfx/ipc/gfx_ipc.gyp:gfx_ipc',
67         '../ui/gl/gl.gyp:gl',
68         '../url/url.gyp:url_lib',
69         '../v8/tools/gyp/v8.gyp:v8',
70       ],
71       'include_dirs': [
72         '..',
73       ],
74       'sources': [
75         # Note: sources list duplicated in GN build.
76         'shell/android/shell_jni_registrar.cc',
77         'shell/android/shell_jni_registrar.h',
78         'shell/android/shell_manager.cc',
79         'shell/android/shell_manager.h',
80         'shell/app/blink_test_platform_support.h',
81         'shell/app/blink_test_platform_support_android.cc',
82         'shell/app/blink_test_platform_support_linux.cc',
83         'shell/app/blink_test_platform_support_mac.mm',
84         'shell/app/blink_test_platform_support_win.cc',
85         'shell/app/paths_mac.h',
86         'shell/app/paths_mac.mm',
87         'shell/app/shell_crash_reporter_client.cc',
88         'shell/app/shell_crash_reporter_client.h',
89         'shell/app/shell_main_delegate.cc',
90         'shell/app/shell_main_delegate.h',
91         'shell/app/shell_main_delegate_mac.h',
92         'shell/app/shell_main_delegate_mac.mm',
93         'shell/browser/ipc_echo_message_filter.cc',
94         'shell/browser/ipc_echo_message_filter.h',
95         'shell/browser/layout_test/layout_test_android.cc',
96         'shell/browser/layout_test/layout_test_android.h',
97         'shell/browser/layout_test/layout_test_browser_context.cc',
98         'shell/browser/layout_test/layout_test_browser_context.h',
99         'shell/browser/layout_test/layout_test_browser_main.cc',
100         'shell/browser/layout_test/layout_test_browser_main.h',
101         'shell/browser/layout_test/layout_test_browser_main_parts.cc',
102         'shell/browser/layout_test/layout_test_browser_main_parts.h',
103         'shell/browser/layout_test/layout_test_content_browser_client.cc',
104         'shell/browser/layout_test/layout_test_content_browser_client.h',
105         'shell/browser/layout_test/layout_test_download_manager_delegate.cc',
106         'shell/browser/layout_test/layout_test_download_manager_delegate.h',
107         'shell/browser/layout_test/layout_test_devtools_frontend.cc',
108         'shell/browser/layout_test/layout_test_devtools_frontend.h',
109         'shell/browser/layout_test/layout_test_javascript_dialog_manager.cc',
110         'shell/browser/layout_test/layout_test_javascript_dialog_manager.h',
111         'shell/browser/layout_test/layout_test_message_filter.cc',
112         'shell/browser/layout_test/layout_test_message_filter.h',
113         'shell/browser/layout_test/layout_test_notification_manager.cc',
114         'shell/browser/layout_test/layout_test_notification_manager.h',
115         'shell/browser/layout_test/layout_test_push_messaging_service.cc',
116         'shell/browser/layout_test/layout_test_push_messaging_service.h',
117         'shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate.cc',
118         'shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate.h',
119         'shell/browser/layout_test/layout_test_url_request_context_getter.cc',
120         'shell/browser/layout_test/layout_test_url_request_context_getter.h',
121         'shell/browser/notify_done_forwarder.cc',
122         'shell/browser/notify_done_forwarder.h',
123         'shell/browser/shell.cc',
124         'shell/browser/shell.h',
125         'shell/browser/shell_access_token_store.cc',
126         'shell/browser/shell_access_token_store.h',
127         'shell/browser/shell_android.cc',
128         'shell/browser/shell_application_mac.h',
129         'shell/browser/shell_application_mac.mm',
130         'shell/browser/shell_aura.cc',
131         'shell/browser/shell_browser_context.cc',
132         'shell/browser/shell_browser_context.h',
133         'shell/browser/shell_browser_main.cc',
134         'shell/browser/shell_browser_main.h',
135         'shell/browser/shell_browser_main_parts.cc',
136         'shell/browser/shell_browser_main_parts.h',
137         'shell/browser/shell_browser_main_parts_mac.mm',
138         'shell/browser/shell_content_browser_client.cc',
139         'shell/browser/shell_content_browser_client.h',
140         'shell/browser/shell_devtools_manager_delegate.cc',
141         'shell/browser/shell_devtools_manager_delegate.h',
142         'shell/browser/shell_devtools_frontend.cc',
143         'shell/browser/shell_devtools_frontend.h',
144         'shell/browser/shell_download_manager_delegate.cc',
145         'shell/browser/shell_download_manager_delegate.h',
146         'shell/browser/shell_javascript_dialog.h',
147         'shell/browser/shell_javascript_dialog_mac.mm',
148         'shell/browser/shell_javascript_dialog_manager.cc',
149         'shell/browser/shell_javascript_dialog_manager.h',
150         'shell/browser/shell_javascript_dialog_win.cc',
151         'shell/browser/shell_mojo_test_utils_android.cc',
152         'shell/browser/shell_mojo_test_utils_android.h',
153         'shell/browser/shell_login_dialog.cc',
154         'shell/browser/shell_login_dialog.h',
155         'shell/browser/shell_login_dialog_mac.mm',
156         'shell/browser/shell_mac.mm',
157         'shell/browser/shell_net_log.cc',
158         'shell/browser/shell_net_log.h',
159         'shell/browser/shell_network_delegate.cc',
160         'shell/browser/shell_network_delegate.h',
161         'shell/browser/shell_platform_data_aura.cc',
162         'shell/browser/shell_platform_data_aura.h',
163         'shell/browser/shell_plugin_service_filter.cc',
164         'shell/browser/shell_plugin_service_filter.h',
165         'shell/browser/shell_quota_permission_context.cc',
166         'shell/browser/shell_quota_permission_context.h',
167         'shell/browser/shell_resource_dispatcher_host_delegate.cc',
168         'shell/browser/shell_resource_dispatcher_host_delegate.h',
169         'shell/browser/shell_speech_recognition_manager_delegate.cc',
170         'shell/browser/shell_speech_recognition_manager_delegate.h',
171         'shell/browser/shell_url_request_context_getter.cc',
172         'shell/browser/shell_url_request_context_getter.h',
173         'shell/browser/shell_views.cc',
174         'shell/browser/shell_web_contents_view_delegate_android.cc',
175         'shell/browser/shell_web_contents_view_delegate_creator.h',
176         'shell/browser/shell_web_contents_view_delegate.h',
177         'shell/browser/shell_web_contents_view_delegate_mac.mm',
178         'shell/browser/shell_web_contents_view_delegate_win.cc',
179         'shell/browser/webkit_test_controller.cc',
180         'shell/browser/webkit_test_controller.h',
181         'shell/common/layout_test/layout_test_messages.cc',
182         'shell/common/layout_test/layout_test_messages.h',
183         'shell/common/leak_detection_result.h',
184         'shell/common/shell_content_client.cc',
185         'shell/common/shell_content_client.h',
186         'shell/common/shell_messages.cc',
187         'shell/common/shell_messages.h',
188         'shell/common/shell_switches.cc',
189         'shell/common/shell_switches.h',
190         'shell/common/shell_test_configuration.cc',
191         'shell/common/shell_test_configuration.h',
192         'shell/common/test_runner/test_preferences.cc',
193         'shell/common/test_runner/test_preferences.h',
194         'shell/common/v8_breakpad_support_win.cc',
195         'shell/common/v8_breakpad_support_win.h',
196         'shell/common/webkit_test_helpers.cc',
197         'shell/common/webkit_test_helpers.h',
198         'shell/renderer/ipc_echo.cc',
199         'shell/renderer/ipc_echo.h',
200         'shell/renderer/layout_test/gc_controller.cc',
201         'shell/renderer/layout_test/gc_controller.h',
202         'shell/renderer/layout_test/layout_test_content_renderer_client.cc',
203         'shell/renderer/layout_test/layout_test_content_renderer_client.h',
204         'shell/renderer/layout_test/layout_test_render_frame_observer.cc',
205         'shell/renderer/layout_test/layout_test_render_frame_observer.h',
206         'shell/renderer/layout_test/layout_test_render_process_observer.cc',
207         'shell/renderer/layout_test/layout_test_render_process_observer.h',
208         'shell/renderer/layout_test/leak_detector.cc',
209         'shell/renderer/layout_test/leak_detector.h',
210         'shell/renderer/layout_test/webkit_test_runner.cc',
211         'shell/renderer/layout_test/webkit_test_runner.h',
212         'shell/renderer/shell_content_renderer_client.cc',
213         'shell/renderer/shell_content_renderer_client.h',
214         'shell/renderer/shell_render_view_observer.cc',
215         'shell/renderer/shell_render_view_observer.h',
216         'shell/renderer/test_runner/accessibility_controller.cc',
217         'shell/renderer/test_runner/accessibility_controller.h',
218         'shell/renderer/test_runner/event_sender.cc',
219         'shell/renderer/test_runner/event_sender.h',
220         'shell/renderer/test_runner/gamepad_controller.cc',
221         'shell/renderer/test_runner/gamepad_controller.h',
222         'shell/renderer/test_runner/mock_color_chooser.cc',
223         'shell/renderer/test_runner/mock_color_chooser.h',
224         'shell/renderer/test_runner/mock_constraints.cc',
225         'shell/renderer/test_runner/mock_constraints.h',
226         'shell/renderer/test_runner/mock_credential_manager_client.cc',
227         'shell/renderer/test_runner/mock_credential_manager_client.h',
228         'shell/renderer/test_runner/mock_grammar_check.cc',
229         'shell/renderer/test_runner/mock_grammar_check.h',
230         'shell/renderer/test_runner/mock_screen_orientation_client.cc',
231         'shell/renderer/test_runner/mock_screen_orientation_client.h',
232         'shell/renderer/test_runner/mock_spell_check.cc',
233         'shell/renderer/test_runner/mock_spell_check.h',
234         'shell/renderer/test_runner/mock_web_audio_device.cc',
235         'shell/renderer/test_runner/mock_web_audio_device.h',
236         'shell/renderer/test_runner/mock_web_media_stream_center.cc',
237         'shell/renderer/test_runner/mock_web_media_stream_center.h',
238         'shell/renderer/test_runner/mock_web_midi_accessor.cc',
239         'shell/renderer/test_runner/mock_web_midi_accessor.h',
240         'shell/renderer/test_runner/mock_web_speech_recognizer.cc',
241         'shell/renderer/test_runner/mock_web_speech_recognizer.h',
242         'shell/renderer/test_runner/mock_web_theme_engine.cc',
243         'shell/renderer/test_runner/mock_web_theme_engine.h',
244         'shell/renderer/test_runner/mock_web_user_media_client.cc',
245         'shell/renderer/test_runner/mock_web_user_media_client.h',
246         'shell/renderer/test_runner/mock_webrtc_data_channel_handler.cc',
247         'shell/renderer/test_runner/mock_webrtc_data_channel_handler.h',
248         'shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.cc',
249         'shell/renderer/test_runner/mock_webrtc_dtmf_sender_handler.h',
250         'shell/renderer/test_runner/mock_webrtc_peer_connection_handler.cc',
251         'shell/renderer/test_runner/mock_webrtc_peer_connection_handler.h',
252         'shell/renderer/test_runner/spell_check_client.cc',
253         'shell/renderer/test_runner/spell_check_client.h',
254         'shell/renderer/test_runner/test_common.cc',
255         'shell/renderer/test_runner/test_common.h',
256         'shell/renderer/test_runner/test_interfaces.cc',
257         'shell/renderer/test_runner/test_interfaces.h',
258         'shell/renderer/test_runner/test_plugin.cc',
259         'shell/renderer/test_runner/test_plugin.h',
260         'shell/renderer/test_runner/test_runner.cc',
261         'shell/renderer/test_runner/test_runner.h',
262         'shell/renderer/test_runner/text_input_controller.cc',
263         'shell/renderer/test_runner/text_input_controller.h',
264         'shell/renderer/test_runner/web_ax_object_proxy.cc',
265         'shell/renderer/test_runner/web_ax_object_proxy.h',
266         'shell/renderer/test_runner/web_frame_test_proxy.h',
267         'shell/renderer/test_runner/web_permissions.cc',
268         'shell/renderer/test_runner/web_permissions.h',
269         'shell/renderer/test_runner/web_task.cc',
270         'shell/renderer/test_runner/web_task.h',
271         'shell/renderer/test_runner/web_test_delegate.h',
272         'shell/renderer/test_runner/web_test_interfaces.cc',
273         'shell/renderer/test_runner/web_test_interfaces.h',
274         'shell/renderer/test_runner/web_test_proxy.cc',
275         'shell/renderer/test_runner/web_test_proxy.h',
276         'shell/renderer/test_runner/web_test_runner.h',
277       ],
278       'msvs_settings': {
279         'VCLinkerTool': {
280           'SubSystem': '2',  # Set /SUBSYSTEM:WINDOWS
281         },
282       },
283       'conditions': [
284         ['OS=="win" and win_use_allocator_shim==1', {
285           'dependencies': [
286             '../base/allocator/allocator.gyp:allocator',
287           ],
288         }],
289         ['OS=="win"', {
290           'resource_include_dirs': [
291             '<(SHARED_INTERMEDIATE_DIR)/content/app/strings',
292           ],
293           'dependencies': [
294             '<(DEPTH)/content/app/strings/content_strings.gyp:content_strings',
295           ],
296           'configurations': {
297             'Debug_Base': {
298               'msvs_settings': {
299                 'VCLinkerTool': {
300                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
301                 },
302               },
303             },
304           },
305           # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
306           'msvs_disabled_warnings': [ 4267, ],
307         }],  # OS=="win"
308         ['OS=="linux"', {
309           'dependencies': [
310             '../build/linux/system.gyp:fontconfig',
311           ],
312         }],
313         ['use_x11 == 1', {
314           'dependencies': [
315             '../ui/events/devices/events_devices.gyp:events_devices',
316             '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck',
317           ],
318         }],
319         ['OS=="android"', {
320           'dependencies': [
321             '../mojo/mojo_base.gyp:libmojo_system_java',
322             'content_shell_jni_headers',
323           ],
324           'dependencies!': [
325             'copy_test_netscape_plugin',
326           ],
327         }],  # OS=="android"
328         ['os_posix == 1 and OS != "mac" and android_webview_build != 1', {
329           'dependencies': [
330             '../components/components.gyp:breakpad_host',
331           ],
332         }],
333         ['(OS=="linux" or OS=="android") and use_allocator!="none"', {
334           'dependencies': [
335             # This is needed by content/app/content_main_runner.cc
336             '../base/allocator/allocator.gyp:allocator',
337           ],
338         }],
339         ['use_aura==1', {
340           'dependencies': [
341             '../ui/aura/aura.gyp:aura',
342             '../ui/aura/aura.gyp:aura_test_support',
343             '../ui/events/events.gyp:events',
344             '../ui/strings/ui_strings.gyp:ui_strings',
345             '../ui/wm/wm.gyp:wm',
346           ],
347           'conditions': [
348             ['toolkit_views==1', {
349               'dependencies': [
350                 '../ui/resources/ui_resources.gyp:ui_resources',
351                 '../ui/views/controls/webview/webview.gyp:webview',
352                 '../ui/views/views.gyp:views',
353                 '../ui/views/views.gyp:views_test_support',
354               ],
355               'sources/': [
356                 ['exclude', 'shell/browser/shell_aura.cc'],
357               ],
358             }, {
359               'sources/': [
360                 ['exclude', 'shell/browser/shell_views.cc'],
361               ],
362             }],
363           ],
364         }, {
365           'sources/': [
366             ['exclude', 'shell/browser/shell_aura.cc'],
367             ['exclude', 'shell/browser/shell_views.cc'],
368           ],
369         }],  # use_aura==1
370         # The test plugin relies on X11.
371         ['OS=="linux" and use_x11==0', {
372           'dependencies!': [
373             'copy_test_netscape_plugin',
374           ],
375         }],
376         ['chromeos==1', {
377           'dependencies': [
378             '../chromeos/chromeos.gyp:chromeos',
379             '../ui/wm/wm.gyp:wm_test_support',
380            ],
381         }], # chromeos==1
382         ['use_custom_freetype==1', {
383           'dependencies': [
384              '../third_party/freetype2/freetype2.gyp:freetype2',
385           ],
386         }],
387         ['enable_plugins==0', {
388           'sources!': [
389             'shell/browser/shell_plugin_service_filter.cc',
390             'shell/browser/shell_plugin_service_filter.h',
391           ],
392         }]
393       ],
394     },
395     {
396       # GN version: //content/shell:resources
397       'target_name': 'content_shell_resources',
398       'type': 'none',
399       'variables': {
400         'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content',
401       },
402       'actions': [
403         {
404           'action_name': 'generate_content_shell_resources',
405           'variables': {
406             'grit_grd_file': 'shell/shell_resources.grd',
407           },
408           'includes': [ '../build/grit_action.gypi' ],
409         },
410       ],
411       'includes': [ '../build/grit_target.gypi' ],
412       'copies': [
413         {
414           'destination': '<(PRODUCT_DIR)',
415           'files': [
416             '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak'
417           ],
418         },
419       ],
420       'conditions': [
421         ['OS=="win"', {
422           'copies': [{
423             'destination': '<(PRODUCT_DIR)',
424             'files': ['shell/renderer/test_runner/resources/fonts/AHEM____.TTF'],
425           }],
426         }],
427         ['OS=="mac"', {
428           'all_dependent_settings': {
429             'mac_bundle_resources': [
430               'shell/renderer/test_runner/resources/fonts/AHEM____.TTF',
431               'shell/renderer/test_runner/resources/fonts/ChromiumAATTest.ttf',
432               '<(SHARED_INTERMEDIATE_DIR)/webkit/missingImage.png',
433               '<(SHARED_INTERMEDIATE_DIR)/webkit/textAreaResizeCorner.png',
434             ],
435           },
436         }],
437         ['use_x11 == 1', {
438           'copies': [{
439             'destination': '<(PRODUCT_DIR)',
440             'files': [
441               'shell/renderer/test_runner/resources/fonts/AHEM____.TTF',
442               'shell/renderer/test_runner/resources/fonts/fonts.conf',
443               '../third_party/gardiner_mod/GardinerModBug.ttf',
444               '../third_party/gardiner_mod/GardinerModCat.ttf',
445             ]
446           }],
447         }],
448         ['OS=="android"', {
449           'copies': [{
450             'destination': '<(PRODUCT_DIR)',
451             'files': [
452               'shell/renderer/test_runner/resources/fonts/AHEM____.TTF',
453               'shell/renderer/test_runner/resources/fonts/android_main_fonts.xml',
454               'shell/renderer/test_runner/resources/fonts/android_fallback_fonts.xml',
455             ]
456           }],
457         }],
458       ],
459     },
460     {
461       # We build a minimal set of resources so WebKit in content_shell has
462       # access to necessary resources.
463       # GN version: //content/shell:pak
464       'target_name': 'content_shell_pak',
465       'type': 'none',
466       'dependencies': [
467         'app/resources/content_resources.gyp:content_resources',
468         'app/strings/content_strings.gyp:content_strings',
469         'browser/tracing/tracing_resources.gyp:tracing_resources',
470         'content.gyp:content_resources',
471         'content_shell_resources',
472         '<(DEPTH)/net/net.gyp:net_resources',
473         '<(DEPTH)/third_party/WebKit/public/blink_resources.gyp:blink_resources',
474         '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources',
475         '<(DEPTH)/ui/strings/ui_strings.gyp:ui_strings',
476       ],
477       'conditions': [
478         ['OS!="android"', {
479           'dependencies': [
480             'browser/devtools/devtools_resources.gyp:devtools_resources',
481           ],
482         }],
483         ['OS=="android"', {
484           'copies': [
485             {
486               'destination': '<(PRODUCT_DIR)',
487               'files': [
488                 '<(PRODUCT_DIR)/content_shell/assets/content_shell.pak'
489               ],
490             },
491           ],
492         }],
493       ],
494       'actions': [
495         {
496           'action_name': 'repack_content_shell_pack',
497           'variables': {
498             'pak_inputs': [
499               '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_resources.pak',
500               '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resources_100_percent.pak',
501               '<(SHARED_INTERMEDIATE_DIR)/content/app/strings/content_strings_en-US.pak',
502               '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.pak',
503               '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
504               '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak',
505               '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
506               '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.pak',
507               '<(SHARED_INTERMEDIATE_DIR)/ui/resources/webui_resources.pak',
508               '<(SHARED_INTERMEDIATE_DIR)/ui/strings/app_locale_settings_en-US.pak',
509               '<(SHARED_INTERMEDIATE_DIR)/ui/strings/ui_strings_en-US.pak',
510             ],
511             'conditions': [
512               ['OS!="android"', {
513                 'pak_inputs': ['<(SHARED_INTERMEDIATE_DIR)/blink/devtools_resources.pak',],
514                 'pak_output': '<(PRODUCT_DIR)/content_shell.pak',
515               }, {
516                 'pak_output': '<(PRODUCT_DIR)/content_shell/assets/content_shell.pak',
517               }],
518             ],
519           },
520           'includes': [ '../build/repack_action.gypi' ],
521         },
522       ],
523     },
524     {
525       # GN version: //content/shell:content_shell
526       'target_name': 'content_shell',
527       'type': 'executable',
528       'mac_bundle': 1,
529       'variables': {
530         'chromium_code': 1,
531       },
532       'dependencies': [
533         'content_shell_lib',
534         'content_shell_pak',
535         '../third_party/mesa/mesa.gyp:osmesa',
536         '../tools/imagediff/image_diff.gyp:image_diff',
537       ],
538       'include_dirs': [
539         '..',
540       ],
541       'sources': [
542         'shell/app/shell_main.cc',
543       ],
544       'mac_bundle_resources': [
545         'shell/app/app.icns',
546         'shell/app/app-Info.plist',
547       ],
548       # TODO(mark): Come up with a fancier way to do this.  It should only
549       # be necessary to list app-Info.plist once, not the three times it is
550       # listed here.
551       'mac_bundle_resources!': [
552         'shell/app/app-Info.plist',
553       ],
554       'xcode_settings': {
555         'INFOPLIST_FILE': 'shell/app/app-Info.plist',
556       },
557       'msvs_settings': {
558         'VCManifestTool': {
559           'AdditionalManifestFiles': [
560             'shell/app/shell.exe.manifest',
561           ],
562         },
563       },
564       'conditions': [
565         ['OS=="win" and win_use_allocator_shim==1', {
566           'dependencies': [
567             '../base/allocator/allocator.gyp:allocator',
568           ],
569         }],
570         ['OS=="win"', {
571           'sources': [
572             'shell/app/shell.rc',
573           ],
574           'configurations': {
575             'Debug_Base': {
576               'msvs_settings': {
577                 'VCLinkerTool': {
578                   'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
579                 },
580               },
581             },
582           },
583         }],  # OS=="win"
584         ['OS == "win"', {
585           'dependencies': [
586             '../sandbox/sandbox.gyp:sandbox',
587           ],
588         }],  # OS=="win"
589         ['OS=="win" and asan==0', {
590           'msvs_settings': {
591             'VCLinkerTool': {
592               'SubSystem': '2',  # Set /SUBSYSTEM:WINDOWS
593             },
594           },
595         }],  # OS=="win" and asan==0
596         ['OS=="mac"', {
597           'product_name': '<(content_shell_product_name)',
598           'dependencies!': [
599             'content_shell_lib',
600           ],
601           'dependencies': [
602             'content_shell_framework',
603             'content_shell_helper_app',
604           ],
605           'copies': [
606             {
607               'destination': '<(PRODUCT_DIR)/<(content_shell_product_name).app/Contents/Frameworks',
608               'files': [
609                 '<(PRODUCT_DIR)/<(content_shell_product_name) Helper.app',
610               ],
611             },
612           ],
613           'postbuilds': [
614             {
615               'postbuild_name': 'Copy <(content_shell_product_name) Framework.framework',
616               'action': [
617                 '../build/mac/copy_framework_unversioned.sh',
618                 '${BUILT_PRODUCTS_DIR}/<(content_shell_product_name) Framework.framework',
619                 '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Frameworks',
620               ],
621             },
622             {
623               # Modify the Info.plist as needed.
624               'postbuild_name': 'Tweak Info.plist',
625               'action': ['../build/mac/tweak_info_plist.py',
626                          '--scm=1',
627                          '--version=<(content_shell_version)'],
628             },
629             {
630               # This postbuid step is responsible for creating the following
631               # helpers:
632               #
633               # Content Shell Helper EH.app and Content Shell Helper NP.app are
634               # created from Content Shell Helper.app.
635               #
636               # The EH helper is marked for an executable heap. The NP helper
637               # is marked for no PIE (ASLR).
638               'postbuild_name': 'Make More Helpers',
639               'action': [
640                 '../build/mac/make_more_helpers.sh',
641                 'Frameworks',
642                 '<(content_shell_product_name)',
643               ],
644             },
645             {
646               # Make sure there isn't any Objective-C in the shell's
647               # executable.
648               'postbuild_name': 'Verify No Objective-C',
649               'action': [
650                 '../build/mac/verify_no_objc.sh',
651               ],
652             },
653           ],
654         }],  # OS=="mac"
655         ['OS=="android"', {
656           'dependencies!': [
657             '../tools/imagediff/image_diff.gyp:image_diff',
658           ],
659         }],  # OS=="android"
660         ['OS=="android" and android_webview_build==0', {
661           'dependencies': [
662             '../tools/imagediff/image_diff.gyp:image_diff#host',
663           ],
664         }],  # OS=="android" and android_webview_build==0
665       ],
666     },
667     {
668       'target_name': 'content_shell_builder',
669       'type': 'none',
670       'dependencies': [
671         'content_shell',
672       ],
673     },
675     {
676       'target_name': 'test_netscape_plugin',
677       'type': 'loadable_module',
678       'sources': [
679         'shell/tools/plugin/PluginObject.cpp',
680         'shell/tools/plugin/PluginObject.h',
681         'shell/tools/plugin/PluginObjectMac.mm',
682         'shell/tools/plugin/PluginTest.cpp',
683         'shell/tools/plugin/PluginTest.h',
684         'shell/tools/plugin/TestObject.cpp',
685         'shell/tools/plugin/Tests/DocumentOpenInDestroyStream.cpp',
686         'shell/tools/plugin/Tests/EvaluateJSAfterRemovingPluginElement.cpp',
687         'shell/tools/plugin/Tests/FormValue.cpp',
688         'shell/tools/plugin/Tests/GetURLNotifyWithURLThatFailsToLoad.cpp',
689         'shell/tools/plugin/Tests/GetURLWithJavaScriptURL.cpp',
690         'shell/tools/plugin/Tests/GetURLWithJavaScriptURLDestroyingPlugin.cpp',
691         'shell/tools/plugin/Tests/GetUserAgentWithNullNPPFromNPPNew.cpp',
692         'shell/tools/plugin/Tests/LeakWindowScriptableObject.cpp',
693         'shell/tools/plugin/Tests/LogNPPSetWindow.cpp',
694         'shell/tools/plugin/Tests/NPDeallocateCalledBeforeNPShutdown.cpp',
695         'shell/tools/plugin/Tests/NPPNewFails.cpp',
696         'shell/tools/plugin/Tests/NPRuntimeCallsWithNullNPP.cpp',
697         'shell/tools/plugin/Tests/NPRuntimeObjectFromDestroyedPlugin.cpp',
698         'shell/tools/plugin/Tests/NPRuntimeRemoveProperty.cpp',
699         'shell/tools/plugin/Tests/NullNPPGetValuePointer.cpp',
700         'shell/tools/plugin/Tests/PassDifferentNPPStruct.cpp',
701         'shell/tools/plugin/Tests/PluginScriptableNPObjectInvokeDefault.cpp',
702         'shell/tools/plugin/Tests/PluginScriptableObjectOverridesAllProperties.cpp',
703         'shell/tools/plugin/main.cpp',
704         'shell/tools/plugin/test_object.h',
705       ],
706       'include_dirs': [
707         '<(DEPTH)',
708         '<(DEPTH)/content/shell/tools/plugin/',
709       ],
710       'dependencies': [
711         '../base/base.gyp:base',
712         '../third_party/npapi/npapi.gyp:npapi',
713       ],
714       'conditions': [
715         ['OS=="mac"', {
716           'mac_bundle': 1,
717           'product_extension': 'plugin',
718           'link_settings': {
719             'libraries': [
720               '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
721               '$(SDKROOT)/System/Library/Frameworks/Cocoa.framework',
722               '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
723             ]
724           },
725           'xcode_settings': {
726             'GCC_SYMBOLS_PRIVATE_EXTERN': 'NO',
727             'INFOPLIST_FILE': 'shell/tools/plugin/mac/Info.plist',
728           },
729         }],
730         ['os_posix == 1 and OS != "mac"', {
731           'cflags': [
732             '-fvisibility=default',
733           ],
734         }],
735         ['OS=="win"', {
736           'defines': [
737             # This seems like a hack, but this is what Safari Win does.
738             'snprintf=_snprintf',
739           ],
740           'sources': [
741             'shell/tools/plugin/win/TestNetscapePlugin.def',
742             'shell/tools/plugin/win/TestNetscapePlugin.rc',
743           ],
744           # The .rc file requires that the name of the dll is np_test_netscape_plugin.dll.
745           'product_name': 'np_test_netscape_plugin',
746           # Disable c4267 warnings until we fix size_t to int truncations.
747           'msvs_disabled_warnings': [ 4267, ],
748         }],
749       ],
750     },
751     {
752       'target_name': 'copy_test_netscape_plugin',
753       'type': 'none',
754       'dependencies': [
755         'test_netscape_plugin',
756       ],
757       'conditions': [
758         ['OS=="win"', {
759           'copies': [{
760             'destination': '<(PRODUCT_DIR)/plugins',
761             'files': ['<(PRODUCT_DIR)/np_test_netscape_plugin.dll'],
762           }],
763         }],
764         ['OS=="mac"', {
765           'copies': [{
766             'destination': '<(PRODUCT_DIR)/plugins/',
767             'files': ['<(PRODUCT_DIR)/test_netscape_plugin.plugin/'],
768           }],
769         }],
770         ['os_posix == 1 and OS != "mac"', {
771           'copies': [{
772             'destination': '<(PRODUCT_DIR)/plugins',
773             'files': ['<(PRODUCT_DIR)/libtest_netscape_plugin.so'],
774           }],
775         }],
776       ],
777     }
778   ],
779   'conditions': [
780     ['OS=="mac" or OS=="win"', {
781       'targets': [
782         {
783           'target_name': 'layout_test_helper',
784           'type': 'executable',
785           'sources': [
786             'shell/renderer/test_runner/helper/layout_test_helper_mac.mm',
787             'shell/renderer/test_runner/helper/layout_test_helper_win.cc',
788           ],
789           'conditions': [
790             ['OS=="mac"', {
791               'link_settings': {
792                 'libraries': [
793                   '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
794                 ],
795               },
796             }],
797           ],
798         },
799       ],
800     }],  # OS=="mac" or OS=="win"
801     ['OS=="mac"', {
802       'targets': [
803         {
804           'target_name': 'content_shell_framework',
805           'type': 'shared_library',
806           'product_name': '<(content_shell_product_name) Framework',
807           'mac_bundle': 1,
808           'mac_bundle_resources': [
809             'shell/app/English.lproj/HttpAuth.xib',
810             'shell/app/English.lproj/MainMenu.xib',
811             '<(PRODUCT_DIR)/content_shell.pak',
812             'shell/app/framework-Info.plist',
813           ],
814           'mac_bundle_resources!': [
815             'shell/app/framework-Info.plist',
816           ],
817           'xcode_settings': {
818             # The framework is placed within the .app's Framework
819             # directory.  DYLIB_INSTALL_NAME_BASE and
820             # LD_DYLIB_INSTALL_NAME affect -install_name.
821             'DYLIB_INSTALL_NAME_BASE':
822                 '@executable_path/../Frameworks',
823             # See /build/mac/copy_framework_unversioned.sh for
824             # information on LD_DYLIB_INSTALL_NAME.
825             'LD_DYLIB_INSTALL_NAME':
826                 '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(WRAPPER_NAME)/$(PRODUCT_NAME)',
828             'INFOPLIST_FILE': 'shell/app/framework-Info.plist',
829           },
830           'dependencies': [
831             'content_shell_lib',
832           ],
833           'include_dirs': [
834             '..',
835           ],
836           'sources': [
837             'shell/app/shell_content_main.cc',
838             'shell/app/shell_content_main.h',
839           ],
840           'postbuilds': [
841             {
842               # Modify the Info.plist as needed.  The script explains why
843               # this is needed.  This is also done in the chrome target.
844               # The framework needs the Breakpad keys if this feature is
845               # enabled.  It does not need the Keystone keys; these always
846               # come from the outer application bundle.  The framework
847               # doesn't currently use the SCM keys for anything,
848               # but this seems like a really good place to store them.
849               'postbuild_name': 'Tweak Info.plist',
850               'action': ['../build/mac/tweak_info_plist.py',
851                          '--breakpad=1',
852                          '--keystone=0',
853                          '--scm=1',
854                          '--version=<(content_shell_version)',
855                          '--branding=<(content_shell_product_name)'],
856             },
857           ],
858           'copies': [
859             {
860               # Copy FFmpeg binaries for audio/video support.
861               'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
862               'files': [
863                 '<(PRODUCT_DIR)/ffmpegsumo.so',
864               ],
865             },
866             {
867               'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources',
868               'files': [
869                 '<(PRODUCT_DIR)/crash_inspector',
870                 '<(PRODUCT_DIR)/crash_report_sender.app'
871               ],
872             },
873           ],
874           'conditions': [
875             ['enable_webrtc==1', {
876               'variables': {
877                 'libpeer_target_type%': 'static_library',
878               },
879               'conditions': [
880                 ['libpeer_target_type!="static_library"', {
881                   'copies': [{
882                    'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
883                    'files': [
884                       '<(PRODUCT_DIR)/libpeerconnection.so',
885                     ],
886                   }],
887                 }],
888               ],
889             }],
890             ['icu_use_data_file_flag==1', {
891               'mac_bundle_resources': [
892                 '<(PRODUCT_DIR)/icudtl.dat',
893               ],
894             }],
895             ['v8_use_external_startup_data==1', {
896               'mac_bundle_resources': [
897                 '<(PRODUCT_DIR)/natives_blob.bin',
898                 '<(PRODUCT_DIR)/snapshot_blob.bin',
899               ],
900             }],
901           ],
902         },  # target content_shell_framework
903         {
904           'target_name': 'content_shell_helper_app',
905           'type': 'executable',
906           'variables': { 'enable_wexit_time_destructors': 1, },
907           'product_name': '<(content_shell_product_name) Helper',
908           'mac_bundle': 1,
909           'dependencies': [
910             'content_shell_framework',
911           ],
912           'sources': [
913             'shell/app/shell_main.cc',
914             'shell/app/helper-Info.plist',
915           ],
916           # TODO(mark): Come up with a fancier way to do this.  It should only
917           # be necessary to list helper-Info.plist once, not the three times it
918           # is listed here.
919           'mac_bundle_resources!': [
920             'shell/app/helper-Info.plist',
921           ],
922           # TODO(mark): For now, don't put any resources into this app.  Its
923           # resources directory will be a symbolic link to the browser app's
924           # resources directory.
925           'mac_bundle_resources/': [
926             ['exclude', '.*'],
927           ],
928           'xcode_settings': {
929             'INFOPLIST_FILE': 'shell/app/helper-Info.plist',
930           },
931           'postbuilds': [
932             {
933               # The framework defines its load-time path
934               # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
935               # (chrome).  A different relative path needs to be used in
936               # content_shell_helper_app.
937               'postbuild_name': 'Fix Framework Link',
938               'action': [
939                 'install_name_tool',
940                 '-change',
941                 '@executable_path/../Frameworks/<(content_shell_product_name) Framework.framework/<(content_shell_product_name) Framework',
942                 '@executable_path/../../../<(content_shell_product_name) Framework.framework/<(content_shell_product_name) Framework',
943                 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
944               ],
945             },
946             {
947               # Modify the Info.plist as needed.  The script explains why this
948               # is needed.  This is also done in the chrome and chrome_dll
949               # targets.  In this case, --breakpad=0, --keystone=0, and --scm=0
950               # are used because Breakpad, Keystone, and SCM keys are
951               # never placed into the helper.
952               'postbuild_name': 'Tweak Info.plist',
953               'action': ['../build/mac/tweak_info_plist.py',
954                          '--breakpad=0',
955                          '--keystone=0',
956                          '--scm=0',
957                          '--version=<(content_shell_version)'],
958             },
959             {
960               # Make sure there isn't any Objective-C in the helper app's
961               # executable.
962               'postbuild_name': 'Verify No Objective-C',
963               'action': [
964                 '../build/mac/verify_no_objc.sh',
965               ],
966             },
967           ],
968           'conditions': [
969             ['component=="shared_library"', {
970               'xcode_settings': {
971                 'LD_RUNPATH_SEARCH_PATHS': [
972                   # Get back from Content Shell.app/Contents/Frameworks/
973                   #                                 Helper.app/Contents/MacOS
974                   '@loader_path/../../../../../..',
975                 ],
976               },
977             }],
978           ],
979         },  # target content_shell_helper_app
980       ],
981     }],  # OS=="mac"
982     ['OS=="android"', {
983       'targets': [
984         {
985           # TODO(jrg): Update this action and other jni generators to only
986           # require specifying the java directory and generate the rest.
987           'target_name': 'content_shell_jni_headers',
988           'type': 'none',
989           'sources': [
990             'shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsActivity.java',
991             'shell/android/java/src/org/chromium/content_shell/ShellLayoutTestUtils.java',
992             'shell/android/java/src/org/chromium/content_shell/ShellMojoTestUtils.java',
993             'shell/android/java/src/org/chromium/content_shell/ShellManager.java',
994             'shell/android/java/src/org/chromium/content_shell/Shell.java',
995           ],
996           'variables': {
997             'jni_gen_package': 'content/shell',
998           },
999           'includes': [ '../build/jni_generator.gypi' ],
1000         },
1001         {
1002           'target_name': 'libcontent_shell_content_view',
1003           'type': 'shared_library',
1004           'dependencies': [
1005             'content_shell_jni_headers',
1006             'content_shell_lib',
1007             'content_shell_pak',
1008             # Skia is necessary to ensure the dependencies needed by
1009             # WebContents are included.
1010             '../skia/skia.gyp:skia',
1011             '<(DEPTH)/media/media.gyp:player_android',
1012           ],
1013           'sources': [
1014             'shell/android/shell_library_loader.cc',
1015             'shell/android/shell_library_loader.h',
1016           ],
1017           'conditions': [
1018             ['android_webview_build==1', {
1019               'ldflags': [
1020                 '-lgabi++',  # For rtti
1021               ],
1022             }],
1023           ],
1024         },
1025         {
1026           'target_name': 'content_shell_java',
1027           'type': 'none',
1028           'dependencies': [
1029             'content.gyp:content_java',
1030           ],
1031           'variables': {
1032             'java_in_dir': '../content/shell/android/java',
1033             'has_java_resources': 1,
1034             'R_package': 'org.chromium.content_shell',
1035             'R_package_relpath': 'org/chromium/content_shell',
1036           },
1037           'includes': [ '../build/java.gypi' ],
1038         },
1039         {
1040           # content_shell_apk creates a .jar as a side effect. Any java targets
1041           # that need that .jar in their classpath should depend on this target,
1042           # content_shell_apk_java. Dependents of content_shell_apk receive its
1043           # jar path in the variable 'apk_output_jar_path'. This target should
1044           # only be used by targets which instrument content_shell_apk.
1045           'target_name': 'content_shell_apk_java',
1046           'type': 'none',
1047           'dependencies': [
1048             'content_shell_apk',
1049           ],
1050           'includes': [ '../build/apk_fake_jar.gypi' ],
1051         },
1052         {
1053           # GN version: //content/shell/android:content_shell_manifest
1054           'target_name': 'content_shell_manifest',
1055           'type': 'none',
1056           'variables': {
1057             'jinja_inputs': ['shell/android/shell_apk/AndroidManifest.xml.jinja2'],
1058             'jinja_output': '<(SHARED_INTERMEDIATE_DIR)/content_shell_manifest/AndroidManifest.xml',
1059           },
1060           'includes': [ '../build/android/jinja_template.gypi' ],
1061         },
1062         {
1063           # GN version: //content/shell/android:content_shell_apk
1064           'target_name': 'content_shell_apk',
1065           'type': 'none',
1066           'dependencies': [
1067             'content.gyp:content_icudata',
1068             'content.gyp:content_java',
1069             'content.gyp:content_v8_external_data',
1070             'content_java_test_support',
1071             'content_shell_java',
1072             'libcontent_shell_content_view',
1073             '../base/base.gyp:base_java',
1074             '../media/media.gyp:media_java',
1075             '../net/net.gyp:net_java',
1076             '../third_party/mesa/mesa.gyp:osmesa_in_lib_dir',
1077             '../tools/android/forwarder/forwarder.gyp:forwarder',
1078             '../ui/android/ui_android.gyp:ui_java',
1079           ],
1080           'variables': {
1081             'apk_name': 'ContentShell',
1082             'manifest_package_name': 'org.chromium.content_shell_apk',
1083             'android_manifest_path': '<(SHARED_INTERMEDIATE_DIR)/content_shell_manifest/AndroidManifest.xml',
1084             'java_in_dir': 'shell/android/shell_apk',
1085             'resource_dir': 'shell/android/shell_apk/res',
1086             'native_lib_target': 'libcontent_shell_content_view',
1087             'additional_input_paths': ['<(PRODUCT_DIR)/content_shell/assets/content_shell.pak'],
1088             'asset_location': '<(PRODUCT_DIR)/content_shell/assets',
1089             'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'],
1090             'conditions': [
1091               ['icu_use_data_file_flag==1', {
1092                 'additional_input_paths': [
1093                   '<(PRODUCT_DIR)/icudtl.dat',
1094                 ],
1095               }],
1096               ['v8_use_external_startup_data==1', {
1097                 'additional_input_paths': [
1098                   '<(PRODUCT_DIR)/natives_blob.bin',
1099                   '<(PRODUCT_DIR)/snapshot_blob.bin',
1100                 ],
1101               }],
1102             ],
1103           },
1104           'conditions': [
1105             ['android_webview_build==0', {
1106               'dependencies': [
1107                 '../tools/imagediff/image_diff.gyp:image_diff#host',
1108               ],
1109             }],
1110           ],
1111           'includes': [ '../build/java_apk.gypi' ],
1112         },
1113       ],
1114     }],  # OS=="android"
1115     ['OS=="win"', {
1116       'targets': [
1117         {
1118           'target_name': 'content_shell_crash_service',
1119           'type': 'executable',
1120           'dependencies': [
1121             '../base/base.gyp:base',
1122             '../components/components.gyp:breakpad_crash_service',
1123           ],
1124           'include_dirs': [
1125             '..',
1126           ],
1127           'sources': [
1128             'shell/tools/content_shell_crash_service.cc',
1129           ],
1130           'msvs_settings': {
1131             'VCLinkerTool': {
1132               'SubSystem': '2',         # Set /SUBSYSTEM:WINDOWS
1133             },
1134           },
1135         },
1136       ],
1137     }],  # OS=="win"
1138     ['OS=="win" and fastbuild==0 and target_arch=="ia32" and syzyasan==1', {
1139       'variables': {
1140         'dest_dir': '<(PRODUCT_DIR)/syzygy',
1141       },
1142       'targets': [
1143         {
1144           'target_name': 'content_shell_syzyasan',
1145           'type': 'none',
1146           'sources' : [],
1147           # Instrument content_shell with SyzyAsan.
1148           'actions': [
1149             {
1150               'action_name': 'Instrument content_shell with SyzyAsan',
1151               'inputs': [
1152                 '<(PRODUCT_DIR)/content_shell.exe',
1153               ],
1154               'outputs': [
1155                 '<(dest_dir)/content_shell.exe',
1156                 '<(dest_dir)/content_shell.exe.pdb',
1157               ],
1158               'action': [
1159                 'python',
1160                 '<(DEPTH)/chrome/tools/build/win/syzygy/instrument.py',
1161                 '--mode', 'asan',
1162                 '--input_executable', '<(PRODUCT_DIR)/content_shell.exe',
1163                 '--input_symbol', '<(PRODUCT_DIR)/content_shell.exe.pdb',
1164                 '--destination_dir', '<(dest_dir)',
1165               ],
1166             },
1167           ],
1168         },
1169       ],
1170     }],  # OS=="win" and fastbuild==0 and target_arch=="ia32"
1171   ]