Bug 119512 - use PlatformArchitecture variable in Visual Studio
Summary: use PlatformArchitecture variable in Visual Studio
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2013-08-06 00:16 PDT by Alex Christensen
Modified: 2013-11-18 17:26 PST (History)
1 user (show)

See Also:


Attachments
Patch (867.75 KB, patch)
2013-08-06 00:42 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (863.70 KB, patch)
2013-08-19 16:39 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (851.28 KB, patch)
2013-08-19 16:51 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
patch (849.86 KB, patch)
2013-08-20 09:48 PDT, Alex Christensen
bfulgham: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Christensen 2013-08-06 00:16:10 PDT
Visual Studio has an environment variable named PlatformArchitecture that evaluates to "32" for 32-bit builds and "64" for 64-bit builds.  There are many places in the Windows build where we have written obj32, bin32, or lib32.  Many of these can be replaced by obj$(PlatformArchitecture), obj%PlatformArchitecture%, etc.

I had some trouble with the .sh shell scripts, work-around-vs-dependency-tracking-bugs.py, and copyForwardingHeaders.cmd, so those can be done in a separate patch.  This is a large step towards getting a 64-bit build on Windows.
Comment 1 Alex Christensen 2013-08-06 00:27:16 PDT
I also had some trouble with WebKitExportGenerator.  To prevent this patch from being too large and complicated, I'll do the rest in another patch.
Comment 2 Alex Christensen 2013-08-06 00:42:53 PDT
Created attachment 208171 [details]
Patch
Comment 3 Alex Christensen 2013-08-06 00:44:55 PDT
This patch has some quirks.  It puts some things (a build log, some scripts) into an obj directory instead of obj32.
Comment 4 Alex Christensen 2013-08-06 10:51:30 PDT
Comment on attachment 208171 [details]
Patch

This needs more work before it's done, and it would completely break the 64-bit build until it is done.
Comment 5 Alex Christensen 2013-08-19 16:36:19 PDT
Let's do this in small steps, starting with the vxcproj, props, and filters.  They work without modifying behavior on the 32-bit build.  It will destroy any hopes of manually hacking together a 64-bit build until we're done, but I'm the only one who's doing that right now, anyways.
Comment 6 Alex Christensen 2013-08-19 16:39:02 PDT
Created attachment 209138 [details]
Patch
Comment 7 Alex Christensen 2013-08-19 16:40:48 PDT
Comment on attachment 209138 [details]
Patch

I got carried away with my regular expressions.  This needs to be done manually.
Comment 8 Alex Christensen 2013-08-19 16:51:49 PDT
Created attachment 209139 [details]
Patch
Comment 9 Alex Christensen 2013-08-20 09:48:08 PDT
Created attachment 209203 [details]
patch

I forgot to undo my changes to a .make file in the previous patch.  This one's good.
Comment 10 Brent Fulgham 2013-08-20 09:53:04 PDT
Comment on attachment 209203 [details]
patch

Yuck! Visual Studio project files are the worst.  This looks fine to me.
Comment 11 Alex Christensen 2013-08-20 09:59:12 PDT
r154333
Comment 12 Brent Fulgham 2013-11-18 17:26:46 PST
<rdar://problem/15498740>