Bug 137606

Summary: [EFL][GTK] Make it possible to get verbose output with ninja
Product: WebKit Reporter: Éva Balázsfalvi <evab.u-szeged>
Component: Tools / TestsAssignee: Éva Balázsfalvi <evab.u-szeged>
Status: RESOLVED FIXED    
Severity: Normal CC: cgarcia, commit-queue, dbates, mrobinson, ossy
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 137605, 137703    
Bug Blocks:    
Attachments:
Description Flags
Patch
none
Patch none

Description Éva Balázsfalvi 2014-10-10 04:15:41 PDT
Make it possible to get verbose output with ninja on gtk and efl port as well.
Comment 1 Éva Balázsfalvi 2014-10-10 08:01:46 PDT
Created attachment 239626 [details]
Patch
Comment 2 Csaba Osztrogonác 2014-10-14 05:27:18 PDT
Comment on attachment 239626 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=239626&action=review

I like the idea, but I think we need some minor fixes.
 
When we use verbose build, we usually do it to be able copy/paste
a command and then run it manually, maybe after some manual editing
or simple check all the command line arguments.

In this case we should disable forcing response files too, see:
http://trac.webkit.org/browser/trunk/Source/cmake/OptionsCommon.cmake#L68

> Tools/Scripts/webkitdirs.pm:1832
> +    push @args, "-v" if $ENV{VERBOSE} or $ENV{V};

I think VERBOSE environment variable is enough, we don't need
two. The makefilegenerator of CMake use VERBOSE also, so it is 
a good choice. V is an autotoolsism, we can avoid using it here.
Comment 3 Éva Balázsfalvi 2014-10-14 08:25:45 PDT
(In reply to comment #2)
> (From update of attachment 239626 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=239626&action=review
> 
> I like the idea, but I think we need some minor fixes.
> 
> When we use verbose build, we usually do it to be able copy/paste
> a command and then run it manually, maybe after some manual editing
> or simple check all the command line arguments.
> 
> In this case we should disable forcing response files too, see:
> http://trac.webkit.org/browser/trunk/Source/cmake/OptionsCommon.cmake#L68
> 
> > Tools/Scripts/webkitdirs.pm:1832
> > +    push @args, "-v" if $ENV{VERBOSE} or $ENV{V};
> 
> I think VERBOSE environment variable is enough, we don't need
> two. The makefilegenerator of CMake use VERBOSE also, so it is 
> a good choice. V is an autotoolsism, we can avoid using it here.

I'll remove the V environment variable, thanks for pointing out.

However, I tried an EFL build with disabling response files as requested, but even with verbose enabled, the linking failed with "Argument list too long".

Shortened version of the last few rows of received console output:

[5/96] cd /home/eva/webkit/WebKit/WebKitBuild/Release/Tools/TestWebKitAPI && ............ /home/eva/webkit/WebKit/WebKitBuild/Release/DerivedSources/WebKit2/include soup
FAILED: : && /usr/bin/cmake -E remove lib/libwebcore_efl.a && /usr/bin/ar ............  && /usr/bin/ranlib lib/libwebcore_efl.a && :
Argument list too long
ninja: build stopped: subcommand failed.
Comment 4 Éva Balázsfalvi 2014-10-14 08:31:50 PDT
Created attachment 239801 [details]
Patch
Comment 5 WebKit Commit Bot 2014-10-14 09:42:54 PDT
Comment on attachment 239801 [details]
Patch

Clearing flags on attachment: 239801

Committed r174683: <http://trac.webkit.org/changeset/174683>
Comment 6 WebKit Commit Bot 2014-10-14 09:42:58 PDT
All reviewed patches have been landed.  Closing bug.
Comment 7 Martin Robinson 2014-10-14 09:45:31 PDT
Comment on attachment 239801 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=239801&action=review

> Tools/Scripts/webkitdirs.pm:1832
> +    push @args, "-v" if $ENV{VERBOSE};

It doesn't look like this will work for make-based builds...
Comment 8 Csaba Osztrogonác 2014-10-14 11:15:15 PDT
(In reply to comment #7)
> (From update of attachment 239801 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=239801&action=review
> 
> > Tools/Scripts/webkitdirs.pm:1832
> > +    push @args, "-v" if $ENV{VERBOSE};
> 
> It doesn't look like this will work for make-based builds...

Oops, make -v is really fast, but doesn't do any build task. :)
Fix is in bug137703. Sorry for the trouble.