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', |