Title: [195742] trunk/Tools
Revision
195742
Author
commit-qu...@webkit.org
Date
2016-01-28 09:18:38 -0800 (Thu, 28 Jan 2016)

Log Message

[webkitdirs] Clarify logic behind is{PortName} functions.
https://bugs.webkit.org/show_bug.cgi?id=153554

Patch by Konstantin Tokarev <annu...@yandex.ru> on 2016-01-28
Reviewed by Darin Adler.

* Scripts/webkitdirs.pm:
(determinePortName): Added new function which decides which port are
we building based on command line switches and platform defaults.
(portName): Added getter for determined $portName.
(isEfl): Modified to use portName().
(isGtk): Ditto.
(isWinCairo): Ditto.
(isAppleMacWebKit): Ditto.
(isAppleWinWebKit): Ditto.
(isIOSWebKit): Ditto.
(cmakeBasedPortName): Code replaced with portName() call.
(determineIsEfl): Deleted.
(determineIsGtk): Deleted.
(determineIsWinCairo): Deleted.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (195741 => 195742)


--- trunk/Tools/ChangeLog	2016-01-28 16:56:01 UTC (rev 195741)
+++ trunk/Tools/ChangeLog	2016-01-28 17:18:38 UTC (rev 195742)
@@ -1,5 +1,27 @@
 2016-01-28  Konstantin Tokarev  <annu...@yandex.ru>
 
+        [webkitdirs] Clarify logic behind is{PortName} functions.
+        https://bugs.webkit.org/show_bug.cgi?id=153554
+
+        Reviewed by Darin Adler.
+
+        * Scripts/webkitdirs.pm:
+        (determinePortName): Added new function which decides which port are
+        we building based on command line switches and platform defaults.
+        (portName): Added getter for determined $portName.
+        (isEfl): Modified to use portName().
+        (isGtk): Ditto.
+        (isWinCairo): Ditto.
+        (isAppleMacWebKit): Ditto.
+        (isAppleWinWebKit): Ditto.
+        (isIOSWebKit): Ditto.
+        (cmakeBasedPortName): Code replaced with portName() call.
+        (determineIsEfl): Deleted.
+        (determineIsGtk): Deleted.
+        (determineIsWinCairo): Deleted.
+
+2016-01-28  Konstantin Tokarev  <annu...@yandex.ru>
+
         [webkitdirs] Don't pass cmakeBasedPortName around.
         https://bugs.webkit.org/show_bug.cgi?id=153589
 

Modified: trunk/Tools/Scripts/webkitdirs.pm (195741 => 195742)


--- trunk/Tools/Scripts/webkitdirs.pm	2016-01-28 16:56:01 UTC (rev 195741)
+++ trunk/Tools/Scripts/webkitdirs.pm	2016-01-28 17:18:38 UTC (rev 195742)
@@ -94,6 +94,16 @@
    @EXPORT_OK   = ();
 }
 
+# Ports
+use constant {
+    AppleWin => "AppleWin",
+    GTK      => "GTK",
+    Efl      => "Efl",
+    iOS      => "iOS",
+    Mac      => "Mac",
+    WinCairo => "WinCairo"
+};
+
 use constant USE_OPEN_COMMAND => 1; # Used in runMacWebKitApp().
 use constant INCLUDE_OPTIONS_FOR_DEBUGGING => 1;
 use constant SIMULATOR_DEVICE_STATE_SHUTDOWN => "1";
@@ -124,11 +134,9 @@
 my $iosVersion;
 my $generateDsym;
 my $isCMakeBuild;
-my $isGtk;
-my $isWinCairo;
 my $isWin64;
-my $isEfl;
 my $isInspectorFrontend;
+my $portName;
 my $shouldTargetWebProcess;
 my $shouldUseXPCServiceForWebProcess;
 my $shouldUseGuardMalloc;
@@ -1024,28 +1032,57 @@
     return scalar @indicesToRemove > 0;
 }
 
-sub determineIsEfl()
+sub determinePortName()
 {
-    return if defined($isEfl);
-    $isEfl = checkForArgumentAndRemoveFromARGV("--efl");
+    return if defined $portName;
+
+    my %argToPortName = (
+        efl => Efl,
+        gtk => GTK,
+        wincairo => WinCairo
+    );
+
+    for my $arg (sort keys %argToPortName) {
+        if (checkForArgumentAndRemoveFromARGV("--$arg")) {
+            die "Argument '--$arg' conflicts with selected port '$portName'"
+                if defined $portName;
+
+            $portName = $argToPortName{$arg};
+        }
+    }
+
+    return if defined $portName;
+
+    # Port was not selected via command line, use appropriate default value
+
+    if (isAnyWindows()) {
+        $portName = AppleWin;
+    } elsif (isDarwin()) {
+        determineXcodeSDK();
+        if (willUseIOSDeviceSDK() || willUseIOSSimulatorSDK()) {
+            $portName = iOS;
+        } else {
+            $portName = Mac;
+        }
+    } else {
+        die "Please choose which WebKit port to build";
+    }
 }
 
-sub isEfl()
+sub portName()
 {
-    determineIsEfl();
-    return $isEfl;
+    determinePortName();
+    return $portName;
 }
 
-sub determineIsGtk()
+sub isEfl()
 {
-    return if defined($isGtk);
-    $isGtk = checkForArgumentAndRemoveFromARGV("--gtk");
+    return portName() eq Efl;
 }
 
 sub isGtk()
 {
-    determineIsGtk();
-    return $isGtk;
+    return portName() eq GTK;
 }
 
 # Determine if this is debian, ubuntu, linspire, or something similar.
@@ -1061,16 +1098,9 @@
 
 sub isWinCairo()
 {
-    determineIsWinCairo();
-    return $isWinCairo;
+    return portName() eq WinCairo;
 }
 
-sub determineIsWinCairo()
-{
-    return if defined($isWinCairo);
-    $isWinCairo = checkForArgumentAndRemoveFromARGV("--wincairo");
-}
-
 sub isWin64()
 {
     determineIsWin64();
@@ -1191,12 +1221,12 @@
 
 sub isAppleMacWebKit()
 {
-    return isDarwin() && !isGtk();
+    return (portName() eq Mac) || isIOSWebKit();
 }
 
 sub isAppleWinWebKit()
 {
-    return (isCygwin() || isWindows()) && !isWinCairo() && !isGtk();
+    return portName() eq AppleWin;
 }
 
 sub iOSSimulatorDevicesPath
@@ -1259,8 +1289,7 @@
 
 sub isIOSWebKit()
 {
-    determineXcodeSDK();
-    return isAppleMacWebKit() && (willUseIOSDeviceSDK() || willUseIOSSimulatorSDK());
+    return portName() eq iOS;
 }
 
 sub determineNmPath()
@@ -2061,12 +2090,7 @@
 
 sub cmakeBasedPortName()
 {
-    return "Efl" if isEfl();
-    return "GTK" if isGtk();
-    return "Mac" if isAppleMacWebKit();
-    return "WinCairo" if isWinCairo();
-    return "AppleWin" if isAppleWinWebKit();
-    return "";
+    return portName();
 }
 
 sub determineIsCMakeBuild()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to