Bug 46303 - [WinCairo] Update WebKitTestRunner and DumpRenderTree Build
Summary: [WinCairo] Update WebKitTestRunner and DumpRenderTree Build
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC OS X 10.5
: P2 Normal
Assignee: Brent Fulgham
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-22 13:55 PDT by Brent Fulgham
Modified: 2010-09-23 09:21 PDT (History)
0 users

See Also:


Attachments
Build fixes for WinCairo. (12.65 KB, patch)
2010-09-22 14:34 PDT, Brent Fulgham
aroben: review-
Details | Formatted Diff | Diff
Revised per aroben's comments. (16.53 KB, patch)
2010-09-22 16:13 PDT, Brent Fulgham
no flags Details | Formatted Diff | Diff
Part 2 of change: Correct build for WebKitTestRunner and MiniBrowser (46.46 KB, patch)
2010-09-22 17:50 PDT, Brent Fulgham
mrobinson: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Brent Fulgham 2010-09-22 13:55:26 PDT
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.
Comment 1 Brent Fulgham 2010-09-22 14:34:08 PDT
Created attachment 68444 [details]
Build fixes for WinCairo.
Comment 2 Adam Roben (:aroben) 2010-09-22 14:46:12 PDT
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="&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\InjectedBundle\&quot;;&quot;$(ProjectDir)\..\InjectedBundle\Bindings&quot;;&quot;$(WebKitOutputDir)\Include&quot;;&quot;$(WebKitOutputDir)\Include\private&quot;;&quot;$(WebKitOutputDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitOutputDir)\obj\InjectedBundle\DerivedSources\&quot;"
> +		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 &quot;$(WebKitOutputDir)\buildfailed&quot; del &quot;$(WebKitOutputDir)\buildfailed&quot;"
> +	/>
> +	<Tool
> +		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;"
> +	/>

We should move the Apple-specific stuff out of InjectedBundleCommon so that the non-Apple-specific things don't need to be duplicated here.
Comment 3 Brent Fulgham 2010-09-22 16:13:36 PDT
Created attachment 68466 [details]
Revised per aroben's comments.

* Adds missing ChangeLog entry.
* Refactors vsprops to reduce duplication.
Comment 4 Martin Robinson 2010-09-22 16:26:26 PDT
Comment on attachment 68466 [details]
Revised per aroben's comments.

Looks sane to me after fixing the ChangeLog.
Comment 5 Brent Fulgham 2010-09-22 17:31:35 PDT
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.
Comment 6 Brent Fulgham 2010-09-22 17:50:31 PDT
Created attachment 68480 [details]
Part 2 of change: Correct build for WebKitTestRunner and MiniBrowser
Comment 7 Brent Fulgham 2010-09-22 17:52:06 PDT
Part 1 landed in http://trac.webkit.org/changeset/68098.
Comment 8 Brent Fulgham 2010-09-22 18:01:08 PDT
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 9 Martin Robinson 2010-09-22 18:08:55 PDT
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.
Comment 10 Brent Fulgham 2010-09-23 09:21:18 PDT
Landed part 2 in http://trac.webkit.org/changeset/68107.