- Revision
- 105258
- Author
- ves...@webkit.org
- Date
- 2012-01-18 03:32:33 -0800 (Wed, 18 Jan 2012)
Log Message
[Qt] Allow building only a subset of the WebKit sub-projects
Fixes build-jsc, broken in r104825.
We no longer need the intermediate buildQMakeQtProject(), as we're the
only port using qmake, and buildQMakeProject is now highly Qt specific.
<http://webkit.org/b/76179>
Reviewed by Simon Hausmann.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (105257 => 105258)
--- trunk/Tools/ChangeLog 2012-01-18 11:25:21 UTC (rev 105257)
+++ trunk/Tools/ChangeLog 2012-01-18 11:32:33 UTC (rev 105258)
@@ -1,3 +1,21 @@
+2012-01-18 Tor Arne Vestbø <tor.arne.ves...@nokia.com>
+
+ [Qt] Allow building only a subset of the WebKit sub-projects
+
+ Fixes build-jsc, broken in r104825.
+
+ We no longer need the intermediate buildQMakeQtProject(), as we're the
+ only port using qmake, and buildQMakeProject is now highly Qt specific.
+
+ <http://webkit.org/b/76179>
+
+ Reviewed by Simon Hausmann.
+
+ * Scripts/build-jsc:
+ * Scripts/build-webkit:
+ * Scripts/webkitdirs.pm:
+ (buildQMakeProjects):
+
2012-01-18 Ryosuke Niwa <rn...@webkit.org>
run-perf-tests should generate a json file that summaries the result
Modified: trunk/Tools/Scripts/build-jsc (105257 => 105258)
--- trunk/Tools/Scripts/build-jsc 2012-01-18 11:25:21 UTC (rev 105257)
+++ trunk/Tools/Scripts/build-jsc 2012-01-18 11:32:33 UTC (rev 105258)
@@ -73,7 +73,8 @@
} elsif (isQt()) {
# Remove duplicated --qt options to avoid passing them to qmake
checkForArgumentAndRemoveFromARGV("--qt");
- $result = buildQMakeProject("_javascript_Core", 0, @ARGV);
+ my @projects = ("WTF", "_javascript_Core");
+ $result = buildQMakeProjects(\@projects, 0, @ARGV);
} elsif (isWx()) {
# Builds everything in one-shot. No need to build anything here.
$result = 0;
Modified: trunk/Tools/Scripts/build-webkit (105257 => 105258)
--- trunk/Tools/Scripts/build-webkit 2012-01-18 11:25:21 UTC (rev 105257)
+++ trunk/Tools/Scripts/build-webkit 2012-01-18 11:32:33 UTC (rev 105258)
@@ -655,13 +655,19 @@
buildCMakeProjectOrExit($clean, "BlackBerry", $prefixPath, $makeArgs, (cmakeBasedPortArguments(), cMakeArgsFromFeatures()));
}
+if (isQt()) {
+ @projects = (); # An empty projects list will build the default projects
+ my $result = buildQMakeProjects(\@projects, $clean, @options);
+ exit exitStatus($result) if exitStatus($result);
+}
+
# Build, and abort if the build fails.
for my $dir (@projects) {
chdir $dir or die;
my $result = 0;
- # For Gtk and Qt the WebKit project builds all others
- if ((isGtk() || isQt()) && $dir ne "Source/WebKit") {
+ # For Gtk the WebKit project builds all others
+ if (isGtk() && $dir ne "Source/WebKit") {
chdirWebKit();
next;
}
@@ -672,9 +678,6 @@
unshift(@options, "--enable-webkit2");
}
$result = buildGtkProject($project, $clean, @options);
- } elsif (isQt()) {
- #FIXME: $dir should probably be $project.
- $result = buildQMakeQtProject($dir, $clean, @options);
} elsif (isAppleMacWebKit()) {
my @local_options = @options;
push @local_options, XcodeCoverageSupportOptions() if $coverageSupport && $project ne "ANGLE";
Modified: trunk/Tools/Scripts/webkitdirs.pm (105257 => 105258)
--- trunk/Tools/Scripts/webkitdirs.pm 2012-01-18 11:25:21 UTC (rev 105257)
+++ trunk/Tools/Scripts/webkitdirs.pm 2012-01-18 11:32:33 UTC (rev 105258)
@@ -2012,9 +2012,9 @@
return $input ? $input : $default;
}
-sub buildQMakeProject($@)
+sub buildQMakeProjects
{
- my ($project, $clean, @buildParams) = @_;
+ my ($projects, $clean, @buildParams) = @_;
my @buildArgs = ();
@@ -2134,9 +2134,7 @@
my $makefile = File::Spec->catfile($dir, "Makefile");
if (! -e $makefile) {
- if ($project) {
- push @buildArgs, "-after OVERRIDE_SUBDIRS=" . $project;
- }
+ push @buildArgs, "-after OVERRIDE_SUBDIRS=\"@{$projects}\"" if @{$projects};
push @buildArgs, File::Spec->catfile(sourceDir(), "WebKit.pro");
my $command = "$qmakecommand @buildArgs";
@@ -2148,10 +2146,6 @@
if ($result ne 0) {
die "Failed to setup build environment using $qmakebin!\n";
}
- } elsif ($project) {
- $dir = File::Spec->catfile($dir, "Source", $project);
- chdir $dir or die "Failed to cd into " . $dir . "\n";
- $make = "$make -f Makefile.$project";
}
my $command = "$make $makeargs";
@@ -2170,13 +2164,6 @@
return $result;
}
-sub buildQMakeQtProject($$@)
-{
- my ($project, $clean, @buildArgs) = @_;
-
- return buildQMakeProject("", $clean, @buildArgs);
-}
-
sub buildGtkProject
{
my ($project, $clean, @buildArgs) = @_;