SetupWebKitFeatures.m4 6.83 KB
Newer Older
1 2 3 4 5
AH_TOP([
#ifndef __AUTOTOOLSCONFIG_H__
#define __AUTOTOOLSCONFIG_H__ 1
])

6
# This adds the include line to the bottom of the autoconfig header.
7 8 9 10
AH_BOTTOM([
#include "WebKitFeatures.h"
#endif // __AUTOTOOLSCONFIG_H__
])
11

12
CONFIGURABLE_FEATURE_DEFINES=
13 14

if test "$enable_spellcheck" = "yes"; then
15
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SPELLCHECK=1"
16
else
17
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SPELLCHECK=0"
18 19 20
fi

if test "$enable_gamepad" = "yes"; then
21
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_GAMEPAD=1"
22
else
23
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_GAMEPAD=0"
24 25 26
fi

if test "$enable_video" = "yes"; then
27
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_VIDEO=1"
28
else
29
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_VIDEO=0"
30 31 32
fi

if test "$enable_css_shaders" = "yes"; then
33
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_CSS_SHADERS=1"
34
else
35
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_CSS_SHADERS=0"
36 37 38
fi

if test "$enable_css_filters" = "yes"; then
39
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_CSS_FILTERS=1"
40
else
41
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_CSS_FILTERS=0"
42 43 44
fi

if test "$enable_geolocation" = "yes"; then
45
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_GEOLOCATION=1"
46
else
47
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_GEOLOCATION=0"
48 49 50
fi

if test "$enable_svg" = "yes"; then
51
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SVG=1"
52
else
53
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SVG=0"
54 55 56
fi

if test "$enable_svg_fonts" = "yes"; then
57
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SVG_FONTS=1"
58
else
59
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SVG_FONTS=0"
60 61 62
fi

if test "$enable_webgl" = "yes"; then
63
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEBGL=1"
64
else
65
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEBGL=0"
66 67 68
fi

if test "$enable_accelerated_compositing" = "yes"; then
69
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_3D_RENDERING=1"
70
else
71
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_3D_RENDERING=0"
72 73
fi

74 75 76 77 78 79
if test "$enable_accelerated_canvas" = "yes"; then
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_ACCELERATED_2D_CANVAS=1"
else
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_ACCELERATED_2D_CANVAS=0"
fi

80
if test "$enable_web_audio" = "yes"; then
81
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEB_AUDIO=1"
82
else
83
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEB_AUDIO=0"
84 85
fi

86 87 88 89 90 91
if test "$enable_battery_status" = "yes"; then
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_BATTERY_STATUS=1"
else
    CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_BATTERY_STATUS=0"
fi

92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110
# This list of features represents those selected for release builds.  If you are
# adding a new or unstable feature, you should mark it disabled here. We need to run
# this command now rather than use AC_CONFIG_COMMANDS because automake rules depend
# on the output file (WebKitFeatures.txt).
$srcdir/Tools/gtk/generate-feature-defines-files $CONFIGURABLE_FEATURE_DEFINES \
    ENABLE_BLOB=1 \
    ENABLE_CANVAS_PATH=0 \
    ENABLE_CANVAS_PROXY=0 \
    ENABLE_CHANNEL_MESSAGING=1 \
    ENABLE_CSP_NEXT=0 \
    ENABLE_CSS3_TEXT=0 \
    ENABLE_CSS_BOX_DECORATION_BREAK=1 \
    ENABLE_CSS_COMPOSITING=0 \
    ENABLE_CSS_DEVICE_ADAPTATION=0 \
    ENABLE_CSS_EXCLUSIONS=1 \
    ENABLE_CSS_IMAGE_ORIENTATION=0 \
    ENABLE_CSS_IMAGE_RESOLUTION=0 \
    ENABLE_CSS_IMAGE_SET=0 \
    ENABLE_CSS_REGIONS=0 \
111
    ENABLE_CSS_SHAPES=1 \
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
    ENABLE_CSS_STICKY_POSITION=0 \
    ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=0 \
    ENABLE_CSS_VARIABLES=0 \
    ENABLE_CSS3_CONDITIONAL_RULES=0 \
    ENABLE_CUSTOM_SCHEME_HANDLER=0 \
    ENABLE_DASHBOARD_SUPPORT=0 \
    ENABLE_DATALIST_ELEMENT=0 \
    ENABLE_DATA_TRANSFER_ITEMS=0 \
    ENABLE_DETAILS_ELEMENT=1 \
    ENABLE_DEVICE_ORIENTATION=0 \
    ENABLE_DIALOG_ELEMENT=0 \
    ENABLE_DIRECTORY_UPLOAD=0 \
    ENABLE_DOM4_EVENTS_CONSTRUCTOR=0 \
    ENABLE_DOWNLOAD_ATTRIBUTE=0 \
    ENABLE_FILE_SYSTEM=0 \
    ENABLE_FILTERS=1 \
    ENABLE_FTPDIR=0 \
    ENABLE_FONT_LOAD_EVENTS=0 \
    ENABLE_FULLSCREEN_API=1 \
    ENABLE_HIGH_DPI_CANVAS=0 \
    ENABLE_ICONDATABASE=1 \
    ENABLE_IFRAME_SEAMLESS=1 \
    ENABLE_INDEXED_DATABASE=0 \
    ENABLE_INPUT_SPEECH=0 \
    ENABLE_INPUT_TYPE_COLOR=0 \
    ENABLE_INPUT_TYPE_DATE=0 \
    ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=0 \
    ENABLE_INPUT_TYPE_DATETIMELOCAL=0 \
    ENABLE_INPUT_TYPE_MONTH=0 \
    ENABLE_INPUT_TYPE_TIME=0 \
    ENABLE_INPUT_TYPE_WEEK=0 \
    ENABLE_INSPECTOR=1 \
    ENABLE_JAVASCRIPT_DEBUGGER=1 \
    ENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 \
    ENABLE_LEGACY_NOTIFICATIONS=0 \
    ENABLE_LEGACY_VENDOR_PREFIXES=1 \
    ENABLE_LEGACY_WEB_AUDIO=0 \
    ENABLE_LINK_PREFETCH=0 \
    ENABLE_MATHML=0 \
    ENABLE_MEDIA_CAPTURE=0 \
    ENABLE_MEDIA_SOURCE=0 \
    ENABLE_MEDIA_STATISTICS=0 \
    ENABLE_MEDIA_STREAM=0 \
    ENABLE_METER_ELEMENT=1 \
    ENABLE_MHTML=1 \
    ENABLE_MOUSE_CURSOR_SCALE=0 \
    ENABLE_NAVIGATOR_CONTENT_UTILS=0 \
    ENABLE_NETSCAPE_PLUGIN_API=1 \
    ENABLE_NETWORK_INFO=0 \
    ENABLE_NOTIFICATIONS=0 \
    ENABLE_ORIENTATION_EVENTS=0 \
163
    ENABLE_PAGE_VISIBILITY_API=1 \
164 165
    ENABLE_PERFORMANCE_TIMELINE=0 \
    ENABLE_PROGRESS_ELEMENT=1 \
166
    ENABLE_PROMISES=1 \
167 168 169 170 171
    ENABLE_PROXIMITY_EVENTS=0 \
    ENABLE_QUOTA=0 \
    ENABLE_RESOURCE_TIMING=0 \
    ENABLE_REQUEST_ANIMATION_FRAME=1 \
    ENABLE_SCRIPTED_SPEECH=0 \
172
    ENABLE_SHADOW_DOM=0 \
173 174 175
    ENABLE_SHARED_WORKERS=1 \
    ENABLE_SMOOTH_SCROLLING=1 \
    ENABLE_SQL_DATABASE=1 \
176
    ENABLE_SUBPIXEL_LAYOUT=1 \
177 178 179 180 181 182 183 184 185 186 187 188 189 190
    ENABLE_STYLE_SCOPED=0 \
    ENABLE_TEMPLATE_ELEMENT=0 \
    ENABLE_TEXT_AUTOSIZING=0 \
    ENABLE_THREADED_HTML_PARSER=0 \
    ENABLE_TOUCH_EVENTS=0 \
    ENABLE_TOUCH_ICON_LOADING=0 \
    ENABLE_USER_TIMING=0 \
    ENABLE_VIBRATION=0 \
    ENABLE_VIDEO_TRACK=0 \
    ENABLE_VIEW_MODE_CSS_MEDIA=1 \
    ENABLE_WEB_SOCKETS=1 \
    ENABLE_WEB_TIMING=1 \
    ENABLE_WORKERS=1 \
    ENABLE_XHR_TIMEOUT=1
191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211

dnl AM_WEBKIT_FEATURE_CONDITIONAL
dnl Checks whether the given feature is enabled in the
dnl build that is being configured and sets up equally-named
dnl Automake conditional reflecting the feature status.
dnl
dnl Usage:
dnl AM_WEBKIT_FEATURE_CONDITIONAL([FEATURE])
AC_DEFUN([AM_WEBKIT_FEATURE_CONDITIONAL], [
  AC_PROG_AWK

  grep -qE "($1=1)" WebKitFeatures.txt
  if test $? -eq 0; then
    feature_enabled="yes";
  else
    feature_enabled="no";
  fi

  AM_CONDITIONAL([$1], [test "$feature_enabled" = "yes"])

]) dnl AM_WEBKIT_FEATURE_CONDITIONAL