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

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: fix win 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
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.mm',
72 'browser/shell_content_browser_client.cc', 81 'browser/shell_content_browser_client.cc',
73 'browser/shell_content_browser_client.h', 82 'browser/shell_content_browser_client.h',
83 'browser/shell_desktop_controller_mac.h',
84 'browser/shell_desktop_controller_mac.mm',
74 'browser/shell_device_client.cc', 85 'browser/shell_device_client.cc',
75 'browser/shell_device_client.h', 86 'browser/shell_device_client.h',
76 'browser/shell_display_info_provider.cc', 87 'browser/shell_display_info_provider.cc',
77 'browser/shell_display_info_provider.h', 88 'browser/shell_display_info_provider.h',
78 'browser/shell_extension_host_delegate.cc', 89 'browser/shell_extension_host_delegate.cc',
79 'browser/shell_extension_host_delegate.h', 90 'browser/shell_extension_host_delegate.h',
80 'browser/shell_extension_system.cc', 91 'browser/shell_extension_system.cc',
81 'browser/shell_extension_system.h', 92 'browser/shell_extension_system.h',
82 'browser/shell_extension_system_factory.cc', 93 'browser/shell_extension_system_factory.cc',
83 'browser/shell_extension_system_factory.h', 94 'browser/shell_extension_system_factory.h',
84 'browser/shell_extension_web_contents_observer.cc', 95 'browser/shell_extension_web_contents_observer.cc',
85 'browser/shell_extension_web_contents_observer.h', 96 'browser/shell_extension_web_contents_observer.h',
86 'browser/shell_extensions_browser_client.cc', 97 'browser/shell_extensions_browser_client.cc',
87 'browser/shell_extensions_browser_client.h', 98 'browser/shell_extensions_browser_client.h',
88 'browser/shell_native_app_window.cc', 99 'browser/shell_native_app_window.cc',
89 'browser/shell_native_app_window.h', 100 'browser/shell_native_app_window.h',
101 'browser/shell_native_app_window_mac.h',
102 'browser/shell_native_app_window_mac.mm',
90 'browser/shell_network_controller_chromeos.cc', 103 'browser/shell_network_controller_chromeos.cc',
91 'browser/shell_network_controller_chromeos.h', 104 'browser/shell_network_controller_chromeos.h',
92 'browser/shell_network_delegate.cc', 105 'browser/shell_network_delegate.cc',
93 'browser/shell_network_delegate.h', 106 'browser/shell_network_delegate.h',
94 'browser/shell_oauth2_token_service.cc', 107 'browser/shell_oauth2_token_service.cc',
95 'browser/shell_oauth2_token_service.h', 108 'browser/shell_oauth2_token_service.h',
96 'browser/shell_omaha_query_params_delegate.cc', 109 'browser/shell_omaha_query_params_delegate.cc',
97 'browser/shell_omaha_query_params_delegate.h', 110 'browser/shell_omaha_query_params_delegate.h',
98 'browser/shell_prefs.cc', 111 'browser/shell_prefs.cc',
99 'browser/shell_prefs.h', 112 'browser/shell_prefs.h',
100 'browser/shell_runtime_api_delegate.cc', 113 'browser/shell_runtime_api_delegate.cc',
101 'browser/shell_runtime_api_delegate.h', 114 'browser/shell_runtime_api_delegate.h',
102 'browser/shell_screen.cc',
103 'browser/shell_screen.h',
104 'browser/shell_special_storage_policy.cc', 115 'browser/shell_special_storage_policy.cc',
105 'browser/shell_special_storage_policy.h', 116 'browser/shell_special_storage_policy.h',
106 'browser/shell_speech_recognition_manager_delegate.cc', 117 'browser/shell_speech_recognition_manager_delegate.cc',
107 'browser/shell_speech_recognition_manager_delegate.h', 118 'browser/shell_speech_recognition_manager_delegate.h',
108 'browser/shell_url_request_context_getter.cc', 119 'browser/shell_url_request_context_getter.cc',
109 'browser/shell_url_request_context_getter.h', 120 'browser/shell_url_request_context_getter.h',
110 'browser/shell_web_contents_modal_dialog_manager.cc', 121 'browser/shell_web_contents_modal_dialog_manager.cc',
111 'common/shell_content_client.cc', 122 'common/shell_content_client.cc',
112 'common/shell_content_client.h', 123 'common/shell_content_client.h',
113 'common/shell_extensions_client.cc', 124 'common/shell_extensions_client.cc',
(...skipping 11 matching lines...) Expand all
125 ['use_aura==1', { 136 ['use_aura==1', {
126 'dependencies': [ 137 'dependencies': [
127 '<(DEPTH)/ui/wm/wm.gyp:wm', 138 '<(DEPTH)/ui/wm/wm.gyp:wm',
128 ], 139 ],
129 'sources': [ 140 'sources': [
130 'browser/shell_app_window_client_aura.cc', 141 'browser/shell_app_window_client_aura.cc',
131 'browser/shell_desktop_controller_aura.cc', 142 'browser/shell_desktop_controller_aura.cc',
132 'browser/shell_desktop_controller_aura.h', 143 'browser/shell_desktop_controller_aura.h',
133 'browser/shell_native_app_window_aura.cc', 144 'browser/shell_native_app_window_aura.cc',
134 'browser/shell_native_app_window_aura.h', 145 'browser/shell_native_app_window_aura.h',
146 'browser/shell_screen.cc',
147 'browser/shell_screen.h',
135 ], 148 ],
136 }], 149 }],
137 ['chromeos==1', { 150 ['chromeos==1', {
138 'dependencies': [ 151 'dependencies': [
139 '<(DEPTH)/chromeos/chromeos.gyp:chromeos', 152 '<(DEPTH)/chromeos/chromeos.gyp:chromeos',
140 '<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos', 153 '<(DEPTH)/ui/chromeos/ui_chromeos.gyp:ui_chromeos',
141 '<(DEPTH)/ui/display/display.gyp:display', 154 '<(DEPTH)/ui/display/display.gyp:display',
142 ], 155 ],
143 'sources': [ 156 'sources': [
144 'browser/api/shell_gcd/shell_gcd_api.cc', 157 'browser/api/shell_gcd/shell_gcd_api.cc',
(...skipping 17 matching lines...) Expand all
162 'sources': [ 175 'sources': [
163 'browser/shell_nacl_browser_delegate.cc', 176 'browser/shell_nacl_browser_delegate.cc',
164 'browser/shell_nacl_browser_delegate.h', 177 'browser/shell_nacl_browser_delegate.h',
165 ], 178 ],
166 }], 179 }],
167 ], 180 ],
168 }, 181 },
169 { 182 {
170 'target_name': 'app_shell', 183 'target_name': 'app_shell',
171 'type': 'executable', 184 'type': 'executable',
185 'mac_bundle': 1,
186 'defines!': ['CONTENT_IMPLEMENTATION'],
James Cook 2014/12/10 21:05:01 Why do we need this?
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 # 'app/English.lproj/HttpAuth.xib',
James Cook 2014/12/10 21:05:01 Are these left in intentionally?
Yoyo Zhou 2014/12/11 02:40:50 Nope, removed.
448 # 'app/English.lproj/MainMenu.xib',
449 '<(PRODUCT_DIR)/extensions_shell_and_test.pak',
450 'app/framework-Info.plist',
451 ],
452 'mac_bundle_resources!': [
453 'app/framework-Info.plist',
James Cook 2014/12/10 21:05:01 So this is both included and excluded?
Yoyo Zhou 2014/12/11 02:40:50 See the TODO(mark) above. I don't understand this
454 ],
455 'xcode_settings': {
456 # The framework is placed within the .app's Framework
457 # directory. DYLIB_INSTALL_NAME_BASE and
458 # LD_DYLIB_INSTALL_NAME affect -install_name.
459 'DYLIB_INSTALL_NAME_BASE':
460 '@executable_path/../Frameworks',
461 # See /build/mac/copy_framework_unversioned.sh for
462 # information on LD_DYLIB_INSTALL_NAME.
463 'LD_DYLIB_INSTALL_NAME':
464 '$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(WRAPPER_NAME)/$(PR ODUCT_NAME)',
465
466 'INFOPLIST_FILE': 'app/framework-Info.plist',
467 },
468 'dependencies': [
469 'app_shell_lib',
470 ],
471 'include_dirs': [
472 '../..',
473 ],
474 'sources': [
475 'app/shell_main_mac.h',
476 'app/shell_main_mac.cc',
477 ],
478 'postbuilds': [
479 {
480 # Modify the Info.plist as needed. The script explains why
481 # this is needed. This is also done in the chrome target.
482 # The framework needs the Breakpad keys if this feature is
483 # enabled. It does not need the Keystone keys; these always
484 # come from the outer application bundle. The framework
485 # doesn't currently use the SCM keys for anything,
486 # but this seems like a really good place to store them.
487 'postbuild_name': 'Tweak Info.plist',
488 'action': ['../../build/mac/tweak_info_plist.py',
489 '--breakpad=1',
490 '--keystone=0',
491 '--scm=1',
492 '--version=<(app_shell_version)',
493 '--branding=<(app_shell_product_name)'],
494 },
495 ],
496 'conditions': [
497 ['icu_use_data_file_flag==1', {
498 'mac_bundle_resources': [
499 '<(PRODUCT_DIR)/icudtl.dat',
500 ],
501 }],
502 ['v8_use_external_startup_data==1', {
503 'mac_bundle_resources': [
504 '<(PRODUCT_DIR)/natives_blob.bin',
505 '<(PRODUCT_DIR)/snapshot_blob.bin',
506 ],
507 }],
508 ],
509 }, # target app_shell_framework
510 {
511 'target_name': 'app_shell_helper',
512 'type': 'executable',
513 'variables': { 'enable_wexit_time_destructors': 1, },
514 'product_name': '<(app_shell_product_name) Helper',
515 'mac_bundle': 1,
516 'dependencies': [
517 'app_shell_framework',
518 ],
519 'sources': [
520 'app/shell_main.cc',
521 'app/helper-Info.plist',
522 ],
523 # TODO(mark): Come up with a fancier way to do this. It should only
524 # be necessary to list helper-Info.plist once, not the three times it
525 # is listed here.
526 'mac_bundle_resources!': [
527 'app/helper-Info.plist',
528 ],
529 # TODO(mark): For now, don't put any resources into this app. Its
530 # resources directory will be a symbolic link to the browser app's
531 # resources directory.
532 'mac_bundle_resources/': [
533 ['exclude', '.*'],
534 ],
535 'xcode_settings': {
536 'INFOPLIST_FILE': 'app/helper-Info.plist',
537 },
538 'postbuilds': [
539 {
540 # The framework defines its load-time path
541 # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
542 # (chrome). A different relative path needs to be used in
543 # helper_app.
544 'postbuild_name': 'Fix Framework Link',
545 'action': [
546 'install_name_tool',
547 '-change',
548 '@executable_path/../Frameworks/<(app_shell_product_name) Framew ork.framework/<(app_shell_product_name) Framework',
549 '@executable_path/../../../<(app_shell_product_name) Framework.f ramework/<(app_shell_product_name) Framework',
550 '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
551 ],
552 },
553 {
554 # Modify the Info.plist as needed. The script explains why this
555 # is needed. This is also done in the chrome and chrome_dll
556 # targets. In this case, --breakpad=0, --keystone=0, and --scm=0
557 # are used because Breakpad, Keystone, and SCM keys are
558 # never placed into the helper.
559 'postbuild_name': 'Tweak Info.plist',
560 'action': ['../../build/mac/tweak_info_plist.py',
561 '--breakpad=0',
562 '--keystone=0',
563 '--scm=0',
564 '--version=<(app_shell_version)'],
565 },
566 {
567 # Make sure there isn't any Objective-C in the helper app's
568 # executable.
569 'postbuild_name': 'Verify No Objective-C',
570 'action': [
571 '../../build/mac/verify_no_objc.sh',
572 ],
573 },
574 ],
575 }, # target app_shell_helper
576 ],
577 }], # OS=="mac"
578 ],
James Cook 2014/12/10 21:05:01 Mark, I need to defer to you on this GYP setup. I'
345 } 579 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698