Title: [214631] trunk/Tools
Revision
214631
Author
aakash_j...@apple.com
Date
2017-03-30 15:18:22 -0700 (Thu, 30 Mar 2017)

Log Message

Support tvOS and watchOS in webkitdirs.pm
https://bugs.webkit.org/show_bug.cgi?id=170267

Reviewed by Alexey Proskuryakov.

* Scripts/webkitdirs.pm:
(determineXcodeSDK): Evaluate sdk for tvos and watchos.
(xcodeSDKPlatformName): Added support for tvos and watchos.
(determinePortName): Same.
(isAppleCocoaWebKit): Same.
(willUseAppleTVDeviceSDK): Added.
(willUseAppleTVSimulatorSDK): Added.
(willUseWatchDeviceSDK): Added.
(willUseWatchSimulatorSDK): Added.
(isTVOSWebKit): Added.
(isWATCHOSWebKit): Added.
(isIOSLikeWebKit): Added.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (214630 => 214631)


--- trunk/Tools/ChangeLog	2017-03-30 22:08:46 UTC (rev 214630)
+++ trunk/Tools/ChangeLog	2017-03-30 22:18:22 UTC (rev 214631)
@@ -1,3 +1,23 @@
+2017-03-30  Aakash Jain  <aakash_j...@apple.com>
+
+        Support tvOS and watchOS in webkitdirs.pm
+        https://bugs.webkit.org/show_bug.cgi?id=170267
+
+        Reviewed by Alexey Proskuryakov.
+
+        * Scripts/webkitdirs.pm:
+        (determineXcodeSDK): Evaluate sdk for tvos and watchos.
+        (xcodeSDKPlatformName): Added support for tvos and watchos.
+        (determinePortName): Same.
+        (isAppleCocoaWebKit): Same.
+        (willUseAppleTVDeviceSDK): Added.
+        (willUseAppleTVSimulatorSDK): Added.
+        (willUseWatchDeviceSDK): Added.
+        (willUseWatchSimulatorSDK): Added.
+        (isTVOSWebKit): Added.
+        (isWATCHOSWebKit): Added.
+        (isIOSLikeWebKit): Added.
+
 2017-03-30  Wenson Hsieh  <wenson_hs...@apple.com>
 
         [WK2] Touches should not cancel when showing a custom action sheet while data interaction is active

Modified: trunk/Tools/Scripts/webkitdirs.pm (214630 => 214631)


--- trunk/Tools/Scripts/webkitdirs.pm	2017-03-30 22:08:46 UTC (rev 214630)
+++ trunk/Tools/Scripts/webkitdirs.pm	2017-03-30 22:18:22 UTC (rev 214631)
@@ -102,6 +102,8 @@
     GTK      => "GTK",
     Efl      => "Efl",
     iOS      => "iOS",
+    tvOS     => "tvOS",
+    watchOS  => "watchOS",
     Mac      => "Mac",
     JSCOnly  => "JSCOnly",
     WinCairo => "WinCairo",
@@ -464,6 +466,20 @@
     if (checkForArgumentAndRemoveFromARGV("--simulator") || checkForArgumentAndRemoveFromARGV("--ios-simulator")) {
         $xcodeSDK ||= 'iphonesimulator';
     }
+    if (checkForArgumentAndRemoveFromARGV("--tvos-device")) {
+        my $hasInternalSDK = exitStatus(system("xcrun --sdk appletvos.internal --show-sdk-version > /dev/null 2>&1")) == 0;
+        $xcodeSDK ||=  $hasInternalSDK ? "appletvos.internal" : "appletvos";
+    }
+    if (checkForArgumentAndRemoveFromARGV("--tvos-simulator")) {
+        $xcodeSDK ||= "appletvsimulator";
+    }
+    if (checkForArgumentAndRemoveFromARGV("--watchos-device")) {
+        my $hasInternalSDK = exitStatus(system("xcrun --sdk watchos.internal --show-sdk-version > /dev/null 2>&1")) == 0;
+        $xcodeSDK ||=  $hasInternalSDK ? "watchos.internal" : "watchos";
+    }
+    if (checkForArgumentAndRemoveFromARGV("--watchos-simulator")) {
+        $xcodeSDK ||= "watchsimulator";
+    }
 }
 
 sub xcodeSDK
@@ -482,9 +498,13 @@
 {
     determineXcodeSDK();
     return "" if !defined $xcodeSDK;
+    return "appletvos" if $xcodeSDK =~ /appletvos/i;
+    return "appletvsimulator" if $xcodeSDK =~ /appletvsimulator/i;
     return "iphoneos" if $xcodeSDK =~ /iphoneos/i;
     return "iphonesimulator" if $xcodeSDK =~ /iphonesimulator/i;
     return "macosx" if $xcodeSDK =~ /macosx/i;
+    return "watchos" if $xcodeSDK =~ /watchos/i;
+    return "watchsimulator" if $xcodeSDK =~ /watchsimulator/i;
     die "Couldn't determine platform name from Xcode SDK";
 }
 
@@ -1039,6 +1059,10 @@
         determineXcodeSDK();
         if (willUseIOSDeviceSDK() || willUseIOSSimulatorSDK()) {
             $portName = iOS;
+        } elsif (willUseAppleTVDeviceSDK() || willUseAppleTVSimulatorSDK()) {
+            $portName = tvOS;
+        } elsif (willUseWatchDeviceSDK() || willUseWatchSimulatorSDK()) {
+            $portName = watchOS;
         } else {
             $portName = Mac;
         }
@@ -1223,7 +1247,7 @@
 
 sub isAppleCocoaWebKit()
 {
-    return (portName() eq Mac) || isIOSWebKit();
+    return (portName() eq Mac) || isIOSWebKit() || isTVOSWebKit() || isWatchOSWebKit();
 }
 
 sub isAppleWinWebKit()
@@ -1289,11 +1313,46 @@
     return xcodeSDKPlatformName() eq "iphonesimulator";
 }
 
+sub willUseAppleTVDeviceSDK()
+{
+    return xcodeSDKPlatformName() eq "appletvos";
+}
+
+sub willUseAppleTVSimulatorSDK()
+{
+    return xcodeSDKPlatformName() eq "appletvsimulator";
+}
+
+sub willUseWatchDeviceSDK()
+{
+    return xcodeSDKPlatformName() eq "watchos";
+}
+
+sub willUseWatchSimulatorSDK()
+{
+    return xcodeSDKPlatformName() eq "watchsimulator";
+}
+
 sub isIOSWebKit()
 {
     return portName() eq iOS;
 }
 
+sub isTVOSWebKit()
+{
+    return portName() eq tvOS;
+}
+
+sub isWatchOSWebKit()
+{
+    return portName() eq watchOS;
+}
+
+sub isIOSLikeWebKit()
+{
+    return  isIOSWebKit() || isTVOSWebKit() || isWatchOSWebKit();
+}
+
 sub determineNmPath()
 {
     return if $nmPath;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to