OLD | NEW |
| (Empty) |
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. | |
4 | |
5 { | |
6 'variables': { | |
7 'content_shell_product_name': 'Content Shell', | |
8 'content_shell_version': '99.77.34.5', | |
9 }, | |
10 'targets': [ | |
11 { | |
12 # GN version: //content/shell:content_shell_lib | |
13 'target_name': 'content_shell_lib', | |
14 'type': 'static_library', | |
15 'defines': ['CONTENT_SHELL_VERSION="<(content_shell_version)"'], | |
16 'variables': { | |
17 'chromium_code': 1, | |
18 # TODO(thakis): Remove this once http://crbug.com/383820 is figured out | |
19 'clang_warning_flags': [ '-Wno-nonnull' ], | |
20 }, | |
21 'dependencies': [ | |
22 'app/resources/content_resources.gyp:content_resources', | |
23 'app/strings/content_strings.gyp:content_strings', | |
24 'content.gyp:content_app_both', | |
25 'content.gyp:content_browser', | |
26 'content.gyp:content_common', | |
27 'content.gyp:content_gpu', | |
28 'content.gyp:content_ppapi_plugin', | |
29 'content.gyp:content_renderer', | |
30 'content.gyp:content_resources', | |
31 'content.gyp:content_utility', | |
32 'content_shell_resources', | |
33 'content_shell_mojo_bindings', | |
34 'content_test_mojo_bindings', | |
35 'layouttest_support_content', | |
36 '../base/base.gyp:base', | |
37 '../base/base.gyp:base_static', | |
38 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic
_annotations', | |
39 '../cc/blink/cc_blink.gyp:cc_blink', | |
40 '../cc/cc.gyp:cc', | |
41 '../components/components.gyp:crash_component_breakpad_to_be_deleted', | |
42 '../components/components.gyp:devtools_http_handler', | |
43 '../components/components.gyp:web_cache_renderer', | |
44 '../components/components.gyp:plugins_renderer', | |
45 '../components/test_runner/test_runner.gyp:test_runner', | |
46 '../components/url_formatter/url_formatter.gyp:url_formatter', | |
47 '../device/bluetooth/bluetooth.gyp:device_bluetooth', | |
48 '../device/bluetooth/bluetooth.gyp:device_bluetooth_mocks', | |
49 '../device/geolocation/geolocation.gyp:device_geolocation', | |
50 '../gin/gin.gyp:gin', | |
51 '../gpu/gpu.gyp:gpu', | |
52 '../ipc/ipc.gyp:ipc', | |
53 '../media/blink/media_blink.gyp:media_blink', | |
54 '../media/media.gyp:media', | |
55 '../net/net.gyp:net', | |
56 '../net/net.gyp:net_resources', | |
57 '../ppapi/ppapi_internal.gyp:blink_deprecated_test_plugin', | |
58 '../ppapi/ppapi_internal.gyp:blink_test_plugin', | |
59 '../skia/skia.gyp:skia', | |
60 '../storage/storage_browser.gyp:storage', | |
61 '../third_party/WebKit/public/blink.gyp:blink', | |
62 '../third_party/WebKit/public/blink.gyp:blink_test_support', | |
63 '../testing/gmock.gyp:gmock', | |
64 '../testing/gtest.gyp:gtest', | |
65 '../ui/base/ime/ui_base_ime.gyp:ui_base_ime', | |
66 '../ui/base/ui_base.gyp:ui_base', | |
67 '../ui/events/events.gyp:events_base', | |
68 '../ui/gfx/gfx.gyp:gfx', | |
69 '../ui/gfx/gfx.gyp:gfx_geometry', | |
70 '../ui/gfx/ipc/geometry/gfx_ipc_geometry.gyp:gfx_ipc_geometry', | |
71 '../ui/gfx/ipc/gfx_ipc.gyp:gfx_ipc', | |
72 '../ui/gfx/ipc/skia/gfx_ipc_skia.gyp:gfx_ipc_skia', | |
73 '../ui/gl/gl.gyp:gl', | |
74 '../url/url.gyp:url_lib', | |
75 '../url/ipc/url_ipc.gyp:url_ipc', | |
76 '../v8/src/v8.gyp:v8', | |
77 ], | |
78 'include_dirs': [ | |
79 '..', | |
80 ], | |
81 'sources': [ | |
82 # Note: sources list duplicated in GN build. | |
83 'shell/android/shell_descriptors.h', | |
84 'shell/android/shell_jni_registrar.cc', | |
85 'shell/android/shell_jni_registrar.h', | |
86 'shell/android/shell_manager.cc', | |
87 'shell/android/shell_manager.h', | |
88 'shell/app/blink_test_platform_support.h', | |
89 'shell/app/blink_test_platform_support_android.cc', | |
90 'shell/app/blink_test_platform_support_linux.cc', | |
91 'shell/app/blink_test_platform_support_mac.mm', | |
92 'shell/app/blink_test_platform_support_win.cc', | |
93 'shell/app/paths_mac.h', | |
94 'shell/app/paths_mac.mm', | |
95 'shell/app/shell_crash_reporter_client.cc', | |
96 'shell/app/shell_crash_reporter_client.h', | |
97 'shell/app/shell_main_delegate.cc', | |
98 'shell/app/shell_main_delegate.h', | |
99 'shell/app/shell_main_delegate_mac.h', | |
100 'shell/app/shell_main_delegate_mac.mm', | |
101 'shell/browser/layout_test/blink_test_controller.cc', | |
102 'shell/browser/layout_test/blink_test_controller.h', | |
103 'shell/browser/layout_test/layout_test_android.cc', | |
104 'shell/browser/layout_test/layout_test_android.h', | |
105 'shell/browser/layout_test/layout_test_bluetooth_adapter_provider.cc', | |
106 'shell/browser/layout_test/layout_test_bluetooth_adapter_provider.h', | |
107 'shell/browser/layout_test/layout_test_bluetooth_chooser_factory.cc', | |
108 'shell/browser/layout_test/layout_test_bluetooth_chooser_factory.h', | |
109 'shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_imp
l.cc', | |
110 'shell/browser/layout_test/layout_test_bluetooth_fake_adapter_setter_imp
l.h', | |
111 'shell/browser/layout_test/layout_test_browser_context.cc', | |
112 'shell/browser/layout_test/layout_test_browser_context.h', | |
113 'shell/browser/layout_test/layout_test_browser_main.cc', | |
114 'shell/browser/layout_test/layout_test_browser_main.h', | |
115 'shell/browser/layout_test/layout_test_browser_main_parts.cc', | |
116 'shell/browser/layout_test/layout_test_browser_main_parts.h', | |
117 'shell/browser/layout_test/layout_test_content_browser_client.cc', | |
118 'shell/browser/layout_test/layout_test_content_browser_client.h', | |
119 'shell/browser/layout_test/layout_test_devtools_frontend.cc', | |
120 'shell/browser/layout_test/layout_test_devtools_frontend.h', | |
121 'shell/browser/layout_test/layout_test_download_manager_delegate.cc', | |
122 'shell/browser/layout_test/layout_test_download_manager_delegate.h', | |
123 'shell/browser/layout_test/layout_test_first_device_bluetooth_chooser.cc
', | |
124 'shell/browser/layout_test/layout_test_first_device_bluetooth_chooser.h'
, | |
125 'shell/browser/layout_test/layout_test_javascript_dialog_manager.cc', | |
126 'shell/browser/layout_test/layout_test_javascript_dialog_manager.h', | |
127 'shell/browser/layout_test/layout_test_message_filter.cc', | |
128 'shell/browser/layout_test/layout_test_message_filter.h', | |
129 'shell/browser/layout_test/layout_test_notification_manager.cc', | |
130 'shell/browser/layout_test/layout_test_notification_manager.h', | |
131 'shell/browser/layout_test/layout_test_permission_manager.cc', | |
132 'shell/browser/layout_test/layout_test_permission_manager.h', | |
133 'shell/browser/layout_test/layout_test_push_messaging_service.cc', | |
134 'shell/browser/layout_test/layout_test_push_messaging_service.h', | |
135 'shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate
.cc', | |
136 'shell/browser/layout_test/layout_test_resource_dispatcher_host_delegate
.h', | |
137 'shell/browser/layout_test/layout_test_url_request_context_getter.cc', | |
138 'shell/browser/layout_test/layout_test_url_request_context_getter.h', | |
139 'shell/browser/layout_test/secondary_test_window_observer.cc', | |
140 'shell/browser/layout_test/secondary_test_window_observer.h', | |
141 'shell/browser/layout_test/test_info_extractor.cc', | |
142 'shell/browser/layout_test/test_info_extractor.h', | |
143 'shell/browser/shell.cc', | |
144 'shell/browser/shell.h', | |
145 'shell/browser/shell_access_token_store.cc', | |
146 'shell/browser/shell_access_token_store.h', | |
147 'shell/browser/shell_android.cc', | |
148 'shell/browser/shell_application_mac.h', | |
149 'shell/browser/shell_application_mac.mm', | |
150 'shell/browser/shell_aura.cc', | |
151 'shell/browser/shell_browser_context.cc', | |
152 'shell/browser/shell_browser_context.h', | |
153 'shell/browser/shell_browser_main.cc', | |
154 'shell/browser/shell_browser_main.h', | |
155 'shell/browser/shell_browser_main_parts.cc', | |
156 'shell/browser/shell_browser_main_parts.h', | |
157 'shell/browser/shell_browser_main_parts_mac.mm', | |
158 'shell/browser/shell_content_browser_client.cc', | |
159 'shell/browser/shell_content_browser_client.h', | |
160 'shell/browser/shell_devtools_frontend.cc', | |
161 'shell/browser/shell_devtools_frontend.h', | |
162 'shell/browser/shell_devtools_manager_delegate.cc', | |
163 'shell/browser/shell_devtools_manager_delegate.h', | |
164 'shell/browser/shell_download_manager_delegate.cc', | |
165 'shell/browser/shell_download_manager_delegate.h', | |
166 'shell/browser/shell_javascript_dialog.h', | |
167 'shell/browser/shell_javascript_dialog_mac.mm', | |
168 'shell/browser/shell_javascript_dialog_manager.cc', | |
169 'shell/browser/shell_javascript_dialog_manager.h', | |
170 'shell/browser/shell_javascript_dialog_win.cc', | |
171 'shell/browser/shell_login_dialog.cc', | |
172 'shell/browser/shell_login_dialog.h', | |
173 'shell/browser/shell_login_dialog_mac.mm', | |
174 'shell/browser/shell_mac.mm', | |
175 'shell/browser/shell_mojo_test_utils_android.cc', | |
176 'shell/browser/shell_mojo_test_utils_android.h', | |
177 'shell/browser/shell_net_log.cc', | |
178 'shell/browser/shell_net_log.h', | |
179 'shell/browser/shell_network_delegate.cc', | |
180 'shell/browser/shell_network_delegate.h', | |
181 'shell/browser/shell_permission_manager.cc', | |
182 'shell/browser/shell_permission_manager.h', | |
183 'shell/browser/shell_platform_data_aura.cc', | |
184 'shell/browser/shell_platform_data_aura.h', | |
185 'shell/browser/shell_plugin_service_filter.cc', | |
186 'shell/browser/shell_plugin_service_filter.h', | |
187 'shell/browser/shell_quota_permission_context.cc', | |
188 'shell/browser/shell_quota_permission_context.h', | |
189 'shell/browser/shell_resource_dispatcher_host_delegate.cc', | |
190 'shell/browser/shell_resource_dispatcher_host_delegate.h', | |
191 'shell/browser/shell_speech_recognition_manager_delegate.cc', | |
192 'shell/browser/shell_speech_recognition_manager_delegate.h', | |
193 'shell/browser/shell_url_request_context_getter.cc', | |
194 'shell/browser/shell_url_request_context_getter.h', | |
195 'shell/browser/shell_views.cc', | |
196 'shell/browser/shell_web_contents_view_delegate.h', | |
197 'shell/browser/shell_web_contents_view_delegate_android.cc', | |
198 'shell/browser/shell_web_contents_view_delegate_aura.cc', | |
199 'shell/browser/shell_web_contents_view_delegate_creator.h', | |
200 'shell/browser/shell_web_contents_view_delegate_mac.mm', | |
201 'shell/browser/shell_web_contents_view_delegate_views.cc', | |
202 'shell/common/layout_test/layout_test_content_client.cc', | |
203 'shell/common/layout_test/layout_test_content_client.h', | |
204 'shell/common/layout_test/layout_test_messages.cc', | |
205 'shell/common/layout_test/layout_test_messages.h', | |
206 'shell/common/layout_test/layout_test_switches.cc', | |
207 'shell/common/layout_test/layout_test_switches.h', | |
208 'shell/common/leak_detection_result.h', | |
209 'shell/common/shell_content_client.cc', | |
210 'shell/common/shell_content_client.h', | |
211 'shell/common/shell_origin_trial_policy.cc', | |
212 'shell/common/shell_origin_trial_policy.h', | |
213 'shell/common/shell_messages.cc', | |
214 'shell/common/shell_messages.h', | |
215 'shell/common/shell_switches.cc', | |
216 'shell/common/shell_switches.h', | |
217 'shell/common/shell_test_configuration.cc', | |
218 'shell/common/shell_test_configuration.h', | |
219 'shell/common/v8_breakpad_support_win.cc', | |
220 'shell/common/v8_breakpad_support_win.h', | |
221 'shell/renderer/layout_test/blink_test_helpers.cc', | |
222 'shell/renderer/layout_test/blink_test_helpers.h', | |
223 'shell/renderer/layout_test/blink_test_runner.cc', | |
224 'shell/renderer/layout_test/blink_test_runner.h', | |
225 'shell/renderer/layout_test/layout_test_content_renderer_client.cc', | |
226 'shell/renderer/layout_test/layout_test_content_renderer_client.h', | |
227 'shell/renderer/layout_test/layout_test_render_frame_observer.cc', | |
228 'shell/renderer/layout_test/layout_test_render_frame_observer.h', | |
229 'shell/renderer/layout_test/layout_test_render_thread_observer.cc', | |
230 'shell/renderer/layout_test/layout_test_render_thread_observer.h', | |
231 'shell/renderer/layout_test/leak_detector.cc', | |
232 'shell/renderer/layout_test/leak_detector.h', | |
233 'shell/renderer/layout_test/test_media_stream_renderer_factory.cc', | |
234 'shell/renderer/layout_test/test_media_stream_renderer_factory.h', | |
235 'shell/renderer/layout_test/test_media_stream_video_renderer.cc', | |
236 'shell/renderer/layout_test/test_media_stream_video_renderer.h', | |
237 'shell/renderer/shell_content_renderer_client.cc', | |
238 'shell/renderer/shell_content_renderer_client.h', | |
239 'shell/renderer/shell_render_view_observer.cc', | |
240 'shell/renderer/shell_render_view_observer.h', | |
241 'shell/utility/shell_content_utility_client.cc', | |
242 'shell/utility/shell_content_utility_client.h', | |
243 ], | |
244 'msvs_settings': { | |
245 'VCLinkerTool': { | |
246 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS | |
247 }, | |
248 }, | |
249 'conditions': [ | |
250 ['OS=="win"', { | |
251 'resource_include_dirs': [ | |
252 '<(SHARED_INTERMEDIATE_DIR)/content/app/strings', | |
253 ], | |
254 'dependencies': [ | |
255 '<(DEPTH)/content/app/strings/content_strings.gyp:content_strings', | |
256 ], | |
257 'configurations': { | |
258 'Debug_Base': { | |
259 'msvs_settings': { | |
260 'VCLinkerTool': { | |
261 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', | |
262 }, | |
263 }, | |
264 }, | |
265 }, | |
266 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. | |
267 'msvs_disabled_warnings': [ 4267, ], | |
268 }], # OS=="win" | |
269 ['OS=="linux"', { | |
270 'dependencies': [ | |
271 '../build/linux/system.gyp:fontconfig', | |
272 '../third_party/freetype2/freetype2.gyp:freetype2', | |
273 ], | |
274 }], | |
275 ['use_x11 == 1', { | |
276 'dependencies': [ | |
277 '../ui/events/devices/events_devices.gyp:events_devices', | |
278 '../ui/events/devices/x11/events_devices_x11.gyp:events_devices_x11'
, | |
279 '../tools/xdisplaycheck/xdisplaycheck.gyp:xdisplaycheck', | |
280 ], | |
281 }], | |
282 ['OS=="android"', { | |
283 'dependencies': [ | |
284 '../mojo/mojo_base.gyp:libmojo_system_java', | |
285 'content_shell_jni_headers', | |
286 ], | |
287 }], # OS=="android" | |
288 ['os_posix == 1 and OS != "mac"', { | |
289 'dependencies': [ | |
290 '../components/components.gyp:breakpad_host', | |
291 ], | |
292 }], | |
293 ['debug_devtools==1', { | |
294 'defines': [ | |
295 'DEBUG_DEVTOOLS=1', | |
296 ], | |
297 }], | |
298 ['use_aura==1', { | |
299 'dependencies': [ | |
300 '../ui/aura/aura.gyp:aura', | |
301 '../ui/aura/aura.gyp:aura_test_support', | |
302 '../ui/events/events.gyp:events', | |
303 '../ui/strings/ui_strings.gyp:ui_strings', | |
304 '../ui/wm/wm.gyp:wm', | |
305 ], | |
306 'conditions': [ | |
307 ['toolkit_views==1', { | |
308 'dependencies': [ | |
309 '../ui/resources/ui_resources.gyp:ui_resources', | |
310 '../ui/views/controls/webview/webview.gyp:webview', | |
311 '../ui/views/views.gyp:views', | |
312 '../ui/views/views.gyp:views_test_support', | |
313 ], | |
314 'sources/': [ | |
315 ['exclude', 'shell/browser/shell_aura.cc'], | |
316 ['exclude', 'shell/browser/shell_web_contents_view_delegate_aura
.cc'], | |
317 ], | |
318 }, { | |
319 'sources/': [ | |
320 ['exclude', 'shell/browser/shell_views.cc'], | |
321 ['exclude', 'shell/browser/shell_web_contents_view_delegate_view
s.cc'], | |
322 ], | |
323 }], | |
324 ], | |
325 }, { | |
326 'sources/': [ | |
327 ['exclude', 'shell/browser/shell_aura.cc'], | |
328 ['exclude', 'shell/browser/shell_views.cc'], | |
329 ['exclude', 'shell/browser/shell_web_contents_view_delegate_aura.cc'
], | |
330 ['exclude', 'shell/browser/shell_web_contents_view_delegate_views.cc
'], | |
331 ], | |
332 }], # use_aura==1 | |
333 ['chromeos==1', { | |
334 'dependencies': [ | |
335 '../chromeos/chromeos.gyp:chromeos', | |
336 '../ui/wm/wm.gyp:wm_test_support', | |
337 ], | |
338 }], # chromeos==1 | |
339 ['enable_plugins==0', { | |
340 'sources!': [ | |
341 'shell/browser/shell_plugin_service_filter.cc', | |
342 'shell/browser/shell_plugin_service_filter.h', | |
343 ], | |
344 }] | |
345 ], | |
346 }, | |
347 { | |
348 # GN version: //content/shell:resources | |
349 'target_name': 'content_shell_resources', | |
350 'type': 'none', | |
351 'variables': { | |
352 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content', | |
353 }, | |
354 'dependencies': [ | |
355 '../components/test_runner/test_runner.gyp:resources', | |
356 ], | |
357 'actions': [ | |
358 { | |
359 'action_name': 'generate_content_shell_resources', | |
360 'variables': { | |
361 'grit_grd_file': 'shell/shell_resources.grd', | |
362 }, | |
363 'includes': [ '../build/grit_action.gypi' ], | |
364 }, | |
365 ], | |
366 'includes': [ '../build/grit_target.gypi' ], | |
367 'copies': [ | |
368 { | |
369 'destination': '<(PRODUCT_DIR)', | |
370 'files': [ | |
371 '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak' | |
372 ], | |
373 }, | |
374 ], | |
375 }, | |
376 { | |
377 # We build a minimal set of resources so WebKit in content_shell has | |
378 # access to necessary resources. | |
379 # GN version: //content/shell:pak | |
380 'target_name': 'content_shell_pak', | |
381 'type': 'none', | |
382 'dependencies': [ | |
383 'app/resources/content_resources.gyp:content_resources', | |
384 'app/strings/content_strings.gyp:content_strings', | |
385 'browser/tracing/tracing_resources.gyp:tracing_resources', | |
386 'content.gyp:content_resources', | |
387 'content_shell_resources', | |
388 '<(DEPTH)/net/net.gyp:net_resources', | |
389 '<(DEPTH)/third_party/WebKit/public/blink_resources.gyp:blink_resources'
, | |
390 '<(DEPTH)/ui/resources/ui_resources.gyp:ui_resources', | |
391 '<(DEPTH)/ui/strings/ui_strings.gyp:ui_strings', | |
392 ], | |
393 'conditions': [ | |
394 ['OS!="android"', { | |
395 'dependencies': [ | |
396 'browser/devtools/devtools_resources.gyp:devtools_resources', | |
397 ], | |
398 }], | |
399 ['toolkit_views==1', { | |
400 'dependencies': [ | |
401 '<(DEPTH)/ui/views/resources/views_resources.gyp:views_resources' | |
402 ], | |
403 }], | |
404 ], | |
405 'actions': [ | |
406 { | |
407 'action_name': 'repack_content_shell_pack', | |
408 'variables': { | |
409 'pak_inputs': [ | |
410 '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_resources
.pak', | |
411 '<(SHARED_INTERMEDIATE_DIR)/blink/public/resources/blink_image_res
ources_100_percent.pak', | |
412 '<(SHARED_INTERMEDIATE_DIR)/content/app/resources/content_resource
s_100_percent.pak', | |
413 '<(SHARED_INTERMEDIATE_DIR)/content/app/strings/content_strings_en
-US.pak', | |
414 '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resour
ces.pak', | |
415 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak', | |
416 '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak', | |
417 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak', | |
418 '<(SHARED_INTERMEDIATE_DIR)/ui/resources/ui_resources_100_percent.
pak', | |
419 '<(SHARED_INTERMEDIATE_DIR)/ui/resources/webui_resources.pak', | |
420 '<(SHARED_INTERMEDIATE_DIR)/ui/strings/app_locale_settings_en-US.p
ak', | |
421 '<(SHARED_INTERMEDIATE_DIR)/ui/strings/ui_strings_en-US.pak', | |
422 ], | |
423 'pak_output': '<(PRODUCT_DIR)/content_shell.pak', | |
424 'conditions': [ | |
425 ['toolkit_views==1', { | |
426 'pak_inputs': [ | |
427 '<(SHARED_INTERMEDIATE_DIR)/ui/views/resources/views_resources
_100_percent.pak', | |
428 ], | |
429 }], | |
430 ['OS!="android"', { | |
431 'pak_inputs': ['<(SHARED_INTERMEDIATE_DIR)/blink/devtools_resour
ces.pak',], | |
432 }], | |
433 ], | |
434 }, | |
435 'includes': [ '../build/repack_action.gypi' ], | |
436 }, | |
437 ], | |
438 }, | |
439 { | |
440 # GN version: //content/shell:content_shell | |
441 'target_name': 'content_shell', | |
442 'type': 'executable', | |
443 'mac_bundle': 1, | |
444 'variables': { | |
445 'chromium_code': 1, | |
446 }, | |
447 'dependencies': [ | |
448 'content_shell_lib', | |
449 'content_shell_pak', | |
450 '../third_party/mesa/mesa.gyp:osmesa', | |
451 '../tools/imagediff/image_diff.gyp:image_diff', | |
452 ], | |
453 'include_dirs': [ | |
454 '..', | |
455 ], | |
456 'sources': [ | |
457 'shell/app/shell_main.cc', | |
458 ], | |
459 'mac_bundle_resources': [ | |
460 'shell/app/app.icns', | |
461 'shell/app/app-Info.plist', | |
462 ], | |
463 # TODO(mark): Come up with a fancier way to do this. It should only | |
464 # be necessary to list app-Info.plist once, not the three times it is | |
465 # listed here. | |
466 'mac_bundle_resources!': [ | |
467 'shell/app/app-Info.plist', | |
468 ], | |
469 'xcode_settings': { | |
470 'INFOPLIST_FILE': 'shell/app/app-Info.plist', | |
471 }, | |
472 'msvs_settings': { | |
473 'VCManifestTool': { | |
474 'AdditionalManifestFiles': [ | |
475 'shell/app/shell.exe.manifest', | |
476 ], | |
477 }, | |
478 }, | |
479 'conditions': [ | |
480 ['OS=="win"', { | |
481 'sources': [ | |
482 'shell/app/shell.rc', | |
483 ], | |
484 'configurations': { | |
485 'Debug_Base': { | |
486 'msvs_settings': { | |
487 'VCLinkerTool': { | |
488 'LinkIncremental': '<(msvs_large_module_debug_link_mode)', | |
489 }, | |
490 }, | |
491 }, | |
492 }, | |
493 'dependencies': [ | |
494 '../sandbox/sandbox.gyp:sandbox', | |
495 ], | |
496 'conditions': [ | |
497 ['win_console_app==1', { | |
498 'defines': ['WIN_CONSOLE_APP'], | |
499 }, { # else win_console_app==0 | |
500 'msvs_settings': { | |
501 'VCLinkerTool': { | |
502 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS | |
503 }, | |
504 }, | |
505 }], | |
506 ], | |
507 }], # OS=="win" | |
508 ['OS=="mac"', { | |
509 'product_name': '<(content_shell_product_name)', | |
510 'dependencies!': [ | |
511 'content_shell_lib', | |
512 ], | |
513 'dependencies': [ | |
514 'content_shell_framework', | |
515 'content_shell_helper_app', | |
516 ], | |
517 'copies': [ | |
518 { | |
519 'destination': '<(PRODUCT_DIR)/<(content_shell_product_name).app/C
ontents/Frameworks', | |
520 'files': [ | |
521 '<(PRODUCT_DIR)/<(content_shell_product_name) Helper.app', | |
522 ], | |
523 }, | |
524 ], | |
525 'postbuilds': [ | |
526 { | |
527 'postbuild_name': 'Copy <(content_shell_product_name) Framework.fr
amework', | |
528 'action': [ | |
529 '../build/mac/copy_framework_unversioned.sh', | |
530 '${BUILT_PRODUCTS_DIR}/<(content_shell_product_name) Framework.f
ramework', | |
531 '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Frameworks', | |
532 ], | |
533 }, | |
534 { | |
535 # Modify the Info.plist as needed. | |
536 'postbuild_name': 'Tweak Info.plist', | |
537 'action': ['../build/mac/tweak_info_plist.py', | |
538 '--plist=${TARGET_BUILD_DIR}/${INFOPLIST_PATH}', | |
539 '--scm=1', | |
540 '--version=<(content_shell_version)'], | |
541 }, | |
542 ], | |
543 }], # OS=="mac" | |
544 ['OS=="android"', { | |
545 'dependencies': [ | |
546 '../tools/imagediff/image_diff.gyp:image_diff#host', | |
547 ], | |
548 'dependencies!': [ | |
549 '../tools/imagediff/image_diff.gyp:image_diff', | |
550 ], | |
551 }], # OS=="android" | |
552 ], | |
553 }, | |
554 { | |
555 'target_name': 'content_shell_builder', | |
556 'type': 'none', | |
557 'dependencies': [ | |
558 'content_shell', | |
559 ], | |
560 }, | |
561 { | |
562 'target_name': 'content_shell_mojo_bindings_mojom', | |
563 'type': 'none', | |
564 'variables': { | |
565 'mojom_files': [ | |
566 'shell/common/layout_test/layout_test_bluetooth_fake_adapter_setter.m
ojom' | |
567 ], | |
568 }, | |
569 'includes': [ | |
570 '../mojo/mojom_bindings_generator_explicit.gypi', | |
571 ], | |
572 }, | |
573 { | |
574 'target_name': 'content_shell_mojo_bindings', | |
575 'type': 'static_library', | |
576 'dependencies': [ | |
577 'content_shell_mojo_bindings_mojom', | |
578 '../mojo/mojo_public.gyp:mojo_cpp_bindings', | |
579 ], | |
580 }, | |
581 ], | |
582 'conditions': [ | |
583 ['OS=="mac"', { | |
584 'targets': [ | |
585 { | |
586 # GN version: //content/shell:framework | |
587 'target_name': 'content_shell_framework', | |
588 'type': 'shared_library', | |
589 'product_name': '<(content_shell_product_name) Framework', | |
590 'mac_bundle': 1, | |
591 'mac_bundle_resources': [ | |
592 'shell/app/English.lproj/HttpAuth.xib', | |
593 'shell/app/English.lproj/MainMenu.xib', | |
594 '<(PRODUCT_DIR)/content_shell.pak', | |
595 'shell/app/framework-Info.plist', | |
596 ], | |
597 'mac_bundle_resources!': [ | |
598 'shell/app/framework-Info.plist', | |
599 ], | |
600 'xcode_settings': { | |
601 # The framework is placed within the .app's Framework | |
602 # directory. DYLIB_INSTALL_NAME_BASE and | |
603 # LD_DYLIB_INSTALL_NAME affect -install_name. | |
604 'DYLIB_INSTALL_NAME_BASE': | |
605 '@executable_path/../Frameworks', | |
606 # See /build/mac/copy_framework_unversioned.sh for | |
607 # information on LD_DYLIB_INSTALL_NAME. | |
608 'LD_DYLIB_INSTALL_NAME': | |
609 '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(WRAPPER_NAME)/$(PR
ODUCT_NAME)', | |
610 | |
611 'INFOPLIST_FILE': 'shell/app/framework-Info.plist', | |
612 }, | |
613 'dependencies': [ | |
614 'content_shell_lib', | |
615 ], | |
616 'include_dirs': [ | |
617 '..', | |
618 ], | |
619 'sources': [ | |
620 'shell/app/shell_content_main.cc', | |
621 'shell/app/shell_content_main.h', | |
622 ], | |
623 'postbuilds': [ | |
624 { | |
625 # Modify the Info.plist as needed. The script explains why | |
626 # this is needed. This is also done in the chrome target. | |
627 # The framework needs the Breakpad keys if this feature is | |
628 # enabled. It does not need the Keystone keys; these always | |
629 # come from the outer application bundle. The framework | |
630 # doesn't currently use the SCM keys for anything, | |
631 # but this seems like a really good place to store them. | |
632 'postbuild_name': 'Tweak Info.plist', | |
633 'action': ['../build/mac/tweak_info_plist.py', | |
634 '--plist=${TARGET_BUILD_DIR}/${INFOPLIST_PATH}', | |
635 '--breakpad=1', | |
636 '--keystone=0', | |
637 '--scm=1', | |
638 '--version=<(content_shell_version)', | |
639 '--branding=<(content_shell_product_name)'], | |
640 }, | |
641 ], | |
642 'copies': [ | |
643 { | |
644 # PPAPI test plugins are loaded relative to DIR_MODULE. On OS X, | |
645 # that corresponds to Content Shell Framework.framework. | |
646 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)', | |
647 'files': [ | |
648 '<(PRODUCT_DIR)/blink_deprecated_test_plugin.plugin', | |
649 '<(PRODUCT_DIR)/blink_test_plugin.plugin', | |
650 ], | |
651 }, | |
652 { | |
653 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Resources', | |
654 'files': [ | |
655 '<(PRODUCT_DIR)/crash_inspector', | |
656 '<(PRODUCT_DIR)/crash_report_sender.app' | |
657 ], | |
658 }, | |
659 ], | |
660 'conditions': [ | |
661 ['icu_use_data_file_flag==1', { | |
662 'mac_bundle_resources': [ | |
663 '<(PRODUCT_DIR)/icudtl.dat', | |
664 ], | |
665 }], | |
666 ['v8_use_external_startup_data==1', { | |
667 'mac_bundle_resources': [ | |
668 '<(PRODUCT_DIR)/natives_blob.bin', | |
669 '<(PRODUCT_DIR)/snapshot_blob.bin', | |
670 ], | |
671 }], | |
672 ], | |
673 }, # target content_shell_framework | |
674 { | |
675 'target_name': 'content_shell_helper_app', | |
676 'type': 'executable', | |
677 'variables': { 'enable_wexit_time_destructors': 1, }, | |
678 'product_name': '<(content_shell_product_name) Helper', | |
679 'mac_bundle': 1, | |
680 'dependencies': [ | |
681 'content_shell_framework', | |
682 ], | |
683 'sources': [ | |
684 'shell/app/shell_main.cc', | |
685 'shell/app/helper-Info.plist', | |
686 ], | |
687 # TODO(mark): Come up with a fancier way to do this. It should only | |
688 # be necessary to list helper-Info.plist once, not the three times it | |
689 # is listed here. | |
690 'mac_bundle_resources!': [ | |
691 'shell/app/helper-Info.plist', | |
692 ], | |
693 # TODO(mark): For now, don't put any resources into this app. Its | |
694 # resources directory will be a symbolic link to the browser app's | |
695 # resources directory. | |
696 'mac_bundle_resources/': [ | |
697 ['exclude', '.*'], | |
698 ], | |
699 'xcode_settings': { | |
700 'INFOPLIST_FILE': 'shell/app/helper-Info.plist', | |
701 }, | |
702 'postbuilds': [ | |
703 { | |
704 # The framework defines its load-time path | |
705 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable | |
706 # (chrome). A different relative path needs to be used in | |
707 # content_shell_helper_app. | |
708 'postbuild_name': 'Fix Framework Link', | |
709 'action': [ | |
710 'install_name_tool', | |
711 '-change', | |
712 '@executable_path/../Frameworks/<(content_shell_product_name) Fr
amework.framework/<(content_shell_product_name) Framework', | |
713 '@executable_path/../../../<(content_shell_product_name) Framewo
rk.framework/<(content_shell_product_name) Framework', | |
714 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}' | |
715 ], | |
716 }, | |
717 { | |
718 # Modify the Info.plist as needed. The script explains why this | |
719 # is needed. This is also done in the chrome and chrome_dll | |
720 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0 | |
721 # are used because Breakpad, Keystone, and SCM keys are | |
722 # never placed into the helper. | |
723 'postbuild_name': 'Tweak Info.plist', | |
724 'action': ['../build/mac/tweak_info_plist.py', | |
725 '--plist=${TARGET_BUILD_DIR}/${INFOPLIST_PATH}', | |
726 '--breakpad=0', | |
727 '--keystone=0', | |
728 '--scm=0', | |
729 '--version=<(content_shell_version)'], | |
730 }, | |
731 ], | |
732 'conditions': [ | |
733 ['component=="shared_library"', { | |
734 'xcode_settings': { | |
735 'LD_RUNPATH_SEARCH_PATHS': [ | |
736 # Get back from Content Shell.app/Contents/Frameworks/ | |
737 # Helper.app/Contents/MacOS | |
738 '@loader_path/../../../../../..', | |
739 ], | |
740 }, | |
741 }], | |
742 ], | |
743 }, # target content_shell_helper_app | |
744 ], | |
745 }], # OS=="mac" | |
746 ['OS=="android"', { | |
747 'targets': [ | |
748 { | |
749 # TODO(jrg): Update this action and other jni generators to only | |
750 # require specifying the java directory and generate the rest. | |
751 'target_name': 'content_shell_jni_headers', | |
752 'type': 'none', | |
753 'sources': [ | |
754 'shell/android/java/src/org/chromium/content_shell/ShellLayoutTestUt
ils.java', | |
755 'shell/android/java/src/org/chromium/content_shell/ShellMojoTestUtil
s.java', | |
756 'shell/android/java/src/org/chromium/content_shell/ShellManager.java
', | |
757 'shell/android/java/src/org/chromium/content_shell/Shell.java', | |
758 ], | |
759 'variables': { | |
760 'jni_gen_package': 'content/shell', | |
761 }, | |
762 'includes': [ '../build/jni_generator.gypi' ], | |
763 }, | |
764 { | |
765 'target_name': 'libcontent_shell_content_view', | |
766 'type': 'shared_library', | |
767 'dependencies': [ | |
768 'content_shell_jni_headers', | |
769 'content_shell_lib', | |
770 'content_shell_pak', | |
771 # Skia is necessary to ensure the dependencies needed by | |
772 # WebContents are included. | |
773 '../skia/skia.gyp:skia', | |
774 '<(DEPTH)/media/media.gyp:player_android', | |
775 ], | |
776 'sources': [ | |
777 'shell/android/shell_library_loader.cc', | |
778 ], | |
779 }, | |
780 { | |
781 'target_name': 'content_shell_java', | |
782 'type': 'none', | |
783 'dependencies': [ | |
784 'content.gyp:content_java', | |
785 ], | |
786 'variables': { | |
787 'java_in_dir': '../content/shell/android/java', | |
788 'has_java_resources': 1, | |
789 'R_package': 'org.chromium.content_shell', | |
790 'R_package_relpath': 'org/chromium/content_shell', | |
791 }, | |
792 'includes': [ '../build/java.gypi' ], | |
793 }, | |
794 { | |
795 # content_shell_apk creates a .jar as a side effect. Any java targets | |
796 # that need that .jar in their classpath should depend on this target, | |
797 # content_shell_apk_java. Dependents of content_shell_apk receive its | |
798 # jar path in the variable 'apk_output_jar_path'. This target should | |
799 # only be used by targets which instrument content_shell_apk. | |
800 'target_name': 'content_shell_apk_java', | |
801 'type': 'none', | |
802 'dependencies': [ | |
803 'content_shell_apk', | |
804 ], | |
805 'includes': [ '../build/apk_fake_jar.gypi' ], | |
806 }, | |
807 { | |
808 # GN version: //content/shell/android:content_shell_manifest | |
809 'target_name': 'content_shell_manifest', | |
810 'type': 'none', | |
811 'variables': { | |
812 'jinja_inputs': ['shell/android/shell_apk/AndroidManifest.xml.jinja2
'], | |
813 'jinja_output': '<(SHARED_INTERMEDIATE_DIR)/content_shell_manifest/A
ndroidManifest.xml', | |
814 }, | |
815 'includes': [ '../build/android/jinja_template.gypi' ], | |
816 }, | |
817 { | |
818 # GN version: //content/shell/android:content_shell_apk | |
819 'target_name': 'content_shell_apk', | |
820 'type': 'none', | |
821 'dependencies': [ | |
822 'content.gyp:content_shell_assets_copy', | |
823 'content.gyp:content_java', | |
824 'content_java_test_support', | |
825 'content_shell_java', | |
826 'libcontent_shell_content_view', | |
827 '../base/base.gyp:base_java', | |
828 '../media/media.gyp:media_java', | |
829 '../net/net.gyp:net_java', | |
830 '../third_party/mesa/mesa.gyp:osmesa_in_lib_dir', | |
831 '../tools/android/forwarder/forwarder.gyp:forwarder', | |
832 '../tools/imagediff/image_diff.gyp:image_diff#host', | |
833 '../ui/android/ui_android.gyp:ui_java', | |
834 ], | |
835 'variables': { | |
836 'apk_name': 'ContentShell', | |
837 'manifest_package_name': 'org.chromium.content_shell_apk', | |
838 'android_manifest_path': '<(SHARED_INTERMEDIATE_DIR)/content_shell_m
anifest/AndroidManifest.xml', | |
839 'java_in_dir': 'shell/android/shell_apk', | |
840 'resource_dir': 'shell/android/shell_apk/res', | |
841 'native_lib_target': 'libcontent_shell_content_view', | |
842 'additional_input_paths': ['<(asset_location)/content_shell.pak'], | |
843 'asset_location': '<(PRODUCT_DIR)/content_shell/assets', | |
844 'extra_native_libs': ['<(SHARED_LIB_DIR)/libosmesa.so'], | |
845 'conditions': [ | |
846 ['icu_use_data_file_flag==1', { | |
847 'additional_input_paths': [ | |
848 '<(asset_location)/icudtl.dat', | |
849 ], | |
850 }], | |
851 ['v8_use_external_startup_data==1', { | |
852 'additional_input_paths': [ | |
853 '<(asset_location)/natives_blob_<(arch_suffix).bin', | |
854 '<(asset_location)/snapshot_blob_<(arch_suffix).bin', | |
855 ], | |
856 }], | |
857 ], | |
858 }, | |
859 'includes': [ | |
860 '../build/android/v8_external_startup_data_arch_suffix.gypi', | |
861 '../build/java_apk.gypi', | |
862 ], | |
863 }, | |
864 ], | |
865 }], # OS=="android" | |
866 ['OS=="win"', { | |
867 'targets': [ | |
868 { | |
869 # GN version: //content/shell:crash_service | |
870 'target_name': 'content_shell_crash_service', | |
871 'type': 'executable', | |
872 'dependencies': [ | |
873 '../base/base.gyp:base', | |
874 '../components/components.gyp:breakpad_crash_service', | |
875 ], | |
876 'include_dirs': [ | |
877 '..', | |
878 ], | |
879 'sources': [ | |
880 'shell/tools/content_shell_crash_service.cc', | |
881 ], | |
882 'msvs_settings': { | |
883 'VCLinkerTool': { | |
884 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS | |
885 }, | |
886 }, | |
887 }, | |
888 ], | |
889 }], # OS=="win" | |
890 ['OS=="win" and fastbuild==0 and target_arch=="ia32" and syzyasan==1', { | |
891 'variables': { | |
892 'dest_dir': '<(PRODUCT_DIR)/syzygy', | |
893 }, | |
894 'targets': [ | |
895 { | |
896 'target_name': 'content_shell_syzyasan', | |
897 'type': 'none', | |
898 'sources' : [], | |
899 # Instrument content_shell with SyzyAsan. | |
900 'actions': [ | |
901 { | |
902 'action_name': 'Instrument content_shell with SyzyAsan', | |
903 'inputs': [ | |
904 '<(PRODUCT_DIR)/content_shell.exe', | |
905 ], | |
906 'outputs': [ | |
907 '<(dest_dir)/content_shell.exe', | |
908 '<(dest_dir)/content_shell.exe.pdb', | |
909 ], | |
910 'action': [ | |
911 'python', | |
912 '<(DEPTH)/build/win/syzygy/instrument.py', | |
913 '--mode', 'asan', | |
914 '--input_executable', '<(PRODUCT_DIR)/content_shell.exe', | |
915 '--input_symbol', '<(PRODUCT_DIR)/content_shell.exe.pdb', | |
916 '--destination_dir', '<(dest_dir)', | |
917 ], | |
918 }, | |
919 ], | |
920 }, | |
921 ], | |
922 }], # OS=="win" and fastbuild==0 and target_arch=="ia32" | |
923 ] | |
924 } | |
OLD | NEW |