This bug updates the build infrastructure for the WebKitTestRunner and DumpRenderTree projects so that the WinCairo port builds properly. This is a step in preparation for activating the WinCairo build bot. Changes include: 1. Disable the MD5 sources in DumpRenderTree, and copy the wtf/MD5.h header to an appropriate location for the cairo build. WinCairo attempts to match the native cairo pixel handling logic, so shares the WTF version of the MD5 routines. 2. Add a CFLite version of InjectedBundleCommon.vsprops for the non-CoreFoundation build used by WinCairo. 3. Update InjectedBundle so with *_Cairo build targets so that the WinCairo port uses CFLite and appropriate DLL naming.
Created attachment 68444 [details] Build fixes for WinCairo.
Comment on attachment 68444 [details] Build fixes for WinCairo. View in context: https://bugs.webkit.org/attachment.cgi?id=68444&action=review You seem to be missing a WebKit/ChangeLog entry. > WebKitTools/WebKitTestRunner/Configurations/InjectedBundleCFLite.vsprops:24 > + <Tool > + Name="VCCLCompilerTool" > + AdditionalIncludeDirectories=""$(ProjectDir)\..";"$(ProjectDir)\..\InjectedBundle\";"$(ProjectDir)\..\InjectedBundle\Bindings";"$(WebKitOutputDir)\Include";"$(WebKitOutputDir)\Include\private";"$(WebKitOutputDir)\Include\WebCore\ForwardingHeaders";"$(WebKitLibrariesDir)\include";"$(WebKitOutputDir)\obj\InjectedBundle\DerivedSources\"" > + ForcedIncludeFiles="WebKitTestRunnerPrefix.h" > + /> > + <Tool > + Name="VCLinkerTool" > + AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib WebKit$(WebKitDLLConfigSuffix).lib CFLite$(LibraryConfigSuffix).lib" > + OutputFile="$(OutDir)\$(ProjectName)$(WebKitConfigSuffix).dll" > + /> > + <Tool > + Name="VCPostBuildEventTool" > + CommandLine="if exist "$(WebKitOutputDir)\buildfailed" del "$(WebKitOutputDir)\buildfailed"" > + /> > + <Tool > + Name="VCPreBuildEventTool" > + CommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c
if exist "$(WebKitOutputDir)\buildfailed" grep XX$(ProjectName)XX "$(WebKitOutputDir)\buildfailed"
if errorlevel 1 exit 1
echo XX$(ProjectName)XX > "$(WebKitOutputDir)\buildfailed"
" > + /> We should move the Apple-specific stuff out of InjectedBundleCommon so that the non-Apple-specific things don't need to be duplicated here.
Created attachment 68466 [details] Revised per aroben's comments. * Adds missing ChangeLog entry. * Refactors vsprops to reduce duplication.
Comment on attachment 68466 [details] Revised per aroben's comments. Looks sane to me after fixing the ChangeLog.
I'm adding an additional patch to resolve building of WebKitTestRunner and MiniBrowser. With these additions, a full build can again be achieved on WinCairo.
Created attachment 68480 [details] Part 2 of change: Correct build for WebKitTestRunner and MiniBrowser
Part 1 landed in http://trac.webkit.org/changeset/68098.
Note: I purposely left the post-build settings in both the *CoreFoundation and *CFLite property sheets (and projects), even though they are currently the same. A future update will modify the CFLite version of these routines to copy the CFLite-specific DLL's into the appropriate bin directory so tests can be run.
Comment on attachment 68480 [details] Part 2 of change: Correct build for WebKitTestRunner and MiniBrowser This looks sane to me, though there is a lot of duplicated copying logic. bfulgham has assured me that he's making a followup patch which reduces this though.
Landed part 2 in http://trac.webkit.org/changeset/68107.