Bug 106949

Summary: Build Apple Windows 7 port in VS2010 in 32 and 64 bit
Product: WebKit Reporter: Roger Fong <roger_fong>
Component: Tools / TestsAssignee: Roger Fong <roger_fong>
Status: RESOLVED FIXED    
Severity: Normal CC: ashodnakashian, bfulgham, divakar.webkit, jonlee, ossy, roger_fong, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Windows 7   
Bug Depends on: 106986, 106987, 106988, 106989, 107034, 107037    
Bug Blocks: 107038, 107714    
Attachments:
Description Flags
WebKitLibraries Property Sheets
bfulgham: review+
WebKit Solution file
none
WebKit Solution file
bfulgham: review+, bfulgham: commit-queue-
Modifications to WebKitLibraries none

Description Roger Fong 2013-01-15 15:33:24 PST
Fresh attempt to port of VS2010 following https://bugs.webkit.org/show_bug.cgi?id=53445.

I'm recreating the WebKit solution on VS2010. 
I'm trying to not rely completely on conversion wizard so I can work out dependency issues and so that I can clean up the build scripts and settings along the way.

I've also been noticing that there are a lot of consistencies with the setup, like not taking advantage of property sheet hierarchies, and odd placement/organization of project files.
I'm cleaning these up as well as I move along.
Comment 1 Radar WebKit Bug Importer 2013-01-15 15:33:53 PST
<rdar://problem/13019844>
Comment 2 Brent Fulgham 2013-01-15 23:19:10 PST
Thanks for working on this. Let me know if I can help with anything.
Comment 3 Roger Fong 2013-01-16 01:15:37 PST
The plan for this is to start with 32 bit and get everything working until other parties like CoreFoundation get their libraries converted to 64 bit.

At that point we'll flip the switch and see what problems arise.

So far the VS2010'ing process is going fairly smoothly. But I expect I may run into unexpected problems when flipping the 64 bit switch and may need some help there :).

I'll be filing subtask bugs for each different parts of the webkit solution that need to converted.
Comment 4 Roger Fong 2013-01-16 01:25:52 PST
The hope is to check each part as separate chunks. I'm placing each section in a folder called $(ProjectName)2010.vcproj which lives along side the original vs2005 $(ProjectName).vcproj folder.

Ideally the hope is that when the whole solution is converted we can nuke the vs2005 solution in favor of the new one.

Side Note: I've only been setting up Debug and Release configurations as I haven't seen really any differences between production/release and debug/debug_all.
Maybe someone else can enlighten me on this one though.

It looks like we only ever build Debug or Release on the Apple Windows port anyways?
Comment 5 Roger Fong 2013-01-19 15:08:40 PST
Created attachment 183636 [details]
WebKitLibraries Property Sheets

WebKit Libraries property sheets.
I funneled a number of common settings to these property sheets since they were being unnecessarily repeated in property sheets higher up in the property hierarchy.
Comment 6 Roger Fong 2013-01-19 15:12:16 PST
Created attachment 183637 [details]
WebKit Solution file
Comment 7 Roger Fong 2013-01-19 15:27:20 PST
By the way, I changed some environment variable names. 

WEBKITLIBRARIES -> WEBKIT_LIBRARIES
WEBKITOUTPUTDIR -> WEBKIT_OUTPUTDIR
WEBKIT_TESTFONTS (stayed the same)

Added WEBKIT_SOURCE to point to Source directory of webkit checkout
I added this to get rid of some ridiculous relative paths in the build scripts (../../../../../../ etc etc).
Comment 8 Roger Fong 2013-01-22 15:30:03 PST
Comment on attachment 183637 [details]
WebKit Solution file

Not sure why I kept the name of this project as WebKit2010.
Renaming it and updating solution to use projects in the updated folder names for each project (for example, WTF.vcxproj instead of WTF2010.vcproj)
Comment 9 Roger Fong 2013-01-22 17:45:40 PST
Created attachment 184093 [details]
WebKit Solution file
Comment 10 Roger Fong 2013-01-23 11:41:45 PST
Review on these too please?
Comment 11 Brent Fulgham 2013-01-23 11:50:51 PST
Comment on attachment 183636 [details]
WebKitLibraries Property Sheets

Looks great. r=me.
Comment 12 Brent Fulgham 2013-01-23 11:52:51 PST
Comment on attachment 184093 [details]
WebKit Solution file

View in context: https://bugs.webkit.org/attachment.cgi?id=184093&action=review

Looks good.  I think the ChangeLog comments are out-of-sync with the actual directory name you used.  Please correct when landing.

r=me.

> ChangeLog:9
> +        * WebKit2010.vcproj: Added.

WebKit2010.vcxproj added?  :-)

> ChangeLog:10
> +        * WebKit2010.vcproj/WebKit2010.sln: Added.

Ditto.

> WebKit.vcxproj/WebKit2010.sln:1
> +

I don't think you need to 2010 on the solution file.  It's in its own WebKit.vcxproj directory, so will not conflict with the VS2005 version.
Comment 13 Roger Fong 2013-01-23 12:40:09 PST
Oops, coulda sworn I changed that solution name.
Anyways fixed that and the Changelog, committed
WebKitLibraries property sheets: r140567 
WebKit Solution file: r140568
Comment 14 Roger Fong 2013-01-23 14:36:14 PST
Rechecked in solution file: http://trac.webkit.org/changeset/140597

Previous checkin has references to projects that don't exist in an OpenSource build.
Comment 15 Csaba Osztrogonác 2013-01-23 14:50:21 PST
(In reply to comment #14)
> Rechecked in solution file: http://trac.webkit.org/changeset/140597
> 
> Previous checkin has references to projects that don't exist in an OpenSource build.

It broke all EWS bots, could you fix it, please? See https://bugs.webkit.org/show_bug.cgi?id=96934#c6 for details.
Comment 16 Roger Fong 2013-01-23 15:03:44 PST
Sorry, just committed the fix.
Were the EWS bots fine before this? I've been checking in a ton of vcxproj files so I'm surprised it hasn't complained about those yet.
Comment 17 Csaba Osztrogonác 2013-01-23 15:07:44 PST
(In reply to comment #16)
> Sorry, just committed the fix.
> Were the EWS bots fine before this? I've been checking in a ton of vcxproj files so I'm surprised it hasn't complained about those yet.

Yep, they were happy and are/will happy after http://trac.webkit.org/changeset/140603. :) Thanks for the quick fix.
Comment 18 Roger Fong 2013-02-01 18:47:55 PST
Created attachment 186203 [details]
Modifications to WebKitLibraries

Changes to common.props and adds a temporary auto-version script for use only by the VS2010 solution.
Will be removed when we nuke the 2005 solution.
Comment 19 Divakar 2013-02-06 02:54:50 PST
But we need support for Visual Studio 2005 as well!
Comment 20 Roger Fong 2013-02-06 10:10:27 PST
(In reply to comment #19)
> But we need support for Visual Studio 2005 as well!

Why?
Comment 21 Brent Fulgham 2013-04-05 20:32:40 PDT
*** Bug 77517 has been marked as a duplicate of this bug. ***
Comment 22 Andreas Kling 2014-02-05 11:15:14 PST
Comment on attachment 186203 [details]
Modifications to WebKitLibraries

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.