SetupWebKitFeatures.m4 6.7 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
# 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 \
106
    ENABLE_CSS_EXCLUSIONS=0 \
107 108 109
    ENABLE_CSS_IMAGE_ORIENTATION=0 \
    ENABLE_CSS_IMAGE_RESOLUTION=0 \
    ENABLE_CSS_IMAGE_SET=0 \
110 111 112
    ENABLE_CSS_REGIONS=1 \
    ENABLE_CSS_SHAPES=0 \
    ENABLE_CSS_STICKY_POSITION=1 \
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
    ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=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_DIRECTORY_UPLOAD=0 \
    ENABLE_DOM4_EVENTS_CONSTRUCTOR=0 \
    ENABLE_DOWNLOAD_ATTRIBUTE=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 \
147
    ENABLE_MATHML=1 \
148 149 150 151 152 153 154 155 156 157 158 159
    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 \
160
    ENABLE_PAGE_VISIBILITY_API=1 \
161 162
    ENABLE_PERFORMANCE_TIMELINE=0 \
    ENABLE_PROGRESS_ELEMENT=1 \
163
    ENABLE_PROMISES=1 \
164 165 166 167 168
    ENABLE_PROXIMITY_EVENTS=0 \
    ENABLE_QUOTA=0 \
    ENABLE_RESOURCE_TIMING=0 \
    ENABLE_REQUEST_ANIMATION_FRAME=1 \
    ENABLE_SCRIPTED_SPEECH=0 \
169
    ENABLE_SHADOW_DOM=0 \
170 171 172
    ENABLE_SHARED_WORKERS=1 \
    ENABLE_SMOOTH_SCROLLING=1 \
    ENABLE_SQL_DATABASE=1 \
173
    ENABLE_SUBPIXEL_LAYOUT=1 \
174
    ENABLE_TEMPLATE_ELEMENT=1 \
175
    ENABLE_SATURATED_LAYOUT_ARITHMETIC=1\
176 177 178 179 180 181 182 183 184 185
    ENABLE_TEXT_AUTOSIZING=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_XHR_TIMEOUT=1
186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206

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