| Index: content/content_shell.gypi
|
| diff --git a/content/content_shell.gypi b/content/content_shell.gypi
|
| index d809c858d591a6b226cdd6d0a78b4070cdff2690..0e81f1eb0bf91c7e15cfea15943f403d9c77b3e2 100644
|
| --- a/content/content_shell.gypi
|
| +++ b/content/content_shell.gypi
|
| @@ -57,6 +57,7 @@
|
| 'shell/shell_browser_context.h',
|
| 'shell/shell_browser_main.cc',
|
| 'shell/shell_browser_main.h',
|
| + 'shell/shell_browser_main_mac.mm',
|
| 'shell/shell_content_browser_client.cc',
|
| 'shell/shell_content_browser_client.h',
|
| 'shell/shell_content_client.cc',
|
| @@ -273,6 +274,15 @@
|
| ],
|
| 'dependencies': [
|
| 'content_shell_framework',
|
| + 'content_shell_helper_app',
|
| + ],
|
| + 'copies': [
|
| + {
|
| + 'destination': '<(PRODUCT_DIR)/<(content_shell_product_name).app/Contents/Frameworks',
|
| + 'files': [
|
| + '<(PRODUCT_DIR)/<(content_shell_product_name) Helper.app',
|
| + ],
|
| + },
|
| ],
|
| 'postbuilds': [
|
| {
|
| @@ -300,6 +310,22 @@
|
| '--svn=1'],
|
| },
|
| {
|
| + # This postbuid step is responsible for creating the following
|
| + # helpers:
|
| + #
|
| + # Content Shell Helper EH.app and Content Shell Helper NP.app are
|
| + # created from Content Shell Helper.app.
|
| + #
|
| + # The EH helper is marked for an executable heap. The NP helper
|
| + # is marked for no PIE (ASLR).
|
| + 'postbuild_name': 'Make More Helpers',
|
| + 'action': [
|
| + '../build/mac/make_more_helpers.sh',
|
| + '${BUILT_PRODUCTS_DIR}/${CONTENTS_FOLDER_PATH}/Frameworks',
|
| + '<(content_shell_product_name)',
|
| + ],
|
| + },
|
| + {
|
| # Make sure there isn't any Objective-C in the shell's
|
| # executable.
|
| 'postbuild_name': 'Verify No Objective-C',
|
| @@ -334,7 +360,72 @@
|
| 'shell/shell_content_main.cc',
|
| 'shell/shell_content_main.h',
|
| ],
|
| - },
|
| + }, # target content_shell_framework
|
| + {
|
| + 'target_name': 'content_shell_helper_app',
|
| + 'type': 'executable',
|
| + 'variables': { 'enable_wexit_time_destructors': 1, },
|
| + 'product_name': '<(content_shell_product_name) Helper',
|
| + 'mac_bundle': 1,
|
| + 'dependencies': [
|
| + 'content_shell_framework',
|
| + ],
|
| + 'sources': [
|
| + 'shell/shell_main.cc',
|
| + 'shell/mac/helper-Info.plist',
|
| + ],
|
| + # TODO(mark): Come up with a fancier way to do this. It should only
|
| + # be necessary to list helper-Info.plist once, not the three times it
|
| + # is listed here.
|
| + 'mac_bundle_resources!': [
|
| + 'shell/mac/helper-Info.plist',
|
| + ],
|
| + # TODO(mark): For now, don't put any resources into this app. Its
|
| + # resources directory will be a symbolic link to the browser app's
|
| + # resources directory.
|
| + 'mac_bundle_resources/': [
|
| + ['exclude', '.*'],
|
| + ],
|
| + 'xcode_settings': {
|
| + 'INFOPLIST_FILE': 'shell/mac/helper-Info.plist',
|
| + },
|
| + 'postbuilds': [
|
| + {
|
| + # The framework defines its load-time path
|
| + # (DYLIB_INSTALL_NAME_BASE) relative to the main executable
|
| + # (chrome). A different relative path needs to be used in
|
| + # content_shell_helper_app.
|
| + 'postbuild_name': 'Fix Framework Link',
|
| + 'action': [
|
| + 'install_name_tool',
|
| + '-change',
|
| + '/Library/Frameworks/<(content_shell_product_name) Framework.framework/Versions/A/<(content_shell_product_name) Framework',
|
| + '@executable_path/../../../../Frameworks/<(content_shell_product_name) Framework.framework/<(content_shell_product_name) Framework',
|
| + '${BUILT_PRODUCTS_DIR}/${EXECUTABLE_PATH}'
|
| + ],
|
| + },
|
| + {
|
| + # Modify the Info.plist as needed. The script explains why this
|
| + # is needed. This is also done in the chrome and chrome_dll
|
| + # targets. In this case, --breakpad=0, --keystone=0, and --svn=0
|
| + # are used because Breakpad, Keystone, and Subversion keys are
|
| + # never placed into the helper.
|
| + 'postbuild_name': 'Tweak Info.plist',
|
| + 'action': ['../build/mac/tweak_info_plist.py',
|
| + '--breakpad=0',
|
| + '--keystone=0',
|
| + '--svn=0'],
|
| + },
|
| + {
|
| + # Make sure there isn't any Objective-C in the helper app's
|
| + # executable.
|
| + 'postbuild_name': 'Verify No Objective-C',
|
| + 'action': [
|
| + '../build/mac/verify_no_objc.sh',
|
| + ],
|
| + },
|
| + ],
|
| + }, # target content_shell_helper_app
|
| ],
|
| }], # OS=="mac"
|
| ],
|
|
|