Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(407)

Side by Side Diff: extensions/shell/app_shell.gyp

Issue 745093002: AppShell support for Mac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: minors Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « extensions/shell/app/shell_main_mac.cc ('k') | extensions/shell/browser/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 { 5 {
6 'variables': { 6 'variables': {
7 # Product name is used for Mac bundle.
8 'app_shell_product_name': 'App Shell',
9 # The version is high enough to be supported by Omaha (at least 31)
10 # but fake enough to be obviously not a Chrome release.
11 'app_shell_version': '38.1234.5678.9',
7 'chromium_code': 1, 12 'chromium_code': 1,
8 }, 13 },
9 'targets': [ 14 'targets': [
10 { 15 {
11 'target_name': 'app_shell_lib', 16 'target_name': 'app_shell_lib',
12 'type': 'static_library', 17 'type': 'static_library',
13 'dependencies': [ 18 'dependencies': [
14 'app_shell_version_header', 19 'app_shell_version_header',
15 '<(DEPTH)/base/base.gyp:base', 20 '<(DEPTH)/base/base.gyp:base',
16 '<(DEPTH)/base/base.gyp:base_prefs', 21 '<(DEPTH)/base/base.gyp:base_prefs',
(...skipping 22 matching lines...) Expand all
39 '<(DEPTH)/skia/skia.gyp:skia', 44 '<(DEPTH)/skia/skia.gyp:skia',
40 '<(DEPTH)/third_party/WebKit/public/blink.gyp:blink', 45 '<(DEPTH)/third_party/WebKit/public/blink.gyp:blink',
41 '<(DEPTH)/v8/tools/gyp/v8.gyp:v8', 46 '<(DEPTH)/v8/tools/gyp/v8.gyp:v8',
42 ], 47 ],
43 'include_dirs': [ 48 'include_dirs': [
44 '../..', 49 '../..',
45 '<(SHARED_INTERMEDIATE_DIR)', 50 '<(SHARED_INTERMEDIATE_DIR)',
46 '<(SHARED_INTERMEDIATE_DIR)/extensions/shell', 51 '<(SHARED_INTERMEDIATE_DIR)/extensions/shell',
47 ], 52 ],
48 'sources': [ 53 'sources': [
54 'app/paths_mac.h',
55 'app/paths_mac.mm',
49 'app/shell_main_delegate.cc', 56 'app/shell_main_delegate.cc',
50 'app/shell_main_delegate.h', 57 'app/shell_main_delegate.h',
51 'browser/api/identity/identity_api.cc', 58 'browser/api/identity/identity_api.cc',
52 'browser/api/identity/identity_api.h', 59 'browser/api/identity/identity_api.h',
53 'browser/shell_browser_context_keyed_service_factories.cc', 60 'browser/shell_browser_context_keyed_service_factories.cc',
54 'browser/shell_browser_context_keyed_service_factories.h', 61 'browser/shell_browser_context_keyed_service_factories.h',
55 'browser/default_shell_browser_main_delegate.cc', 62 'browser/default_shell_browser_main_delegate.cc',
56 'browser/default_shell_browser_main_delegate.h', 63 'browser/default_shell_browser_main_delegate.h',
57 'browser/desktop_controller.cc', 64 'browser/desktop_controller.cc',
58 'browser/desktop_controller.h', 65 'browser/desktop_controller.h',
59 'browser/media_capture_util.cc', 66 'browser/media_capture_util.cc',
60 'browser/media_capture_util.h', 67 'browser/media_capture_util.h',
61 'browser/shell_app_delegate.cc', 68 'browser/shell_app_delegate.cc',
62 'browser/shell_app_delegate.h', 69 'browser/shell_app_delegate.h',
63 'browser/shell_app_window_client.cc', 70 'browser/shell_app_window_client.cc',
64 'browser/shell_app_window_client.h', 71 'browser/shell_app_window_client.h',
72 'browser/shell_app_window_client_mac.mm',
65 'browser/shell_audio_controller_chromeos.cc', 73 'browser/shell_audio_controller_chromeos.cc',
66 'browser/shell_audio_controller_chromeos.h', 74 'browser/shell_audio_controller_chromeos.h',
67 'browser/shell_browser_context.cc', 75 'browser/shell_browser_context.cc',
68 'browser/shell_browser_context.h', 76 'browser/shell_browser_context.h',
69 'browser/shell_browser_main_delegate.h', 77 'browser/shell_browser_main_delegate.h',
70 'browser/shell_browser_main_parts.cc', 78 'browser/shell_browser_main_parts.cc',
71 'browser/shell_browser_main_parts.h', 79 'browser/shell_browser_main_parts.h',
80 'browser/shell_browser_main_parts_mac.h',
81 'browser/shell_browser_main_parts_mac.mm',
72 'browser/shell_content_browser_client.cc', 82 'browser/shell_content_browser_client.cc',
73 'browser/shell_content_browser_client.h', 83 'browser/shell_content_browser_client.h',
84 'browser/shell_desktop_controller_mac.h',
85 'browser/shell_desktop_controller_mac.mm',
74 'browser/shell_device_client.cc', 86 'browser/shell_device_client.cc',
75 'browser/shell_device_client.h', 87 'browser/shell_device_client.h',
76 'browser/shell_display_info_provider.cc', 88 'browser/shell_display_info_provider.cc',
77 'browser/shell_display_info_provider.h', 89 'browser/shell_display_info_provider.h',
78 'browser/shell_extension_host_delegate.cc', 90 'browser/shell_extension_host_delegate.cc',
79 'browser/shell_extension_host_delegate.h', 91 'browser/shell_extension_host_delegate.h',
80 'browser/shell_extension_system.cc', 92 'browser/shell_extension_system.cc',
81 'browser/shell_extension_system.h', 93 'browser/shell_extension_system.h',
82 'browser/shell_extension_system_factory.cc', 94 'browser/shell_extension_system_factory.cc',
83 'browser/shell_extension_system_factory.h', 95 'browser/shell_extension_system_factory.h',
84 'browser/shell_extension_web_contents_observer.cc', 96 'browser/shell_extension_web_contents_observer.cc',
85 'browser/shell_extension_web_contents_observer.h', 97 'browser/shell_extension_web_contents_observer.h',
86 'browser/shell_extensions_browser_client.cc', 98 'browser/shell_extensions_browser_client.cc',
87 'browser/shell_extensions_browser_client.h', 99 'browser/shell_extensions_browser_client.h',
88 'browser/shell_native_app_window.cc', 100 'browser/shell_native_app_window.cc',
89 'browser/shell_native_app_window.h', 101 'browser/shell_native_app_window.h',
102 'browser/shell_native_app_window_mac.h',
103 'browser/shell_native_app_window_mac.mm',
90 'browser/shell_network_controller_chromeos.cc', 104 'browser/shell_network_controller_chromeos.cc',
91 'browser/shell_network_controller_chromeos.h', 105 'browser/shell_network_controller_chromeos.h',
92 'browser/shell_network_delegate.cc', 106 'browser/shell_network_delegate.cc',
93 'browser/shell_network_delegate.h', 107 'browser/shell_network_delegate.h',
94 'browser/shell_oauth2_token_service.cc', 108 'browser/shell_oauth2_token_service.cc',
95 'browser/shell_oauth2_token_service.h', 109 'browser/shell_oauth2_token_service.h',
96 'browser/shell_omaha_query_params_delegate.cc', 110 'browser/shell_omaha_query_params_delegate.cc',
97 'browser/shell_omaha_query_params_delegate.h', 111 'browser/shell_omaha_query_params_delegate.h',
98 'browser/shell_prefs.cc', 112 'browser/shell_prefs.cc',
99 'browser/shell_prefs.h', 113 'browser/shell_prefs.h',
100 'browser/shell_runtime_api_delegate.cc', 114 'browser/shell_runtime_api_delegate.cc',
101 'browser/shell_runtime_api_delegate.h', 115 'browser/shell_runtime_api_delegate.h',
102 'browser/shell_screen.cc',
103 'browser/shell_screen.h',
104 'browser/shell_special_storage_policy.cc', 116 'browser/shell_special_storage_policy.cc',
105 'browser/shell_special_storage_policy.h', 117 'browser/shell_special_storage_policy.h',
106 'browser/shell_speech_recognition_manager_delegate.cc', 118 'browser/shell_speech_recognition_manager_delegate.cc',
107 'browser/shell_speech_recognition_manager_delegate.h', 119 'browser/shell_speech_recognition_manager_delegate.h',
108 'browser/shell_url_request_context_getter.cc', 120 'browser/shell_url_request_context_getter.cc',
109 'browser/shell_url_request_context_getter.h', 121 'browser/shell_url_request_context_getter.h',
110 'browser/shell_web_contents_modal_dialog_manager.cc', 122 'browser/shell_web_contents_modal_dialog_manager.cc',
111 'common/shell_content_client.cc', 123 'common/shell_content_client.cc',
112 'common/shell_content_client.h', 124 'common/shell_content_client.h',
113 'common/shell_extensions_client.cc', 125 'common/shell_extensions_client.cc',
(...skipping 11 matching lines...) Expand all
125 ['use_aura==1', { 137 ['use_aura==1', {
126 'dependencies': [ 138 'dependencies': [
127 '<(DEPTH)/ui/wm/wm.gyp:wm', 139 '<(DEPTH)/ui/wm/wm.gyp:wm',
128 ], 140 ],
129 'sources': [ 141 'sources': [
130 'browser/shell_app_window_client_aura.cc', 142 'browser/shell_app_window_client_aura.cc',
131 'browser/shell_desktop_controller_aura.cc', 143 'browser/shell_desktop_controller_aura.cc',
132 'browser/shell_desktop_controller_aura.h', 144 'browser/shell_desktop_controller_aura.h',
133 'browser/shell_native_app_window_aura.cc', 145 'browser/shell_native_app_window_aura.cc',
134 'browser/shell_native_app_window_aura.h', 146 'browser/shell_native_app_window_aura.h',
147 'browser/shell_screen.cc',
148 'browser/shell_screen.h',
135 ], 149 ],
136 }], 150 }],
137 ['chromeos==1', { 151 ['chromeos==1', {
138 'dependencies': [ 152 'dependencies': [
139 '<(DEPTH)/chromeos/chromeos.gyp:chromeos', 153 '<(DEPTH)/chromeos/chromeos.gyp:chromeos',
140 '<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos', 154 '<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos',
141 '<(DEPTH)/ui/display/display.gyp:display', 155 '<(DEPTH)/ui/display/display.gyp:display',
142 ], 156 ],
143 'sources': [ 157 'sources': [
144 'browser/api/shell_gcd/shell_gcd_api.cc', 158 'browser/api/shell_gcd/shell_gcd_api.cc',
(...skipping 17 matching lines...) Expand all
162 'sources': [ 176 'sources': [
163 'browser/shell_nacl_browser_delegate.cc', 177 'browser/shell_nacl_browser_delegate.cc',
164 'browser/shell_nacl_browser_delegate.h', 178 'browser/shell_nacl_browser_delegate.h',
165 ], 179 ],
166 }], 180 }],
167 ], 181 ],
168 }, 182 },
169 { 183 {
170 'target_name': 'app_shell', 184 'target_name': 'app_shell',
171 'type': 'executable', 185 'type': 'executable',
186 'mac_bundle': 1,
172 'dependencies': [ 187 'dependencies': [
173 'app_shell_lib', 188 'app_shell_lib',
174 '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak', 189 '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
175 ], 190 ],
176 'include_dirs': [ 191 'include_dirs': [
177 '../..', 192 '../..',
178 ], 193 ],
179 'sources': [ 194 'sources': [
180 'app/shell_main.cc', 195 'app/shell_main.cc',
181 ], 196 ],
182 'conditions': [ 197 'conditions': [
183 ['OS=="win"', { 198 ['OS=="win"', {
184 'msvs_settings': { 199 'msvs_settings': {
185 'VCLinkerTool': { 200 'VCLinkerTool': {
186 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS 201 'SubSystem': '2', # Set /SUBSYSTEM:WINDOWS
187 }, 202 },
188 }, 203 },
189 'dependencies': [ 204 'dependencies': [
190 '<(DEPTH)/sandbox/sandbox.gyp:sandbox', 205 '<(DEPTH)/sandbox/sandbox.gyp:sandbox',
191 ], 206 ],
192 }], 207 }],
193 ['OS=="win" and win_use_allocator_shim==1', { 208 ['OS=="win" and win_use_allocator_shim==1', {
194 'dependencies': [ 209 'dependencies': [
195 '<(DEPTH)/base/allocator/allocator.gyp:allocator', 210 '<(DEPTH)/base/allocator/allocator.gyp:allocator',
196 ], 211 ],
197 }], 212 }],
213 ['OS=="mac"', {
214 'product_name': '<(app_shell_product_name)',
215 'dependencies!': [
216 'app_shell_lib',
217 ],
218 'dependencies': [
219 'app_shell_framework',
220 'app_shell_helper',
221 ],
222 'mac_bundle_resources': [
223 'app/app-Info.plist',
224 ],
225 # TODO(mark): Come up with a fancier way to do this. It should only
226 # be necessary to list app-Info.plist once, not the three times it is
227 # listed here.
228 'mac_bundle_resources!': [
229 'app/app-Info.plist',
230 ],
231 'xcode_settings': {
232 'INFOPLIST_FILE': 'app/app-Info.plist',
233 },
234 'copies': [{
235 'destination': '<(PRODUCT_DIR)/<(app_shell_product_name).app/Conte nts/Frameworks',
236 'files': [
237 '<(PRODUCT_DIR)/<(app_shell_product_name) Helper.app',
238 ],
239 }],
240 'postbuilds': [
241 {
242 'postbuild_name': 'Copy <(app_shell_product_name) Framework.framew ork',
243 'action': [
244 '../../build/mac/copy_framework_unversioned.sh',
245 '${BUILT_PRODUCTS_DIR}/<(app_shell_product_name) Framework.frame work',
246 '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Frameworks',
247 ],
248 },
249 {
250 # Modify the Info.plist as needed.
251 'postbuild_name': 'Tweak Info.plist',
252 'action': ['../../build/mac/tweak_info_plist.py',
253 '--scm=1',
254 '--version=<(app_shell_version)'],
255 },
256 {
257 # This postbuild step is responsible for creating the following
258 # helpers:
259 #
260 # App Shell Helper EH.app and App Shell Helper NP.app are
261 # created from App Shell Helper.app.
262 #
263 # The EH helper is marked for an executable heap. The NP helper
264 # is marked for no PIE (ASLR).
265 'postbuild_name': 'Make More Helpers',
266 'action': [
267 '../../build/mac/make_more_helpers.sh',
268 'Frameworks',
269 '<(app_shell_product_name)',
270 ],
271 },
272 {
273 # Make sure there isn't any Objective-C in the shell's
274 # executable.
275 'postbuild_name': 'Verify No Objective-C',
276 'action': [
277 '../../build/mac/verify_no_objc.sh',
278 ],
279 },
280 ],
281 }],
198 ], 282 ],
199 }, 283 },
284
200 { 285 {
201 'target_name': 'app_shell_browsertests', 286 'target_name': 'app_shell_browsertests',
202 'type': '<(gtest_target_type)', 287 'type': '<(gtest_target_type)',
203 'dependencies': [ 288 'dependencies': [
204 'app_shell_lib', 289 'app_shell_lib',
205 # TODO(yoz): find the right deps 290 # TODO(yoz): find the right deps
206 '<(DEPTH)/base/base.gyp:test_support_base', 291 '<(DEPTH)/base/base.gyp:test_support_base',
207 '<(DEPTH)/components/components.gyp:storage_monitor_test_support', 292 '<(DEPTH)/components/components.gyp:storage_monitor_test_support',
208 '<(DEPTH)/content/content.gyp:content_app_both', 293 '<(DEPTH)/content/content.gyp:content_app_both',
209 '<(DEPTH)/content/content_shell_and_tests.gyp:content_browser_test_suppo rt', 294 '<(DEPTH)/content/content_shell_and_tests.gyp:content_browser_test_suppo rt',
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 'test/shell_test_launcher_delegate.cc', 330 'test/shell_test_launcher_delegate.cc',
246 'test/shell_test_launcher_delegate.h', 331 'test/shell_test_launcher_delegate.h',
247 'test/shell_tests_main.cc', 332 'test/shell_tests_main.cc',
248 ], 333 ],
249 'conditions': [ 334 'conditions': [
250 ['OS=="win" and win_use_allocator_shim==1', { 335 ['OS=="win" and win_use_allocator_shim==1', {
251 'dependencies': [ 336 'dependencies': [
252 '<(DEPTH)/base/allocator/allocator.gyp:allocator', 337 '<(DEPTH)/base/allocator/allocator.gyp:allocator',
253 ], 338 ],
254 }], 339 }],
340 ['OS=="mac"', {
341 'dependencies': [
342 'app_shell', # Needed for App Shell.app's Helper.
343 ],
344 }],
255 ], 345 ],
256 }, 346 },
257 { 347 {
258 'target_name': 'app_shell_unittests', 348 'target_name': 'app_shell_unittests',
259 'type': 'executable', 349 'type': 'executable',
260 'dependencies': [ 350 'dependencies': [
261 'app_shell_lib', 351 'app_shell_lib',
262 '<(DEPTH)/base/base.gyp:base', 352 '<(DEPTH)/base/base.gyp:base',
263 '<(DEPTH)/base/base.gyp:test_support_base', 353 '<(DEPTH)/base/base.gyp:test_support_base',
264 '<(DEPTH)/content/content.gyp:content_app_both', 354 '<(DEPTH)/content/content.gyp:content_app_both',
265 '<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content', 355 '<(DEPTH)/content/content_shell_and_tests.gyp:test_support_content',
266 '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak', 356 '<(DEPTH)/extensions/extensions.gyp:extensions_shell_and_test_pak',
267 '<(DEPTH)/extensions/extensions.gyp:extensions_test_support', 357 '<(DEPTH)/extensions/extensions.gyp:extensions_test_support',
268 '<(DEPTH)/testing/gtest.gyp:gtest', 358 '<(DEPTH)/testing/gtest.gyp:gtest',
269 '<(DEPTH)/ui/aura/aura.gyp:aura_test_support',
270 ], 359 ],
271 'sources': [ 360 'sources': [
272 '../test/extensions_unittests_main.cc', 361 '../test/extensions_unittests_main.cc',
273 'browser/api/identity/identity_api_unittest.cc', 362 'browser/api/identity/identity_api_unittest.cc',
274 'browser/shell_audio_controller_chromeos_unittest.cc',
275 'browser/shell_native_app_window_aura_unittest.cc',
276 'browser/shell_oauth2_token_service_unittest.cc', 363 'browser/shell_oauth2_token_service_unittest.cc',
277 'browser/shell_prefs_unittest.cc', 364 'browser/shell_prefs_unittest.cc',
278 'browser/shell_screen_unittest.cc',
279 'common/shell_content_client_unittest.cc' 365 'common/shell_content_client_unittest.cc'
280 ], 366 ],
281 'conditions': [ 367 'conditions': [
282 ['disable_nacl==0', { 368 ['disable_nacl==0', {
283 'sources': [ 369 'sources': [
284 'browser/shell_nacl_browser_delegate_unittest.cc', 370 'browser/shell_nacl_browser_delegate_unittest.cc',
285 ], 371 ],
286 }], 372 }],
287 ['use_aura==1', { 373 ['use_aura==1', {
288 'sources': [ 374 'sources': [
289 'browser/shell_desktop_controller_aura_unittest.cc', 375 'browser/shell_desktop_controller_aura_unittest.cc',
376 'browser/shell_native_app_window_aura_unittest.cc',
377 'browser/shell_screen_unittest.cc',
378 ],
379 'dependencies': [
380 '<(DEPTH)/ui/aura/aura.gyp:aura_test_support',
290 ], 381 ],
291 }], 382 }],
292 ['chromeos==1', { 383 ['chromeos==1', {
293 'dependencies': [ 384 'dependencies': [
294 '<(DEPTH)/chromeos/chromeos.gyp:chromeos_test_support_without_gmock' , 385 '<(DEPTH)/chromeos/chromeos.gyp:chromeos_test_support_without_gmock' ,
295 ], 386 ],
296 'sources': [ 387 'sources': [
297 'browser/api/shell_gcd/shell_gcd_api_unittest.cc', 388 'browser/api/shell_gcd/shell_gcd_api_unittest.cc',
389 'browser/shell_audio_controller_chromeos_unittest.cc',
298 ], 390 ],
299 }], 391 }],
300 ['OS=="win" and win_use_allocator_shim==1', { 392 ['OS=="win" and win_use_allocator_shim==1', {
301 'dependencies': [ 393 'dependencies': [
302 '<(DEPTH)/base/allocator/allocator.gyp:allocator', 394 '<(DEPTH)/base/allocator/allocator.gyp:allocator',
303 ], 395 ],
304 }], 396 }],
305 ], 397 ],
306 }, 398 },
307 { 399 {
(...skipping 27 matching lines...) Expand all
335 'common/version.h.in', 427 'common/version.h.in',
336 '<@(_outputs)', 428 '<@(_outputs)',
337 ], 429 ],
338 'includes': [ 430 'includes': [
339 '../../build/util/version.gypi', 431 '../../build/util/version.gypi',
340 ], 432 ],
341 }, 433 },
342 ], 434 ],
343 }, 435 },
344 ], # targets 436 ], # targets
437
438 'conditions': [
439 ['OS=="mac"', {
440 'targets': [
441 {
442 'target_name': 'app_shell_framework',
443 'type': 'shared_library',
444 'product_name': '<(app_shell_product_name) Framework',
445 'mac_bundle': 1,
446 'mac_bundle_resources': [
447 '<(PRODUCT_DIR)/extensions_shell_and_test.pak',
448 'app/framework-Info.plist',
449 ],
450 'mac_bundle_resources!': [
451 'app/framework-Info.plist',
452 ],
453 'xcode_settings': {
454 # The framework is placed within the .app's Framework
455 # directory. DYLIB_INSTALL_NAME_BASE and
456 # LD_DYLIB_INSTALL_NAME affect -install_name.
457 'DYLIB_INSTALL_NAME_BASE':
458 '@executable_path/../Frameworks',
459 # See /build/mac/copy_framework_unversioned.sh for
460 # information on LD_DYLIB_INSTALL_NAME.
461 'LD_DYLIB_INSTALL_NAME':
462 '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(WRAPPER_NAME)/$(PR ODUCT_NAME)',
463
464 'INFOPLIST_FILE': 'app/framework-Info.plist',
465 },
466 'dependencies': [
467 'app_shell_lib',
468 ],
469 'include_dirs': [
470 '../..',
471 ],
472 'sources': [
473 'app/shell_main_mac.h',
474 'app/shell_main_mac.cc',
475 ],
476 'postbuilds': [
477 {
478 # Modify the Info.plist as needed. The script explains why
479 # this is needed. This is also done in the chrome target.
480 # The framework needs the Breakpad keys if this feature is
481 # enabled. It does not need the Keystone keys; these always
482 # come from the outer application bundle. The framework
483 # doesn't currently use the SCM keys for anything,
484 # but this seems like a really good place to store them.
485 'postbuild_name': 'Tweak Info.plist',
486 'action': ['../../build/mac/tweak_info_plist.py',
487 '--breakpad=1',
488 '--keystone=0',
489 '--scm=1',
490 '--version=<(app_shell_version)',
491 '--branding=<(app_shell_product_name)'],
492 },
493 ],
494 'conditions': [
495 ['icu_use_data_file_flag==1', {
496 'mac_bundle_resources': [
497 '<(PRODUCT_DIR)/icudtl.dat',
498 ],
499 }],
500 ['v8_use_external_startup_data==1', {
501 'mac_bundle_resources': [
502 '<(PRODUCT_DIR)/natives_blob.bin',
503 '<(PRODUCT_DIR)/snapshot_blob.bin',
504 ],
505 }],
506 ],
507 }, # target app_shell_framework
508 {
509 'target_name': 'app_shell_helper',
510 'type': 'executable',
511 'variables': { 'enable_wexit_time_destructors': 1, },
512 'product_name': '<(app_shell_product_name) Helper',
513 'mac_bundle': 1,
514 'dependencies': [
515 'app_shell_framework',
516 ],
517 'sources': [
518 'app/shell_main.cc',
519 'app/helper-Info.plist',
520 ],
521 # TODO(mark): Come up with a fancier way to do this. It should only
522 # be necessary to list helper-Info.plist once, not the three times it
523 # is listed here.
524 'mac_bundle_resources!': [
525 'app/helper-Info.plist',
526 ],
527 # TODO(mark): For now, don't put any resources into this app. Its
528 # resources directory will be a symbolic link to the browser app's
529 # resources directory.
530 'mac_bundle_resources/': [
531 ['exclude', '.*'],
532 ],
533 'xcode_settings': {
534 'INFOPLIST_FILE': 'app/helper-Info.plist',
535 },
536 'postbuilds': [
537 {
538 # The framework defines its load-time path
539 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
540 # (chrome). A different relative path needs to be used in
541 # helper_app.
542 'postbuild_name': 'Fix Framework Link',
543 'action': [
544 'install_name_tool',
545 '-change',
546 '@executable_path/../Frameworks/<(app_shell_product_name) Framew ork.framework/<(app_shell_product_name) Framework',
547 '@executable_path/../../../<(app_shell_product_name) Framework.f ramework/<(app_shell_product_name) Framework',
548 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
549 ],
550 },
551 {
552 # Modify the Info.plist as needed. The script explains why this
553 # is needed. This is also done in the chrome and chrome_dll
554 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
555 # are used because Breakpad, Keystone, and SCM keys are
556 # never placed into the helper.
557 'postbuild_name': 'Tweak Info.plist',
558 'action': ['../../build/mac/tweak_info_plist.py',
559 '--breakpad=0',
560 '--keystone=0',
561 '--scm=0',
562 '--version=<(app_shell_version)'],
563 },
564 {
565 # Make sure there isn't any Objective-C in the helper app's
566 # executable.
567 'postbuild_name': 'Verify No Objective-C',
568 'action': [
569 '../../build/mac/verify_no_objc.sh',
570 ],
571 },
572 ],
573 }, # target app_shell_helper
574 ],
575 }], # OS=="mac"
576 ],
345 } 577 }
OLDNEW
« no previous file with comments | « extensions/shell/app/shell_main_mac.cc ('k') | extensions/shell/browser/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698