| 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'], |
| 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', |
| 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', |
| 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 ], |
| 345 } | 579 } |
| OLD | NEW |