Modified: trunk/Tools/ChangeLog (161684 => 161685)
--- trunk/Tools/ChangeLog 2014-01-10 23:28:29 UTC (rev 161684)
+++ trunk/Tools/ChangeLog 2014-01-10 23:36:58 UTC (rev 161685)
@@ -1,3 +1,13 @@
+2014-01-10 Daniel Bates <daba...@apple.com>
+
+ [iOS] Fix project build order
+
+ Ensure we build WebKitAdditions before WebCore (if applicable). Also, we don't
+ build WebInspectorUI, Tools/MiniBrowser, or Tools/WebKitTestRunner on iOS at the
+ time of writing.
+
+ * Scripts/build-webkit:
+
2014-01-10 Mario Sanchez Prada <mario.pr...@samsung.com>
Move platformName property from testRunner to accessibilityController
Modified: trunk/Tools/Scripts/build-webkit (161684 => 161685)
--- trunk/Tools/Scripts/build-webkit 2014-01-10 23:28:29 UTC (rev 161684)
+++ trunk/Tools/Scripts/build-webkit 2014-01-10 23:36:58 UTC (rev 161685)
@@ -40,6 +40,7 @@
use Getopt::Long qw(:config pass_through no_auto_abbrev);
use lib $FindBin::Bin;
use webkitdirs;
+use List::Util qw(first);
use webkitperl::FeatureList qw(getFeatureOptionList);
use POSIX;
@@ -210,7 +211,7 @@
}
}
-if (!-d "WebKitLibraries") {
+if (!isIOSWebKit() && !-d "WebKitLibraries") {
die "Error: No WebKitLibraries directory found. Please do a fresh checkout.\n";
}
@@ -236,20 +237,37 @@
$ENV{ENABLE_FTL_JIT} = 1 if $hasFTLJIT;
$ENV{ENABLE_LLINT_C_LOOP} = 1 if $forceCLoop;
+ if (isIOSWebKit()) {
+ # WebKitSystemInterface should always be built just before WebKit.
+ my $webKitIndex = first { $projects[$_] eq "Source/WebKit" } 0..$#projects;
+ splice(@projects, $webKitIndex, 0, "WebKitSystemInterface");
+
+ # WebKitAdditions must come before WebCore
+ splice(@projects, 0, 0, "../Internal/WebKitAdditions");
+ }
+
# ANGLE must come before WebCore
splice @projects, 0, 0, "Source/ThirdParty/ANGLE";
- # WebKit2 is only supported in SnowLeopard and later at present.
- push @projects, ("Source/WebKit2", "Tools/MiniBrowser") if osXVersion()->{"minor"} >= 6 and !$noWebKit2;
+ if (!isIOSWebKit()) {
+ # WebKit2 is only supported in SnowLeopard and later at present.
+ push @projects, ("Source/WebKit2", "Tools/MiniBrowser") if osXVersion()->{"minor"} >= 6 and !$noWebKit2;
- # WebInspectorUI must come before WebKit and WebKit2
- unshift @projects, ("Source/WebInspectorUI");
+ # WebInspectorUI must come before WebKit and WebKit2
+ unshift @projects, ("Source/WebInspectorUI");
- # Build Tools needed for Apple ports
- push @projects, ("Tools/DumpRenderTree", "Tools/WebKitTestRunner", "Source/ThirdParty/gtest", "Tools/TestWebKitAPI");
+ # Build Tools needed for Apple ports
+ push @projects, ("Tools/DumpRenderTree", "Tools/WebKitTestRunner", "Source/ThirdParty/gtest", "Tools/TestWebKitAPI");
- # Copy library and header from WebKitLibraries to a findable place in the product directory.
- (system("perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory", $productDir) == 0) or die;
+ # Copy library and header from WebKitLibraries to a findable place in the product directory.
+ (system("perl", "Tools/Scripts/copy-webkitlibraries-to-product-directory", $productDir) == 0) or die;
+ } else {
+ push @projects, ("Source/WebKit2") if !$noWebKit2;
+
+ # Build Tools needed for Apple ports
+ # FIXME: <rdar://problem/11784024> WebKitTestRunner should build for iOS
+ push @projects, ("Tools/DumpRenderTree", "Source/ThirdParty/gtest", "Tools/TestWebKitAPI");
+ }
} elsif (isWinCairo()) {
(system("perl Tools/Scripts/update-webkit-wincairo-libs") == 0) or die;
} elsif (isAppleWinWebKit()) {