[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

sfalken at apple.com sfalken at apple.com
Wed Dec 22 11:23:30 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 615640eda68a9d059e5b15b4f63a4d63dbcd3684
Author: sfalken at apple.com <sfalken at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jul 21 16:39:59 2010 +0000

    JavaScriptCore: WebKit on Windows should build optionally with an unversioned ICU DLL
    https://bugs.webkit.org/show_bug.cgi?id=42722
    <rdar://problem/8211743> JavaScriptCore needs to link against unversioned ICU
    
    Reviewed by Adam Roben.
    
    Dynamically create a new header, ICUVersion.h, as part of build-generated-files.sh.
    Header contains a preprocessor define (U_DISABLE_RENAMING) indicating to ICU whether the ICU API
    should be namespaced with the current ICU version number. Proper value is determined
    by checking for the presence of libicuuc.lib, the unversioned copy of ICU.
    
    To get the proper value for U_DISABLE_RENAMING into all source files, we force
    the include of ICUVersion.h (our generated header) via the compiler options.
    
    Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
    we copy the ICU lib to an intermediate location under obj with a common name. This
    allows us to link properly with either without adding a new build configuration.
    
    * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
    Copy ICU libs into a common location with a common name.
    Add additional library search path to pick up icu lib.
    Change ICU library filename specified to linker.
    Add forced include of ICUVersion.h.
    * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Generate ICUVersion.h
    * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops: Add forced include of ICUVersion.h.
    * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
    Copy ICU libs into a common location with a common name.
    Add additional library search path to pick up icu lib.
    Change ICU library filename specified to linker.
    Add forced include of ICUVersion.h.
    * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
    Copy ICU libs into a common location with a common name.
    Add additional library search path to pick up icu lib.
    Change ICU library filename specified to linker.
    Add forced include of ICUVersion.h.
    
    WebCore: WebKit on Windows should build optionally with an unversioned ICU DLL
    https://bugs.webkit.org/show_bug.cgi?id=42722
    <rdar://problem/8211767> WebKit needs to link against unversioned ICU
    
    Reviewed by Adam Roben.
    
    To get the proper value for U_DISABLE_RENAMING into all source files, we force
    the include of ICUVersion.h (our generated header) via the compiler options.
    
    * WebCore.vcproj/WebCore.vcproj:
    Add forced include of ICUVersion.h.
    * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
    
    WebKit/win: WebKit on Windows should build optionally with an unversioned ICU DLL
    https://bugs.webkit.org/show_bug.cgi?id=42722
    <rdar://problem/8211767> WebKit needs to link against unversioned ICU
    
    Reviewed by Adam Roben.
    
    To get the proper value for U_DISABLE_RENAMING into all source files, we force
    the include of ICUVersion.h (our generated header) via the compiler options.
    
    * WebKit.vcproj/WebKit.vcproj: Add forced include of ICUVersion.h.
    
    WebKit2: WebKit on Windows should build optionally with an unversioned ICU DLL
    https://bugs.webkit.org/show_bug.cgi?id=42722
    <rdar://problem/8211767> WebKit needs to link against unversioned ICU
    
    Reviewed by Adam Roben.
    
    To get the proper value for U_DISABLE_RENAMING into all source files, we force
    the include of ICUVersion.h (our generated header) via the compiler options.
    
    Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
    we copy the ICU lib to an intermediate location under obj with a common name. This
    allows us to link properly with either without adding a new build configuration.
    
    * win/WebKit2Common.vsprops:
    Copy ICU libs into a common location with a common name.
    Add additional library search path to pick up icu lib.
    Change ICU library filename specified to linker.
    Add forced include of ICUVersion.h.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63833 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index cd233fa..5e01de2 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,5 +1,43 @@
 2010-07-20  Steve Falkenburg  <sfalken at apple.com>
 
+        Reviewed by Adam Roben.
+
+        WebKit on Windows should build optionally with an unversioned ICU DLL
+        https://bugs.webkit.org/show_bug.cgi?id=42722
+        <rdar://problem/8211743> JavaScriptCore needs to link against unversioned ICU
+        
+        Dynamically create a new header, ICUVersion.h, as part of build-generated-files.sh.
+        Header contains a preprocessor define (U_DISABLE_RENAMING) indicating to ICU whether the ICU API
+        should be namespaced with the current ICU version number. Proper value is determined
+        by checking for the presence of libicuuc.lib, the unversioned copy of ICU.
+        
+        To get the proper value for U_DISABLE_RENAMING into all source files, we force
+        the include of ICUVersion.h (our generated header) via the compiler options.
+        
+        Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
+        we copy the ICU lib to an intermediate location under obj with a common name. This
+        allows us to link properly with either without adding a new build configuration.
+
+        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
+        Copy ICU libs into a common location with a common name.
+        Add additional library search path to pick up icu lib.
+        Change ICU library filename specified to linker.
+        Add forced include of ICUVersion.h.
+        * JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh: Generate ICUVersion.h
+        * JavaScriptCore.vcproj/WTF/WTFCommon.vsprops: Add forced include of ICUVersion.h.
+        * JavaScriptCore.vcproj/jsc/jscCommon.vsprops:
+        Copy ICU libs into a common location with a common name.
+        Add additional library search path to pick up icu lib.
+        Change ICU library filename specified to linker.
+        Add forced include of ICUVersion.h.
+        * JavaScriptCore.vcproj/testapi/testapiCommon.vsprops:
+        Copy ICU libs into a common location with a common name.
+        Add additional library search path to pick up icu lib.
+        Change ICU library filename specified to linker.
+        Add forced include of ICUVersion.h.
+
+2010-07-20  Steve Falkenburg  <sfalken at apple.com>
+
         Re-save vsprops files after no-op edits in Visual Studio
         to fix manual edit issues.
 
diff --git a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
index 59ed4d9..c92196e 100644
--- a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
+++ b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
@@ -8,12 +8,13 @@
 		Name="VCCLCompilerTool"
 		AdditionalIncludeDirectories="&quot;$(WebKitOutputDir)\obj\JavaScriptCore\DerivedSources\&quot;;../../;../../API/;../../pcre/;../../parser/;../../bytecompiler/;../../jit/;../../runtime/;../../bytecode/;../../interpreter/;../../wtf/;../../profiler;../../assembler/;../../debugger/;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitOutputDir)\include&quot;;&quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;"
 		PreprocessorDefinitions="__STD_C"
-		ForcedIncludeFiles=""
+		ForcedIncludeFiles="ICUVersion.h"
 	/>
 	<Tool
 		Name="VCLinkerTool"
-		AdditionalDependencies="gdi32.lib oleaut32.lib winmm.lib icuin$(LibraryConfigSuffix).lib icuuc$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib WTF$(WebKitConfigSuffix).lib"
+		AdditionalDependencies="gdi32.lib oleaut32.lib winmm.lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib WTF$(WebKitConfigSuffix).lib"
 		OutputFile="$(OutDir)\$(ProjectName)$(WebKitDLLConfigSuffix).dll"
+		AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
 		ModuleDefinitionFile="JavaScriptCore.def"
 	/>
 	<Tool
@@ -24,4 +25,8 @@
 		Name="VCPreBuildEventTool"
 		CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
 	/>
+	<Tool
+		Name="VCPreLinkEventTool"
+		CommandLine="mkdir 2&gt;NUL &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;cmd /c&#x0D;&#x0A;"
+	/>
 </VisualStudioPropertySheet>
diff --git a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh
index 5955365..85c3152 100755
--- a/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh
+++ b/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/build-generated-files.sh
@@ -10,6 +10,16 @@ then
     echo "#define QUARTZCORE_PRESENT $?" > "${QUARTZCOREPRESENT_H_PATH}"
 fi
 
+# Determine whether we have the versioned ICU 4.0 or the unversioned ICU 4.4
+UNVERSIONED_ICU_LIB_PATH=$(cygpath -u "${WEBKITLIBRARIESDIR}/lib/libicuuc.lib")
+ICUVERSION_H_PATH=$(cygpath -u "${WEBKITOUTPUTDIR}/include/private/ICUVersion.h")
+if test \( ! -f "${ICUVERSION_H_PATH}" \) -o \( -f "${UNVERSIONED_ICU_LIB_PATH}" -a \( "${UNVERSIONED_ICU_LIB_PATH}" -nt "${ICUVERSION_H_PATH}" \) \)
+then
+    mkdir -p "$(dirname "${ICUVERSION_H_PATH}")"
+    test ! -f "${UNVERSIONED_ICU_LIB_PATH}"
+    echo "#define U_DISABLE_RENAMING $?" > "${ICUVERSION_H_PATH}"
+fi
+
 NUMCPUS=`../../../WebKitTools/Scripts/num-cpus`
 
 XSRCROOT="`pwd`/../.."
diff --git a/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops b/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops
index b41682f..c2569ba 100644
--- a/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops
+++ b/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFCommon.vsprops
@@ -9,6 +9,7 @@
 		Name="VCCLCompilerTool"
 		AdditionalIncludeDirectories="&quot;$(WebKitOutputDir)\obj\JavaScriptCore\$(ConfigurationName)\DerivedSources\&quot;;../../;&quot;../../os-win32/&quot;;../../pcre/;../../parser/;../../wtf/;../../wtf/unicode/;&quot;$(WebKitOutputDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;../../../icu/include;../../bindings;../../bindings/c;../../bindings/jni;&quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;"
 		PreprocessorDefinitions="__STD_C"
+		ForcedIncludeFiles="ICUVersion.h"
 	/>
 	<Tool
 		Name="VCLibrarianTool"
diff --git a/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops b/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops
index b53b49e..e5cc866 100644
--- a/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops
+++ b/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops
@@ -8,11 +8,13 @@
 		Name="VCCLCompilerTool"
 		AdditionalIncludeDirectories="&quot;$(WebKitOutputDir)\include&quot;;&quot;$(WebKitOutputDir)\include\private&quot;;&quot;$(WebKitOutputDir)\obj\JavaScriptCore\$(ConfigurationName)\DerivedSources\&quot;;../../;&quot;../../os-win32/&quot;;../../pcre/;../../assembler/;../../API/;../../parser/;../../runtime/;../../VM/;../../bytecode/;../../interpreter/;../../wtf/;../../debugger/;../../bytecompiler/;../../profiler;../../jit/;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include&quot;"
 		PreprocessorDefinitions="__STD_C"
-		ForcedIncludeFiles=""
+		ForcedIncludeFiles="ICUVersion.h"
+		ForcedUsingFiles=""
 	/>
 	<Tool
 		Name="VCLinkerTool"
-		AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib icuin$(LibraryConfigSuffix).lib icuuc$(LibraryConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib user32.lib"
+		AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib user32.lib"
+		AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
 		SubSystem="1"
 	/>
 	<Tool
@@ -23,4 +25,8 @@
 		Name="VCPreBuildEventTool"
 		CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;"
 	/>
+	<Tool
+		Name="VCPreLinkEventTool"
+		CommandLine="mkdir 2&gt;NUL &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;cmd /c&#x0D;&#x0A;"
+	/>
 </VisualStudioPropertySheet>
diff --git a/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops b/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops
index eea643c..a1a7267 100644
--- a/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops
+++ b/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops
@@ -9,11 +9,12 @@
 		AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\..\API&quot;;&quot;$(WebKitOutputDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitOutputDir)\include&quot;;&quot;$(WebKitOutputDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;"
 		WarningLevel="4"
 		Detect64BitPortabilityProblems="true"
-		ForcedIncludeFiles=""
+		ForcedIncludeFiles="ICUVersion.h"
 	/>
 	<Tool
 		Name="VCLinkerTool"
-		AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib icuin$(LibraryConfigSuffix).lib icuuc$(LibraryConfigSuffix).lib"
+		AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib"
+		AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
 		SubSystem="1"
 	/>
 	<Tool
@@ -24,4 +25,8 @@
 		Name="VCPreBuildEventTool"
 		CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;"
 	/>
+	<Tool
+		Name="VCPreLinkEventTool"
+		CommandLine="mkdir 2&gt;NUL &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;cmd /c&#x0D;&#x0A;"
+	/>
 </VisualStudioPropertySheet>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index dccbab8..b8574b7 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,18 @@
+2010-07-20  Steve Falkenburg  <sfalken at apple.com>
+
+        Reviewed by Adam Roben.
+
+        WebKit on Windows should build optionally with an unversioned ICU DLL
+        https://bugs.webkit.org/show_bug.cgi?id=42722
+        <rdar://problem/8211767> WebKit needs to link against unversioned ICU
+
+        To get the proper value for U_DISABLE_RENAMING into all source files, we force
+        the include of ICUVersion.h (our generated header) via the compiler options.
+        
+        * WebCore.vcproj/WebCore.vcproj:
+        Add forced include of ICUVersion.h.
+        * WebCore.vcproj/WebCoreCommon.vsprops: Add forced include of ICUVersion.h.
+
 2010-07-21  Ilya Tikhonovsky  <loislo at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/WebCore/WebCore.vcproj/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore.vcproj
index d34d969..00c718f 100644
--- a/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -364,7 +364,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -374,7 +374,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -384,7 +384,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -394,7 +394,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -404,7 +404,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -414,7 +414,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 			</File>
@@ -20910,7 +20910,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -20920,7 +20920,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -20930,7 +20930,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -20940,7 +20940,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -20950,7 +20950,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -20960,7 +20960,7 @@
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
 						DisableSpecificWarnings="4065;4273;4565;4701;4702"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 			</File>
@@ -23824,7 +23824,7 @@
 						<Tool
 							Name="VCCLCompilerTool"
 							UsePrecompiledHeader="0"
-							ForcedIncludeFiles="$(NOINHERIT)"
+							ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 						/>
 					</FileConfiguration>
 					<FileConfiguration
@@ -23833,7 +23833,7 @@
 						<Tool
 							Name="VCCLCompilerTool"
 							UsePrecompiledHeader="0"
-							ForcedIncludeFiles="$(NOINHERIT)"
+							ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 						/>
 					</FileConfiguration>
 					<FileConfiguration
@@ -23842,7 +23842,7 @@
 						<Tool
 							Name="VCCLCompilerTool"
 							UsePrecompiledHeader="0"
-							ForcedIncludeFiles="$(NOINHERIT)"
+							ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 						/>
 					</FileConfiguration>
 					<FileConfiguration
@@ -23851,7 +23851,7 @@
 						<Tool
 							Name="VCCLCompilerTool"
 							UsePrecompiledHeader="0"
-							ForcedIncludeFiles="$(NOINHERIT)"
+							ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 						/>
 					</FileConfiguration>
 					<FileConfiguration
@@ -23860,7 +23860,7 @@
 						<Tool
 							Name="VCCLCompilerTool"
 							UsePrecompiledHeader="0"
-							ForcedIncludeFiles="$(NOINHERIT)"
+							ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 						/>
 					</FileConfiguration>
 					<FileConfiguration
@@ -23869,7 +23869,7 @@
 						<Tool
 							Name="VCCLCompilerTool"
 							UsePrecompiledHeader="0"
-							ForcedIncludeFiles="$(NOINHERIT)"
+							ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 						/>
 					</FileConfiguration>
 				</File>
@@ -32067,7 +32067,7 @@
 					<Tool
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -32076,7 +32076,7 @@
 					<Tool
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -32085,7 +32085,7 @@
 					<Tool
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -32094,7 +32094,7 @@
 					<Tool
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -32103,7 +32103,7 @@
 					<Tool
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 				<FileConfiguration
@@ -32112,7 +32112,7 @@
 					<Tool
 						Name="VCCLCompilerTool"
 						UsePrecompiledHeader="0"
-						ForcedIncludeFiles="$(NOINHERIT)"
+						ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
 					/>
 				</FileConfiguration>
 			</File>
diff --git a/WebCore/WebCore.vcproj/WebCoreCommon.vsprops b/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
index 75d4dea..537e129 100644
--- a/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
+++ b/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
@@ -12,7 +12,7 @@
 		UsePrecompiledHeader="2"
 		PrecompiledHeaderThrough="WebCorePrefix.h"
 		ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
-		ForcedIncludeFiles="WebCorePrefix.h"
+		ForcedIncludeFiles="WebCorePrefix.h;ICUVersion.h"
 	/>
 	<Tool
 		Name="VCPostBuildEventTool"
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index a43fbb7..44869dc 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,16 @@
+2010-07-20  Steve Falkenburg  <sfalken at apple.com>
+
+        Reviewed by Adam Roben.
+
+        WebKit on Windows should build optionally with an unversioned ICU DLL
+        https://bugs.webkit.org/show_bug.cgi?id=42722
+        <rdar://problem/8211767> WebKit needs to link against unversioned ICU
+
+        To get the proper value for U_DISABLE_RENAMING into all source files, we force
+        the include of ICUVersion.h (our generated header) via the compiler options.
+
+        * WebKit.vcproj/WebKit.vcproj: Add forced include of ICUVersion.h.        
+
 2010-07-21  Adam Roben  <aroben at apple.com>
 
         Update WebKit.sln for InjectedBundle's Debug_Internal configuration
diff --git a/WebKit/win/WebKit.vcproj/WebKit.vcproj b/WebKit/win/WebKit.vcproj/WebKit.vcproj
index 7316805..50f5921 100644
--- a/WebKit/win/WebKit.vcproj/WebKit.vcproj
+++ b/WebKit/win/WebKit.vcproj/WebKit.vcproj
@@ -46,7 +46,7 @@
 				PrecompiledHeaderThrough="WebKitPrefix.h"
 				ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
 				DisableSpecificWarnings="4819"
-				ForcedIncludeFiles="WebKitPrefix.h"
+				ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -111,7 +111,7 @@
 				PrecompiledHeaderThrough="WebKitPrefix.h"
 				ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
 				DisableSpecificWarnings="4819"
-				ForcedIncludeFiles="WebKitPrefix.h"
+				ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -176,7 +176,7 @@
 				ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
 				Detect64BitPortabilityProblems="false"
 				DisableSpecificWarnings="4819"
-				ForcedIncludeFiles="WebKitPrefix.h"
+				ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -240,7 +240,7 @@
 				PrecompiledHeaderThrough="WebKitPrefix.h"
 				ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
 				DisableSpecificWarnings="4819"
-				ForcedIncludeFiles="WebKitPrefix.h"
+				ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -306,7 +306,7 @@
 				PrecompiledHeaderThrough="WebKitPrefix.h"
 				ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
 				DisableSpecificWarnings="4819"
-				ForcedIncludeFiles="WebKitPrefix.h"
+				ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
@@ -371,7 +371,7 @@
 				ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
 				Detect64BitPortabilityProblems="false"
 				DisableSpecificWarnings="4819"
-				ForcedIncludeFiles="WebKitPrefix.h"
+				ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
 			/>
 			<Tool
 				Name="VCManagedResourceCompilerTool"
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 88bbfd0..ce01314 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,24 @@
+2010-07-20  Steve Falkenburg  <sfalken at apple.com>
+
+        Reviewed by Adam Roben.
+
+        WebKit on Windows should build optionally with an unversioned ICU DLL
+        https://bugs.webkit.org/show_bug.cgi?id=42722
+        <rdar://problem/8211767> WebKit needs to link against unversioned ICU
+
+        To get the proper value for U_DISABLE_RENAMING into all source files, we force
+        the include of ICUVersion.h (our generated header) via the compiler options.
+
+        Since the versioned and unversioned ICU have different filenames (libicuuc.lib vs icuuc.lib)
+        we copy the ICU lib to an intermediate location under obj with a common name. This
+        allows us to link properly with either without adding a new build configuration.
+
+        * win/WebKit2Common.vsprops:
+        Copy ICU libs into a common location with a common name.
+        Add additional library search path to pick up icu lib.
+        Change ICU library filename specified to linker.
+        Add forced include of ICUVersion.h.        
+
 2010-07-21  Adam Roben  <aroben at apple.com>
 
         Windows build fix
diff --git a/WebKit2/win/WebKit2Common.vsprops b/WebKit2/win/WebKit2Common.vsprops
index fd6a56d..d289c9b 100644
--- a/WebKit2/win/WebKit2Common.vsprops
+++ b/WebKit2/win/WebKit2Common.vsprops
@@ -11,12 +11,13 @@
 		UsePrecompiledHeader="2"
 		PrecompiledHeaderThrough="WebKit2Prefix.h"
 		DisableSpecificWarnings="4819"
-		ForcedIncludeFiles="WebKit2Prefix.h"
+		ForcedIncludeFiles="WebKit2Prefix.h;ICUVersion.h"
 	/>
 	<Tool
 		Name="VCLinkerTool"
-		AdditionalDependencies="delayimp.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib usp10.lib comctl32.lib version.lib shlwapi.lib libxml2$(LibraryConfigSuffix).lib libxslt$(LibraryConfigSuffix).lib icuin$(LibraryConfigSuffix).lib icuuc$(LibraryConfigSuffix).lib SQLite3$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebCore$(WebKitConfigSuffix).lib WebKitLib$(WebKitConfigSuffix).lib WebKitGUID$(WebKitConfigSuffix).lib msimg32.lib crypt32.lib iphlpapi.lib winmm.lib comsuppw.lib rpcrt4.lib"
+		AdditionalDependencies="delayimp.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib usp10.lib comctl32.lib version.lib shlwapi.lib libxml2$(LibraryConfigSuffix).lib libxslt$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib SQLite3$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebCore$(WebKitConfigSuffix).lib WebKitLib$(WebKitConfigSuffix).lib WebKitGUID$(WebKitConfigSuffix).lib msimg32.lib crypt32.lib iphlpapi.lib winmm.lib comsuppw.lib rpcrt4.lib"
 		OutputFile="$(OutDir)\$(ProjectName)$(WebKitDLLConfigSuffix).dll"
+		AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
 		DelayLoadDLLs="usp10.dll;comctl32.dll;version.dll;libxslt$(LibraryConfigSuffix).dll;SQLite3$(LibraryConfigSuffix).dll;msimg32.dll;iphlpapi.dll"
 	/>
 	<Tool
@@ -28,6 +29,10 @@
 		CommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(WebKitOutputDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(WebKitOutputDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;touch &quot;$(WebKitOutputDir)\tmp.cpp&quot;&#x0D;&#x0A;cl /analyze /nologo /c &quot;$(WebKitOutputDir)\tmp.cpp&quot; /Fo&quot;$(IntDir)\tmp.obj&quot; 2&gt;&amp;1 | findstr D9040&#x0D;&#x0A;if ERRORLEVEL 1 (set EnablePREfast=&quot;true&quot;) else (set EnablePREfast=&quot;false&quot;)&#x0D;&#x0A;if ERRORLEVEL 1 (set AnalyzeWithLargeStack=&quot;/analyze:65536&quot;) else (set AnalyzeWithLargeStack=&quot;&quot;)&#x0D;&#x0A;&#x0D;&#x0A;mkdir 2&gt;NUL &quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;&#x0D;&#x0A;xcopy /y /d &quot;$(WebKitLibrariesDir)\include\JavaScriptCore\*&quot; &quot;$(WebKitOutputDir)\include\JavaScriptCore&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash &quot;$(WebKitLibrariesDir)\tools\scripts\auto-version.sh&quot; &quot;$(IntDir)&quot;&#x0D;&#x0A;"
 	/>
 	<Tool
+		Name="VCPreLinkEventTool"
+		CommandLine="mkdir 2&gt;NUL &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\icuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuuc$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;if exist &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; copy /y &quot;$(WebKitLibrariesDir)\lib\libicuin$(LibraryConfigSuffix).lib&quot; &quot;$(IntDir)\lib&quot;&#x0D;&#x0A;&#x0D;&#x0A;cmd /c&#x0D;&#x0A;"
+	/>
+	<Tool
 		Name="VCResourceCompilerTool"
 		AdditionalIncludeDirectories="$(WebKitOutputDir)\obj\WebKit2\"
 	/>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list