Changeset 116107 in webkit


Ignore:
Timestamp:
May 4, 2012 9:09:33 AM (12 years ago)
Author:
vestbo@webkit.org
Message:

[Qt] Clean up and split features.prf into a static list of defaults

The static list of feature defaults is used as a fallback for any
feature that's not dynamically detected or overriden on the command
line (though build-webkit or passing DEFINES+= to qmake).

The static list is complete, which allows for auto-generation based
on Features.py (see bug https://bugs.webkit.org/show_bug.cgi?id=85456)

https://bugs.webkit.org/show_bug.cgi?id=85611

Reviewed by Simon Hausmann.

Location:
trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r116105 r116107  
     12012-05-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
     2
     3        [Qt] Clean up and split features.prf into a static list of defaults
     4
     5        The static list of feature defaults is used as a fallback for any
     6        feature that's not dynamically detected or overriden on the command
     7        line (though build-webkit or passing DEFINES+= to qmake).
     8
     9        The static list is complete, which allows for auto-generation based
     10        on Features.py (see bug https://bugs.webkit.org/show_bug.cgi?id=85456)
     11
     12        https://bugs.webkit.org/show_bug.cgi?id=85611
     13
     14        Reviewed by Simon Hausmann.
     15
     16        * Target.pri:
     17
    1182012-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
    219
  • trunk/Source/WebCore/Target.pri

    r116105 r116107  
    41254125}
    41264126
    4127 contains(CONFIG, graphics_surfaces) {
     4127contains(DEFINES, WTF_USE_GRAPHICS_SURFACE=1) {
    41284128    mac {
    41294129        SOURCES += platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp
  • trunk/Tools/ChangeLog

    r116105 r116107  
     12012-05-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
     2
     3        [Qt] Clean up and split features.prf into a static list of defaults
     4
     5        The static list of feature defaults is used as a fallback for any
     6        feature that's not dynamically detected or overriden on the command
     7        line (though build-webkit or passing DEFINES+= to qmake).
     8
     9        The static list is complete, which allows for auto-generation based
     10        on Features.py (see bug https://bugs.webkit.org/show_bug.cgi?id=85456)
     11
     12        https://bugs.webkit.org/show_bug.cgi?id=85611
     13
     14        Reviewed by Simon Hausmann.
     15
     16        * Scripts/build-webkit:
     17        * Tools.pro:
     18        * qmake/mkspecs/features/features.prf:
     19        * qmake/mkspecs/features/features.pri: Added.
     20
    1212012-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
    222
  • trunk/Tools/Scripts/build-webkit

    r116055 r116107  
    302302    }
    303303
    304     if ($minimal) {
    305         push @options, "CONFIG+=minimal";
    306     }
    307 
    308304    if ($v8) {
    309         push @options, "CONFIG+=v8";
     305        print "Building WebKit2 with v8 is not supported currently. Disabling WebKit2.\n";
     306        # FIXME: Deal with this in defaults_pre, once Qt has support for getting at the
     307        # command line arguments at that stage.
     308        push @options, "CONFIG+=v8 CONFIG+=no_webkit2";
    310309    }
    311310}
  • trunk/Tools/Tools.pro

    r115293 r116107  
    3434    qmake/mkspecs/modules/* \
    3535    qmake/mkspecs/features/*.prf \
     36    qmake/mkspecs/features/*.pri \
    3637    qmake/mkspecs/features/mac/*.prf \
    3738    qmake/mkspecs/features/unix/*.prf \
  • trunk/Tools/qmake/mkspecs/features/features.prf

    r116105 r116107  
    66# -------------------------------------------------------------------
    77
    8 CONFIG(minimal) {
    9     DEFINES += ENABLE_NETSCAPE_PLUGIN_API=0
    10 }
    11 
    12 CONFIG(production) {
    13     DEFINES += ENABLE_XSLT=0
    14     DEFINES += ENABLE_WEB_TIMING=0
    15 }
    16 
    17 meegotouch {
    18     DEFINES += WTF_USE_MEEGOTOUCH=1
    19 }
    20 
    21 haveQt(5) {
    22     mac: CONFIG += graphics_surfaces
    23 }
    24 
    25 contains(CONFIG, graphics_surfaces) {
    26     DEFINES += WTF_USE_GRAPHICS_SURFACE=1
    27 }
     8# Since features.prf is currently loaded from .pro/.pri files, not
     9# defaults_pre.prf, we have at this point parsed any optional command
     10# line arguments to qmake (eg qmake DEFINES+=ENABLE_VIDEO=0), that are
     11# intended to override default values (static or dynamic) of the
     12# feature defines.
     13#
     14# This is why the checks below look for !contains(DEFINES, ENABLE_FOO=.)
     15# so that the static or dynamic defaults will only be set if the user did
     16# not make an explicit choice by passing an argument to qmake/build-webkit.
     17
     18# ------------- Prepare for feature detection -------------
    2819
    2920## load mobilityconfig if mobility is available
     
    3627}
    3728
     29# ---------- Dynamically detect optional features -------------
     30#
     31# Please note, static feature defaults go in features.pri
     32#
     33# Do not add new CONFIG options, but use the existing patterns
     34# of WTF_USE, ENABLE_, etc, and detect the precense of those
     35# defines in the relevant target files. You do not need to have
     36# a fallback in your logic for the disabling feature, that's handled
     37# by having the feature disabled in features.pri. Nor do you have to
     38# unset the opposite value, that's handled automatically for you.
     39
    3840# For Mac we do not rely on QT_CONFIG, because icu is not officially supported for all of qt.
    3941haveQt(5):if(contains(QT_CONFIG,icu)|mac) {
    4042    DEFINES += WTF_USE_ICU_UNICODE=1
    41     DEFINES -= WTF_USE_QT4_UNICODE
     43    DEFINES -= WTF_USE_QT4_UNICODE=1
    4244} else {
    4345    DEFINES += WTF_USE_QT4_UNICODE=1
    44     DEFINES -= WTF_USE_ICU_UNICODE
    45 }
    46 
    47 # Use of QRawFont in Qt 5:
    48 haveQt(5): DEFINES += HAVE_QRAWFONT=1
    49 
    50 isEmpty(HAVE_QRAWFONT) {
    51     # We have to disable SVG Fonts, which rely on the fast path.
    52     DEFINES -= ENABLE_SVG_FONTS=1
    53     DEFINES += ENABLE_SVG_FONTS=0
     46    DEFINES -= WTF_USE_ICU_UNICODE=1
     47}
     48
     49!contains(DEFINES, HAVE_QRAWFONT=.) {
     50    # Use of QRawFont in Qt 5:
     51    haveQt(5): DEFINES += HAVE_QRAWFONT=1
    5452}
    5553
     
    7674}
    7775
    78 # Feature defines: for web-facing features only
    79 !contains(DEFINES, ENABLE_JAVASCRIPT_DEBUGGER=.): DEFINES += ENABLE_JAVASCRIPT_DEBUGGER=1
    80 !contains(DEFINES, ENABLE_GAMEPAD=.): DEFINES += ENABLE_GAMEPAD=0
    81 !contains(DEFINES, ENABLE_SQL_DATABASE=.): DEFINES += ENABLE_SQL_DATABASE=1
    82 !contains(DEFINES, ENABLE_ICONDATABASE=.): DEFINES += ENABLE_ICONDATABASE=1
    83 !contains(DEFINES, ENABLE_CHANNEL_MESSAGING=.): DEFINES += ENABLE_CHANNEL_MESSAGING=1
    84 !contains(DEFINES, ENABLE_DIRECTORY_UPLOAD=.): DEFINES += ENABLE_DIRECTORY_UPLOAD=0
    85 !contains(DEFINES, ENABLE_FILE_SYSTEM=.): DEFINES += ENABLE_FILE_SYSTEM=0
    86 !contains(DEFINES, ENABLE_QUOTA=.): DEFINES += ENABLE_QUOTA=0
    87 !contains(DEFINES, ENABLE_DASHBOARD_SUPPORT=.): DEFINES += ENABLE_DASHBOARD_SUPPORT=0
    88 !contains(DEFINES, ENABLE_FILTERS=.): DEFINES += ENABLE_FILTERS=1
    89 !contains(DEFINES, ENABLE_CSS_FILTERS=.): DEFINES += ENABLE_CSS_FILTERS=1
    90 !contains(DEFINES, ENABLE_SHARED_WORKERS=.): DEFINES += ENABLE_SHARED_WORKERS=1
    91 !contains(DEFINES, ENABLE_SHADOW_DOM=.): DEFINES += ENABLE_SHADOW_DOM=0
    92 !contains(DEFINES, ENABLE_WORKERS=.): DEFINES += ENABLE_WORKERS=1
    93 !contains(DEFINES, ENABLE_DETAILS=.): DEFINES += ENABLE_DETAILS=1
    94 !contains(DEFINES, ENABLE_METER_TAG=.): DEFINES += ENABLE_METER_TAG=1
    95 !contains(DEFINES, ENABLE_MHTML=.): DEFINES += ENABLE_MHTML=0
    96 !contains(DEFINES, ENABLE_MICRODATA=.): DEFINES += ENABLE_MICRODATA=0
    97 !contains(DEFINES, ENABLE_PROGRESS_TAG=.): DEFINES += ENABLE_PROGRESS_TAG=1
    98 !contains(DEFINES, ENABLE_BLOB=.): DEFINES += ENABLE_BLOB=1
    99 !contains(DEFINES, ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=.): DEFINES += ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1
    100 !contains(DEFINES, ENABLE_LEGACY_NOTIFICATIONS=.): DEFINES += ENABLE_LEGACY_NOTIFICATIONS=1
    101 !contains(DEFINES, ENABLE_NOTIFICATIONS=.): DEFINES += ENABLE_NOTIFICATIONS=1
    102 !contains(DEFINES, ENABLE_INPUT_TYPE_COLOR=.): DEFINES += ENABLE_INPUT_TYPE_COLOR=0
    103 !contains(DEFINES, ENABLE_INPUT_SPEECH=.): DEFINES += ENABLE_INPUT_SPEECH=0
    104 !contains(DEFINES, ENABLE_SCRIPTED_SPEECH=.): DEFINES += ENABLE_SCRIPTED_SPEECH=0
    105 !contains(DEFINES, ENABLE_INSPECTOR=.): DEFINES += ENABLE_INSPECTOR=1
    106 !contains(DEFINES, ENABLE_3D_RENDERING=.): DEFINES += ENABLE_3D_RENDERING=1
    107 !contains(DEFINES, ENABLE_WEB_AUDIO=.): DEFINES += ENABLE_WEB_AUDIO=0
    108 !contains(DEFINES, ENABLE_MEDIA_SOURCE=.): DEFINES += ENABLE_MEDIA_SOURCE=0
    109 !contains(DEFINES, ENABLE_MEDIA_STATISTICS=.): DEFINES += ENABLE_MEDIA_STATISTICS=0
    110 !contains(DEFINES, ENABLE_MEDIA_STREAM=.): DEFINES += ENABLE_MEDIA_STREAM=0
    111 !contains(DEFINES, ENABLE_VIDEO_TRACK=.): DEFINES += ENABLE_VIDEO_TRACK=0
    112 !contains(DEFINES, ENABLE_TOUCH_ICON_LOADING=.): DEFINES += ENABLE_TOUCH_ICON_LOADING=0
    113 !contains(DEFINES, ENABLE_ANIMATION_API=.): DEFINES += ENABLE_ANIMATION_API=0
    114 !contains(DEFINES, ENABLE_TOUCH_ADJUSTMENT=.): DEFINES += ENABLE_TOUCH_ADJUSTMENT=1
    115 !contains(DEFINES, ENABLE_FAST_MOBILE_SCROLLING=.): DEFINES += ENABLE_FAST_MOBILE_SCROLLING=1
    116 !contains(DEFINES, ENABLE_PAGE_VISIBILITY_API=.): DEFINES += ENABLE_PAGE_VISIBILITY_API=1
    117 
    118 # Policy decisions: for using a particular third-party library or optional OS service
    11976!contains(DEFINES, WTF_USE_QT_IMAGE_DECODER=.): DEFINES += WTF_USE_QT_IMAGE_DECODER=1
    120 
    121 # Enabled in Source/JavaScriptCore/wtf/Platform.h if not set
    122 # We have to do the same to be able to disable the feature in build-webkit
    123 !contains(DEFINES, ENABLE_FTPDIR=.): DEFINES += ENABLE_FTPDIR=1
    124 
    125 # SVG support
    126 !contains(DEFINES, ENABLE_SVG=0) {
    127     !contains(DEFINES, ENABLE_SVG=.): DEFINES += ENABLE_SVG=1
    128     !contains(DEFINES, ENABLE_SVG_FONTS=.): DEFINES += ENABLE_SVG_FONTS=1
    129 } else {
    130     DEFINES += ENABLE_SVG_FONTS=0
    131 }
    132 
    133 # HTML5 datalist support
    134 !contains(DEFINES, ENABLE_DATALIST=.): DEFINES += ENABLE_DATALIST=1
    13577
    13678# Tiled Backing Store support
     
    14183    unix:haveQt(4)|win32-*:!embedded:!wince*: {
    14284        DEFINES += ENABLE_NETSCAPE_PLUGIN_API=1
    143     } else {
    144         DEFINES += ENABLE_NETSCAPE_PLUGIN_API=0
    14585    }
    14686}
    14787
    14888# Netscape plugins support for WebKit2
    149 !contains(DEFINES, PLUGIN_ARCHITECTURE_UNSUPPORTED) {
     89!contains(DEFINES, PLUGIN_ARCHITECTURE_UNSUPPORTED=.) {
    15090    no_webkit2 {
    15191        DEFINES += PLUGIN_ARCHITECTURE_UNSUPPORTED=1
     
    166106
    167107# WebGL support
    168 contains(QT_CONFIG, opengl):!win32-* {
    169     !contains(DEFINES, ENABLE_WEBGL=.): DEFINES += ENABLE_WEBGL=1
    170 } else {
    171     DEFINES += ENABLE_WEBGL=0
    172 }
    173 
    174 # Web Socket support.
    175 !contains(DEFINES, ENABLE_WEB_SOCKETS=.): DEFINES += ENABLE_WEB_SOCKETS=1
    176 
    177 # Web Timing support.
    178 !contains(DEFINES, ENABLE_WEB_TIMING=.): DEFINES += ENABLE_WEB_TIMING=1
    179 
    180 !contains(DEFINES, ENABLE_REQUEST_ANIMATION_FRAME=.): DEFINES += ENABLE_REQUEST_ANIMATION_FRAME=1
    181 
    182 # XSLT support with QtXmlPatterns
     108!contains(DEFINES, ENABLE_WEBGL=.) {
     109    contains(QT_CONFIG, opengl):!win32-*: DEFINES += ENABLE_WEBGL=1
     110}
     111
    183112!contains(DEFINES, ENABLE_XSLT=.) {
    184     contains(QT_CONFIG, xmlpatterns):DEFINES += ENABLE_XSLT=1
    185     else:DEFINES += ENABLE_XSLT=0
    186 }
    187 
    188 # This is experimental and only works on Linux so far.
    189 !contains(DEFINES, ENABLE_XSLT=.) {
    190     contains(DEFINES, WTF_USE_LIBXML2=1) {
    191         DEFINES += ENABLE_XSLT=1
    192     }
    193 }
    194 
    195 # geolocation support if QtMobility exists
     113    # Using QtXmlPatterns
     114    contains(QT_CONFIG, xmlpatterns): DEFINES += ENABLE_XSLT=1
     115
     116    # Or libxml2 -- experimental and only works on Linux so far
     117    contains(DEFINES, WTF_USE_LIBXML2=1): DEFINES += ENABLE_XSLT=1
     118}
     119
     120# Geolocation support if QtMobility exists
    196121!contains(DEFINES, ENABLE_GEOLOCATION=.) {
    197122    contains(MOBILITY_CONFIG, location)|contains(QT_CONFIG, location) {
     
    211136        !contains(DEFINES, ENABLE_ORIENTATION_EVENTS=.): DEFINES += ENABLE_ORIENTATION_EVENTS=1
    212137        !contains(DEFINES, ENABLE_DEVICE_ORIENTATION=.): DEFINES += ENABLE_DEVICE_ORIENTATION=1
     138
     139        # FIXME: These should not be here, but in the target that needs them
    213140        CONFIG *= mobility
    214141        MOBILITY *= sensors
     
    216143}
    217144
    218 !contains(DEFINES, ENABLE_TOUCH_EVENTS=.): DEFINES += ENABLE_TOUCH_EVENTS=1
    219 !contains(DEFINES, ENABLE_GESTURE_EVENTS=.): DEFINES += ENABLE_GESTURE_EVENTS=1
    220 
    221145# HTML5 Media Support
    222 # We require QtMultimedia
    223146!contains(DEFINES, ENABLE_VIDEO=.) {
    224     DEFINES -= ENABLE_VIDEO=1
    225     DEFINES += ENABLE_VIDEO=0
    226 
    227147    mac:!contains(DEFINES, USE_QTMULTIMEDIA=1) {
    228         DEFINES -= ENABLE_VIDEO=0
    229148        DEFINES += ENABLE_VIDEO=1
    230149        DEFINES += WTF_USE_QTKIT=1
    231         DEFINES -= WTF_USE_QTKIT=0
    232150    } else: linux-*:!contains(DEFINES, USE_QTMULTIMEDIA=1) {
    233151        !contains(QT_CONFIG, no-pkg-config):system(pkg-config --exists glib-2.0 gio-2.0 \'gstreamer-0.10 >= 0.10.30\' \'gstreamer-plugins-base-0.10 >= 0.10.30\'): {
    234             DEFINES -= ENABLE_VIDEO=0
    235152            DEFINES += ENABLE_VIDEO=1
    236153            DEFINES += WTF_USE_GSTREAMER=1
    237             DEFINES -= WTF_USE_GSTREAMER=0
    238154        } else {
    239155            message("Disabling video due the lack of GLib/Gio/GStreamer.")
    240             DEFINES -= ENABLE_VIDEO=1
    241             DEFINES += ENABLE_VIDEO=0
    242156        }
    243157    } else: contains(MOBILITY_CONFIG, multimedia) {
    244         DEFINES -= ENABLE_VIDEO=0
    245158        DEFINES += ENABLE_VIDEO=1
    246         DEFINES -= WTF_USE_QT_MULTIMEDIA=0
    247159        DEFINES += WTF_USE_QT_MULTIMEDIA=1
    248160    }
     
    250162
    251163!contains(DEFINES, ENABLE_FULLSCREEN_API=.) {
    252     no_webkit2 {
    253         DEFINES += ENABLE_FULLSCREEN_API=0
    254     } else {
    255         DEFINES += ENABLE_FULLSCREEN_API=1
    256     }
    257 }
    258 
    259 contains(DEFINES, ENABLE_INSPECTOR=0) {
    260     DEFINES -= ENABLE_JAVASCRIPT_DEBUGGER=1
    261     DEFINES += ENABLE_JAVASCRIPT_DEBUGGER=0
    262 }
     164    !no_webkit2: DEFINES += ENABLE_FULLSCREEN_API=1
     165}
     166
    263167haveQt(4) {
    264168    haveQtModule(declarative): DEFINES += HAVE_QQUICK1=1
    265 }
    266 ### FIXME: Add Qt 5 QQuick1 support once QDeclarativeEngine in QQuick2
    267 ### is called QmlEngine and it is safe for us to use QQuick1 again.
     169} else {
     170    # FIXME: Add Qt 5 QQuick1 support once QDeclarativeEngine in QQuick2
     171    # is called QmlEngine and it is safe for us to use QQuick1 again.
     172}
     173
     174!contains(DEFINES, WTF_USE_GRAPHICS_SURFACE=.) {
     175    haveQt(5):mac: DEFINES += WTF_USE_GRAPHICS_SURFACE=1
     176}
     177
     178# -------------- Fill in static defaults --------------
     179#
     180# Only applies to features that don't have a dynamic default
     181# or have been overriden on the command line.
     182
     183include(features.pri)
     184
     185for(feature, FEATURE_DEFAULTS) {
     186    anyFeatureDefine = $$replace(feature, =.$, =.)
     187    !contains(DEFINES, $$anyFeatureDefine) {
     188        DEFINES += $$feature
     189    }
     190}
     191
     192# ---------------- Sanitize defines -------------------
     193
     194# Disable SVG fonts if SVG is disabled or we don't have raw fonts
     195contains(DEFINES, ENABLE_SVG=0)|!contains(DEFINES, HAVE_QRAWFONT=1): DEFINES += ENABLE_SVG_FONTS=0
     196
     197# JavaScript debugger requires the inspector
     198contains(DEFINES, ENABLE_INSPECTOR=0): DEFINES += ENABLE_JAVASCRIPT_DEBUGGER=0
     199
     200# Remove conflicting defines. The preprocessor would take care of this
     201# anyways, but doing it here makes for nicer command lines when building.
     202for(define, DEFINES) {
     203    parts = $$split(define, =)
     204    value = $$member(parts, 1, 1)
     205    isEmpty(value): next()
     206
     207    equals(value, 1): opposite = $$replace(define, =1$, =0)
     208    equals(value, 0): opposite = $$replace(define, =0$, =1)
     209
     210    # Is there a later define that overrides this one?
     211    contains(DEFINES, $$opposite): DEFINES -= $$define
     212}
     213
     214# --------- Make features available to JSC ------------
    268215
    269216## Forward enabled feature macros to JavaScript enabled features macros
    270217FEATURE_DEFINES_JAVASCRIPT = LANGUAGE_JAVASCRIPT=1
    271218v8: FEATURE_DEFINES_JAVASCRIPT += V8_BINDING=1
    272 contains(DEFINES, ENABLE_CHANNEL_MESSAGING=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_CHANNEL_MESSAGING=1
    273 contains(DEFINES, ENABLE_ORIENTATION_EVENTS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_ORIENTATION_EVENTS=1
    274 contains(DEFINES, ENABLE_SQL_DATABASE=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SQL_DATABASE=1
    275 contains(DEFINES, ENABLE_DATALIST=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATALIST=1
    276 contains(DEFINES, ENABLE_SHARED_SCRIPT=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SHARED_SCRIPT=1
    277 contains(DEFINES, ENABLE_WORKERS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_WORKERS=1
    278 contains(DEFINES, ENABLE_SHARED_WORKERS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SHARED_WORKERS=1
    279 contains(DEFINES, ENABLE_SHADOW_DOM=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SHADOW_DOM=1
    280 contains(DEFINES, ENABLE_VIDEO=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_VIDEO=1
    281 contains(DEFINES, ENABLE_XSLT=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_XSLT=1
    282 contains(DEFINES, ENABLE_FILTERS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_FILTERS=1
    283 contains(DEFINES, ENABLE_CSS_FILTERS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_CSS_FILTERS=1
    284 contains(DEFINES, ENABLE_SVG=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG=1
    285 contains(DEFINES, ENABLE_SVG_FONTS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_SVG_FONTS=1
    286 contains(DEFINES, ENABLE_JAVASCRIPT_DEBUGGER=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_JAVASCRIPT_DEBUGGER=1
    287 contains(DEFINES, ENABLE_GAMEPAD=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_GAMEPAD=1
    288 contains(DEFINES, ENABLE_WEB_SOCKETS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_WEB_SOCKETS=1
    289 contains(DEFINES, ENABLE_WEB_TIMING=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_WEB_TIMING=1
    290 contains(DEFINES, ENABLE_TOUCH_EVENTS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_TOUCH_EVENTS=1
    291 contains(DEFINES, ENABLE_GESTURE_EVENTS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_GESTURE_EVENTS=1
    292 contains(DEFINES, WTF_USE_TILED_BACKING_STORE=1): FEATURE_DEFINES_JAVASCRIPT += WTF_USE_TILED_BACKING_STORE=1
    293 contains(DEFINES, ENABLE_LEGACY_NOTIFICATIONS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_LEGACY_NOTIFICATIONS=1
    294 contains(DEFINES, ENABLE_NOTIFICATIONS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_NOTIFICATIONS=1
    295 contains(DEFINES, ENABLE_DETAILS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_DETAILS=1
    296 contains(DEFINES, ENABLE_METER_TAG=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_METER_TAG=1
    297 contains(DEFINES, ENABLE_PROGRESS_TAG=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_PROGRESS_TAG=1
    298 contains(DEFINES, ENABLE_GEOLOCATION=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_GEOLOCATION=1
    299 contains(DEFINES, ENABLE_BLOB=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_BLOB=1
    300 contains(DEFINES, ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=1
    301 contains(DEFINES, ENABLE_MEDIA_SOURCE=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_MEDIA_SOURCE=1
    302 contains(DEFINES, ENABLE_MEDIA_STATISTICS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_MEDIA_STATISTICS=1
    303 contains(DEFINES, ENABLE_MEDIA_STREAM=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_MEDIA_STREAM=1
    304 contains(DEFINES, ENABLE_VIDEO_TRACK=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_VIDEO_TRACK=1
    305 contains(DEFINES, ENABLE_DATA_TRANSFER_ITEMS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_DATA_TRANSFER_ITEMS=1
    306 contains(DEFINES, ENABLE_FULLSCREEN_API=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_FULLSCREEN_API=1
    307 contains(DEFINES, ENABLE_REQUEST_ANIMATION_FRAME=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_REQUEST_ANIMATION_FRAME=1
    308 contains(DEFINES, ENABLE_TOUCH_ADJUSTMENT=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_TOUCH_ADJUSTMENT=1
    309 
    310 v8 {
    311     # This have to be placed here because command line arguments, such as CONFIG+=v8 are
    312     # not considered by qmake when processing defaults_pre.prf.
    313     root_project_file: message("Building WebKit2 with v8 is not supported currently. Disabling WebKit2.")
    314     CONFIG += no_webkit2
    315 }
     219
     220for(define, DEFINES) {
     221    feature_define = $$find(define, ^ENABLE_.+=.$)
     222    isEmpty(feature_define): next()
     223
     224    FEATURE_DEFINES_JAVASCRIPT += $$feature_define
     225}
     226
     227# ---------------------- The end ----------------------
    316228
    317229# Used to compute defaults for the build-webkit script
Note: See TracChangeset for help on using the changeset viewer.