Changeset 196065 in webkit


Ignore:
Timestamp:
Feb 3, 2016 3:38:13 AM (8 years ago)
Author:
commit-queue@webkit.org
Message:

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

Patch by Konstantin Tokarev <Konstantin Tokarev> on 2016-02-03
Reviewed by Michael Catanzaro.

  • Scripts/webkitdirs.pm:

(prohibitUnknownPort): This function makes determinePortName()
failure fatal.
(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): Return portName() with capitalized first letter.
(determineIsEfl): Deleted.
(determineIsGtk): Deleted.
(determineIsWinCairo): Deleted.

  • Scripts/build-jsc: Call prohibitUnknownPort().
  • Scripts/run-minibrowser: Ditto.
  • Scripts/webkitperl/FeatureList.pm: Ditto.
  • Scripts/update-webkit: Call determinePortName() instead of

determineIsWinCairo().

Location:
trunk/Tools
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r196048 r196065  
     12016-02-03  Konstantin Tokarev  <annulen@yandex.ru>
     2
     3        [webkitdirs] Clarify logic behind is{PortName} functions.
     4        https://bugs.webkit.org/show_bug.cgi?id=153554
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        * Scripts/webkitdirs.pm:
     9        (prohibitUnknownPort): This function makes determinePortName()
     10        failure fatal.
     11        (determinePortName): Added new function which decides which port are
     12        we building based on command line switches and platform defaults.
     13        (portName): Added getter for determined $portName.
     14        (isEfl): Modified to use portName().
     15        (isGtk): Ditto.
     16        (isWinCairo): Ditto.
     17        (isAppleMacWebKit): Ditto.
     18        (isAppleWinWebKit): Ditto.
     19        (isIOSWebKit): Ditto.
     20        (cmakeBasedPortName): Return portName() with capitalized first letter.
     21        (determineIsEfl): Deleted.
     22        (determineIsGtk): Deleted.
     23        (determineIsWinCairo): Deleted.
     24
     25        * Scripts/build-jsc: Call prohibitUnknownPort().
     26        * Scripts/run-minibrowser: Ditto.
     27        * Scripts/webkitperl/FeatureList.pm: Ditto.
     28        * Scripts/update-webkit: Call determinePortName() instead of
     29        determineIsWinCairo().
     30
    1312016-02-02  Dan Bernstein  <mitz@apple.com>
    232
  • trunk/Tools/Scripts/build-jsc

    r195737 r196065  
    3737
    3838sub writeCongrats();
     39
     40prohibitUnknownPort();
    3941
    4042my $shouldRunStaticAnalyzer = 0;
  • trunk/Tools/Scripts/run-minibrowser

    r191774 r196065  
    4141my @jhbuildWrapper;
    4242
     43prohibitUnknownPort();
    4344setConfiguration();
    4445
  • trunk/Tools/Scripts/update-webkit

    r192944 r196065  
    4444my $showHelp;
    4545
    46 determineIsWinCairo();
     46# This call is needed to eat --wincairo argument and avoid unknown option error.
     47# FIXME: Allow port options explicitly or make this script port-agnostic.
     48determinePortName();
    4749
    4850chdirWebKit();
  • trunk/Tools/Scripts/webkitdirs.pm

    r195795 r196065  
    9595}
    9696
     97# Ports
     98use constant {
     99    AppleWin => "AppleWin",
     100    GTK      => "GTK",
     101    Efl      => "Efl",
     102    iOS      => "iOS",
     103    Mac      => "Mac",
     104    WinCairo => "WinCairo",
     105    Unknown  => "Unknown"
     106};
     107
    97108use constant USE_OPEN_COMMAND => 1; # Used in runMacWebKitApp().
    98109use constant INCLUDE_OPTIONS_FOR_DEBUGGING => 1;
     
    125136my $generateDsym;
    126137my $isCMakeBuild;
    127 my $isGtk;
    128 my $isWinCairo;
    129138my $isWin64;
    130 my $isEfl;
    131139my $isInspectorFrontend;
     140my $portName;
    132141my $shouldTargetWebProcess;
    133142my $shouldUseXPCServiceForWebProcess;
     
    135144my $shouldNotUseNinja;
    136145my $xcodeVersion;
     146
     147my $unknownPortProhibited = 0;
    137148
    138149# Variables for Win32 support
     
    10251036}
    10261037
    1027 sub determineIsEfl()
    1028 {
    1029     return if defined($isEfl);
    1030     $isEfl = checkForArgumentAndRemoveFromARGV("--efl");
     1038sub prohibitUnknownPort()
     1039{
     1040    $unknownPortProhibited = 1;
     1041}
     1042
     1043sub determinePortName()
     1044{
     1045    return if defined $portName;
     1046
     1047    my %argToPortName = (
     1048        efl => Efl,
     1049        gtk => GTK,
     1050        wincairo => WinCairo
     1051    );
     1052
     1053    for my $arg (sort keys %argToPortName) {
     1054        if (checkForArgumentAndRemoveFromARGV("--$arg")) {
     1055            die "Argument '--$arg' conflicts with selected port '$portName'\n"
     1056                if defined $portName;
     1057
     1058            $portName = $argToPortName{$arg};
     1059        }
     1060    }
     1061
     1062    return if defined $portName;
     1063
     1064    # Port was not selected via command line, use appropriate default value
     1065
     1066    if (isAnyWindows()) {
     1067        $portName = AppleWin;
     1068    } elsif (isDarwin()) {
     1069        determineXcodeSDK();
     1070        if (willUseIOSDeviceSDK() || willUseIOSSimulatorSDK()) {
     1071            $portName = iOS;
     1072        } else {
     1073            $portName = Mac;
     1074        }
     1075    } else {
     1076        if ($unknownPortProhibited) {
     1077            my $portsChoice = join "\n\t", qw(
     1078                --efl
     1079                --gtk
     1080            );
     1081            die "Please specify which WebKit port to build using one of the following options:"
     1082                . "\n\t$portsChoice\n";
     1083        }
     1084
     1085        # If script is run without arguments we cannot determine port
     1086        # TODO: This state should be outlawed
     1087        $portName = Unknown;
     1088    }
     1089}
     1090
     1091sub portName()
     1092{
     1093    determinePortName();
     1094    return $portName;
    10311095}
    10321096
    10331097sub isEfl()
    10341098{
    1035     determineIsEfl();
    1036     return $isEfl;
    1037 }
    1038 
    1039 sub determineIsGtk()
    1040 {
    1041     return if defined($isGtk);
    1042     $isGtk = checkForArgumentAndRemoveFromARGV("--gtk");
     1099    return portName() eq Efl;
    10431100}
    10441101
    10451102sub isGtk()
    10461103{
    1047     determineIsGtk();
    1048     return $isGtk;
     1104    return portName() eq GTK;
    10491105}
    10501106
     
    10621118sub isWinCairo()
    10631119{
    1064     determineIsWinCairo();
    1065     return $isWinCairo;
    1066 }
    1067 
    1068 sub determineIsWinCairo()
    1069 {
    1070     return if defined($isWinCairo);
    1071     $isWinCairo = checkForArgumentAndRemoveFromARGV("--wincairo");
     1120    return portName() eq WinCairo;
    10721121}
    10731122
     
    11921241sub isAppleMacWebKit()
    11931242{
    1194     return isDarwin() && !isGtk();
     1243    return (portName() eq Mac) || isIOSWebKit();
    11951244}
    11961245
    11971246sub isAppleWinWebKit()
    11981247{
    1199     return (isCygwin() || isWindows()) && !isWinCairo() && !isGtk();
     1248    return portName() eq AppleWin;
    12001249}
    12011250
     
    12601309sub isIOSWebKit()
    12611310{
    1262     determineXcodeSDK();
    1263     return isAppleMacWebKit() && (willUseIOSDeviceSDK() || willUseIOSSimulatorSDK());
     1311    return portName() eq iOS;
    12641312}
    12651313
     
    20632111sub cmakeBasedPortName()
    20642112{
    2065     return "Efl" if isEfl();
    2066     return "GTK" if isGtk();
    2067     return "Mac" if isAppleMacWebKit();
    2068     return "WinCairo" if isWinCairo();
    2069     return "AppleWin" if isAppleWinWebKit();
    2070     return "";
     2113    return ucfirst portName();
    20712114}
    20722115
  • trunk/Tools/Scripts/webkitperl/FeatureList.pm

    r196006 r196065  
    155155);
    156156
     157prohibitUnknownPort();
     158
    157159my @features = (
    158160    { option => "3d-rendering", desc => "Toggle 3D Rendering support",
Note: See TracChangeset for help on using the changeset viewer.