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

Unified Diff: chrome/chrome.gyp

Issue 164100: Set up a interposing library for Carbon calls made by plugins. (Closed)
Patch Set: Review comments and files that were lost in the move Created 11 years, 4 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/plugin_process_host.cc ('k') | chrome/common/plugin_carbon_interpose_constants_mac.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/chrome.gyp
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index 06eab55a2d836129dbb969498392a54a07006b7b..c793483626bea2b3827a027f32c3739d9d5df964 100644
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -452,6 +452,8 @@
'common/platform_util_linux.cc',
'common/platform_util_mac.mm',
'common/platform_util_win.cc',
+ 'common/plugin_carbon_interpose_constants_mac.h',
+ 'common/plugin_carbon_interpose_constants_mac.cc',
'common/plugin_messages.h',
'common/plugin_messages_internal.h',
'common/pref_member.cc',
@@ -2942,7 +2944,8 @@
'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/MacOS/',
'files': ['../third_party/ffmpeg/binaries/chrome/libavcodec.52.dylib',
'../third_party/ffmpeg/binaries/chrome/libavformat.52.dylib',
- '../third_party/ffmpeg/binaries/chrome/libavutil.50.dylib'],
+ '../third_party/ffmpeg/binaries/chrome/libavutil.50.dylib',
+ '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'],
},
],
}, { # else: 'branding!="Chrome"
@@ -2955,7 +2958,8 @@
'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/MacOS/',
'files': ['../third_party/ffmpeg/binaries/chromium/libavcodec.52.dylib',
'../third_party/ffmpeg/binaries/chromium/libavformat.52.dylib',
- '../third_party/ffmpeg/binaries/chromium/libavutil.50.dylib'],
+ '../third_party/ffmpeg/binaries/chromium/libavutil.50.dylib',
+ '<(PRODUCT_DIR)/plugin_carbon_interpose.dylib'],
},
],
}],
@@ -3004,6 +3008,7 @@
# Bring in pdfsqueeze and run it on all pdfs
'dependencies': [
'../build/temp_gyp/pdfsqueeze.gyp:pdfsqueeze',
+ 'interpose_dependency_shim',
],
'rules': [
{
@@ -4422,6 +4427,49 @@
},
], # 'actions'
},
+ {
+ # Dummy target to allow chrome to require plugin_carbon_interpose to
+ # build without actually linking to the resulting library.
+ 'target_name': 'interpose_dependency_shim',
+ 'type': 'executable',
+ 'dependencies': [
+ 'plugin_carbon_interpose',
+ ],
+ # In release, we end up with a strip step that is unhappy if there is
+ # no binary. Rather than check in a new file for this temporary hack,
+ # just generate a source file on the fly.
+ 'actions': [
+ {
+ 'action_name': 'generate_stub_main',
+ 'process_outputs_as_sources': 1,
+ 'inputs': [],
+ 'outputs': [ '<(INTERMEDIATE_DIR)/dummy_main.c' ],
+ 'action': [
+ 'bash', '-c',
+ 'echo "int main() { return 0; }" > <(INTERMEDIATE_DIR)/dummy_main.c'
+ ],
+ },
+ ],
+ },
+ {
+ # dylib for interposing Carbon calls in the plugin process.
+ 'target_name': 'plugin_carbon_interpose',
+ 'type': 'shared_library',
+ 'dependencies': [
+ 'chrome_dll',
+ ],
+ 'sources': [
+ 'browser/plugin_carbon_interpose_mac.cc',
+ ],
+ 'include_dirs': [
+ '..',
+ ],
+ 'link_settings': {
+ 'libraries': [
+ '$(SDKROOT)/System/Library/Frameworks/Carbon.framework',
+ ],
+ },
+ },
]
}, { # else: OS != "mac"
'targets': [
« no previous file with comments | « chrome/browser/plugin_process_host.cc ('k') | chrome/common/plugin_carbon_interpose_constants_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698