[Webkit-unassigned] [Bug 27619] [multi-patch] Switch wx to using waf for builds

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Aug 1 17:55:06 PDT 2009


https://bugs.webkit.org/show_bug.cgi?id=27619





--- Comment #12 from Kevin Ollivier <kevino at theolliviers.com>  2009-08-01 17:55:05 PDT ---
Hi Jan,

First off, thanks for all your help on reviewing these patches! :-)

(In reply to comment #7)
> (From update of attachment 33374 [details])
> > +    # get / update waf if needed
> > +    my $waf = 'WebKitTools/wx/waf';
> > +    my $wafURL = 'http://wxwebkit.wxcommunity.com/downloads/deps/waf';
> > +    if (!-f $waf) {
> > +        my $result = system "curl -o $waf $wafURL";
> > +        chmod 0755, $waf;
> > +    }
> 
> Is downloading waf easier for wx instead of just making it a dependency?

Yes, I've found that the less steps that require user intervention, the less
chance the user will run into issues. I've seen issues where people get the
wrong version of Bakefile, get it from the wrong place, etc. Also issues where
a system Bakefile isn't quite what the user needs, and so you end up with messy
hacks to pick the right version. You never know how a user's system is
configured, and sometimes they've got a lot of stuff they didn't even put
there. So a script downloading the right version into the right place in the
tree and using that is IMHO best.

> > @@ -323,6 +340,16 @@
> >          if ($dir eq "WebKit") {
> >              $result = buildVisualStudioProject("win/WebKit.vcproj/WebKit.sln", $clean);
> >          }
> > +    } elsif (isWx()) {
> > +        @options = ();
> > +        if (defined($makeArgs)) {
> > +            @options = split(/ /, $makeArgs);
> > +        }
> > +        if ($dir eq "WebKit" && isWx()) {
> > +            chdir 'wx' or die;
> 
> Is there a reason why you're checking for isWx() twice?

No, sorry, good catch. That code used to be outside the ifWx() block, and I
forgot to remove the check when I moved the code.

> > +        }
> > +            
> > +        $result = buildWafProject($dir, $clean, @options);
> >      }
> >  
> >      if (exitStatus($result)) {
> > @@ -335,7 +362,7 @@
> >          }
> >          exit exitStatus($result);
> >      }
> > -    chdir ".." or die;
> > +    chdirWebKit();
> 
> Any reason for this change?

Yes, it relates to the fact that some wx port projects can be in places like
WebKit/wx, or even WebKit/wx/bindings/python. The code `chdir ".." or die`
really intends to bring you back to the root of the WebKit tree, and it works
for the current implementation only because the other ports the project dirs
are all only one level below the root dir AFAICT. (e.g. <wk_root>/WebKit,
rather than <wk_root>/WebKit/wx)

> >  }
> >  
> >  # Don't report the "WebKit is now built" message after a clean operation.
> > @@ -349,7 +376,11 @@
> >  print "\n";
> >  print "===========================================================\n";
> >  print " WebKit is now built. To run $launcherName with this newly-built\n";
> > -print " code, use the \"$launcherPath\" script.\n";
> > +if (isWx()) {
> > +    print " code, run \"$launcherPath\".\n";
> > +} else {
> > +    print " code, use the \"$launcherPath\" script.\n";
> > +}
> 
> I think you should just add --wx support to run-launcher so we can avoid
> conditionalizing this.

Okay, I'll do it that way instead. Thanks. :-)

> > +    } elsif (isWx()) {
> > +        return productDir() . '/wxBrowser';
> 
> See my comment above to add --wx support to run-launcher.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list