Modified: trunk/Tools/ChangeLog (262557 => 262558)
--- trunk/Tools/ChangeLog 2020-06-04 19:23:53 UTC (rev 262557)
+++ trunk/Tools/ChangeLog 2020-06-04 19:42:08 UTC (rev 262558)
@@ -1,3 +1,17 @@
+2020-06-04 Jonathan Bedard <[email protected]>
+
+ Add watchOS and tvOS to build-webkit
+ https://bugs.webkit.org/show_bug.cgi?id=212719
+ <rdar://problem/63951600>
+
+ Reviewed by Tim Horton.
+
+ * Scripts/build-webkit: Add tvOS and watchOS flags, generalize embedded if statements.
+ * Scripts/webkitdirs.pm:
+ (determineArchitecture): Add tvOS and watchOS architectures.
+ (argumentsForConfiguration): Add tvOS and watchOS flags.
+ (extractNonMacOSHostConfiguration): Ditto.
+
2020-06-04 Tim Horton <[email protected]>
Work around broken system version macro
Modified: trunk/Tools/Scripts/build-webkit (262557 => 262558)
--- trunk/Tools/Scripts/build-webkit 2020-06-04 19:23:53 UTC (rev 262557)
+++ trunk/Tools/Scripts/build-webkit 2020-06-04 19:42:08 UTC (rev 262558)
@@ -114,6 +114,10 @@
--device DEPRECATED alias of --ios-device
--ios-simulator Use "iphonesimulator.internal" SDK if installed, else "iphonesimulator" SDK (iOS only)
--simulator DEPRECATED alias of --ios-simulator
+ --tvos-device Use "appletvos.internal" SDK if installed, else "appletvos" SDK (tvOS only)
+ --tvos-simulator Use "appletvsimulator" (tvOS only)
+ --watchos-device Use "watchos.internal" SDK if installed, else "watchos" SDK (watchOS only)
+ --watchos-simulator Use "watchsimulator" (watchOS only)
--coverage Enable code coverage support (Mac only)
--analyze Enable static anaylsis (iOS and Mac only)
--lto-mode=<mode> Set Link Time Optimization mode (full, thin, or none) (LLVM only)
@@ -237,14 +241,14 @@
# ANGLE and libwebrtc must come before WebCore
splice @projects, 0, 0, ("Source/ThirdParty/ANGLE");
- if (not $archs32bit and ((portName() eq Mac and not architecture() eq "i386") or
- (portName() eq iOS and (architecture() eq "arm64" or architecture() eq "x86_64")))) {
+ # if (not $archs32bit and (portName() eq Mac or portName() eq iOS or portName() eq watchOS)) {
+ if (portName() eq Mac or portName() eq iOS) {
splice @projects, 0, 0, ("Source/ThirdParty/libwebrtc");
}
push @projects, ("Source/WebKit");
- if (!isIOSWebKit()) {
+ if (!isEmbeddedWebKit()) {
push @projects, ("Tools/MiniBrowser");
# WebInspectorUI must come after _javascript_Core and WebCore but before WebKit and WebKit2
@@ -266,7 +270,7 @@
push @projects, ("Tools/lldb/lldbWebKitTester");
}
- # Build Tools needed for Apple ports
+ # Build Tools needed for Apple ports (except for tvOS)
push @projects, ("Tools/DumpRenderTree", "Tools/WebKitTestRunner", "Source/ThirdParty/gtest", "Tools/TestWebKitAPI");
} elsif (isWinCairo() && !$skipLibraryUpdate) {
Modified: trunk/Tools/Scripts/webkitdirs.pm (262557 => 262558)
--- trunk/Tools/Scripts/webkitdirs.pm 2020-06-04 19:23:53 UTC (rev 262557)
+++ trunk/Tools/Scripts/webkitdirs.pm 2020-06-04 19:42:08 UTC (rev 262558)
@@ -375,6 +375,14 @@
$architecture = 'x86_64';
} elsif ($xcodeSDK =~ /^iphoneos/) {
$architecture = 'arm64';
+ } elsif ($xcodeSDK =~ /^watchsimulator/) {
+ $architecture = 'i386';
+ } elsif ($xcodeSDK =~ /^watchos/) {
+ $architecture = 'arm64_32 arm64e armv7k';
+ } elsif ($xcodeSDK =~ /^appletvsimulator/) {
+ $architecture = 'x86_64';
+ } elsif ($xcodeSDK =~ /^appletvos/) {
+ $architecture = 'arm64';
}
}
} elsif (isCMakeBuild()) {
@@ -517,6 +525,10 @@
push(@args, '--ios-device') if (defined $xcodeSDK && $xcodeSDK =~ /^iphoneos/);
push(@args, '--ios-simulator') if (defined $xcodeSDK && $xcodeSDK =~ /^iphonesimulator/ && $simulatorIdiom eq "iPhone");
push(@args, '--ipad-simulator') if (defined $xcodeSDK && $xcodeSDK =~ /^iphonesimulator/ && $simulatorIdiom eq "iPad");
+ push(@args, '--tvos-device') if (defined $xcodeSDK && $xcodeSDK =~ /^appletvos/);
+ push(@args, '--tvos-simulator') if (defined $xcodeSDK && $xcodeSDK =~ /^appletvsimulator/);
+ push(@args, '--watchos-device') if (defined $xcodeSDK && $xcodeSDK =~ /^watchos/);
+ push(@args, '--watchos-simulator') if (defined $xcodeSDK && $xcodeSDK =~ /^watchsimulator/);
push(@args, '--maccatalyst') if (defined $xcodeSDK && $xcodeSDK =~ /^maccatalyst/);
push(@args, '--32-bit') if ($architecture eq "x86" and !isWin64());
push(@args, '--64-bit') if (isWin64());
@@ -532,7 +544,7 @@
sub extractNonMacOSHostConfiguration
{
my @args = ();
- my @extract = ('--device', '--gtk', '--ios', '--platform', '--sdk', '--simulator', '--wincairo', '--ftw', 'SDKROOT', 'ARCHS');
+ my @extract = ('--device', '--gtk', '--ios', '--platform', '--sdk', '--simulator', '--wincairo', '--ftw', '--tvos', '--watchos', 'SDKROOT', 'ARCHS');
foreach (@{$_[0]}) {
my $line = $_;
my $flag = 0;