RESOLVED FIXED150700
[Win] build-jsc and run-javascriptcore-tests do not work
https://bugs.webkit.org/show_bug.cgi?id=150700
Summary [Win] build-jsc and run-javascriptcore-tests do not work
Brent Fulgham
Reported 2015-10-29 16:41:49 PDT
The "run-javascript-core" script does not work following our switch to CMake on Windows, because it attempts to build using the increasingly-out-of-date "Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.sln" solution to build the various pieces of JSC. The actual failure was in the "build-jsc" script, which does not use the new CMake build system for Windows. This patch corrects this oversight, allowing JSC developers to build only the JavaScript-related files. (820 files instead of 3500 files!)
Attachments
Patch (5.43 KB, patch)
2015-10-29 16:49 PDT, Brent Fulgham
mark.lam: review+
Brent Fulgham
Comment 1 2015-10-29 16:49:08 PDT
Mark Lam
Comment 2 2015-10-29 16:52:00 PDT
Comment on attachment 264365 [details] Patch r=me
Alex Christensen
Comment 3 2015-10-29 16:55:04 PDT
lgtm, too
Brent Fulgham
Comment 4 2015-10-29 17:09:48 PDT
The windows EWS failure looks like a bot problem. I'm investigating.
Brent Fulgham
Comment 5 2015-10-29 17:20:55 PDT
Michael Saboff
Comment 6 2015-10-29 18:16:32 PDT
After this change, I now can't build JavaScriptCore or WebKit. I get: $ build-webkit --release --64-bit Use of uninitialized value $expectedVersion in scalar chomp at Tools/Scripts/update-webkit-support-libs line 113. Falling back to existing version of WebKitSupportLibrary. Error: /home/msaboff/src/OpenSource/WebKitBuild/Release is not a directory The directory does exist. $ ls /home/msaboff/src/OpenSource/WebKitBuild/Release ALL_BUILD.vcxproj* cmakeconfig.h* INSTALL.vcxproj* RUN_TESTS.vcxproj* x64/ ALL_BUILD.vcxproj.filters* CMakeFiles/ INSTALL.vcxproj.filters* RUN_TESTS.vcxproj.filters* ZERO_CHECK.vcxproj* bin64/ CPackConfig.cmake* lib32/ Source/ ZERO_CHECK.vcxproj.filters* buildfailed* CPackSourceConfig.cmake* lib64/ Tools/ build-webkit-options.txt CTestTestfile.cmake* obj64/ WebKit.sln* cmake_install.cmake* DerivedSources/ PACKAGE.vcxproj* webkit_errors.log* CMakeCache.txt* include/ PACKAGE.vcxproj.filters* webkit_warnings.log* If I roll back to r191765, I can build.
Brent Fulgham
Comment 7 2015-10-29 19:42:48 PDT
I'll fix ASAP!
Csaba Osztrogonác
Comment 8 2015-10-30 03:23:45 PDT
(In reply to comment #5) > Committed r191766: <http://trac.webkit.org/changeset/191766> Apple Windows and WinCairo build is still broken.
Brent Fulgham
Comment 9 2015-10-30 10:06:46 PDT
Csaba Osztrogonác
Comment 10 2015-11-10 03:52:55 PST
(In reply to comment #9) > Committed r191793: <http://trac.webkit.org/changeset/191793> Originally you landed this change in r191766: - buildCMakeProjectOrExit(0, cmakeBasedPortName(), undef, "jsc $makeArgs", (cmakeBasedPortArguments(), $cmakeArgs)); + my $testapi = (isAnyWindows() ? "testapi" : ""); + buildCMakeProjectOrExit(0, cmakeBasedPortName(), undef, "jsc $testapi $makeArgs", (cmakeBasedPortArguments(), $cmakeArgs)); And this one in r191793: - # By default we build using all of the available CPUs - $makeArgs .= ($makeArgs ? " " : "") . "-j" . numberOfCPUs() if $makeArgs !~ /-j\s*\d+/; + + my $buildTarget = ""; + unless (isAnyWindows()) { + # By default we build using all of the available CPUs + $makeArgs .= ($makeArgs ? " " : "") . "-j" . numberOfCPUs() if $makeArgs !~ /-j\s*\d+/; + $buildTarget = "jsc $makeArgs"; + } elsif (canUseNinja()) { + $buildTarget .= "jsc testapi"; + } Could you explain why -jN causes problem for Windows-ninja ?
Csaba Osztrogonác
Comment 11 2015-11-12 03:58:26 PST
Brent?
Csaba Osztrogonác
Comment 12 2015-11-17 05:23:19 PST
(In reply to comment #11) > Brent? ping?
Csaba Osztrogonác
Comment 13 2015-11-18 02:36:26 PST
(In reply to comment #11) > Brent? ping?
Csaba Osztrogonác
Comment 14 2015-11-19 04:42:00 PST
(In reply to comment #11) > Brent? ping?
Csaba Osztrogonác
Comment 15 2015-11-24 10:09:37 PST
(In reply to comment #11) > Brent? ping?
Csaba Osztrogonác
Comment 16 2015-11-25 08:54:28 PST
(In reply to comment #11) > Brent? ping?
Csaba Osztrogonác
Comment 17 2015-11-26 04:42:25 PST
Brent, it's not fair that you landed an unreviewed hack 2 weeks before and you don't answer my question. Please answer as soon as possible.
Csaba Osztrogonác
Comment 18 2015-12-01 01:09:30 PST
ping?
Alex Christensen
Comment 19 2015-12-01 11:02:02 PST
The unless isAnyWindows is not necessary. It works without it. The canUseNinja is necessary because our bots use CMake and Visual Studio without Ninja. If we change it, though, the testb3 that is there now shouldn't be a target on Windows because b3 isn't enabled on Windows.
Note You need to log in before you can comment on or make changes to this bug.