blob: e0bb6750b5b469cfc5376980d44ac3a5e62eac88 [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': [
30 'content_app',
31 'content_browser',
32 'content_common',
33 'content_gpu',
34 'content_plugin',
35 'content_ppapi_plugin',
36 'content_renderer',
[email protected]ee75b8992012-01-27 07:53:5737 'content_shell_resources',
[email protected]5629e0c2011-09-12 22:07:3638 'content_utility',
39 'content_worker',
[email protected]8d41d7612012-11-14 20:32:1940 'test_support_content',
[email protected]0faa0a2b2011-11-15 18:03:1441 '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]1ebd27d2013-04-15 09:01:5144 '../build/temp_gyp/googleurl.gyp:googleurl',
[email protected]aa6e79762011-09-29 20:53:5245 '../ipc/ipc.gyp:ipc',
[email protected]433df472012-03-07 20:33:3946 '../media/media.gyp:media',
[email protected]aa6e79762011-09-29 20:53:5247 '../net/net.gyp:net',
[email protected]24f80692012-08-13 15:15:5048 '../net/net.gyp:net_resources',
[email protected]5629e0c2011-09-12 22:07:3649 '../skia/skia.gyp:skia',
[email protected]0dc310a32013-05-08 23:52:4450 '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit',
51 '../third_party/WebKit/Source/WebKit/chromium/WebKit.gyp:webkit_test_support',
52 '../third_party/WebKit/Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:TestRunner',
[email protected]8350f16f2012-11-30 00:25:3253 '../ui/gl/gl.gyp:gl',
[email protected]5629e0c2011-09-12 22:07:3654 '../ui/ui.gyp:ui',
[email protected]12bc28fcb2011-09-21 15:53:5055 '../v8/tools/gyp/v8.gyp:v8',
[email protected]024b2f22013-01-17 13:56:1056 '../webkit/support/webkit_support.gyp:webkit_resources',
[email protected]01048712012-07-09 23:26:2757 '../webkit/support/webkit_support.gyp:webkit_support',
[email protected]5629e0c2011-09-12 22:07:3658 ],
59 'include_dirs': [
60 '..',
61 ],
62 'sources': [
[email protected]4d4eb5b2013-01-29 21:55:5563 'shell/android/shell_jni_registrar.cc',
64 'shell/android/shell_jni_registrar.h',
65 'shell/android/shell_manager.cc',
66 'shell/android/shell_manager.h',
[email protected]993951d2013-05-08 21:37:0267 'shell/app/shell_main_delegate.cc',
68 'shell/app/shell_main_delegate.h',
[email protected]b7c504c2013-05-07 14:42:1269 'shell/common/shell_content_client.cc',
70 'shell/common/shell_content_client.h',
71 'shell/common/shell_messages.cc',
72 'shell/common/shell_messages.h',
73 'shell/common/shell_switches.cc',
74 'shell/common/shell_switches.h',
75 'shell/common/shell_test_configuration.cc',
76 'shell/common/shell_test_configuration.h',
77 'shell/common/webkit_test_helpers.cc',
78 'shell/common/webkit_test_helpers.h',
[email protected]6cfccd12012-06-28 12:14:0579 'shell/geolocation/shell_access_token_store.cc',
80 'shell/geolocation/shell_access_token_store.h',
[email protected]2a2caa02013-01-22 20:50:3681 'shell/minimal_ash.cc',
82 'shell/minimal_ash.h',
[email protected]1ca4fac2013-04-08 14:15:1183 'shell/notify_done_forwarder.cc',
84 'shell/notify_done_forwarder.h',
[email protected]e1aff172012-03-22 22:41:1785 'shell/paths_mac.h',
86 'shell/paths_mac.mm',
[email protected]f7a4e3b92013-05-03 15:29:5887 'shell/renderer/shell_content_renderer_client.cc',
88 'shell/renderer/shell_content_renderer_client.h',
89 'shell/renderer/shell_render_process_observer.cc',
90 'shell/renderer/shell_render_process_observer.h',
91 'shell/renderer/webkit_test_runner.cc',
92 'shell/renderer/webkit_test_runner.h',
[email protected]9fbd3f862011-09-20 23:31:3493 'shell/shell.cc',
94 'shell/shell.h',
[email protected]a08029b42012-04-25 03:18:4695 'shell/shell_android.cc',
[email protected]fa4a45832012-04-12 21:32:4896 'shell/shell_aura.cc',
[email protected]9fbd3f862011-09-20 23:31:3497 'shell/shell_gtk.cc',
98 'shell/shell_mac.mm',
99 'shell/shell_win.cc',
[email protected]c4e78d72012-03-24 22:55:41100 'shell/shell_application_mac.h',
101 'shell/shell_application_mac.mm',
[email protected]b0f146f2011-09-15 22:14:25102 'shell/shell_browser_context.cc',
103 'shell/shell_browser_context.h',
[email protected]5629e0c2011-09-12 22:07:36104 'shell/shell_browser_main.cc',
105 'shell/shell_browser_main.h',
[email protected]147f8092012-03-21 11:47:45106 'shell/shell_browser_main_parts.cc',
107 'shell/shell_browser_main_parts.h',
108 'shell/shell_browser_main_parts_mac.mm',
[email protected]5629e0c2011-09-12 22:07:36109 'shell/shell_content_browser_client.cc',
110 'shell/shell_content_browser_client.h',
[email protected]ee75b8992012-01-27 07:53:57111 'shell/shell_devtools_delegate.cc',
112 'shell/shell_devtools_delegate.h',
[email protected]0773e0c2013-01-25 15:57:57113 'shell/shell_devtools_frontend.cc',
114 'shell/shell_devtools_frontend.h',
[email protected]98d6f152011-09-29 19:35:51115 'shell/shell_download_manager_delegate.cc',
116 'shell/shell_download_manager_delegate.h',
[email protected]71a88bb2013-02-01 22:05:15117 'shell/shell_javascript_dialog_manager.cc',
118 'shell/shell_javascript_dialog_manager.h',
[email protected]fc4f4dd42012-07-30 20:52:48119 'shell/shell_javascript_dialog_gtk.cc',
[email protected]f2210022012-03-29 00:36:08120 'shell/shell_javascript_dialog_mac.mm',
[email protected]7fc83822012-03-30 19:53:29121 'shell/shell_javascript_dialog_win.cc',
[email protected]f2210022012-03-29 00:36:08122 'shell/shell_javascript_dialog.h',
[email protected]e6fbecf22012-08-01 10:11:03123 'shell/shell_login_dialog_gtk.cc',
[email protected]e3503ac2012-04-05 15:01:36124 'shell/shell_login_dialog_mac.mm',
125 'shell/shell_login_dialog.cc',
126 'shell/shell_login_dialog.h',
[email protected]5a3c3f32013-01-23 12:23:39127 'shell/shell_message_filter.cc',
128 'shell/shell_message_filter.h',
[email protected]33bc2832012-03-29 08:18:17129 'shell/shell_network_delegate.cc',
130 'shell/shell_network_delegate.h',
[email protected]7886b622013-05-27 09:24:09131 'shell/shell_plugin_service_filter.cc',
132 'shell/shell_plugin_service_filter.h',
[email protected]fc41b212013-03-25 16:04:23133 'shell/shell_quota_permission_context.cc',
134 'shell/shell_quota_permission_context.h',
[email protected]e3503ac2012-04-05 15:01:36135 'shell/shell_resource_dispatcher_host_delegate.cc',
136 'shell/shell_resource_dispatcher_host_delegate.h',
[email protected]c5f1e332011-09-27 01:08:03137 'shell/shell_url_request_context_getter.cc',
138 'shell/shell_url_request_context_getter.h',
[email protected]0d978ef2013-02-27 15:32:54139 'shell/shell_web_contents_view_delegate_android.cc',
[email protected]4c2aa392012-09-03 01:29:42140 'shell/shell_web_contents_view_delegate_creator.h',
141 'shell/shell_web_contents_view_delegate_gtk.cc',
[email protected]dcbe5fe32012-09-10 10:18:32142 'shell/shell_web_contents_view_delegate_mac.mm',
[email protected]4c9bf3482012-09-12 14:35:35143 'shell/shell_web_contents_view_delegate_win.cc',
[email protected]4c2aa392012-09-03 01:29:42144 'shell/shell_web_contents_view_delegate.h',
[email protected]8dafad32012-12-10 14:11:45145 'shell/webkit_test_controller.cc',
146 'shell/webkit_test_controller.h',
[email protected]87715122012-10-11 15:53:06147 'shell/webkit_test_platform_support.h',
148 'shell/webkit_test_platform_support_android.cc',
149 'shell/webkit_test_platform_support_linux.cc',
150 'shell/webkit_test_platform_support_mac.mm',
151 'shell/webkit_test_platform_support_win.cc',
[email protected]5629e0c2011-09-12 22:07:36152 ],
153 'msvs_settings': {
154 'VCLinkerTool': {
155 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
156 },
157 },
158 'conditions': [
159 ['OS=="win" and win_use_allocator_shim==1', {
160 'dependencies': [
161 '../base/allocator/allocator.gyp:allocator',
162 ],
163 }],
[email protected]9fbd3f862011-09-20 23:31:34164 ['OS=="win"', {
165 'resource_include_dirs': [
166 '<(SHARED_INTERMEDIATE_DIR)/webkit',
167 ],
[email protected]9fbd3f862011-09-20 23:31:34168 'dependencies': [
[email protected]9fbd3f862011-09-20 23:31:34169 '<(DEPTH)/webkit/support/webkit_support.gyp:webkit_strings',
170 ],
171 'configurations': {
172 'Debug_Base': {
173 'msvs_settings': {
174 'VCLinkerTool': {
175 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
176 },
177 },
178 },
179 },
[email protected]3bed5302013-02-15 19:31:41180 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
181 'msvs_disabled_warnings': [ 4267, ],
[email protected]85ff16042012-03-06 23:46:34182 }], # OS=="win"
[email protected]6eb6bb62012-11-10 06:30:59183 ['OS=="linux"', {
184 'dependencies': [
185 '../build/linux/system.gyp:fontconfig',
186 ],
187 }],
[email protected]689266d2012-08-07 12:52:20188 ['OS=="android"', {
[email protected]82e9e2b12012-07-19 00:32:01189 'dependencies': [
190 'content_shell_jni_headers',
191 ],
[email protected]689266d2012-08-07 12:52:20192 }, { # else: OS!="android"
193 'dependencies': [
194 # This dependency is for running DRT against the content shell, and
195 # this combination is not yet supported on Android.
196 '../webkit/support/webkit_support.gyp:webkit_support',
197 ],
[email protected]82e9e2b12012-07-19 00:32:01198 }], # OS=="android"
[email protected]3c8fe5482013-05-22 15:17:03199 ['(os_posix==1 and use_aura==1 and linux_use_tcmalloc==1) or (android_use_tcmalloc==1)', {
[email protected]c767d572012-07-27 10:55:58200 'dependencies': [
201 # This is needed by content/app/content_main_runner.cc
202 '../base/allocator/allocator.gyp:allocator',
203 ],
204 }],
[email protected]fa4a45832012-04-12 21:32:48205 ['use_aura==1', {
[email protected]c767d572012-07-27 10:55:58206 'dependencies': [
207 '../ui/aura/aura.gyp:aura',
208 '../ui/base/strings/ui_strings.gyp:ui_strings',
[email protected]9e7fca802012-09-01 18:53:05209 '../ui/views/controls/webview/webview.gyp:webview',
[email protected]c767d572012-07-27 10:55:58210 '../ui/views/views.gyp:views',
[email protected]0aa76932012-10-14 19:11:10211 '../ui/views/views.gyp:views_test_support',
[email protected]c767d572012-07-27 10:55:58212 '../ui/ui.gyp:ui_resources',
213 ],
[email protected]fa4a45832012-04-12 21:32:48214 'sources/': [
215 ['exclude', 'shell/shell_gtk.cc'],
216 ['exclude', 'shell/shell_win.cc'],
217 ],
[email protected]96b80b472012-07-03 19:41:56218 }], # use_aura==1
[email protected]c767d572012-07-27 10:55:58219 ['chromeos==1', {
220 'dependencies': [
221 '../chromeos/chromeos.gyp:chromeos',
222 ],
223 }], # chromeos==1
[email protected]2d2f60d2013-05-14 04:42:01224 ['use_ash==1', {
225 'dependencies': [
226 '../ash/ash.gyp:ash',
227 ],
228 }],
[email protected]929246a2013-02-28 13:55:20229 ['use_custom_freetype==1', {
230 'dependencies': [
231 '../third_party/freetype2/freetype2.gyp:freetype2',
232 ],
233 }],
[email protected]dfb9360192013-05-27 09:42:34234 ['enable_plugins==0', {
235 'sources/': [
236 ['exclude', 'shell/shell_plugin_service_filter.cc'],
237 ['exclude', 'shell/shell_plugin_service_filter.h'],
238 ],
239 }]
[email protected]5629e0c2011-09-12 22:07:36240 ],
241 },
[email protected]c1f87b22011-10-05 21:59:33242 {
[email protected]ee75b8992012-01-27 07:53:57243 'target_name': 'content_shell_resources',
244 'type': 'none',
[email protected]b581eb402012-03-09 01:31:46245 'dependencies': [
246 'generate_content_shell_resources',
247 ],
248 'variables': {
249 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content',
250 },
251 'includes': [ '../build/grit_target.gypi' ],
252 'copies': [
253 {
254 'destination': '<(PRODUCT_DIR)',
255 'files': [
256 '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak'
257 ],
258 },
259 ],
[email protected]4cb792f42012-03-24 03:12:42260 },
261 {
[email protected]b581eb402012-03-09 01:31:46262 'target_name': 'generate_content_shell_resources',
263 'type': 'none',
[email protected]ee75b8992012-01-27 07:53:57264 'variables': {
265 'grit_out_dir': '<(SHARED_INTERMEDIATE_DIR)/content',
266 },
267 'actions': [
268 {
269 'action_name': 'content_shell_resources',
270 'variables': {
271 'grit_grd_file': 'shell/shell_resources.grd',
272 },
273 'includes': [ '../build/grit_action.gypi' ],
274 },
275 ],
[email protected]ee75b8992012-01-27 07:53:57276 },
277 {
[email protected]81f30ce2012-01-18 22:10:33278 # We build a minimal set of resources so WebKit in content_shell has
279 # access to necessary resources.
280 'target_name': 'content_shell_pak',
281 'type': 'none',
[email protected]ee75b8992012-01-27 07:53:57282 'dependencies': [
[email protected]70019152012-12-19 11:44:19283 'browser/devtools/devtools_resources.gyp:devtools_resources',
[email protected]ee75b8992012-01-27 07:53:57284 'content_shell_resources',
[email protected]6c3e6492012-02-27 17:07:45285 '<(DEPTH)/ui/ui.gyp:ui_resources',
[email protected]ee75b8992012-01-27 07:53:57286 ],
[email protected]81f30ce2012-01-18 22:10:33287 'variables': {
288 'repack_path': '<(DEPTH)/tools/grit/grit/format/repack.py',
289 },
290 'actions': [
291 {
292 'action_name': 'repack_content_shell_pack',
293 'variables': {
294 'pak_inputs': [
295 '<(SHARED_INTERMEDIATE_DIR)/content/content_resources.pak',
[email protected]ee75b8992012-01-27 07:53:57296 '<(SHARED_INTERMEDIATE_DIR)/content/shell_resources.pak',
[email protected]81f30ce2012-01-18 22:10:33297 '<(SHARED_INTERMEDIATE_DIR)/net/net_resources.pak',
[email protected]c767d572012-07-27 10:55:58298 '<(SHARED_INTERMEDIATE_DIR)/ui/app_locale_settings/app_locale_settings_en-US.pak',
[email protected]a52c7312012-07-24 22:45:57299 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/ui_resources_100_percent.pak',
[email protected]e1c26ae2013-01-31 18:13:18300 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_resources/webui_resources.pak',
[email protected]c767d572012-07-27 10:55:58301 '<(SHARED_INTERMEDIATE_DIR)/ui/ui_strings/ui_strings_en-US.pak',
[email protected]ee75b8992012-01-27 07:53:57302 '<(SHARED_INTERMEDIATE_DIR)/webkit/devtools_resources.pak',
[email protected]81f30ce2012-01-18 22:10:33303 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_chromium_resources.pak',
[email protected]30c8f542012-09-01 01:02:29304 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_resources_100_percent.pak',
[email protected]af551a62012-07-31 16:44:03305 '<(SHARED_INTERMEDIATE_DIR)/webkit/webkit_strings_en-US.pak',
[email protected]81f30ce2012-01-18 22:10:33306 ],
[email protected]81f30ce2012-01-18 22:10:33307 },
308 'inputs': [
309 '<(repack_path)',
310 '<@(pak_inputs)',
311 ],
[email protected]81f30ce2012-01-18 22:10:33312 'action': ['python', '<(repack_path)', '<@(_outputs)',
313 '<@(pak_inputs)'],
[email protected]a08029b42012-04-25 03:18:46314 'conditions': [
315 ['OS!="android"', {
316 'outputs': [
317 '<(PRODUCT_DIR)/content_shell.pak',
318 ],
319 }, {
320 'outputs': [
321 '<(PRODUCT_DIR)/content_shell/assets/content_shell.pak',
322 ],
323 }],
324 ],
[email protected]81f30ce2012-01-18 22:10:33325 },
326 ],
327 },
328 {
[email protected]c1f87b22011-10-05 21:59:33329 'target_name': 'content_shell',
330 'type': 'executable',
[email protected]85ff16042012-03-06 23:46:34331 'mac_bundle': 1,
[email protected]c1f87b22011-10-05 21:59:33332 'defines!': ['CONTENT_IMPLEMENTATION'],
333 'variables': {
334 'chromium_code': 1,
335 },
336 'dependencies': [
337 'content_shell_lib',
[email protected]81f30ce2012-01-18 22:10:33338 'content_shell_pak',
[email protected]bb5d2d92012-10-15 07:45:42339 '../third_party/mesa/mesa.gyp:osmesa',
[email protected]c1f87b22011-10-05 21:59:33340 ],
341 'include_dirs': [
342 '..',
343 ],
344 'sources': [
[email protected]711f428e2012-06-22 02:18:23345 'app/startup_helper_win.cc',
[email protected]993951d2013-05-08 21:37:02346 'shell/app/shell_main.cc',
[email protected]c1f87b22011-10-05 21:59:33347 ],
[email protected]85ff16042012-03-06 23:46:34348 'mac_bundle_resources': [
[email protected]993951d2013-05-08 21:37:02349 'shell/app/app.icns',
350 'shell/app/app-Info.plist',
[email protected]85ff16042012-03-06 23:46:34351 ],
352 # TODO(mark): Come up with a fancier way to do this. It should only
353 # be necessary to list app-Info.plist once, not the three times it is
354 # listed here.
355 'mac_bundle_resources!': [
[email protected]993951d2013-05-08 21:37:02356 'shell/app/app-Info.plist',
[email protected]85ff16042012-03-06 23:46:34357 ],
358 'xcode_settings': {
[email protected]993951d2013-05-08 21:37:02359 'INFOPLIST_FILE': 'shell/app/app-Info.plist',
[email protected]85ff16042012-03-06 23:46:34360 },
[email protected]c1f87b22011-10-05 21:59:33361 'msvs_settings': {
362 'VCLinkerTool': {
363 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
364 },
365 },
366 'conditions': [
367 ['OS=="win" and win_use_allocator_shim==1', {
368 'dependencies': [
369 '../base/allocator/allocator.gyp:allocator',
370 ],
371 }],
372 ['OS=="win"', {
[email protected]7fc83822012-03-30 19:53:29373 'sources': [
[email protected]993951d2013-05-08 21:37:02374 'shell/app/shell.rc',
[email protected]7fc83822012-03-30 19:53:29375 ],
[email protected]c1f87b22011-10-05 21:59:33376 'configurations': {
377 'Debug_Base': {
378 'msvs_settings': {
379 'VCLinkerTool': {
380 'LinkIncremental': '<(msvs_large_module_debug_link_mode)',
381 },
382 },
383 },
384 },
[email protected]85ff16042012-03-06 23:46:34385 }], # OS=="win"
[email protected]5d9bc782013-05-17 17:22:14386 ['OS == "win" or toolkit_uses_gtk == 1', {
[email protected]27315ce42011-10-14 01:25:12387 'dependencies': [
388 '../sandbox/sandbox.gyp:sandbox',
389 ],
[email protected]5d9bc782013-05-17 17:22:14390 }], # OS=="win" or toolkit_uses_gtk == 1
[email protected]398990892012-01-20 03:25:58391 ['toolkit_uses_gtk == 1', {
392 'dependencies': [
393 '<(DEPTH)/build/linux/system.gyp:gtk',
394 ],
[email protected]85ff16042012-03-06 23:46:34395 }], # toolkit_uses_gtk
396 ['OS=="mac"', {
397 'product_name': '<(content_shell_product_name)',
398 'dependencies!': [
399 'content_shell_lib',
400 ],
401 'dependencies': [
402 'content_shell_framework',
[email protected]180df8f2012-03-09 22:36:10403 'content_shell_helper_app',
404 ],
405 'copies': [
406 {
407 'destination': '<(PRODUCT_DIR)/<(content_shell_product_name).app/Contents/Frameworks',
408 'files': [
409 '<(PRODUCT_DIR)/<(content_shell_product_name) Helper.app',
410 ],
411 },
[email protected]85ff16042012-03-06 23:46:34412 ],
413 'postbuilds': [
414 {
415 'postbuild_name': 'Copy <(content_shell_product_name) Framework.framework',
416 'action': [
417 '../build/mac/copy_framework_unversioned.sh',
418 '${BUILT_PRODUCTS_DIR}/<(content_shell_product_name) Framework.framework',
419 '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Frameworks',
420 ],
421 },
422 {
423 'postbuild_name': 'Fix Framework Link',
424 'action': [
425 'install_name_tool',
426 '-change',
427 '/Library/Frameworks/<(content_shell_product_name) Framework.framework/Versions/A/<(content_shell_product_name) Framework',
428 '@executable_path/../Frameworks/<(content_shell_product_name) Framework.framework/<(content_shell_product_name) Framework',
429 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
430 ],
431 },
432 {
433 # Modify the Info.plist as needed.
434 'postbuild_name': 'Tweak Info.plist',
435 'action': ['../build/mac/tweak_info_plist.py',
[email protected]6d302912012-11-05 21:57:28436 '--scm=1',
437 '--version=<(content_shell_version)'],
[email protected]85ff16042012-03-06 23:46:34438 },
439 {
[email protected]180df8f2012-03-09 22:36:10440 # This postbuid step is responsible for creating the following
441 # helpers:
442 #
443 # Content Shell Helper EH.app and Content Shell Helper NP.app are
444 # created from Content Shell Helper.app.
445 #
446 # The EH helper is marked for an executable heap. The NP helper
447 # is marked for no PIE (ASLR).
448 'postbuild_name': 'Make More Helpers',
449 'action': [
450 '../build/mac/make_more_helpers.sh',
451 'Frameworks',
452 '<(content_shell_product_name)',
453 ],
454 },
455 {
[email protected]85ff16042012-03-06 23:46:34456 # Make sure there isn't any Objective-C in the shell's
457 # executable.
458 'postbuild_name': 'Verify No Objective-C',
459 'action': [
460 '../build/mac/verify_no_objc.sh',
461 ],
462 },
463 ],
464 }], # OS=="mac"
[email protected]c1f87b22011-10-05 21:59:33465 ],
466 },
[email protected]fe2420d2012-08-21 07:28:33467 {
468 'target_name': 'content_shell_builder',
469 'type': 'none',
470 'dependencies': [
471 'content_shell',
[email protected]fe2420d2012-08-21 07:28:33472 ],
473 },
[email protected]5629e0c2011-09-12 22:07:36474 ],
[email protected]85ff16042012-03-06 23:46:34475 'conditions': [
476 ['OS=="mac"', {
477 'targets': [
478 {
479 'target_name': 'content_shell_framework',
480 'type': 'shared_library',
481 'product_name': '<(content_shell_product_name) Framework',
482 'mac_bundle': 1,
483 'mac_bundle_resources': [
[email protected]993951d2013-05-08 21:37:02484 'shell/app/English.lproj/HttpAuth.xib',
485 'shell/app/English.lproj/MainMenu.xib',
[email protected]4cb792f42012-03-24 03:12:42486 '<(PRODUCT_DIR)/content_shell.pak'
[email protected]85ff16042012-03-06 23:46:34487 ],
488 'dependencies': [
489 'content_shell_lib',
490 ],
491 'include_dirs': [
492 '..',
493 ],
494 'sources': [
495 'shell/shell_content_main.cc',
496 'shell/shell_content_main.h',
497 ],
[email protected]5d96bbe2012-07-25 17:13:23498 'copies': [
499 {
500 # Copy FFmpeg binaries for audio/video support.
501 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
502 'files': [
503 '<(PRODUCT_DIR)/ffmpegsumo.so',
504 ],
505 },
506 ],
[email protected]fda1c6c82013-04-09 16:10:12507 'conditions': [
508 ['enable_webrtc==1', {
509 'variables': {
510 'libpeer_target_type%': 'static_library',
511 },
512 'conditions': [
[email protected]e4aa290b2013-05-01 18:54:19513 ['libpeer_target_type!="static_library"', {
[email protected]fda1c6c82013-04-09 16:10:12514 'copies': [{
515 'destination': '<(PRODUCT_DIR)/$(CONTENTS_FOLDER_PATH)/Libraries',
516 'files': [
[email protected]62461b72013-05-02 12:27:12517 '<(PRODUCT_DIR)/libpeerconnection.so',
[email protected]fda1c6c82013-04-09 16:10:12518 ],
519 }],
520 }],
521 ],
522 }],
523 ],
[email protected]180df8f2012-03-09 22:36:10524 }, # target content_shell_framework
525 {
526 'target_name': 'content_shell_helper_app',
527 'type': 'executable',
528 'variables': { 'enable_wexit_time_destructors': 1, },
529 'product_name': '<(content_shell_product_name) Helper',
530 'mac_bundle': 1,
531 'dependencies': [
532 'content_shell_framework',
533 ],
534 'sources': [
[email protected]993951d2013-05-08 21:37:02535 'shell/app/shell_main.cc',
536 'shell/app/helper-Info.plist',
[email protected]180df8f2012-03-09 22:36:10537 ],
538 # TODO(mark): Come up with a fancier way to do this. It should only
539 # be necessary to list helper-Info.plist once, not the three times it
540 # is listed here.
541 'mac_bundle_resources!': [
[email protected]993951d2013-05-08 21:37:02542 'shell/app/helper-Info.plist',
[email protected]180df8f2012-03-09 22:36:10543 ],
544 # TODO(mark): For now, don't put any resources into this app. Its
545 # resources directory will be a symbolic link to the browser app's
546 # resources directory.
547 'mac_bundle_resources/': [
548 ['exclude', '.*'],
549 ],
550 'xcode_settings': {
[email protected]993951d2013-05-08 21:37:02551 'INFOPLIST_FILE': 'shell/app/helper-Info.plist',
[email protected]180df8f2012-03-09 22:36:10552 },
553 'postbuilds': [
554 {
555 # The framework defines its load-time path
556 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
557 # (chrome). A different relative path needs to be used in
558 # content_shell_helper_app.
559 'postbuild_name': 'Fix Framework Link',
560 'action': [
561 'install_name_tool',
562 '-change',
563 '/Library/Frameworks/<(content_shell_product_name) Framework.framework/Versions/A/<(content_shell_product_name) Framework',
564 '@executable_path/../../../../Frameworks/<(content_shell_product_name) Framework.framework/<(content_shell_product_name) Framework',
565 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
566 ],
567 },
568 {
569 # Modify the Info.plist as needed. The script explains why this
570 # is needed. This is also done in the chrome and chrome_dll
[email protected]bbf52442012-08-23 22:53:18571 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
572 # are used because Breakpad, Keystone, and SCM keys are
[email protected]180df8f2012-03-09 22:36:10573 # never placed into the helper.
574 'postbuild_name': 'Tweak Info.plist',
575 'action': ['../build/mac/tweak_info_plist.py',
576 '--breakpad=0',
577 '--keystone=0',
[email protected]6d302912012-11-05 21:57:28578 '--scm=0',
579 '--version=<(content_shell_version)'],
[email protected]180df8f2012-03-09 22:36:10580 },
581 {
582 # Make sure there isn't any Objective-C in the helper app's
583 # executable.
584 'postbuild_name': 'Verify No Objective-C',
585 'action': [
586 '../build/mac/verify_no_objc.sh',
587 ],
588 },
589 ],
[email protected]ec40c38f2012-06-28 16:37:49590 'conditions': [
591 ['component=="shared_library"', {
592 'xcode_settings': {
593 'LD_RUNPATH_SEARCH_PATHS': [
594 # Get back from Content Shell.app/Contents/Frameworks/
595 # Helper.app/Contents/MacOS
596 '@loader_path/../../../../../..',
597 ],
598 },
599 }],
600 ],
[email protected]180df8f2012-03-09 22:36:10601 }, # target content_shell_helper_app
[email protected]85ff16042012-03-06 23:46:34602 ],
603 }], # OS=="mac"
[email protected]cc66d282012-03-30 11:44:06604 ['OS=="android"', {
605 'targets': [
606 {
[email protected]a08029b42012-04-25 03:18:46607 # TODO(jrg): Update this action and other jni generators to only
608 # require specifying the java directory and generate the rest.
609 'target_name': 'content_shell_jni_headers',
610 'type': 'none',
[email protected]e46f66152012-07-19 20:02:55611 'sources': [
[email protected]153d4eb2013-02-12 02:08:18612 'shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/BrowserTestSystemMessageHandler.java',
[email protected]4d4eb5b2013-01-29 21:55:55613 'shell/android/browsertests_apk/src/org/chromium/content_browsertests_apk/ContentBrowserTestsActivity.java',
[email protected]e46f66152012-07-19 20:02:55614 'shell/android/java/src/org/chromium/content_shell/ShellManager.java',
615 'shell/android/java/src/org/chromium/content_shell/Shell.java',
616 ],
[email protected]029a7712013-01-15 08:11:42617 'direct_dependent_settings': {
618 'include_dirs': [
619 '<(SHARED_INTERMEDIATE_DIR)/content/shell',
620 ],
621 },
[email protected]a08029b42012-04-25 03:18:46622 'variables': {
[email protected]521cd942013-03-07 22:34:05623 'jni_gen_package': 'content/shell',
[email protected]a08029b42012-04-25 03:18:46624 },
625 'includes': [ '../build/jni_generator.gypi' ],
626 },
627 {
[email protected]c1101582012-06-25 17:07:18628 'target_name': 'libcontent_shell_content_view',
[email protected]a08029b42012-04-25 03:18:46629 'type': 'shared_library',
630 'dependencies': [
631 'content_shell_jni_headers',
632 'content_shell_lib',
633 'content_shell_pak',
634 # Skia is necessary to ensure the dependencies needed by
635 # WebContents are included.
636 '../skia/skia.gyp:skia',
637 '<(DEPTH)/media/media.gyp:player_android',
638 ],
[email protected]a08029b42012-04-25 03:18:46639 'sources': [
640 'shell/android/shell_library_loader.cc',
641 'shell/android/shell_library_loader.h',
[email protected]f83a47392012-07-12 22:15:04642 ],
[email protected]7abcaa82012-06-27 17:09:48643 'conditions': [
[email protected]d999c3cb2013-03-12 10:22:36644 ['android_webview_build==1', {
[email protected]7abcaa82012-06-27 17:09:48645 'ldflags': [
646 '-lgabi++', # For rtti
647 ],
648 }],
649 ],
[email protected]a08029b42012-04-25 03:18:46650 },
651 {
[email protected]4d4eb5b2013-01-29 21:55:55652 'target_name': 'content_shell_java',
653 'type': 'none',
654 'dependencies': [
655 'content_java',
656 ],
657 'variables': {
[email protected]4d4eb5b2013-01-29 21:55:55658 'java_in_dir': '../content/shell/android/java',
659 'has_java_resources': 1,
660 'R_package': 'org.chromium.content_shell',
661 'R_package_relpath': 'org/chromium/content_shell',
662 },
663 'includes': [ '../build/java.gypi' ],
664 },
665 {
[email protected]319d6a82012-09-20 22:52:28666 # content_shell_apk creates a .jar as a side effect. Any java targets
667 # that need that .jar in their classpath should depend on this target,
[email protected]4d4eb5b2013-01-29 21:55:55668 # content_shell_apk_java. Dependents of content_shell_apk receive its
669 # jar path in the variable 'apk_output_jar_path'. This target should
670 # only be used by targets which instrument content_shell_apk.
671 'target_name': 'content_shell_apk_java',
[email protected]319d6a82012-09-20 22:52:28672 'type': 'none',
[email protected]319d6a82012-09-20 22:52:28673 'dependencies': [
[email protected]319d6a82012-09-20 22:52:28674 'content_shell_apk',
[email protected]319d6a82012-09-20 22:52:28675 ],
[email protected]b13f73e2013-03-27 23:31:27676 'includes': [ '../build/apk_fake_jar.gypi' ],
[email protected]319d6a82012-09-20 22:52:28677 },
[email protected]75c86a22012-09-26 03:50:37678 {
679 'target_name': 'content_shell_apk',
680 'type': 'none',
681 'dependencies': [
682 'content_java',
[email protected]4d4eb5b2013-01-29 21:55:55683 'content_shell_java',
684 'libcontent_shell_content_view',
[email protected]75c86a22012-09-26 03:50:37685 '../base/base.gyp:base_java',
686 '../media/media.gyp:media_java',
687 '../net/net.gyp:net_java',
688 '../ui/ui.gyp:ui_java',
689 ],
690 'variables': {
[email protected]75c86a22012-09-26 03:50:37691 'apk_name': 'ContentShell',
[email protected]4d4eb5b2013-01-29 21:55:55692 'manifest_package_name': 'org.chromium.content_shell_apk',
693 'java_in_dir': 'shell/android/shell_apk',
[email protected]bd6ab3db2013-03-26 17:35:21694 'resource_dir': 'shell/android/shell_apk/res',
[email protected]e4865252013-04-04 09:15:59695 'native_lib_target': 'libcontent_shell_content_view',
[email protected]75c86a22012-09-26 03:50:37696 'additional_input_paths': ['<(PRODUCT_DIR)/content_shell/assets/content_shell.pak'],
[email protected]4d4eb5b2013-01-29 21:55:55697 'asset_location': '<(ant_build_out)/content_shell/assets',
[email protected]75c86a22012-09-26 03:50:37698 },
[email protected]75c86a22012-09-26 03:50:37699 'includes': [ '../build/java_apk.gypi' ],
700 },
[email protected]cc66d282012-03-30 11:44:06701 ],
702 }], # OS=="android"
703 ]
[email protected]5629e0c2011-09-12 22:07:36704}