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

Unified Diff: chrome/chrome_dll.gypi

Issue 12295040: Stop delay loading user32.dll from chrome.dll on x86/Windows. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Make sure both MSVS and ninja builds link correctly. Created 7 years, 9 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/chrome.user32.delay.imports ('k') | chrome/chrome_tests_unit.gypi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/chrome_dll.gypi
diff --git a/chrome/chrome_dll.gypi b/chrome/chrome_dll.gypi
index 8f5aab4afd39b281bd74b5943565a3206471876b..3d4119a36ba6de532ff3dc97dcf325362d455bb4 100644
--- a/chrome/chrome_dll.gypi
+++ b/chrome/chrome_dll.gypi
@@ -88,6 +88,13 @@
'<(SHARED_INTERMEDIATE_DIR)/ash/ash_resources/ash_wallpaper_resources.rc',
],
}],
+ ['OS=="win" and target_arch=="ia32"', {
+ # Add a dependency to custom import library for user32 delay
+ # imports only in x86 builds.
+ 'dependencies': [
+ 'chrome_user32_delay_imports',
+ ],
+ },],
['OS=="win"', {
'product_name': 'chrome',
'dependencies': [
@@ -112,6 +119,8 @@
'app/chrome_main.cc',
'app/chrome_main_delegate.cc',
'app/chrome_main_delegate.h',
+ 'app/delay_load_hook_win.cc',
+ 'app/delay_load_hook_win.h',
'<(SHARED_INTERMEDIATE_DIR)/chrome_version/chrome_dll_version.rc',
'../base/win/dllmain.cc',
@@ -169,6 +178,36 @@
'OutputFile': '$(OutDir)\\initial\\chrome.dll',
'UseLibraryDependencyInputs': "true",
}],
+ ['target_arch=="ia32"', {
+ # Link against the XP-constrained user32 import library
+ # instead of the platform-SDK provided one to avoid
+ # inadvertently taking dependencies on post-XP user32
+ # exports.
+ 'AdditionalDependencies!': [
+ 'user32.lib',
+ ],
+ 'IgnoreDefaultLibraryNames': [
+ 'user32.lib',
+ ],
+ # Remove user32 delay load for chrome.dll.
+ 'DelayLoadDLLs!': [
+ 'user32.dll',
+ ],
+ 'AdditionalDependencies': [
+ 'user32.winxp.lib',
+ ],
+ 'DelayLoadDLLs': [
+ 'user32-delay.dll',
+ ],
+ 'AdditionalLibraryDirectories': [
+ '<(DEPTH)/build/win/importlibs/x86',
+ ],
+ 'ForceSymbolReferences': [
+ # Force the inclusion of the delay load hook in this
+ # binary.
+ '_ChromeDelayLoadHook@8',
+ ],
+ }],
],
'DelayLoadDLLs': [
'comdlg32.dll',
« no previous file with comments | « chrome/chrome.user32.delay.imports ('k') | chrome/chrome_tests_unit.gypi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698