OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 } |
OLD | NEW |