RESOLVED FIXED 163868
[CMake] generate-bindings-all.pl uses USES_TERMINAL which leaves a noisy line in interactive Ninja build
https://bugs.webkit.org/show_bug.cgi?id=163868
Summary [CMake] generate-bindings-all.pl uses USES_TERMINAL which leaves a noisy line...
Michael Catanzaro
Reported 2016-10-23 08:07:57 PDT
We used to have a ninja build that was silent until the final stages of the build, when generating GtkDoc. That's no longer the case: [0/4006] Generate bindings (WebCoreBindings) Preprocess IDL [34/4006] Generate bindings (WebKitTestRunnerInjectedBundleBindings) [35/3990] Generate bindings (WebKitTestRunnerBindings) [197/3988] Building CXX object Source/...vaScriptCore.dir/b3/B3BasicBlock.cpp.o^C I don't think this extra output is helpful. It could be hidden behind some debug or verbose build flag, or just removed.
Attachments
Patch (2.56 KB, patch)
2016-10-23 08:09 PDT, Michael Catanzaro
no flags
Patch (4.57 KB, patch)
2016-10-23 20:07 PDT, Fujii Hironori
no flags
Patch (4.88 KB, patch)
2016-10-23 20:08 PDT, Fujii Hironori
no flags
Patch (4.23 KB, patch)
2016-10-23 20:29 PDT, Fujii Hironori
no flags
Patch (8.72 KB, patch)
2016-10-31 19:58 PDT, Fujii Hironori
no flags
Patch (8.71 KB, patch)
2016-10-31 21:07 PDT, Fujii Hironori
no flags
Michael Catanzaro
Comment 1 2016-10-23 08:09:40 PDT
Fujii Hironori
Comment 2 2016-10-23 08:27:14 PDT
preprocess-idls.pl is executed unnecessarily because of WriteFileIfChanged of preprocess-idls.pl, which is not useful anymore but harmful for CMake-based port. This is a bug I plan to fix.
Fujii Hironori
Comment 3 2016-10-23 08:34:06 PDT
I can not test you patch now. I think your patch does not solve following output: > [34/4006] Generate bindings (WebKitTestRunnerInjectedBundleBindings) > [35/3990] Generate bindings (WebKitTestRunnerBindings) Isn't it?
Michael Catanzaro
Comment 4 2016-10-23 09:52:53 PDT
(In reply to comment #3) > I can not test you patch now. I think your patch does not solve following > output: > > > [34/4006] Generate bindings (WebKitTestRunnerInjectedBundleBindings) > > [35/3990] Generate bindings (WebKitTestRunnerBindings) > > Isn't it? Hm, you must be right; I didn't try a clean build.
Fujii Hironori
Comment 5 2016-10-23 19:54:24 PDT
I tested your patch. This is a incremental build log without any source code change. > fujii@localhost $ ./Tools/Scripts/build-webkit --gtk --debug --64-bit > [0/949] Generate bindings (WebCoreBindings) > [2/38] Generate bindings (WebKitTestRunnerInjectedBundleBindings) > [3/22] Generate bindings (WebCoreTestSupportBindings) > [4/10] Generate bindings (WebKitTestRunnerBindings) > [7/7] cd /home/fujii/work/webkit/w1/WebKitBuild/Debug/Tools/T...rivedSources/ForwardingHeaders --platform gtk --platform soup > > ==================================================================== > WebKit is now built (00m:02s). > To run MiniBrowser with this newly-built code, use the > "Tools/Scripts/run-minibrowser" script. > ==================================================================== > fujii@localhost $ Your patch does not suppress the build log because I specify USES_TERMINAL option.
Fujii Hironori
Comment 6 2016-10-23 20:07:16 PDT
Fujii Hironori
Comment 7 2016-10-23 20:08:59 PDT
Fujii Hironori
Comment 8 2016-10-23 20:29:53 PDT
Created attachment 292576 [details] Patch * Preserve BYPRODUCTS option which is needed for Ninja
Fujii Hironori
Comment 9 2016-10-24 00:52:55 PDT
Michael, I think the output of generate-bindings-all.pl is helpful to know which IDL bindings are regenerated. Are the following four lines annoying? That is issued by Ninja. > [0/949] Generate bindings (WebCoreBindings) > [2/38] Generate bindings (WebKitTestRunnerInjectedBundleBindings) > [3/22] Generate bindings (WebCoreTestSupportBindings) > [4/10] Generate bindings (WebKitTestRunnerBindings)
Michael Catanzaro
Comment 10 2016-10-24 10:08:59 PDT
(In reply to comment #9) > Michael, > > I think the output of generate-bindings-all.pl is helpful to know > which IDL bindings are regenerated. > Are the following four lines annoying? That is issued by Ninja. > > > [0/949] Generate bindings (WebCoreBindings) > > [2/38] Generate bindings (WebKitTestRunnerInjectedBundleBindings) > > [3/22] Generate bindings (WebCoreTestSupportBindings) > > [4/10] Generate bindings (WebKitTestRunnerBindings) I don't see why it's helpful. I would indeed prefer these to be silenced.
Fujii Hironori
Comment 11 2016-10-24 19:53:27 PDT
For example, a new IDL StaticRange.idl was added in <http://trac.webkit.org/changeset/207670>. If a new IDL is added, supplemental_dependency.tmp will be updated. In this case, non-CMake-based port (Mac port) regenerates all bindings. See this build log: https://build.webkit.org/builders/Apple%20El%20Capitan%20Debug%20%28Build%29/builds/11132/steps/compile-webkit/logs/stdio On the other hand, in CMake-based port regenerating bindings which is needed. https://build.webkit.org/builders/GTK%20Linux%2064-bit%20Debug%20%28Build%29/builds/64008/steps/compile-webkit/logs/stdio > [1/3] InputEvent.idl > [2/3] StaticRange.idl > [3/3] DOMWindow.idl We can confirmed three IDL files was processed by seeing build log of BuildBot.
Michael Catanzaro
Comment 12 2016-10-25 04:51:55 PDT
But the buildbots print verbose output. I don't mind if it shows up in the logs on the buildbot, I just don't want to see it on a separate line when running ninja myself. :) We should also clean up GtkDoc to not do this, but that's a preexisting issue.
Fujii Hironori
Comment 13 2016-10-25 23:32:08 PDT
I'll try to find a solution.
Fujii Hironori
Comment 14 2016-10-31 19:58:12 PDT
Michael Catanzaro
Comment 15 2016-10-31 20:15:32 PDT
Comment on attachment 293519 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=293519&action=review > Source/cmake/WebKitMacros.cmake:48 > +option(SHOW_PROGRESS_OF_GENERATE_BINDINGS "Show progress of generating bindings" ON) OK, thanks. But please name it SHOW_BINDINGS_GENERATION_PROGRESS and change the default to OFF. Then it can be turned on on the bots.
Fujii Hironori
Comment 16 2016-10-31 21:07:48 PDT
Created attachment 293525 [details] Patch Thank you for review. * Renamed to SHOW_BINDINGS_GENERATION_PROGRESS * Set OFF as default SHOW_BINDINGS_GENERATION_PROGRESS * Enable SHOW_BINDINGS_GENERATION_PROGRESS unless interactive Ninja build
Fujii Hironori
Comment 17 2016-10-31 21:16:03 PDT
Comment on attachment 293525 [details] Patch Oops. I mistakenly clear r+ flag.
Michael Catanzaro
Comment 18 2016-11-01 05:00:29 PDT
Comment on attachment 293525 [details] Patch Thank you for working on this!
WebKit Commit Bot
Comment 19 2016-11-01 05:23:43 PDT
Comment on attachment 293525 [details] Patch Clearing flags on attachment: 293525 Committed r208220: <http://trac.webkit.org/changeset/208220>
WebKit Commit Bot
Comment 20 2016-11-01 05:23:48 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.