Bug 80680

Summary: Move WTF-related Windows project files out of JavaScriptCore
Product: WebKit Reporter: Steve Falkenburg <sfalken>
Component: New BugsAssignee: Steve Falkenburg <sfalken>
Status: RESOLVED FIXED    
Severity: Normal CC: bfulgham, dbates, eric, jberlin
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 75673, 80911    
Attachments:
Description Flags
Patch
none
Patch jberlin: review+

Description Steve Falkenburg 2012-03-08 23:37:07 PST
Move WTF-related Windows project files out of JavaScriptCore
Comment 1 Steve Falkenburg 2012-03-08 23:49:05 PST
Created attachment 130993 [details]
Patch
Comment 2 Steve Falkenburg 2012-03-09 00:14:31 PST
Created attachment 130998 [details]
Patch
Comment 3 Jessie Berlin 2012-03-09 07:50:11 PST
Comment on attachment 130998 [details]
Patch

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

Do we need to worry about this working with build-webkit? Eric's comment in https://bugs.webkit.org/show_bug.cgi?id=80553#c13 implies that it wouldn't work yet.

r=me (assuming it doesn't screw up build-webkit)

> Source/WTF/WTF.vcproj/work-around-vs-dependency-tracking-bugs.py:11
> +TOP_LEVEL_DIRECTORY = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))

Why is calling dirname no longer necessary here?
Comment 4 Eric Seidel (no email) 2012-03-09 13:32:02 PST
Last time I looked build-webkit did not attempt to build the Source/WTF directory.  I have a patch to do that on mac, but I haven't landed it yet.

I'm happy to land the mac part (it will be trivial to extend it for Win) if that would be helpful to you.
Comment 5 Eric Seidel (no email) 2012-03-09 13:53:50 PST
In case it's useful to you, I just posted a patch which will make build-webkit build Source/WTF when building Mac: bug 80728.

It would be trivial to change that line to add an "or isAppleWinWebKit()"
Comment 6 Eric Seidel (no email) 2012-03-12 17:34:17 PDT
Once this lands, I will look into fixing the win-ews bot for bug 80911.
Comment 7 Eric Seidel (no email) 2012-03-15 10:18:08 PDT
Is there anything I can do to help here?  I'm interested in seeing this land as it unblocks the next steps in the move. :)
Comment 8 Steve Falkenburg 2012-03-15 10:47:55 PDT
This will need to be updated before landing (to pull in the latest vcproj changes).
The soonest I can get to this is next week.

We'd rather land this just before you're ready for your next steps on the move. Can you give an ETA on that?
Comment 9 Eric Seidel (no email) 2012-03-15 10:58:58 PDT
(In reply to comment #8)
> This will need to be updated before landing (to pull in the latest vcproj changes).
> The soonest I can get to this is next week.
> 
> We'd rather land this just before you're ready for your next steps on the move. Can you give an ETA on that?

I've moved away from the "break everything at once, and then try and rebuild everything" model, to a "use the EWS bots to avoid breaking anyone" model, which I've been doing asynchronously with other things.

The patch to do the next step (of moving a single header out of JavaScriptCore/wtf to WTF/wtf) is already posted on bug 80911.  I'm fixing Chromium and the other EWS bots as we speak.

My current plan is as follows:

1.  Move a single header (Platform.h) from JSC/wtf to WTF/wtf, fix all the builders.
2.  Move a single compilation unit (probably NullPtr.*), fix all the builders.
3.  Announce on webkit-dev that I'm moving the rest.
4.  Move the rest (which should be trivial now that the concept is proven), fix all the builders.

I'm happy to revert to my previous plan of basically just steps 3/4.  I'd been having good luck with this slow async method, but whatever works for you all.


I can also look into editing the exiting JavaScriptCore/wtf/WTF.vcproj to point to ../../WTF/wtf/Platform.h and see if that builds.
Comment 10 Eric Seidel (no email) 2012-03-15 11:00:18 PDT
Again, I'm not in any huge hurry here.  Just checking back on this project.  I'll see about editing JavaScriptCore/wtf/WTF.vcproj to point to WTF/wtf/Platform.h for my patch on bug 80911 and see if that builds.
Comment 11 Brent Fulgham 2012-03-15 13:08:52 PDT
I'm getting tons of build errors locally with these changes (12>e:\Projects\WebKit\Source\WebKit2\config.h(35) : fatal error C1083: Cannot open include file: 'wtf/DisallowCType.h': No such file or directory).

Somehow the WinCairo port isn't seeing the same paths as the main Windows build bot.

I'm trying to figure things out...
Comment 12 Jessie Berlin 2012-03-15 14:42:55 PDT
(In reply to comment #11)
> I'm getting tons of build errors locally with these changes (12>e:\Projects\WebKit\Source\WebKit2\config.h(35) : fatal error C1083: Cannot open include file: 'wtf/DisallowCType.h': No such file or directory).
> 
> Somehow the WinCairo port isn't seeing the same paths as the main Windows build bot.
> 
> I'm trying to figure things out...

You probably need to make sure the Cairo vsprops files have the correct new include path for the wtf headers (see http://trac.webkit.org/changeset/110133 for examples).
Comment 13 Brent Fulgham 2012-03-15 20:46:23 PDT
I'm able to build locally now. Hopefully the build bot will catch up soon!
Comment 14 Eric Seidel (no email) 2012-03-19 23:51:37 PDT
I believe I've now fixed all other platforms besides win (for bug 80911).  Once this patch lands, I can fix Win and move to the next stage of the WTF move. :)  Again, let me know if I can help!
Comment 15 Eric Seidel (no email) 2012-03-20 12:14:00 PDT
Odd.  The patch does not apply because svn-apply doesn't seem to see WTF.vcproj as an add.  I suspect that's a bug in svn-apply!
Comment 16 Steve Falkenburg 2012-03-20 14:25:43 PDT
Committed r111438: <http://trac.webkit.org/changeset/111438>
Comment 17 Eric Seidel (no email) 2012-03-20 14:45:32 PDT
Thank you!
Comment 18 Daniel Bates 2012-03-20 15:56:41 PDT
(In reply to comment #15)
> Odd.  The patch does not apply because svn-apply doesn't seem to see WTF.vcproj as an add.  I suspect that's a bug in svn-apply!

Oh noes! Will look into it shortly.