WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 49185
51937
Windows build should use per-configuration build output directories
https://bugs.webkit.org/show_bug.cgi?id=51937
Summary
Windows build should use per-configuration build output directories
Steve Falkenburg
Reported
2011-01-05 11:18:05 PST
Windows build should use per-configuration build output directories
Attachments
Patch
(481.83 KB, patch)
2011-01-05 11:30 PST
,
Steve Falkenburg
aroben
: review-
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Steve Falkenburg
Comment 1
2011-01-05 11:30:58 PST
Created
attachment 78020
[details]
Patch
Adam Roben (:aroben)
Comment 2
2011-01-05 12:09:37 PST
Comment on
attachment 78020
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=78020&action=review
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj:110 > + BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c

set WEBKITCONFIGURATIONNAME=$(ConfigurationName)
nmake /nologo -f JavaScriptCoreGenerated.make" > + ReBuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c

set WEBKITCONFIGURATIONNAME=$(ConfigurationName)
nmake /nologo -f JavaScriptCoreGenerated.make clean
nmake -f JavaScriptCoreGenerated.make" > + CleanCommandLine="%SystemDrive%\cygwin\bin\which.exe bash
if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%
cmd /c

set WEBKITCONFIGURATIONNAME=$(ConfigurationName)
nmake /nologo -f JavaScriptCoreGenerated.make clean" > + Output="" > + PreprocessorDefinitions="" > + IncludeSearchPath="" > + ForcedIncludes="" > + AssemblySearchPath="" > + ForcedUsingAssemblies="" > + CompileAsManaged=""
I don't think you meant to do this. VS helpfully does this for you.
Adam Roben (:aroben)
Comment 3
2011-01-05 12:09:44 PST
*** This bug has been marked as a duplicate of
bug 49185
***
Build Bot
Comment 4
2011-01-05 12:09:53 PST
Attachment 78020
[details]
did not build on win: Build output:
http://queues.webkit.org/results/7252446
Adam Roben (:aroben)
Comment 5
2011-01-05 12:18:58 PST
Comment on
attachment 78020
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=78020&action=review
Overall: You seem to inconsistently use $ConfigurationName vs. $WebKitConfigurationName, but I think in almost all cases a $ConfigurationBuildDir variable would be clearer.
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.make:18 > + xcopy "$(SRCROOT)\AppleInternal\tests\SunSpider\*" "$(OBJROOT)\$(BUILDSTYLE)\tests\SunSpider" /e/v/i/h/y > + cd "$(OBJROOT)\$(BUILDSTYLE)\tests\SunSpider"
Maybe a new variable would be better than repeating this over and over? Xcode calls this CONFIGURATION_BUILD_DIR. Maybe we could use that name elsewhere, too.
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.sln:27 > - Release_PGOInstrument|Win32 = Release_PGOInstrument|Win32 > - Release_PGOOptimize|Win32 = Release_PGOOptimize|Win32 > + Release_PGO_Optimize|Win32 = Release_PGO_Optimize|Win32 > + Release_PGO|Win32 = Release_PGO|Win32
Why the renames? Can we do this separately?
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:147 > - WholeProgramOptimization="2" > + WholeProgramOptimization="2" > > > - <Tool > + <Tool
This doesn't look right.
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:1921 > - RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\ArrayPrototype.lut.h" > + RelativePath="$(WebKitOutputDir)\$(WebKitConfigurationName)\obj\$(ProjectName)\DerivedSources\ArrayPrototype.lut.h"
Why not just use $(ConfigurationName) here?
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:9 > - AdditionalIncludeDirectories=""$(WebKitOutputDir)\obj\JavaScriptCore\DerivedSources\";../../;../../API/;../../pcre/;../../parser/;../../bytecompiler/;../../jit/;../../runtime/;../../bytecode/;../../interpreter/;../../wtf/;../../profiler;../../assembler/;../../debugger/;"$(WebKitLibrariesDir)\include";"$(WebKitLibrariesDir)\include\private";"$(WebKitOutputDir)\include";"$(WebKitOutputDir)\include\JavaScriptCore";"$(WebKitOutputDir)\include\private";"$(WebKitLibrariesDir)\include\pthreads"" > + AdditionalIncludeDirectories=""$(WebKitOutputDir)\$(WebKitConfigurationName)\obj\JavaScriptCore\DerivedSources\";../../;../../API/;../../pcre/;../../parser/;../../bytecompiler/;../../jit/;../../runtime/;../../bytecode/;../../interpreter/;../../wtf/;../../profiler;../../assembler/;../../debugger/;"$(WebKitLibrariesDir)\include";"$(WebKitLibrariesDir)\include\private";"$(WebKitOutputDir)\$(WebKitConfigurationName)\include";"$(WebKitOutputDir)\$(WebKitConfigurationName)\include\JavaScriptCore";"$(WebKitOutputDir)\$(WebKitConfigurationName)\include\private";"$(WebKitLibrariesDir)\include\pthreads""
...and here?
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:17 > - AdditionalLibraryDirectories=""$(IntDir)\lib"" > + AdditionalLibraryDirectories=""$(WebKitOutputDir)\$(WebKitConfigurationName)\lib""
...and here?
> Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePostBuild.cmd:1 > -if exist "%WEBKITOUTPUTDIR%\buildfailed" del "%WEBKITOUTPUTDIR%\buildfailed" > +if exist "%WEBKITOUTPUTDIR%\%WEBKITCONFIGURATIONNAME%\buildfailed" del "%WEBKITOUTPUTDIR%\%WEBKITCONFIGURATIONNAME%\buildfailed"
If we set up a CONFIGURATION_BUILD_DIR variable in the global pre-build event (etc.), we could use it here.
> Source/JavaScriptCore/JavaScriptCore.vcproj/WTF/WTFPreBuild.cmd:4 > +if exist "%WEBKITOUTPUTDIR%\%CONFIGURATIONNAME%\buildfailed" grep XX%PROJECTNAME%XX "%WEBKITOUTPUTDIR%\%CONFIGURATIONNAME%\buildfailed"
I thought it was %WEBKITCONFIGURATIONNAME%? (Though using %CONFIGURATIONNAME% instead seems fine, as long as it actually works. We should just be sure to be consistent.)
> Tools/FindSafari/FindSafari.vcproj:20 > - InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\FindSafariCommon.vsprops" > + InheritedPropertySheets="..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\FindSafariCommon.vsprops"
Whoopsie!
> WebCore/WebCore.vcproj/WebCore.vcproj:351 > - RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\ColorData.cpp" > + RelativePath="$(WebKitOutputDir)\$(ConfigurationName)\obj\$(ProjectName)\DerivedSources\ColorData.cpp"
It would be nicer to just use $(ConfigurationBuildDir) instead of $(WebKitOutputDir)\$(ConfigurationName).
> WebCore/dom/Document.cpp:1610 > - ASSERT(!view() || (!view()->isInLayout() && !view()->isPainting())); > +// ASSERT(!view() || (!view()->isInLayout() && !view()->isPainting()));
I don't think you meant to leave this in.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug