[Autotools] Rework the build target selection
[WebKit-https.git] / Source / autotools / ReadCommandLineArguments.m4
1 AC_MSG_CHECKING([whether to build WebKit1])
2 AC_ARG_ENABLE(webkit1, 
3     AC_HELP_STRING([--enable-webkit1], [build WebKit1 [default=yes]]), 
4     [],
5     [enable_webkit1="yes"])
6 AC_MSG_RESULT([$enable_webkit1])
7
8 # If you change the default here, please also make sure the assumptions made
9 # in Tools/Scripts/webkitdirs.pm:buildAutotoolsProject still make sense.
10 AC_MSG_CHECKING([whether to build WebKit2])
11 AC_ARG_ENABLE(webkit2,
12     AC_HELP_STRING([--enable-webkit2], [build WebKit2 [default=yes]]),
13     [],
14     [enable_webkit2="yes"])
15 AC_MSG_RESULT([$enable_webkit2])
16
17 AC_MSG_CHECKING([whether to do a debug build])
18 AC_ARG_ENABLE(debug, 
19     AC_HELP_STRING([--enable-debug], [turn on debugging [default=no]]),
20     [],[enable_debug="no"])
21 AC_MSG_RESULT([$enable_debug])
22
23 AC_MSG_CHECKING([whether to enable developer mode])
24 AC_ARG_ENABLE(developer-mode,
25     AC_HELP_STRING([--enable-developer-mode], [development-oriented build (no symbols filter and builds testing harness) [default=no (yes for debug builds)]]),
26     [enable_developer_mode=$enableval],
27     [
28         if test "$enable_debug" = "yes"; then
29             enable_developer_mode="yes"
30         else
31             enable_developer_mode="no"
32         fi
33     ])
34 AC_MSG_RESULT([$enable_developer_mode])
35
36 AC_MSG_CHECKING([whether to enable optimized builds])
37 AC_ARG_ENABLE(optimizations, 
38     AC_HELP_STRING([--enable-optimizations], [turn on build-time optimizations [default=yes]]),
39     [enable_optimizations=$enableval],
40     [
41         if test "$enable_debug" = "yes"; then
42             enable_optimizations="no";
43         else
44             enable_optimizations="yes";
45         fi
46     ])
47 AC_MSG_RESULT([$enable_optimizations])
48
49 AC_MSG_CHECKING([the GTK+ version to use])
50 AC_ARG_WITH([gtk], 
51     [AS_HELP_STRING([--with-gtk=2.0|3.0], [the GTK+ version to use (default: 3.0)])],
52     [
53         case "$with_gtk" in
54             2.0|3.0) ;;
55             *) AC_MSG_ERROR([invalid GTK+ version specified]) ;;
56         esac
57     ],
58     [with_gtk=3.0])
59 AC_MSG_RESULT([$with_gtk])
60
61 default_build_targets="x11=yes wayland=no win32=no quartz=no directfb=no"
62 build_targets=""
63
64 AC_ARG_ENABLE([x11-target], [AC_HELP_STRING([--enable-x11-target], [enable building for the X11 target [default=yes]])],
65     [build_targets="$build_targets x11=$enable_x11_target"], [])
66 AC_ARG_ENABLE([wayland-target], [AC_HELP_STRING([--enable-wayland-target], [enable building for the Wayland target [default=auto]])],
67     [build_targets="$build_targets wayland=$enable_wayland_target"], [])
68 AC_ARG_ENABLE([win32-target], [AC_HELP_STRING([--enable-win32-target], [enable building for the Win32 target [default=no]])],
69     [build_targets="$build_targets win32=$enable_win32_target"], [])
70 AC_ARG_ENABLE([quartz-target], [AC_HELP_STRING([--enable-quartz-target], [enable building for the Quartz target [default=no]])],
71     [build_targets="$build_targets quartz=$enable_quartz_target"], [])
72 AC_ARG_ENABLE([directfb-target], [AC_HELP_STRING([--enable-directfb-target], [enable building for the DirectFB target [default=no]])],
73     [build_targets="$build_targets directfb=$enable_directfb_target"], [])
74
75 if test "$build_targets" = ""; then
76     build_targets="$default_build_targets"
77 fi
78
79 AM_WEBKIT_DETERMINE_BUILD_TARGET_STATUS([x11], [enable_x11_target], [build_targets])
80 AM_WEBKIT_DETERMINE_BUILD_TARGET_STATUS([wayland], [enable_wayland_target], [build_targets])
81 AM_WEBKIT_DETERMINE_BUILD_TARGET_STATUS([win32], [enable_win32_target], [build_targets])
82 AM_WEBKIT_DETERMINE_BUILD_TARGET_STATUS([quartz], [enable_quartz_target], [build_targets])
83 AM_WEBKIT_DETERMINE_BUILD_TARGET_STATUS([directfb], [enable_directfb_target], [build_targets])
84
85 AC_MSG_CHECKING([whether to build for the Win32 target])
86 AC_MSG_RESULT([$enable_wayland_target])
87
88 AC_MSG_CHECKING([whether to enable spellcheck support])
89 AC_ARG_ENABLE([spellcheck],
90     [AS_HELP_STRING([--enable-spellcheck],[enable support for spellcheck])],
91     [],
92     [enable_spellcheck="yes"])
93 AC_MSG_RESULT([$enable_spellcheck])
94
95 AC_MSG_CHECKING([whether to enable credential storage])
96 AC_ARG_ENABLE([credential_storage],
97     [AS_HELP_STRING([--enable-credential-storage],[enable support for credential storage using libsecret [default=yes]])],
98     [],
99     [enable_credential_storage="yes"])
100 AC_MSG_RESULT([$enable_credential_storage])
101
102 AC_ARG_ENABLE(glx, 
103     AC_HELP_STRING([--enable-glx], [enable support for GLX [default=auto]]),
104     [],
105     [enable_glx="auto"])
106
107 AC_ARG_ENABLE(egl, 
108     AC_HELP_STRING([--enable-egl], [enable support for EGL [default=auto]]),
109     [],
110     [enable_egl="auto"])
111 AC_ARG_ENABLE(gles2, AC_HELP_STRING([--enable-gles2], [enable support for OpenGL ES 2 [default=auto]]), [], [enable_gles2="auto"])
112
113 AC_MSG_CHECKING([whether to enable Gamepad support])
114 AC_ARG_ENABLE(gamepad, 
115     AC_HELP_STRING([--enable-gamepad], [enable Gamepad support [default=no]]), 
116     [],
117     [enable_gamepad="no"])
118 AC_MSG_RESULT([$enable_gamepad])
119
120 AC_MSG_CHECKING([whether to enable HTML5 video support])
121 AC_ARG_ENABLE(video, 
122     AC_HELP_STRING([--enable-video], [enable HTML5 video support [default=yes]]),
123     [],
124     [enable_video="yes"])
125 AC_MSG_RESULT([$enable_video])
126
127 AC_MSG_CHECKING([whether to enable geolocation support])
128 AC_ARG_ENABLE(geolocation, 
129     AC_HELP_STRING([--enable-geolocation], [enable support for geolocation [default=yes]]),
130     [],
131     [enable_geolocation="yes"])
132 AC_MSG_RESULT([$enable_geolocation])
133
134 AC_MSG_CHECKING([whether to enable SVG support])
135 AC_ARG_ENABLE(svg, 
136     AC_HELP_STRING([--enable-svg], [enable support for SVG [default=yes]]),
137     [],
138     [enable_svg="yes"])
139 AC_MSG_RESULT([$enable_svg])
140
141 AC_MSG_CHECKING([whether to enable support for SVG fonts])
142 AC_ARG_ENABLE(svg_fonts, 
143     AC_HELP_STRING([--enable-svg-fonts], [enable support for SVG fonts (experimental) [default=yes]]),
144     [],
145     [enable_svg_fonts="yes"])
146 AC_MSG_RESULT([$enable_svg_fonts])
147
148 AC_MSG_CHECKING([whether to enable Web Audio support])
149 AC_ARG_ENABLE(web_audio, 
150     AC_HELP_STRING([--enable-web-audio], [enable support for Web Audio [default=no]]),
151     [],
152     [enable_web_audio="no"])
153 AC_MSG_RESULT([$enable_web_audio])
154
155 AC_MSG_CHECKING([whether to enable Battery Status API support])
156 AC_ARG_ENABLE(battery_status,
157     AC_HELP_STRING([--enable-battery-status], [enable support for Battery Status API [default=no]]),
158     [],
159     [enable_battery_status="no"])
160 AC_MSG_RESULT([$enable_battery_status])
161
162 AC_MSG_CHECKING([whether to enable code coverage support])
163 AC_ARG_ENABLE(coverage,
164     AC_HELP_STRING([--enable-coverage], [enable code coverage support [default=no]]),
165     [],
166     [enable_coverage="no"])
167 AC_MSG_RESULT([$enable_coverage])
168
169 AC_MSG_CHECKING([whether to enable optimized memory allocator])
170 AC_ARG_ENABLE(fast_malloc, 
171     AC_HELP_STRING([--enable-fast-malloc], [enable optimized memory allocator default=yes, default=no for debug builds]),
172     [],
173     [if test "$enable_debug" = "yes"; then
174          enable_fast_malloc="no";
175      else
176          enable_fast_malloc="yes";
177      fi])
178 AC_MSG_RESULT([$enable_fast_malloc])
179
180 AC_MSG_CHECKING([whether to enable debug symbols])
181 AC_ARG_ENABLE(debug_symbols,
182     AC_HELP_STRING([--enable-debug-symbols=yes|no|min|full], [enable debug symbols default=no, default=yes for debug builds]),
183     [
184         case "$enable_debug_symbols" in
185             yes) enable_debug_symbols="full" ;;
186             no|min|full) ;;
187             *) AC_MSG_ERROR([Invalid debug symbols option: must be yes, no, min or full.]) ;;
188         esac
189     ],
190     [
191          if test "$enable_debug" = "yes"; then
192              enable_debug_symbols="yes";
193          else
194              enable_debug_symbols="no";
195          fi
196     ])
197 AC_MSG_RESULT([$enable_debug_symbols])
198
199 AC_MSG_CHECKING([whether to enable WebGL support])
200 AC_ARG_ENABLE(webgl, AC_HELP_STRING([--enable-webgl], [enable support for WebGL [default=auto]]),
201     [],
202     [enable_webgl="auto"])
203 AC_MSG_RESULT([$enable_webgl])
204
205 AC_MSG_CHECKING([whether to enable accelerated compositing support])
206 AC_ARG_ENABLE(accelerated_compositing,
207     AC_HELP_STRING([--enable-accelerated-compositing], [enable support for accelerated compositing [default=auto]]),
208     [],
209     [enable_accelerated_compositing="auto"])
210 AC_MSG_RESULT([$enable_accelerated_compositing])
211
212 AC_MSG_CHECKING([whether to enable JIT compilation])
213 AC_ARG_ENABLE(jit, AS_HELP_STRING([--enable-jit], [Enable JIT compilation (default: auto)]), [], [enable_jit=auto])
214 AC_MSG_RESULT([$enable_jit])
215
216 AC_MSG_CHECKING([whether to enable FTL JIT])
217 AC_ARG_ENABLE(ftl-jit, AS_HELP_STRING([--enable-ftl-jit], [Enable FTL JIT (experimental) (default: no)]), [], [enable_ftl_jit=no])
218 AC_MSG_RESULT([$enable_ftl_jit])
219
220 AC_MSG_CHECKING([whether to enable opcode stats])
221 AC_ARG_ENABLE([opcode-stats], 
222     AS_HELP_STRING([--enable-opcode-stats], [Enable Opcode statistics (default: disabled)]),
223     [],
224     [enable_opcode_stats=no])
225 AC_MSG_RESULT([$enable_opcode_stats])
226
227 AC_MSG_CHECKING([whether to enable GObject introspection support])
228 AC_ARG_ENABLE([introspection], 
229     AS_HELP_STRING([--enable-introspection],[Enable GObject introspection (default: disabled)]),
230     [],
231     [enable_introspection=no])
232 AC_MSG_RESULT([$enable_introspection])
233
234