blob: 734967938862751a0f821a3ddc37f652bce137ed [file] [log] [blame]
[email protected]81f30ce2012-01-18 22:10:331# Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]5629e0c2011-09-12 22:07:362# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
[email protected]85ff16042012-03-06 23:46:346 'variables': {
7 'content_shell_product_name': 'Content Shell',
[email protected]6d302912012-11-05 21:57:288 # 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',
[email protected]929246a2013-02-28 13:55:2012 'conditions': [
[email protected]bf6b6442013-03-07 09:18:2413 ['OS=="linux"', {
[email protected]929246a2013-02-28 13:55:2014 'use_custom_freetype%': 1,
15 }, {
16 'use_custom_freetype%': 0,
17 }],
18 ],
[email protected]85ff16042012-03-06 23:46:3419 },
[email protected]5629e0c2011-09-12 22:07:3620 'targets': [
21 {
[email protected]c1f87b22011-10-05 21:59:3322 'target_name': 'content_shell_lib',
23 'type': 'static_library',
[email protected]03ff5e52011-09-30 00:28:1424 'defines!': ['CONTENT_IMPLEMENTATION'],
[email protected]6d302912012-11-05 21:57:2825 'defines': ['CONTENT_SHELL_VERSION="<(content_shell_version)"'],
[email protected]9fbd3f862011-09-20 23:31:3426 'variables': {
27 'chromium_code': 1,
28 },
[email protected]5629e0c2011-09-12 22:07:3629 'dependencies': [
[email protected]73a759772013-07-02 20:47:4530 'content_app',
31 'content_browser',
32 'content_common',
33 'content_gpu',
34 'content_plugin',
35 'content_ppapi_plugin',
36 'content_renderer',
[email protected]a20f6e82013-07-01 13:38:4137 'content_shell_resources',
[email protected]73a759772013-07-02 20:47:4538 'content_utility',
39 'content_worker',
[email protected]a20f6e82013-07-01 13:38:4140 'test_support_content',
[email protected]73a759772013-07-02 20:47:4541 'content_resources.gyp:content_resources',
[email protected]aa6e79762011-09-29 20:53:5242 '../base/base.gyp:base',
43 '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
[email protected]aa6e79762011-09-29 20:53:5244 '../ipc/ipc.gyp:ipc',
[email protected]433df472012-03-07 20:33:3945 '../media/media.gyp:media',
[email protected]aa6e79762011-09-29 20:53:5246 '../net/net.gyp:net',
[email protected]24f80692012-08-13 15:15:5047 '../net/net.gyp:net_resources',
[email protected]5629e0c2011-09-12 22:07:3648 '../skia/skia.gyp:skia',
[email protected]4ded0abe2013-06-26 17:51:4849 '../third_party/WebKit/public/all.gyp:blink_testing',
[email protected]8350f16f2012-11-30 00:25:3250 '../ui/gl/gl.gyp:gl',
[email protected]5629e0c2011-09-12 22:07:3651 '../ui/ui.gyp:ui',
[email protected]002cc08f2013-06-03 05:40:2952 '../url/url.gyp:url_lib',
[email protected]12bc28fcb2011-09-21 15:53:5053 '../v8/tools/gyp/v8.gyp:v8',
[email protected]01048712012-07-09 23:26:2754 '../webkit/support/webkit_support.gyp:webkit_support',
[email protected]d7871ac2013-07-09 21:35:4155 '../webkit/webkit_resources.gyp:webkit_resources',
[email protected]5629e0c2011-09-12 22:07:3656 ],
57 'include_dirs': [
58 '..',
59 ],
60 'sources': [
[email protected]4d4eb5b2013-01-29 21:55:5561 'shell/android/shell_jni_registrar.cc',
62 'shell/android/shell_jni_registrar.h',
63 'shell/android/shell_manager.cc',
64 'shell/android/shell_manager.h',
[email protected]2a94e812013-07-12 15:31:0265 'shell/app/paths_mac.h',
66 'shell/app/paths_mac.mm',
[email protected]993951d2013-05-08 21:37:0267 'shell/app/shell_main_delegate.cc',
68 'shell/app/shell_main_delegate.h',
[email protected]2a94e812013-07-12 15:31:0269 'shell/app/shell_main_delegate_mac.h',
70 'shell/app/shell_main_delegate_mac.mm',
[email protected]216161f2013-07-02 16:23:2071 'shell/app/webkit_test_platform_support.h',
72 'shell/app/webkit_test_platform_support_android.cc',
73 'shell/app/webkit_test_platform_support_linux.cc',
74 'shell/app/webkit_test_platform_support_mac.mm',
75 'shell/app/webkit_test_platform_support_win.cc',
[email protected]b7c504c2013-05-07 14:42:1276 'shell/common/shell_content_client.cc',
77 'shell/common/shell_content_client.h',
78 'shell/common/shell_messages.cc',
79 'shell/common/shell_messages.h',
80 'shell/common/shell_switches.cc',
81 'shell/common/shell_switches.h',
82 'shell/common/shell_test_configuration.cc',
83 'shell/common/shell_test_configuration.h',
84 'shell/common/webkit_test_helpers.cc',
85 'shell/common/webkit_test_helpers.h',
[email protected]6cfccd12012-06-28 12:14:0586 'shell/geolocation/shell_access_token_store.cc',
87 'shell/geolocation/shell_access_token_store.h',
[email protected]2a2caa02013-01-22 20:50:3688 'shell/minimal_ash.cc',
89 'shell/minimal_ash.h',
[email protected]1ca4fac2013-04-08 14:15:1190 'shell/notify_done_forwarder.cc',
91 'shell/notify_done_forwarder.h',
[email protected]f7a4e3b92013-05-03 15:29:5892 'shell/renderer/shell_content_renderer_client.cc',
93 'shell/renderer/shell_content_renderer_client.h',
94 'shell/renderer/shell_render_process_observer.cc',
95 'shell/renderer/shell_render_process_observer.h',
[email protected]81914ad2013-07-02 18:54:2596 'shell/renderer/shell_render_view_observer.cc',
97 'shell/renderer/shell_render_view_observer.h',
[email protected]f7a4e3b92013-05-03 15:29:5898 'shell/renderer/webkit_test_runner.cc',
99 'shell/renderer/webkit_test_runner.h',
[email protected]9fbd3f862011-09-20 23:31:34100 'shell/shell.cc',
101 'shell/shell.h',
[email protected]a08029b42012-04-25 03:18:46102 'shell/shell_android.cc',
[email protected]fa4a45832012-04-12 21:32:48103 'shell/shell_aura.cc',
[email protected]9fbd3f862011-09-20 23:31:34104 'shell/shell_gtk.cc',
105 'shell/shell_mac.mm',
106 'shell/shell_win.cc',
[email protected]c4e78d72012-03-24 22:55:41107 'shell/shell_application_mac.h',
108 'shell/shell_application_mac.mm',
[email protected]b0f146f2011-09-15 22:14:25109 'shell/shell_browser_context.cc',
110 'shell/shell_browser_context.h',
[email protected]5629e0c2011-09-12 22:07:36111 'shell/shell_browser_main.cc',
112 'shell/shell_browser_main.h',
[email protected]147f8092012-03-21 11:47:45113 'shell/shell_browser_main_parts.cc',
114 'shell/shell_browser_main_parts.h',
115 'shell/shell_browser_main_parts_mac.mm',
[email protected]5629e0c2011-09-12 22:07:36116 'shell/shell_content_browser_client.cc',
117 'shell/shell_content_browser_client.h',
[email protected]ee75b8992012-01-27 07:53:57118 'shell/shell_devtools_delegate.cc',
119 'shell/shell_devtools_delegate.h',
[email protected]0773e0c2013-01-25 15:57:57120 'shell/shell_devtools_frontend.cc',
121 'shell/shell_devtools_frontend.h',
[email protected]98d6f152011-09-29 19:35:51122 'shell/shell_download_manager_delegate.cc',
123 'shell/shell_download_manager_delegate.h',
[email protected]71a88bb2013-02-01 22:05:15124 'shell/shell_javascript_dialog_manager.cc',
125 'shell/shell_javascript_dialog_manager.h',
[email protected]fc4f4dd42012-07-30 20:52:48126 'shell/shell_javascript_dialog_gtk.cc',
[email protected]f2210022012-03-29 00:36:08127 'shell/shell_javascript_dialog_mac.mm',
[email protected]7fc83822012-03-30 19:53:29128 'shell/shell_javascript_dialog_win.cc',
[email protected]f2210022012-03-29 00:36:08129 'shell/shell_javascript_dialog.h',
[email protected]eadcff0f2013-06-20 21:08:10130 'shell/shell_layout_tests_android.cc',
131 'shell/shell_layout_tests_android.h',
[email protected]e6fbecf22012-08-01 10:11:03132 'shell/shell_login_dialog_gtk.cc',
[email protected]e3503ac2012-04-05 15:01:36133 'shell/shell_login_dialog_mac.mm',
134 'shell/shell_login_dialog.cc',
135 'shell/shell_login_dialog.h',
[email protected]5a3c3f32013-01-23 12:23:39136 'shell/shell_message_filter.cc',
137 'shell/shell_message_filter.h',
[email protected]c3bdce152013-07-10 04:56:34138 'shell/shell_net_log.cc',
139 'shell/shell_net_log.h',
[email protected]33bc2832012-03-29 08:18:17140 'shell/shell_network_delegate.cc',
141 'shell/shell_network_delegate.h',
[email protected]7886b622013-05-27 09:24:09142 'shell/shell_plugin_service_filter.cc',
143 'shell/shell_plugin_service_filter.h',
[email protected]fc41b212013-03-25 16:04:23144 'shell/shell_quota_permission_context.cc',
145 'shell/shell_quota_permission_context.h',
[email protected]e3503ac2012-04-05 15:01:36146 'shell/shell_resource_dispatcher_host_delegate.cc',
147 'shell/shell_resource_dispatcher_host_delegate.h',
[email protected]c5f1e332011-09-27 01:08:03148 'shell/shell_url_request_context_getter.cc',
149 'shell/shell_url_request_context_getter.h',
[email protected]0d978ef2013-02-27 15:32:54150 'shell/shell_web_contents_view_delegate_android.cc',
[email protected]4c2aa392012-09-03 01:29:42151 'shell/shell_web_contents_view_delegate_creator.h',
152 'shell/shell_web_contents_view_delegate_gtk.cc',
[email protected]dcbe5fe32012-09-10 10:18:32153 'shell/shell_web_contents_view_delegate_mac.mm',
[email protected]4c9bf3482012-09-12 14:35:35154 'shell/shell_web_contents_view_delegate_win.cc',
[email protected]4c2aa392012-09-03 01:29:42155 'shell/shell_web_contents_view_delegate.h',
[email protected]8dafad32012-12-10 14:11:45156 'shell/webkit_test_controller.cc',
157 'shell/webkit_test_controller.h',
[email protected]5629e0c2011-09-12 22:07:36158 ],
159 'msvs_settings': {
160 'VCLinkerTool': {
161 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
162 },
163 },
164 'conditions': [
165 ['OS=="win" and win_use_allocator_shim==1', {
166 'dependencies': [
167 '../base/allocator/allocator.gyp:allocator',
168 ],
169 }],
[email protected]9fbd3f862011-09-20 23:31:34170 ['OS=="win"', {
171 'resource_include_dirs': [
172 '<(SHARED_INTERMEDIATE_DIR)/webkit',
173 ],
[email protected]9fbd3f862011-09-20 23:31:34174 'dependencies': [
[email protected]d7871ac2013-07-09 21:35:41175 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_strings',
[email protected]9fbd3f862011-09-20 23:31:34176 ],
177 'configurations': {
178 'Debug_Base': {
179 'msvs_settings': {
180 'VCLinkerTool': {
181 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
182 },
183 },
184 },
185 },
[email protected]3bed5302013-02-15 19:31:41186 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
187 'msvs_disabled_warnings': [ 4267, ],
[email protected]85ff16042012-03-06 23:46:34188 }], # OS=="win"
[email protected]6eb6bb62012-11-10 06:30:59189 ['OS=="linux"', {
190 'dependencies': [
191 '../build/linux/system.gyp:fontconfig',
192 ],
193 }],
[email protected]689266d2012-08-07 12:52:20194 ['OS=="android"', {
[email protected]82e9e2b12012-07-19 00:32:01195 'dependencies': [
196 'content_shell_jni_headers',
197 ],
[email protected]689266d2012-08-07 12:52:20198 }, { # else: OS!="android"
199 'dependencies': [
200 # This dependency is for running DRT against the content shell, and
201 # this combination is not yet supported on Android.
202 '../webkit/support/webkit_support.gyp:webkit_support',
203 ],
[email protected]82e9e2b12012-07-19 00:32:01204 }], # OS=="android"
[email protected]3c8fe5482013-05-22 15:17:03205 ['(os_posix==1 and use_aura==1 and linux_use_tcmalloc==1) or (android_use_tcmalloc==1)', {
[email protected]c767d572012-07-27 10:55:58206 'dependencies': [
207 # This is needed by content/app/content_main_runner.cc
208 '../base/allocator/allocator.gyp:allocator',
209 ],
210 }],
[email protected]fa4a45832012-04-12 21:32:48211 ['use_aura==1', {
[email protected]c767d572012-07-27 10:55:58212 'dependencies': [
213 '../ui/aura/aura.gyp:aura',
214 '../ui/base/strings/ui_strings.gyp:ui_strings',
[email protected]9e7fca802012-09-01 18:53:05215 '../ui/views/controls/webview/webview.gyp:webview',
[email protected]c767d572012-07-27 10:55:58216 '../ui/views/views.gyp:views',
[email protected]0aa76932012-10-14 19:11:10217 '../ui/views/views.gyp:views_test_support',
[email protected]c767d572012-07-27 10:55:58218 '../ui/ui.gyp:ui_resources',
219 ],
[email protected]fa4a45832012-04-12 21:32:48220 'sources/': [
221 ['exclude', 'shell/shell_gtk.cc'],
222 ['exclude', 'shell/shell_win.cc'],
223 ],
[email protected]96b80b472012-07-03 19:41:56224 }], # use_aura==1
[email protected]c767d572012-07-27 10:55:58225 ['chromeos==1', {
226 'dependencies': [
227 '../chromeos/chromeos.gyp:chromeos',
228 ],
229 }], # chromeos==1
[email protected]2d2f60d2013-05-14 04:42:01230 ['use_ash==1', {
231 'dependencies': [
232 '../ash/ash.gyp:ash',
233 ],
234 }],
[email protected]929246a2013-02-28 13:55:20235 ['use_custom_freetype==1', {
236 'dependencies': [
237 '../third_party/freetype2/freetype2.gyp:freetype2',
238 ],
239 }],
[email protected]dfb9360192013-05-27 09:42:34240 ['enable_plugins==0', {
241 'sources/': [
242 ['exclude', 'shell/shell_plugin_service_filter.cc'],
243 ['exclude', 'shell/shell_plugin_service_filter.h'],
244 ],
245 }]
[email protected]5629e0c2011-09-12 22:07:36246 ],
247 },
[email protected]c1f87b22011-10-05 21:59:33248 {
[email protected]ee75b8992012-01-27 07:53:57249 'target_name': 'content_shell_resources',
250 'type': 'none',
[email protected]b581eb402012-03-09 01:31:46251 'dependencies': [
252 'generate_content_shell_resources',
253 ],
254 'variables': {
255 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content',
256 },
257 'includes': [ '../build/grit_target.gypi' ],
258 'copies': [
259 {
260 'destination': '<(PRODUCT_DIR)',
261 'files': [
262 '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak'
263 ],
264 },
265 ],
[email protected]4cb792f42012-03-24 03:12:42266 },
267 {
[email protected]b581eb402012-03-09 01:31:46268 'target_name': 'generate_content_shell_resources',
269 'type': 'none',
[email protected]ee75b8992012-01-27 07:53:57270 'variables': {
271 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content',
272 },
273 'actions': [
274 {
275 'action_name': 'content_shell_resources',
276 'variables': {
277 'grit_grd_file': 'shell/shell_resources.grd',
278 },
279 'includes': [ '../build/grit_action.gypi' ],
280 },
281 ],
[email protected]ee75b8992012-01-27 07:53:57282 },
283 {
[email protected]81f30ce2012-01-18 22:10:33284 # We build a minimal set of resources so WebKit in content_shell has
285 # access to necessary resources.
286 'target_name': 'content_shell_pak',
287 'type': 'none',
[email protected]ee75b8992012-01-27 07:53:57288 'dependencies': [
[email protected]70019152012-12-19 11:44:19289 'browser/devtools/devtools_resources.gyp:devtools_resources',
[email protected]06c54162013-06-10 00:25:05290 'content_resources.gyp:content_resources',
[email protected]ee75b8992012-01-27 07:53:57291 'content_shell_resources',
[email protected]06c54162013-06-10 00:25:05292 '<(DEPTH)/net/net.gyp:net_resources',
293 '<(DEPTH)/ui/base/strings/ui_strings.gyp:ui_strings',
[email protected]6c3e6492012-02-27 17:07:45294 '<(DEPTH)/ui/ui.gyp:ui_resources',
[email protected]d7871ac2013-07-09 21:35:41295 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_resources',
296 '<(DEPTH)/webkit/webkit_resources.gyp:webkit_strings',
[email protected]ee75b8992012-01-27 07:53:57297 ],
[email protected]3df230d2013-07-03 00:44:57298 'conditions': [
299 ['OS!="android" and OS!="ios"', {
300 'dependencies': [
301 'browser/tracing/tracing_resources.gyp:tracing_resources',
302 ],
303 }],
304 ],
[email protected]81f30ce2012-01-18 22:10:33305 'variables': {
306 'repack_path': '<(DEPTH)/tools/grit/grit/format/repack.py',
307 },
308 'actions': [
309 {
310 'action_name': 'repack_content_shell_pack',
311 'variables': {
312 'pak_inputs': [
313 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
[email protected]479bea22013-07-02 21:46:06314 '<(SHARED_INTERMEDIATE_DIR)/content/browser/tracing/tracing_resources.pak',
[email protected]ee75b8992012-01-27 07:53:57315 '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak',
[email protected]81f30ce2012-01-18 22:10:33316 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
[email protected]c767d572012-07-27 10:55:58317 '<(SHARED_INTERMEDIATE_DIR)/ui/app_locale_settings/app_locale_settings_en-US.pak',
[email protected]a52c7312012-07-24 22:45:57318 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak',
[email protected]e1c26ae2013-01-31 18:13:18319 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/webui_resources.pak',
[email protected]c767d572012-07-27 10:55:58320 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_strings/ui_strings_en-US.pak',
[email protected]ee75b8992012-01-27 07:53:57321 '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak',
[email protected]81f30ce2012-01-18 22:10:33322 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
[email protected]30c8f542012-09-01 01:02:29323 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak',
[email protected]af551a62012-07-31 16:44:03324 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
[email protected]81f30ce2012-01-18 22:10:33325 ],
[email protected]81f30ce2012-01-18 22:10:33326 },
327 'inputs': [
328 '<(repack_path)',
329 '<@(pak_inputs)',
330 ],
[email protected]81f30ce2012-01-18 22:10:33331 'action': ['python', '<(repack_path)', '<@(_outputs)',
332 '<@(pak_inputs)'],
[email protected]a08029b42012-04-25 03:18:46333 'conditions': [
334 ['OS!="android"', {
335 'outputs': [
336 '<(PRODUCT_DIR)/content_shell.pak',
337 ],
338 }, {
339 'outputs': [
340 '<(PRODUCT_DIR)/content_shell/assets/content_shell.pak',
341 ],
342 }],
343 ],
[email protected]81f30ce2012-01-18 22:10:33344 },
345 ],
346 },
347 {
[email protected]c1f87b22011-10-05 21:59:33348 'target_name': 'content_shell',
349 'type': 'executable',
[email protected]85ff16042012-03-06 23:46:34350 'mac_bundle': 1,
[email protected]c1f87b22011-10-05 21:59:33351 'defines!': ['CONTENT_IMPLEMENTATION'],
352 'variables': {
353 'chromium_code': 1,
354 },
355 'dependencies': [
356 'content_shell_lib',
[email protected]81f30ce2012-01-18 22:10:33357 'content_shell_pak',
[email protected]bb5d2d92012-10-15 07:45:42358 '../third_party/mesa/mesa.gyp:osmesa',
[email protected]c1f87b22011-10-05 21:59:33359 ],
360 'include_dirs': [
361 '..',
362 ],
363 'sources': [
[email protected]711f428e2012-06-22 02:18:23364 'app/startup_helper_win.cc',
[email protected]993951d2013-05-08 21:37:02365 'shell/app/shell_main.cc',
[email protected]c1f87b22011-10-05 21:59:33366 ],
[email protected]85ff16042012-03-06 23:46:34367 'mac_bundle_resources': [
[email protected]993951d2013-05-08 21:37:02368 'shell/app/app.icns',
369 'shell/app/app-Info.plist',
[email protected]85ff16042012-03-06 23:46:34370 ],
371 # TODO(mark): Come up with a fancier way to do this. It should only
372 # be necessary to list app-Info.plist once, not the three times it is
373 # listed here.
374 'mac_bundle_resources!': [
[email protected]993951d2013-05-08 21:37:02375 'shell/app/app-Info.plist',
[email protected]85ff16042012-03-06 23:46:34376 ],
377 'xcode_settings': {
[email protected]993951d2013-05-08 21:37:02378 'INFOPLIST_FILE': 'shell/app/app-Info.plist',
[email protected]85ff16042012-03-06 23:46:34379 },
[email protected]c1f87b22011-10-05 21:59:33380 'msvs_settings': {
381 'VCLinkerTool': {
382 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
383 },
[email protected]30624922013-06-04 10:40:10384 'VCManifestTool': {
385 'AdditionalManifestFiles': 'shell/app/shell.exe.manifest',
386 },
[email protected]c1f87b22011-10-05 21:59:33387 },
388 'conditions': [
389 ['OS=="win" and win_use_allocator_shim==1', {
390 'dependencies': [
391 '../base/allocator/allocator.gyp:allocator',
392 ],
393 }],
394 ['OS=="win"', {
[email protected]7fc83822012-03-30 19:53:29395 'sources': [
[email protected]993951d2013-05-08 21:37:02396 'shell/app/shell.rc',
[email protected]7fc83822012-03-30 19:53:29397 ],
[email protected]c1f87b22011-10-05 21:59:33398 'configurations': {
399 'Debug_Base': {
400 'msvs_settings': {
401 'VCLinkerTool': {
402 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
403 },
404 },
405 },
406 },
[email protected]85ff16042012-03-06 23:46:34407 }], # OS=="win"
[email protected]5d9bc782013-05-17 17:22:14408 ['OS == "win" or toolkit_uses_gtk == 1', {
[email protected]27315ce42011-10-14 01:25:12409 'dependencies': [
410 '../sandbox/sandbox.gyp:sandbox',
411 ],
[email protected]5d9bc782013-05-17 17:22:14412 }], # OS=="win" or toolkit_uses_gtk == 1
[email protected]398990892012-01-20 03:25:58413 ['toolkit_uses_gtk == 1', {
414 'dependencies': [
415 '<(DEPTH)/build/linux/system.gyp:gtk',
416 ],
[email protected]85ff16042012-03-06 23:46:34417 }], # toolkit_uses_gtk
418 ['OS=="mac"', {
419 'product_name': '<(content_shell_product_name)',
420 'dependencies!': [
421 'content_shell_lib',
422 ],
423 'dependencies': [
424 'content_shell_framework',
[email protected]180df8f2012-03-09 22:36:10425 'content_shell_helper_app',
426 ],
427 'copies': [
428 {
429 'destination': '<(PRODUCT_DIR)/<(content_shell_product_name).app/Contents/Frameworks',
430 'files': [
431 '<(PRODUCT_DIR)/<(content_shell_product_name) Helper.app',
432 ],
433 },
[email protected]85ff16042012-03-06 23:46:34434 ],
435 'postbuilds': [
436 {
437 'postbuild_name': 'Copy <(content_shell_product_name) Framework.framework',
438 'action': [
439 '../build/mac/copy_framework_unversioned.sh',
440 '${BUILT_PRODUCTS_DIR}/<(content_shell_product_name) Framework.framework',
441 '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Frameworks',
442 ],
443 },
444 {
445 'postbuild_name': 'Fix Framework Link',
446 'action': [
447 'install_name_tool',
448 '-change',
449 '/Library/Frameworks/<(content_shell_product_name) Framework.framework/Versions/A/<(content_shell_product_name) Framework',
450 '@executable_path/../Frameworks/<(content_shell_product_name) Framework.framework/<(content_shell_product_name) Framework',
451 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
452 ],
453 },
454 {
455 # Modify the Info.plist as needed.
456 'postbuild_name': 'Tweak Info.plist',
457 'action': ['../build/mac/tweak_info_plist.py',
[email protected]6d302912012-11-05 21:57:28458 '--scm=1',
459 '--version=<(content_shell_version)'],
[email protected]85ff16042012-03-06 23:46:34460 },
461 {
[email protected]180df8f2012-03-09 22:36:10462 # This postbuid step is responsible for creating the following
463 # helpers:
464 #
465 # Content Shell Helper EH.app and Content Shell Helper NP.app are
466 # created from Content Shell Helper.app.
467 #
468 # The EH helper is marked for an executable heap. The NP helper
469 # is marked for no PIE (ASLR).
470 'postbuild_name': 'Make More Helpers',
471 'action': [
472 '../build/mac/make_more_helpers.sh',
473 'Frameworks',
474 '<(content_shell_product_name)',
475 ],
476 },
477 {
[email protected]85ff16042012-03-06 23:46:34478 # Make sure there isn't any Objective-C in the shell's
479 # executable.
480 'postbuild_name': 'Verify No Objective-C',
481 'action': [
482 '../build/mac/verify_no_objc.sh',
483 ],
484 },
485 ],
486 }], # OS=="mac"
[email protected]c1f87b22011-10-05 21:59:33487 ],
488 },
[email protected]fe2420d2012-08-21 07:28:33489 {
490 'target_name': 'content_shell_builder',
491 'type': 'none',
492 'dependencies': [
493 'content_shell',
[email protected]fe2420d2012-08-21 07:28:33494 ],
495 },
[email protected]5629e0c2011-09-12 22:07:36496 ],
[email protected]85ff16042012-03-06 23:46:34497 'conditions': [
498 ['OS=="mac"', {
499 'targets': [
500 {
501 'target_name': 'content_shell_framework',
502 'type': 'shared_library',
503 'product_name': '<(content_shell_product_name) Framework',
504 'mac_bundle': 1,
505 'mac_bundle_resources': [
[email protected]993951d2013-05-08 21:37:02506 'shell/app/English.lproj/HttpAuth.xib',
507 'shell/app/English.lproj/MainMenu.xib',
[email protected]4cb792f42012-03-24 03:12:42508 '<(PRODUCT_DIR)/content_shell.pak'
[email protected]85ff16042012-03-06 23:46:34509 ],
510 'dependencies': [
511 'content_shell_lib',
512 ],
513 'include_dirs': [
514 '..',
515 ],
516 'sources': [
[email protected]4642f5b2013-07-03 21:43:31517 'shell/app/shell_content_main.cc',
[email protected]216161f2013-07-02 16:23:20518 'shell/app/shell_content_main.h',
[email protected]85ff16042012-03-06 23:46:34519 ],
[email protected]5d96bbe2012-07-25 17:13:23520 'copies': [
521 {
522 # Copy FFmpeg binaries for audio/video support.
523 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
524 'files': [
525 '<(PRODUCT_DIR)/ffmpegsumo.so',
526 ],
527 },
528 ],
[email protected]fda1c6c82013-04-09 16:10:12529 'conditions': [
530 ['enable_webrtc==1', {
531 'variables': {
532 'libpeer_target_type%': 'static_library',
533 },
534 'conditions': [
[email protected]e4aa290b2013-05-01 18:54:19535 ['libpeer_target_type!="static_library"', {
[email protected]fda1c6c82013-04-09 16:10:12536 'copies': [{
537 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
538 'files': [
[email protected]62461b72013-05-02 12:27:12539 '<(PRODUCT_DIR)/libpeerconnection.so',
[email protected]fda1c6c82013-04-09 16:10:12540 ],
541 }],
542 }],
543 ],
544 }],
545 ],
[email protected]180df8f2012-03-09 22:36:10546 }, # target content_shell_framework
547 {
548 'target_name': 'content_shell_helper_app',
549 'type': 'executable',
550 'variables': { 'enable_wexit_time_destructors': 1, },
551 'product_name': '<(content_shell_product_name) Helper',
552 'mac_bundle': 1,
553 'dependencies': [
554 'content_shell_framework',
555 ],
556 'sources': [
[email protected]993951d2013-05-08 21:37:02557 'shell/app/shell_main.cc',
558 'shell/app/helper-Info.plist',
[email protected]180df8f2012-03-09 22:36:10559 ],
560 # TODO(mark): Come up with a fancier way to do this. It should only
561 # be necessary to list helper-Info.plist once, not the three times it
562 # is listed here.
563 'mac_bundle_resources!': [
[email protected]993951d2013-05-08 21:37:02564 'shell/app/helper-Info.plist',
[email protected]180df8f2012-03-09 22:36:10565 ],
566 # TODO(mark): For now, don't put any resources into this app. Its
567 # resources directory will be a symbolic link to the browser app's
568 # resources directory.
569 'mac_bundle_resources/': [
570 ['exclude', '.*'],
571 ],
572 'xcode_settings': {
[email protected]993951d2013-05-08 21:37:02573 'INFOPLIST_FILE': 'shell/app/helper-Info.plist',
[email protected]180df8f2012-03-09 22:36:10574 },
575 'postbuilds': [
576 {
577 # The framework defines its load-time path
578 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
579 # (chrome). A different relative path needs to be used in
580 # content_shell_helper_app.
581 'postbuild_name': 'Fix Framework Link',
582 'action': [
583 'install_name_tool',
584 '-change',
585 '/Library/Frameworks/<(content_shell_product_name) Framework.framework/Versions/A/<(content_shell_product_name) Framework',
586 '@executable_path/../../../../Frameworks/<(content_shell_product_name) Framework.framework/<(content_shell_product_name) Framework',
587 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
588 ],
589 },
590 {
591 # Modify the Info.plist as needed. The script explains why this
592 # is needed. This is also done in the chrome and chrome_dll
[email protected]bbf52442012-08-23 22:53:18593 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
594 # are used because Breakpad, Keystone, and SCM keys are
[email protected]180df8f2012-03-09 22:36:10595 # never placed into the helper.
596 'postbuild_name': 'Tweak Info.plist',
597 'action': ['../build/mac/tweak_info_plist.py',
598 '--breakpad=0',
599 '--keystone=0',
[email protected]6d302912012-11-05 21:57:28600 '--scm=0',
601 '--version=<(content_shell_version)'],
[email protected]180df8f2012-03-09 22:36:10602 },
603 {
604 # Make sure there isn't any Objective-C in the helper app's
605 # executable.
606 'postbuild_name': 'Verify No Objective-C',
607 'action': [
608 '../build/mac/verify_no_objc.sh',
609 ],
610 },
611 ],
[email protected]ec40c38f2012-06-28 16:37:49612 'conditions': [
613 ['component=="shared_library"', {
614 'xcode_settings': {
615 'LD_RUNPATH_SEARCH_PATHS': [
616 # Get back from Content Shell.app/Contents/Frameworks/
617 # Helper.app/Contents/MacOS
618 '@loader_path/../../../../../..',
619 ],
620 },
621 }],
622 ],
[email protected]180df8f2012-03-09 22:36:10623 }, # target content_shell_helper_app
[email protected]85ff16042012-03-06 23:46:34624 ],
625 }], # OS=="mac"
[email protected]cc66d282012-03-30 11:44:06626 ['OS=="android"', {
627 'targets': [
628 {
[email protected]a08029b42012-04-25 03:18:46629 # TODO(jrg): Update this action and other jni generators to only
630 # require specifying the java directory and generate the rest.
631 'target_name': 'content_shell_jni_headers',
632 'type': 'none',
[email protected]e46f66152012-07-19 20:02:55633 'sources': [
[email protected]4d4eb5b2013-01-29 21:55:55634 'shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsActivity.java',
[email protected]eadcff0f2013-06-20 21:08:10635 'shell/android/java/src/org/chromium/content_shell/ShellLayoutTestUtils.java',
[email protected]e46f66152012-07-19 20:02:55636 'shell/android/java/src/org/chromium/content_shell/ShellManager.java',
637 'shell/android/java/src/org/chromium/content_shell/Shell.java',
638 ],
[email protected]029a7712013-01-15 08:11:42639 'direct_dependent_settings': {
640 'include_dirs': [
641 '<(SHARED_INTERMEDIATE_DIR)/content/shell',
642 ],
643 },
[email protected]a08029b42012-04-25 03:18:46644 'variables': {
[email protected]521cd942013-03-07 22:34:05645 'jni_gen_package': 'content/shell',
[email protected]a08029b42012-04-25 03:18:46646 },
647 'includes': [ '../build/jni_generator.gypi' ],
648 },
649 {
[email protected]c1101582012-06-25 17:07:18650 'target_name': 'libcontent_shell_content_view',
[email protected]a08029b42012-04-25 03:18:46651 'type': 'shared_library',
652 'dependencies': [
653 'content_shell_jni_headers',
654 'content_shell_lib',
655 'content_shell_pak',
656 # Skia is necessary to ensure the dependencies needed by
657 # WebContents are included.
658 '../skia/skia.gyp:skia',
659 '<(DEPTH)/media/media.gyp:player_android',
660 ],
[email protected]a08029b42012-04-25 03:18:46661 'sources': [
662 'shell/android/shell_library_loader.cc',
663 'shell/android/shell_library_loader.h',
[email protected]f83a47392012-07-12 22:15:04664 ],
[email protected]7abcaa82012-06-27 17:09:48665 'conditions': [
[email protected]d999c3cb2013-03-12 10:22:36666 ['android_webview_build==1', {
[email protected]7abcaa82012-06-27 17:09:48667 'ldflags': [
668 '-lgabi++', # For rtti
669 ],
670 }],
671 ],
[email protected]a08029b42012-04-25 03:18:46672 },
673 {
[email protected]4d4eb5b2013-01-29 21:55:55674 'target_name': 'content_shell_java',
675 'type': 'none',
676 'dependencies': [
[email protected]73a759772013-07-02 20:47:45677 'content_java',
[email protected]4d4eb5b2013-01-29 21:55:55678 ],
679 'variables': {
[email protected]4d4eb5b2013-01-29 21:55:55680 'java_in_dir': '../content/shell/android/java',
681 'has_java_resources': 1,
682 'R_package': 'org.chromium.content_shell',
683 'R_package_relpath': 'org/chromium/content_shell',
684 },
685 'includes': [ '../build/java.gypi' ],
686 },
687 {
[email protected]319d6a82012-09-20 22:52:28688 # content_shell_apk creates a .jar as a side effect. Any java targets
689 # that need that .jar in their classpath should depend on this target,
[email protected]4d4eb5b2013-01-29 21:55:55690 # content_shell_apk_java. Dependents of content_shell_apk receive its
691 # jar path in the variable 'apk_output_jar_path'. This target should
692 # only be used by targets which instrument content_shell_apk.
693 'target_name': 'content_shell_apk_java',
[email protected]319d6a82012-09-20 22:52:28694 'type': 'none',
[email protected]319d6a82012-09-20 22:52:28695 'dependencies': [
[email protected]319d6a82012-09-20 22:52:28696 'content_shell_apk',
[email protected]319d6a82012-09-20 22:52:28697 ],
[email protected]b13f73e2013-03-27 23:31:27698 'includes': [ '../build/apk_fake_jar.gypi' ],
[email protected]319d6a82012-09-20 22:52:28699 },
[email protected]75c86a22012-09-26 03:50:37700 {
701 'target_name': 'content_shell_apk',
702 'type': 'none',
703 'dependencies': [
[email protected]73a759772013-07-02 20:47:45704 'content_java',
[email protected]c48fece02013-06-19 12:01:42705 'content_java_test_support',
[email protected]4d4eb5b2013-01-29 21:55:55706 'content_shell_java',
707 'libcontent_shell_content_view',
[email protected]75c86a22012-09-26 03:50:37708 '../base/base.gyp:base_java',
709 '../media/media.gyp:media_java',
710 '../net/net.gyp:net_java',
711 '../ui/ui.gyp:ui_java',
712 ],
713 'variables': {
[email protected]75c86a22012-09-26 03:50:37714 'apk_name': 'ContentShell',
[email protected]4d4eb5b2013-01-29 21:55:55715 'manifest_package_name': 'org.chromium.content_shell_apk',
716 'java_in_dir': 'shell/android/shell_apk',
[email protected]bd6ab3db2013-03-26 17:35:21717 'resource_dir': 'shell/android/shell_apk/res',
[email protected]e4865252013-04-04 09:15:59718 'native_lib_target': 'libcontent_shell_content_view',
[email protected]75c86a22012-09-26 03:50:37719 'additional_input_paths': ['<(PRODUCT_DIR)/content_shell/assets/content_shell.pak'],
[email protected]4d4eb5b2013-01-29 21:55:55720 'asset_location': '<(ant_build_out)/content_shell/assets',
[email protected]75c86a22012-09-26 03:50:37721 },
[email protected]75c86a22012-09-26 03:50:37722 'includes': [ '../build/java_apk.gypi' ],
723 },
[email protected]cc66d282012-03-30 11:44:06724 ],
725 }], # OS=="android"
726 ]
[email protected]5629e0c2011-09-12 22:07:36727}