5daf7b9f621e66bf2b2c9091da6fb10d484045b1
[WebKit-https.git] / Source / autotools / SetupWebKitFeatures.m4
1 AH_TOP([
2 #ifndef __AUTOTOOLSCONFIG_H__
3 #define __AUTOTOOLSCONFIG_H__ 1
4 ])
5
6 # This adds the include line to the bottom of the autoconfig header.
7 AH_BOTTOM([
8 #include "WebKitFeatures.h"
9 #endif // __AUTOTOOLSCONFIG_H__
10 ])
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 fi
19
20 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 fi
25
26 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 fi
31
32 if test "$enable_css_filters" = "yes"; then
33     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_CSS_FILTERS=1"
34 else
35     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_CSS_FILTERS=0"
36 fi
37
38 if test "$enable_geolocation" = "yes"; then
39     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_GEOLOCATION=1"
40 else
41     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_GEOLOCATION=0"
42 fi
43
44 if test "$enable_svg_fonts" = "yes"; then
45     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SVG_FONTS=1"
46 else
47     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_SVG_FONTS=0"
48 fi
49
50 if test "$enable_webgl" = "yes"; then
51     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEBGL=1"
52 else
53     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEBGL=0"
54 fi
55
56 if test "$enable_accelerated_compositing" = "yes"; then
57     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_3D_RENDERING=1"
58 else
59     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_3D_RENDERING=0"
60 fi
61
62 if test "$enable_accelerated_canvas" = "yes"; then
63     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_ACCELERATED_2D_CANVAS=1"
64 else
65     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_ACCELERATED_2D_CANVAS=0"
66 fi
67
68 if test "$enable_web_audio" = "yes"; then
69     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEB_AUDIO=1"
70 else
71     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_WEB_AUDIO=0"
72 fi
73
74 if test "$enable_battery_status" = "yes"; then
75     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_BATTERY_STATUS=1"
76 else
77     CONFIGURABLE_FEATURE_DEFINES="$CONFIGURABLE_FEATURE_DEFINES ENABLE_BATTERY_STATUS=0"
78 fi
79
80 # This list of features represents those selected for release builds.  If you are
81 # adding a new or unstable feature, you should mark it disabled here. We need to run
82 # this command now rather than use AC_CONFIG_COMMANDS because automake rules depend
83 # on the output file (WebKitFeatures.txt).
84 $srcdir/Tools/gtk/generate-feature-defines-files $CONFIGURABLE_FEATURE_DEFINES \
85     ENABLE_BLOB=1 \
86     ENABLE_CANVAS_PATH=0 \
87     ENABLE_CANVAS_PROXY=0 \
88     ENABLE_CHANNEL_MESSAGING=1 \
89     ENABLE_CSP_NEXT=0 \
90     ENABLE_CSS3_TEXT=0 \
91     ENABLE_CSS_BOX_DECORATION_BREAK=1 \
92     ENABLE_CSS_COMPOSITING=0 \
93     ENABLE_CSS_DEVICE_ADAPTATION=0 \
94     ENABLE_CSS_EXCLUSIONS=0 \
95     ENABLE_CSS_IMAGE_ORIENTATION=0 \
96     ENABLE_CSS_IMAGE_RESOLUTION=0 \
97     ENABLE_CSS_IMAGE_SET=0 \
98     ENABLE_CSS_REGIONS=1 \
99     ENABLE_CSS_SHAPES=0 \
100     ENABLE_CSS_STICKY_POSITION=1 \
101     ENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED=0 \
102     ENABLE_CSS3_CONDITIONAL_RULES=0 \
103     ENABLE_CUSTOM_SCHEME_HANDLER=0 \
104     ENABLE_DASHBOARD_SUPPORT=0 \
105     ENABLE_DATALIST_ELEMENT=0 \
106     ENABLE_DATA_TRANSFER_ITEMS=0 \
107     ENABLE_DETAILS_ELEMENT=1 \
108     ENABLE_DEVICE_ORIENTATION=0 \
109     ENABLE_DOM4_EVENTS_CONSTRUCTOR=0 \
110     ENABLE_DOWNLOAD_ATTRIBUTE=0 \
111     ENABLE_FILTERS=1 \
112     ENABLE_FTPDIR=0 \
113     ENABLE_FONT_LOAD_EVENTS=0 \
114     ENABLE_FULLSCREEN_API=1 \
115     ENABLE_HIGH_DPI_CANVAS=0 \
116     ENABLE_ICONDATABASE=1 \
117     ENABLE_INDEXED_DATABASE=0 \
118     ENABLE_INPUT_SPEECH=0 \
119     ENABLE_INPUT_TYPE_COLOR=0 \
120     ENABLE_INPUT_TYPE_DATE=0 \
121     ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE=0 \
122     ENABLE_INPUT_TYPE_DATETIMELOCAL=0 \
123     ENABLE_INPUT_TYPE_MONTH=0 \
124     ENABLE_INPUT_TYPE_TIME=0 \
125     ENABLE_INPUT_TYPE_WEEK=0 \
126     ENABLE_INSPECTOR=1 \
127     ENABLE_LEGACY_CSS_VENDOR_PREFIXES=0 \
128     ENABLE_LEGACY_NOTIFICATIONS=0 \
129     ENABLE_LEGACY_VENDOR_PREFIXES=1 \
130     ENABLE_LEGACY_WEB_AUDIO=0 \
131     ENABLE_LINK_PREFETCH=0 \
132     ENABLE_MATHML=1 \
133     ENABLE_MEDIA_CAPTURE=0 \
134     ENABLE_MEDIA_SOURCE=0 \
135     ENABLE_MEDIA_STATISTICS=0 \
136     ENABLE_MEDIA_STREAM=0 \
137     ENABLE_METER_ELEMENT=1 \
138     ENABLE_MHTML=1 \
139     ENABLE_MOUSE_CURSOR_SCALE=0 \
140     ENABLE_NAVIGATOR_CONTENT_UTILS=0 \
141     ENABLE_NETSCAPE_PLUGIN_API=1 \
142     ENABLE_NETWORK_INFO=0 \
143     ENABLE_NOTIFICATIONS=0 \
144     ENABLE_ORIENTATION_EVENTS=0 \
145     ENABLE_PAGE_VISIBILITY_API=1 \
146     ENABLE_PERFORMANCE_TIMELINE=0 \
147     ENABLE_PROGRESS_ELEMENT=1 \
148     ENABLE_PROMISES=1 \
149     ENABLE_PROXIMITY_EVENTS=0 \
150     ENABLE_QUOTA=0 \
151     ENABLE_RESOURCE_TIMING=0 \
152     ENABLE_REQUEST_ANIMATION_FRAME=1 \
153     ENABLE_SCRIPTED_SPEECH=0 \
154     ENABLE_SHADOW_DOM=0 \
155     ENABLE_SHARED_WORKERS=1 \
156     ENABLE_SMOOTH_SCROLLING=1 \
157     ENABLE_SQL_DATABASE=1 \
158     ENABLE_SUBPIXEL_LAYOUT=1 \
159     ENABLE_TEMPLATE_ELEMENT=1 \
160     ENABLE_SATURATED_LAYOUT_ARITHMETIC=1\
161     ENABLE_TEXT_AUTOSIZING=0 \
162     ENABLE_TOUCH_EVENTS=0 \
163     ENABLE_TOUCH_ICON_LOADING=0 \
164     ENABLE_USER_TIMING=0 \
165     ENABLE_VIBRATION=0 \
166     ENABLE_VIDEO_TRACK=0 \
167     ENABLE_VIEW_MODE_CSS_MEDIA=1 \
168     ENABLE_WEB_SOCKETS=1 \
169     ENABLE_WEB_TIMING=1 \
170     ENABLE_XHR_TIMEOUT=1
171
172 dnl AM_WEBKIT_FEATURE_CONDITIONAL
173 dnl Checks whether the given feature is enabled in the
174 dnl build that is being configured and sets up equally-named
175 dnl Automake conditional reflecting the feature status.
176 dnl
177 dnl Usage:
178 dnl AM_WEBKIT_FEATURE_CONDITIONAL([FEATURE])
179 AC_DEFUN([AM_WEBKIT_FEATURE_CONDITIONAL], [
180   AC_PROG_AWK
181
182   grep -qE "($1=1)" WebKitFeatures.txt
183   if test $? -eq 0; then
184     feature_enabled="yes";
185   else
186     feature_enabled="no";
187   fi
188
189   AM_CONDITIONAL([$1], [test "$feature_enabled" = "yes"])
190
191 ]) dnl AM_WEBKIT_FEATURE_CONDITIONAL