Changeset 225098 in webkit


Ignore:
Timestamp:
Nov 22, 2017 10:52:52 AM (6 years ago)
Author:
Michael Catanzaro
Message:

Remove build-webkit's notion of feature flags having a default value
https://bugs.webkit.org/show_bug.cgi?id=177338

Reviewed by Carlos Alberto Lopez Perez.

.:

Add an ENABLE_EXPERIMENTAL_FEATURES flag and use it to enable certain features.

  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitFeatures.cmake:

Source/WebKit:

Use ENABLE_EXPERIMENTAL_FEATURES instead of ENABLE_DEVELOPER_MODE to enable runtime
experimental features.

  • Shared/WebPreferencesDefaultValues.h:

Tools:

Delegate feature flag default values to the build system.
(FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(Factory.init):
Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
bots instead of --default-cmake-features.

  • Scripts/build-webkit:

(cMakeArgsFromFeatures): Deleted.
Default feature values to 'undef'.
Remove the --default-cmake-features argument; it is now the default.
Add --no-experimental-features to replace it.
Stop printing the default feature flag value in the help.
Avoid propagating undefined values to the build system;
only mention flags that are overridden on the command line.

This has the nice side effect of using the default CMake features
for CMake builds, but still allowing toggling of them using the
prettier --FEATURE and --no-FEATURE arguments.

  • Scripts/webkitdirs.pm:

(generateBuildSystemFromCMakeProject):
No longer need to suppress CMake warnings about unused arguments.

  • Scripts/webkitperl/FeatureList.pm:

Remove the default values from the feature list.

Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/ChangeLog

    r225091 r225098  
     12017-11-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
     2
     3        Remove build-webkit's notion of feature flags having a default value
     4        https://bugs.webkit.org/show_bug.cgi?id=177338
     5
     6        Reviewed by Carlos Alberto Lopez Perez.
     7
     8        Add an ENABLE_EXPERIMENTAL_FEATURES flag and use it to enable certain features.
     9
     10        * Source/cmake/OptionsGTK.cmake:
     11        * Source/cmake/WebKitFeatures.cmake:
     12
    1132017-11-21  Zan Dobersek  <zdobersek@igalia.com>
    214
  • trunk/Source/WebKit/ChangeLog

    r225094 r225098  
     12017-11-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
     2
     3        Remove build-webkit's notion of feature flags having a default value
     4        https://bugs.webkit.org/show_bug.cgi?id=177338
     5
     6        Reviewed by Carlos Alberto Lopez Perez.
     7
     8        Use ENABLE_EXPERIMENTAL_FEATURES instead of ENABLE_DEVELOPER_MODE to enable runtime
     9        experimental features.
     10
     11        * Shared/WebPreferencesDefaultValues.h:
     12
    1132017-11-22  Commit Queue  <commit-queue@webkit.org>
    214
  • trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h

    r224154 r225098  
    173173#endif
    174174
    175 // Our Xcode build system does not currently have any concept of DEVELOPER_MODE.
    176175// Cocoa ports must disable experimental features on release branches for now.
    177 #if ENABLE(DEVELOPER_MODE) || PLATFORM(COCOA)
     176#if ENABLE(EXPERIMENTAL_FEATURES) || PLATFORM(COCOA)
    178177#define DEFAULT_EXPERIMENTAL_FEATURES_ENABLED true
    179178#else
  • trunk/Source/cmake/OptionsGTK.cmake

    r225066 r225098  
    149149WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CONTROLS_SCRIPT PRIVATE ON)
    150150WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MHTML PRIVATE ON)
     151WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_SOURCE PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
     152WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
    151153WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS PRIVATE ON)
    152154WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PUBLIC_SUFFIX_LIST PRIVATE ON)
     
    157159WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SUBTLE_CRYPTO PRIVATE ON)
    158160WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEBGL PRIVATE ON)
     161WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_WEB_RTC PRIVATE ${ENABLE_EXPERIMENTAL_FEATURES})
    159162
    160163include(GStreamerDefinitions)
  • trunk/Source/cmake/WebKitFeatures.cmake

    r225091 r225098  
    348348    endforeach ()
    349349endmacro()
     350
     351option(ENABLE_EXPERIMENTAL_FEATURES "Enable experimental features" OFF)
     352SET_AND_EXPOSE_TO_BUILD(ENABLE_EXPERIMENTAL_FEATURES ${ENABLE_EXPERIMENTAL_FEATURES})
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/config.json

    r222540 r225098  
    351351                      "name": "GTK Linux 64-bit Release Debian Stable (Build)", "type": "Build", "builddir": "gtk-linux-64-release-debian",
    352352                      "platform": "gtk", "configuration": "release", "architectures": ["x86_64"],
    353                       "additionalArguments": ["--default-cmake-features"],
     353                      "additionalArguments": ["--no-experimental-features"],
    354354                      "slavenames": ["gtk-linux-slave-10"]
    355355                    },
     
    357357                      "name": "GTK Linux 64-bit Release Ubuntu LTS (Build)", "type": "Build", "builddir": "gtk-linux-64-release-ubuntu",
    358358                      "platform": "gtk", "configuration": "release", "architectures": ["x86_64"],
    359                       "additionalArguments": ["--default-cmake-features"],
     359                      "additionalArguments": ["--no-experimental-features"],
    360360                      "slavenames": ["gtk-linux-slave-11"]
    361361                    },
  • trunk/Tools/BuildSlaveSupport/build.webkit.org-config/master.cfg

    r225080 r225098  
    879879        if platform == "win":
    880880            self.addStep(InstallWin32Dependencies())
    881         if platform == "gtk" and additionalArguments != ["--default-cmake-features"]:
     881        if platform == "gtk" and additionalArguments != ["--no-experimental-features"]:
    882882            self.addStep(InstallGtkDependencies())
    883883        if platform == "wpe":
  • trunk/Tools/ChangeLog

    r225097 r225098  
     12017-11-22  Tim Horton <timothy_horton@apple.com> and Michael Catanzaro <mcatanzaro@igalia.com>
     2
     3        Remove build-webkit's notion of feature flags having a default value
     4        https://bugs.webkit.org/show_bug.cgi?id=177338
     5
     6        Reviewed by Carlos Alberto Lopez Perez.
     7
     8        Delegate feature flag default values to the build system.
     9        (FeatureDefines.xcconfig for Xcode, WebKitFeatures.cmake and Options*.cmake for CMake, and FeatureDefines.h for everyone)
     10
     11        * BuildSlaveSupport/build.webkit.org-config/config.json:
     12        * BuildSlaveSupport/build.webkit.org-config/master.cfg:
     13        (Factory.__init__):
     14        Update GTK and WPE buildbot configuration to use --no-experimental-features on old stable
     15        bots instead of --default-cmake-features.
     16 
     17        * Scripts/build-webkit:
     18        (cMakeArgsFromFeatures): Deleted.
     19        Default feature values to 'undef'.
     20        Remove the --default-cmake-features argument; it is now the default.
     21        Add --no-experimental-features to replace it.
     22        Stop printing the default feature flag value in the help.
     23        Avoid propagating undefined values to the build system;
     24        only mention flags that are overridden on the command line.
     25
     26        This has the nice side effect of using the default CMake features
     27        for CMake builds, but still allowing toggling of them using the
     28        prettier --FEATURE and --no-FEATURE arguments.
     29
     30        * Scripts/webkitdirs.pm:
     31        (generateBuildSystemFromCMakeProject):
     32        No longer need to suppress CMake warnings about unused arguments.
     33
     34        * Scripts/webkitperl/FeatureList.pm:
     35        Remove the default values from the feature list.
     36
    1372017-11-22  Mark Lam  <mark.lam@apple.com>
    238
  • trunk/Tools/Scripts/build-webkit

    r224291 r225098  
    5454my $verbose = 0;
    5555my $clean = 0;
    56 my $defaultCMakeFeatures = 0;
    5756my $minimal = 0;
    5857my $installHeaders;
     
    6463my $coverageSupport = 0;
    6564my $shouldRunStaticAnalyzer = 0;
     65my $noExperimentalFeatures = 0;
    6666my $startTime = time();
    6767my $archs32bit = 0;
     
    8383}
    8484
    85 # Initialize values from defaults
     85# Feature flags default to undefined, where they will inherit the default value
     86# specified by the build system, or to 'off' if --minimal is specified.
    8687foreach (@features) {
    87     ${$_->{value}} = ($minimal ? 0 : $_->{default});
     88    ${$_->{value}} = ($minimal ? 0 : undef);
    8889}
    8990
     
    111112  --inspector-frontend              Copy Web Inspector user interface resources to the build directory
    112113
    113   --prefix=<path>                   Set installation prefix to the given path (Gtk/Efl only)
     114  --prefix=<path>                   Set installation prefix to the given path (CMake only, except Windows)
    114115  --makeargs=<arguments>            Optional Makefile flags
    115116  --cmakeargs=<arguments>           One or more optional CMake flags (e.g. --cmakeargs="-DFOO=bar -DCMAKE_PREFIX_PATH=/usr/local")
    116117
    117118  --minimal                         No optional features, unless explicitly enabled
    118   --default-cmake-features          Use the default CMake features enabled for the port (CMake based ports)
     119  --no-experimental-features        No experimental features, unless explicitly enabled (CMake only)
    119120
    120121  --only-webkit                     Build only the WebKit project
     
    139140    'coverage' => \$coverageSupport,
    140141    'analyze' => \$shouldRunStaticAnalyzer,
    141     'default-cmake-features' => \$defaultCMakeFeatures,
     142    'no-experimental-features' => \$noExperimentalFeatures,
    142143    'skip-library-update' => \$skipLibraryUpdate,
    143144    'use-ccache!' => \$useCCache,
     
    147148foreach (@features) {
    148149    my $opt = sprintf("%-35s", "  --[no-]$_->{option}");
    149     $usage .= "$opt $_->{desc} (default: $_->{default})\n";
     150    $usage .= "$opt $_->{desc}\n";
    150151    $options{"$_->{option}!"} = $_->{value};
    151152}
     
    196197if (isAppleCocoaWebKit()) {
    197198    push @options, XcodeOptions();
    198     sub option($$$)
     199    sub option($$)
    199200    {
    200         my ($feature, $isEnabled, $defaultValue) = @_;
    201         return "" if $defaultValue == $isEnabled;
     201        my ($feature, $isEnabled) = @_;
     202        return "" if not defined $isEnabled;
    202203        return $feature . "=" . ($isEnabled ? $feature : "");
    203204    }
    204205
    205206    foreach (@features) {
    206         my $option = option($_->{define}, ${$_->{value}}, $_->{default});
     207        my $option = option($_->{define}, ${$_->{value}});
    207208        push @options, $option unless $option eq "";
    208209    }
     
    273274    $makeArgs .= " -l" . maxCPULoad() if defined $maxCPULoad;
    274275
    275     # We remove CMakeCache to avoid the bots to reuse cached flags when
     276    # We remove CMakeCache to avoid the bots reusing cached flags when
    276277    # we enable new features. This forces a reconfiguration.
    277278    my @featureArgs = cMakeArgsFromFeatures();
     
    370371{
    371372    my @args;
    372     if (!$defaultCMakeFeatures) {
    373         foreach (@features) {
    374             my $featureName = $_->{define};
    375             if ($featureName) {
    376                 my $featureEnabled = ${$_->{value}} ? "ON" : "OFF";
     373
     374    if (!$noExperimentalFeatures) {
     375        push @args, "-DENABLE_EXPERIMENTAL_FEATURES=ON";
     376    }
     377
     378    foreach (@features) {
     379        my $featureName = $_->{define};
     380        if ($featureName) {
     381            my $featureValue = ${$_->{value}};
     382            if (defined $featureValue) {
     383                my $featureEnabled = $featureValue ? "ON" : "OFF";
    377384                push @args, "-D$featureName=$featureEnabled";
    378385            }
    379386        }
    380387    }
     388
    381389    return @args;
    382390}
  • trunk/Tools/Scripts/webkitdirs.pm

    r224877 r225098  
    22372237    push @args, "-DDEVELOPER_MODE=ON" if isGtk() || isJSCOnly() || isWPE();
    22382238
    2239     # Don't warn variables which aren't used by cmake ports.
    2240     push @args, "--no-warn-unused-cli";
    22412239    push @args, @cmakeArgs if @cmakeArgs;
    22422240
  • trunk/Tools/Scripts/webkitperl/FeatureList.pm

    r225060 r225098  
    143143my @features = (
    144144    { option => "3d-rendering", desc => "Toggle 3D Rendering support",
    145       define => "ENABLE_3D_TRANSFORMS", default => (isAppleCocoaWebKit() || isIOSWebKit() || isGtk() || isWPE()), value => \$threeDTransformsSupport },
     145      define => "ENABLE_3D_TRANSFORMS", value => \$threeDTransformsSupport },
    146146
    147147    { option => "accelerated-2d-canvas", desc => "Toggle Accelerated 2D Canvas support",
    148       define => "ENABLE_ACCELERATED_2D_CANVAS", default => 0, value => \$accelerated2DCanvasSupport },
     148      define => "ENABLE_ACCELERATED_2D_CANVAS", value => \$accelerated2DCanvasSupport },
    149149
    150150    { option => "attachment-element", desc => "Toggle Attachment Element support",
    151       define => "ENABLE_ATTACHMENT_ELEMENT", default => 0, value => \$attachmentElementSupport },
     151      define => "ENABLE_ATTACHMENT_ELEMENT", value => \$attachmentElementSupport },
    152152
    153153    { option => "channel-messaging", desc => "Toggle Channel Messaging support",
    154       define => "ENABLE_CHANNEL_MESSAGING", default => 1, value => \$channelMessagingSupport },
     154      define => "ENABLE_CHANNEL_MESSAGING", value => \$channelMessagingSupport },
    155155
    156156    { option => "css-box-decoration-break", desc => "Toggle CSS box-decoration-break support",
    157       define => "ENABLE_CSS_BOX_DECORATION_BREAK", default => 1, value => \$cssBoxDecorationBreakSupport },
     157      define => "ENABLE_CSS_BOX_DECORATION_BREAK", value => \$cssBoxDecorationBreakSupport },
    158158
    159159    { option => "css-compositing", desc => "Toggle CSS Compositing support",
    160       define => "ENABLE_CSS_COMPOSITING", default => isAppleWebKit(), value => \$cssCompositingSupport },
     160      define => "ENABLE_CSS_COMPOSITING", value => \$cssCompositingSupport },
    161161
    162162    { option => "css-device-adaptation", desc => "Toggle CSS Device Adaptation support",
    163       define => "ENABLE_CSS_DEVICE_ADAPTATION", default => 0, value => \$cssDeviceAdaptation },
     163      define => "ENABLE_CSS_DEVICE_ADAPTATION", value => \$cssDeviceAdaptation },
    164164
    165165    { option => "css-image-orientation", desc => "Toggle CSS image-orientation support",
    166       define => "ENABLE_CSS_IMAGE_ORIENTATION", default => isGtk(), value => \$cssImageOrientationSupport },
     166      define => "ENABLE_CSS_IMAGE_ORIENTATION", value => \$cssImageOrientationSupport },
    167167
    168168    { option => "css-image-resolution", desc => "Toggle CSS image-resolution support",
    169       define => "ENABLE_CSS_IMAGE_RESOLUTION", default => isGtk(), value => \$cssImageResolutionSupport },
     169      define => "ENABLE_CSS_IMAGE_RESOLUTION", value => \$cssImageResolutionSupport },
    170170
    171171    { option => "css-image-set", desc => "Toggle CSS image-set support",
    172       define => "ENABLE_CSS_IMAGE_SET", default => (isGtk() || isWPE()), value => \$cssImageSetSupport },
     172      define => "ENABLE_CSS_IMAGE_SET", value => \$cssImageSetSupport },
    173173
    174174    { option => "css-shapes", desc => "Toggle CSS Shapes support",
    175       define => "ENABLE_CSS_SHAPES", default => 1, value => \$cssShapesSupport },
     175      define => "ENABLE_CSS_SHAPES", value => \$cssShapesSupport },
    176176
    177177    { option => "css3-text", desc => "Toggle CSS3 Text support",
    178       define => "ENABLE_CSS3_TEXT", default => isGtk(), value => \$css3TextSupport },
     178      define => "ENABLE_CSS3_TEXT", value => \$css3TextSupport },
    179179
    180180    { option => "custom-elements", desc => "Toggle custom elements support",
    181       define => "ENABLE_CUSTOM_ELEMENTS", default => 1, value => \$customElementsSupport },
     181      define => "ENABLE_CUSTOM_ELEMENTS", value => \$customElementsSupport },
    182182
    183183    { option => "custom-scheme-handler", desc => "Toggle Custom Scheme Handler support",
    184       define => "ENABLE_CUSTOM_SCHEME_HANDLER", default => 0, value => \$customSchemeHandlerSupport },
     184      define => "ENABLE_CUSTOM_SCHEME_HANDLER", value => \$customSchemeHandlerSupport },
    185185
    186186    { option => "data-transfer-items", desc => "Toggle Data Transfer Items support",
    187       define => "ENABLE_DATA_TRANSFER_ITEMS", default => 0, value => \$dataTransferItemsSupport },
     187      define => "ENABLE_DATA_TRANSFER_ITEMS", value => \$dataTransferItemsSupport },
    188188
    189189    { option => "datalist-element", desc => "Toggle Datalist Element support",
    190       define => "ENABLE_DATALIST_ELEMENT", default => 0, value => \$datalistElementSupport },
     190      define => "ENABLE_DATALIST_ELEMENT", value => \$datalistElementSupport },
    191191
    192192    { option => "device-orientation", desc => "Toggle Device Orientation support",
    193       define => "ENABLE_DEVICE_ORIENTATION", default => (isIOSWebKit() || isWPE()), value => \$deviceOrientationSupport },
     193      define => "ENABLE_DEVICE_ORIENTATION", value => \$deviceOrientationSupport },
    194194
    195195    { option => "dom4-events-constructor", desc => "Expose DOM4 Events constructors",
    196       define => "ENABLE_DOM4_EVENTS_CONSTRUCTOR", default => (isAppleWebKit() || isGtk()), value => \$dom4EventsConstructor },
     196      define => "ENABLE_DOM4_EVENTS_CONSTRUCTOR", value => \$dom4EventsConstructor },
    197197
    198198    { option => "download-attribute", desc => "Toggle Download Attribute support",
    199       define => "ENABLE_DOWNLOAD_ATTRIBUTE", default => isGtk(), value => \$downloadAttributeSupport },
     199      define => "ENABLE_DOWNLOAD_ATTRIBUTE", value => \$downloadAttributeSupport },
    200200
    201201    { option => "encrypted-media", desc => "Toggle EME V3 support",
    202       define => "ENABLE_ENCRYPTED_MEDIA", default => isWPE(), value => \$encryptedMediaSupport },
     202      define => "ENABLE_ENCRYPTED_MEDIA", value => \$encryptedMediaSupport },
    203203
    204204    { option => "fetch-api", desc => "Toggle Fetch API support",
    205       define => "ENABLE_FETCH_API", default => 1, value => \$fetchAPISupport },
     205      define => "ENABLE_FETCH_API", value => \$fetchAPISupport },
    206206
    207207    { option => "font-load-events", desc => "Toggle Font Load Events support",
    208       define => "ENABLE_FONT_LOAD_EVENTS", default => 0, value => \$fontLoadEventsSupport },
     208      define => "ENABLE_FONT_LOAD_EVENTS", value => \$fontLoadEventsSupport },
    209209
    210210    { option => "ftl-jit", desc => "Toggle FTL JIT support",
    211       define => "ENABLE_FTL_JIT", default => ((isARM64() || isX86_64()) && (isGtk() || isJSCOnly() || isWPE())) , value => \$ftlJITSupport },
     211      define => "ENABLE_FTL_JIT", value => \$ftlJITSupport },
    212212
    213213    { option => "ftpdir", desc => "Toggle FTP Directory support",
    214       define => "ENABLE_FTPDIR", default => 1, value => \$ftpDirSupport },
     214      define => "ENABLE_FTPDIR", value => \$ftpDirSupport },
    215215
    216216    { option => "fullscreen-api", desc => "Toggle Fullscreen API support",
    217       define => "ENABLE_FULLSCREEN_API", default => (isAppleCocoaWebKit() || isGtk()), value => \$fullscreenAPISupport },
     217      define => "ENABLE_FULLSCREEN_API", value => \$fullscreenAPISupport },
    218218
    219219    { option => "gamepad", desc => "Toggle Gamepad support",
    220       define => "ENABLE_GAMEPAD", default => 0, value => \$gamepadSupport },
     220      define => "ENABLE_GAMEPAD", value => \$gamepadSupport },
    221221
    222222    { option => "geolocation", desc => "Toggle Geolocation support",
    223       define => "ENABLE_GEOLOCATION", default => (isAppleWebKit() || isIOSWebKit() || isGtk()), value => \$geolocationSupport },
     223      define => "ENABLE_GEOLOCATION", value => \$geolocationSupport },
    224224
    225225    { option => "gstreamer-gl", desc => "Toggle GStreamer GL support",
    226       define => "USE_GSTREAMER_GL", default => (isGtk() || isWPE()), value => \$gstreamerGLSupport },
     226      define => "USE_GSTREAMER_GL", value => \$gstreamerGLSupport },
    227227
    228228    { option => "high-dpi-canvas", desc => "Toggle High DPI Canvas support",
    229       define => "ENABLE_HIGH_DPI_CANVAS", default => (isAppleWebKit()), value => \$highDPICanvasSupport },
     229      define => "ENABLE_HIGH_DPI_CANVAS", value => \$highDPICanvasSupport },
    230230
    231231    { option => "icon-database", desc => "Toggle Icondatabase support",
    232       define => "ENABLE_ICONDATABASE", default => !isIOSWebKit(), value => \$icondatabaseSupport },
     232      define => "ENABLE_ICONDATABASE", value => \$icondatabaseSupport },
    233233
    234234    { option => "indexed-database", desc => "Toggle Indexed Database support",
    235       define => "ENABLE_INDEXED_DATABASE", default => (isAppleCocoaWebKit() || isGtk() || isWPE()), value => \$indexedDatabaseSupport },
     235      define => "ENABLE_INDEXED_DATABASE", value => \$indexedDatabaseSupport },
    236236
    237237    { option => "input-speech", desc => "Toggle Input Speech support",
    238       define => "ENABLE_INPUT_SPEECH", default => 0, value => \$inputSpeechSupport },
     238      define => "ENABLE_INPUT_SPEECH", value => \$inputSpeechSupport },
    239239
    240240    { option => "input-type-color", desc => "Toggle Input Type Color support",
    241       define => "ENABLE_INPUT_TYPE_COLOR", default => isGtk(), value => \$inputTypeColorSupport },
     241      define => "ENABLE_INPUT_TYPE_COLOR", value => \$inputTypeColorSupport },
    242242
    243243    { option => "input-type-date", desc => "Toggle Input Type Date support",
    244       define => "ENABLE_INPUT_TYPE_DATE", default => 0, value => \$inputTypeDateSupport },
     244      define => "ENABLE_INPUT_TYPE_DATE", value => \$inputTypeDateSupport },
    245245
    246246    { option => "input-type-datetime", desc => "Toggle broken Input Type Datetime support",
    247       define => "ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE", default => 0, value => \$inputTypeDatetimeSupport },
     247      define => "ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE", value => \$inputTypeDatetimeSupport },
    248248
    249249    { option => "input-type-datetimelocal", desc => "Toggle Input Type Datetimelocal support",
    250       define => "ENABLE_INPUT_TYPE_DATETIMELOCAL", default => 0, value => \$inputTypeDatetimelocalSupport },
     250      define => "ENABLE_INPUT_TYPE_DATETIMELOCAL", value => \$inputTypeDatetimelocalSupport },
    251251
    252252    { option => "input-type-month", desc => "Toggle Input Type Month support",
    253       define => "ENABLE_INPUT_TYPE_MONTH", default => 0, value => \$inputTypeMonthSupport },
     253      define => "ENABLE_INPUT_TYPE_MONTH", value => \$inputTypeMonthSupport },
    254254
    255255    { option => "input-type-time", desc => "Toggle Input Type Time support",
    256       define => "ENABLE_INPUT_TYPE_TIME", default => 0, value => \$inputTypeTimeSupport },
     256      define => "ENABLE_INPUT_TYPE_TIME", value => \$inputTypeTimeSupport },
    257257
    258258    { option => "input-type-week", desc => "Toggle Input Type Week support",
    259       define => "ENABLE_INPUT_TYPE_WEEK", default => 0, value => \$inputTypeWeekSupport },
     259      define => "ENABLE_INPUT_TYPE_WEEK", value => \$inputTypeWeekSupport },
    260260
    261261    { option => "intl", desc => "Toggle Intl support",
    262       define => "ENABLE_INTL", default => 1, value => \$intlSupport },
     262      define => "ENABLE_INTL", value => \$intlSupport },
    263263
    264264    { option => "jit", desc => "Enable just-in-time JavaScript support",
    265       define => "ENABLE_JIT", default => 1, value => \$jitSupport },
     265      define => "ENABLE_JIT", value => \$jitSupport },
    266266
    267267    { option => "legacy-encrypted-media", desc => "Toggle Legacy EME V2 support",
    268       define => "ENABLE_LEGACY_ENCRYPTED_MEDIA", default => 0, value => \$legacyEncryptedMediaSupport },
     268      define => "ENABLE_LEGACY_ENCRYPTED_MEDIA", value => \$legacyEncryptedMediaSupport },
    269269
    270270    { option => "legacy-web-audio", desc => "Toggle Legacy Web Audio support",
    271       define => "ENABLE_LEGACY_WEB_AUDIO", default => 1, value => \$legacyWebAudioSupport },
     271      define => "ENABLE_LEGACY_WEB_AUDIO", value => \$legacyWebAudioSupport },
    272272
    273273    { option => "link-prefetch", desc => "Toggle Link Prefetch support",
    274       define => "ENABLE_LINK_PREFETCH", default => isGtk(), value => \$linkPrefetchSupport },
     274      define => "ENABLE_LINK_PREFETCH", value => \$linkPrefetchSupport },
    275275
    276276    { option => "mathml", desc => "Toggle MathML support",
    277       define => "ENABLE_MATHML", default => 1, value => \$mathmlSupport },
     277      define => "ENABLE_MATHML", value => \$mathmlSupport },
    278278
    279279    { option => "media-capture", desc => "Toggle Media Capture support",
    280       define => "ENABLE_MEDIA_CAPTURE", default => 0, value => \$mediaCaptureSupport },
     280      define => "ENABLE_MEDIA_CAPTURE", value => \$mediaCaptureSupport },
    281281
    282282    { option => "media-source", desc => "Toggle Media Source support",
    283       define => "ENABLE_MEDIA_SOURCE", default => (isGtk() || isWPE()), value => \$mediaSourceSupport },
     283      define => "ENABLE_MEDIA_SOURCE", value => \$mediaSourceSupport },
    284284
    285285    { option => "media-statistics", desc => "Toggle Media Statistics support",
    286       define => "ENABLE_MEDIA_STATISTICS", default => 0, value => \$mediaStatisticsSupport },
     286      define => "ENABLE_MEDIA_STATISTICS", value => \$mediaStatisticsSupport },
    287287
    288288    { option => "media-stream", desc => "Toggle Media Stream support",
    289       define => "ENABLE_MEDIA_STREAM", default => isGtk(), value => \$mediaStreamSupport },
     289      define => "ENABLE_MEDIA_STREAM", value => \$mediaStreamSupport },
    290290
    291291    { option => "meter-element", desc => "Toggle Meter Element support",
    292       define => "ENABLE_METER_ELEMENT", default => !isAppleWinWebKit(), value => \$meterElementSupport },
     292      define => "ENABLE_METER_ELEMENT", value => \$meterElementSupport },
    293293
    294294    { option => "mhtml", desc => "Toggle MHTML support",
    295       define => "ENABLE_MHTML", default => (isGtk() || isWPE()), value => \$mhtmlSupport },
     295      define => "ENABLE_MHTML", value => \$mhtmlSupport },
    296296
    297297    { option => "mouse-cursor-scale", desc => "Toggle Scaled mouse cursor support",
    298       define => "ENABLE_MOUSE_CURSOR_SCALE", default => 0, value => \$mouseCursorScaleSupport },
     298      define => "ENABLE_MOUSE_CURSOR_SCALE", value => \$mouseCursorScaleSupport },
    299299
    300300    { option => "navigator-content-utils", desc => "Toggle Navigator Content Utils support",
    301       define => "ENABLE_NAVIGATOR_CONTENT_UTILS", default => 0, value => \$registerProtocolHandlerSupport },
    302 
    303     { option => "navigator-hardware-concurrency", desc => "Toggle Navigator hardware concurrenct support",
    304       define => "ENABLE_NAVIGATOR_HWCONCURRENCY", default => 1, value => \$hardwareConcurrencySupport },
     301      define => "ENABLE_NAVIGATOR_CONTENT_UTILS", value => \$registerProtocolHandlerSupport },
     302
     303    { option => "navigator-hardware-concurrency", desc => "Toggle Navigator hardware concurrency support",
     304      define => "ENABLE_NAVIGATOR_HWCONCURRENCY", value => \$hardwareConcurrencySupport },
    305305
    306306    { option => "netscape-plugin-api", desc => "Toggle Netscape Plugin API support",
    307       define => "ENABLE_NETSCAPE_PLUGIN_API", default => (!isIOSWebKit() && !isWPE()), value => \$netscapePluginAPISupport },
     307      define => "ENABLE_NETSCAPE_PLUGIN_API", value => \$netscapePluginAPISupport },
    308308
    309309    { option => "notifications", desc => "Toggle Notifications support",
    310       define => "ENABLE_NOTIFICATIONS", default => isGtk(), value => \$notificationsSupport },
     310      define => "ENABLE_NOTIFICATIONS", value => \$notificationsSupport },
    311311
    312312    { option => "orientation-events", desc => "Toggle Orientation Events support",
    313       define => "ENABLE_ORIENTATION_EVENTS", default => isIOSWebKit(), value => \$orientationEventsSupport },
     313      define => "ENABLE_ORIENTATION_EVENTS", value => \$orientationEventsSupport },
    314314
    315315    { option => "performance-timeline", desc => "Toggle Performance Timeline support",
    316       define => "ENABLE_PERFORMANCE_TIMELINE", default => (isGtk() || isWPE()), value => \$performanceTimelineSupport },
     316      define => "ENABLE_PERFORMANCE_TIMELINE", value => \$performanceTimelineSupport },
    317317
    318318    { option => "proximity-events", desc => "Toggle Proximity Events support",
    319       define => "ENABLE_PROXIMITY_EVENTS", default => 0, value => \$proximityEventsSupport },
     319      define => "ENABLE_PROXIMITY_EVENTS", value => \$proximityEventsSupport },
    320320
    321321    { option => "quota", desc => "Toggle Quota support",
    322       define => "ENABLE_QUOTA", default => 0, value => \$quotaSupport },
     322      define => "ENABLE_QUOTA", value => \$quotaSupport },
    323323
    324324    { option => "readableStreamAPI", desc => "Toggle ReadableStream API support",
    325       define => "ENABLE_READABLE_STREAM_API", default => 1, value => \$readableStreamAPISupport },
     325      define => "ENABLE_READABLE_STREAM_API", value => \$readableStreamAPISupport },
    326326
    327327    { option => "readableByteStreamAPI", desc => "Toggle support of ByteStream part of ReadableStream API",
    328       define => "ENABLE_READABLE_BYTE_STREAM_API", default => 1, value => \$readableByteStreamAPISupport },
     328      define => "ENABLE_READABLE_BYTE_STREAM_API", value => \$readableByteStreamAPISupport },
    329329
    330330    { option => "resolution-media-query", desc => "Toggle resolution media query support",
    331       define => "ENABLE_RESOLUTION_MEDIA_QUERY", default => 0, value => \$resolutionMediaQuerySupport },
     331      define => "ENABLE_RESOLUTION_MEDIA_QUERY", value => \$resolutionMediaQuerySupport },
    332332
    333333    { option => "scripted-speech", desc => "Toggle Scripted Speech support",
    334       define => "ENABLE_SCRIPTED_SPEECH", default => 0, value => \$scriptedSpeechSupport },
     334      define => "ENABLE_SCRIPTED_SPEECH", value => \$scriptedSpeechSupport },
    335335
    336336    { option => "service-worker", desc => "Toggle Service Worker support",
    337       define => "ENABLE_SERVICE_WORKER", default => isAppleCocoaWebKit(), value => \$serviceWorkerSupport },
     337      define => "ENABLE_SERVICE_WORKER", value => \$serviceWorkerSupport },
    338338
    339339    { option => "subtle-crypto", desc => "Toggle WebCrypto Subtle-Crypto support",
    340       define => "ENABLE_SUBTLE_CRYPTO", default => (isGtk() || isAppleCocoaWebKit() || isIOSWebKit() || isWPE()), value => \$subtleCrypto },
     340      define => "ENABLE_SUBTLE_CRYPTO", value => \$subtleCrypto },
    341341
    342342    { option => "svg-fonts", desc => "Toggle SVG Fonts support",
    343       define => "ENABLE_SVG_FONTS", default => 1, value => \$svgFontsSupport },
     343      define => "ENABLE_SVG_FONTS", value => \$svgFontsSupport },
    344344
    345345    { option => "system-malloc", desc => "Toggle system allocator instead of bmalloc",
    346       define => "USE_SYSTEM_MALLOC", default => 0, value => \$systemMallocSupport },
     346      define => "USE_SYSTEM_MALLOC", value => \$systemMallocSupport },
    347347
    348348    { option => "touch-events", desc => "Toggle Touch Events support",
    349       define => "ENABLE_TOUCH_EVENTS", default => (isIOSWebKit() || isGtk() || isWPE()), value => \$touchEventsSupport },
     349      define => "ENABLE_TOUCH_EVENTS", value => \$touchEventsSupport },
    350350
    351351    { option => "touch-slider", desc => "Toggle Touch Slider support",
    352       define => "ENABLE_TOUCH_SLIDER", default => 0, value => \$touchSliderSupport },
     352      define => "ENABLE_TOUCH_SLIDER", value => \$touchSliderSupport },
    353353
    354354    { option => "video", desc => "Toggle Video support",
    355       define => "ENABLE_VIDEO", default => (isAppleWebKit() || isGtk() || isWPE()), value => \$videoSupport },
     355      define => "ENABLE_VIDEO", value => \$videoSupport },
    356356
    357357    { option => "video-track", desc => "Toggle Video Track support",
    358       define => "ENABLE_VIDEO_TRACK", default => (isAppleWebKit() || isGtk() || isWPE()), value => \$videoTrackSupport },
     358      define => "ENABLE_VIDEO_TRACK", value => \$videoTrackSupport },
    359359
    360360    { option => "web-animations", desc => "Toggle Web Animations support",
    361       define => "ENABLE_WEB_ANIMATIONS", default => 1, value => \$webAnimationsSupport },
     361      define => "ENABLE_WEB_ANIMATIONS", value => \$webAnimationsSupport },
    362362
    363363    { option => "web-audio", desc => "Toggle Web Audio support",
    364       define => "ENABLE_WEB_AUDIO", default => (isGtk() || isWPE()), value => \$webAudioSupport },
     364      define => "ENABLE_WEB_AUDIO", value => \$webAudioSupport },
    365365
    366366    { option => "web-rtc", desc => "Toggle WebRTC support",
    367       define => "ENABLE_WEB_RTC", default => (isAppleCocoaWebKit() || isIOSWebKit() || isGtk()), value => \$webRTCSupport },
     367      define => "ENABLE_WEB_RTC", value => \$webRTCSupport },
    368368
    369369    { option => "webassembly", desc => "Toggle WebAssembly support",
    370       define => "ENABLE_WEBASSEMBLY", default => ((isARM64() || isX86_64()) && (isGtk() || isJSCOnly() || isWPE())) , value => \$webAssemblySupport },
     370      define => "ENABLE_WEBASSEMBLY", value => \$webAssemblySupport },
    371371
    372372    { option => "webgl", desc => "Toggle WebGL support",
    373       define => "ENABLE_WEBGL", default => (isAppleCocoaWebKit() || isGtk() || isWPE()), value => \$webglSupport },
     373      define => "ENABLE_WEBGL", value => \$webglSupport },
    374374
    375375    { option => "webgl2", desc => "Toggle WebGL2 support",
    376       define => "ENABLE_WEBGL2", default => (isAppleCocoaWebKit() || isWPE()), value => \$webgl2Support },
     376      define => "ENABLE_WEBGL2", value => \$webgl2Support },
    377377
    378378    { option => "writableStreamAPI", desc => "Toggle WritableStream API support",
    379       define => "ENABLE_WRITABLE_STREAM_API", default => 1, value => \$writableStreamAPISupport },
     379      define => "ENABLE_WRITABLE_STREAM_API", value => \$writableStreamAPISupport },
    380380
    381381    { option => "xslt", desc => "Toggle XSLT support",
    382       define => "ENABLE_XSLT", default => 1, value => \$xsltSupport },
     382      define => "ENABLE_XSLT", value => \$xsltSupport },
    383383);
    384384
Note: See TracChangeset for help on using the changeset viewer.