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