As mentioned on the Improving Life on Windows wiki page <http://trac.webkit.org/wiki/ImprovingLifeOnWindows>, we should detect when the Windows Platform SDK is missing and inform the user. This will also fix the first error listed in <http://trac.webkit.org/wiki/BuildingOnWindows#VisualCExpressEdition>.
Created attachment 50597 [details] Patch
Comment on attachment 50597 [details] Patch Yay!
Comment on attachment 50597 [details] Patch Clearing flags on attachment: 50597 Committed r56044: <http://trac.webkit.org/changeset/56044>
All reviewed patches have been landed. Closing bug.
Sweet!
Reverted r56044 for reason: This patch broke Windows Debug (Tests) Committed r56099: <http://trac.webkit.org/changeset/56099>
Thanks for rolling this out. Will look into. (In reply to comment #6) > Reverted r56044 for reason: > > This patch broke Windows Debug (Tests) > > Committed r56099: <http://trac.webkit.org/changeset/56099>
Created attachment 51221 [details] Patch Moved check for Platform SDK into subroutine buildVisualStudioProject from subroutine setupCygwinEnv so that we only check for its existence when we are are going to build. This resolves the issue observed on the Windows Debug (Test) bot where run-webkit-tests is passed the --root argument and thus does not build DRT (hence, there is no need to check for the Platform SDK). Also, updated the criterion for determining whether the Platform SDK is installed by checking for the existence of its registry entry instead of a fixed install location.
Comment on attachment 51221 [details] Patch > +my $isBuildingWithVCExpress = 0; > > # Defined in VCSUtils. > sub exitStatus($); > @@ -1026,6 +1027,7 @@ sub setupCygwinEnv() > print "*************************************************************\n"; > die; > } > + $isBuildingWithVCExpress = 1; > } The name of this variable makes it sound like it will only be set to 1 when a build is actually in progress. Maybe $willUseVCExpressWhenBuilding or something like that would be better? > +sub dieIfWindowsPlatformSDKNotInstalled > +{ > + my $windowsPlatformSDKRegistryEntry = "/proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1"; > + > + if (-e $windowsPlatformSDKRegistryEntry) { > + return; > + } This can be written as: return if -e $windowsPlatformSDKRegistryEntry; r=me
(In reply to comment #9) > (From update of attachment 51221 [details]) > > +my $isBuildingWithVCExpress = 0; > > > > # Defined in VCSUtils. > > sub exitStatus($); > > @@ -1026,6 +1027,7 @@ sub setupCygwinEnv() > > print "*************************************************************\n"; > > die; > > } > > + $isBuildingWithVCExpress = 1; > > } > > The name of this variable makes it sound like it will only be set to 1 when a > build is actually in progress. Maybe $willUseVCExpressWhenBuilding or something > like that would be better? Will change before I land. > > > +sub dieIfWindowsPlatformSDKNotInstalled > > +{ > > + my $windowsPlatformSDKRegistryEntry = "/proc/registry/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MicrosoftSDK/InstalledSDKs/D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1"; > > + > > + if (-e $windowsPlatformSDKRegistryEntry) { > > + return; > > + } > > This can be written as: > > return if -e $windowsPlatformSDKRegistryEntry; Will change before I land.
Committed r56419: <http://trac.webkit.org/changeset/56419>