Bug 61951

Summary: [GTK] autogen.sh is run twice for each buld on the bots
Product: WebKit Reporter: Martin Robinson <mrobinson>
Component: WebKitGTKAssignee: Martin Robinson <mrobinson>
Status: RESOLVED FIXED    
Severity: Normal CC: gustavo, pnormand, xan.lopez
Priority: P3 Keywords: Gtk
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Attachments:
Description Flags
Patch none

Description Martin Robinson 2011-06-02 12:08:46 PDT
When  build-jsc and build-webkit are run sequentially, code in webkitdirs.pm detects the arguments to autogen.sh changing. This is a false positive though, since the autogen.sh arguments for build-jsc and build-webkit are always different. For JavaScriptCore using build-webkit, the arguments should never change, so we can avoid looking at the previous arguments altogether.
Comment 1 Martin Robinson 2011-06-02 12:23:33 PDT
Created attachment 95785 [details]
Patch
Comment 2 Gustavo Noronha (kov) 2011-06-02 13:28:15 PDT
Comment on attachment 95785 [details]
Patch

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

This change seems OK to me, except for the fact that in the edge case of no GNUmakefile and a file with old arguments being still around it will run autogen twice. I'll say r=me since it seems reasonably easy to fix it with the suggestion I made.

> Tools/Scripts/webkitdirs.pm:1526
> +    # If GNUmakefile exists, don't run autogen.sh unless its arguments
> +    # have changed. The makefile should be smart enough to track autotools
> +    # dependencies and re-run autogen.sh when build files change.
> +    if (!(-e "GNUmakefile")) {
> +        runAutogenForAutotoolsProject($dir, $prefix, $sourceDir, @buildArgs);
> +    }
>  
> +    my $autogenArgumentsFile = "previous-autogen-arguments-for-$project.txt";
> +    if ($project eq "WebKit" and autogenArgumentsHaveChanged($autogenArgumentsFile, @buildArgs)) {

Hmm. Won't this cause autogen to be run twice if there is no GNUmakefile and a file with arguments that are different from the current ones? Why not add the !(-e "GNUmakefile") check to the same if that checks for project and arguments having changed with an or?
Comment 3 Martin Robinson 2011-06-02 14:50:40 PDT
Committed r87957: <http://trac.webkit.org/changeset/87957>