[hoversel] - Removed focus_direction since focus_cycle is applied on sd->hover.
[platform/upstream/elementary.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [8])
5 m4_define([v_mic], [0])
6 dnl m4_define([v_rev], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))
7 ##--   When released, remove the dnl on the below line
8 dnl m4_undefine([v_rev])
9 ##--   When doing snapshots - change soname. remove dnl on below line
10 dnl m4_define([relname], [beta2])
11 dnl m4_define([v_rel], [-release relname])
12 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
13 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
14 [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_rev], m4_eval(v_maj + v_min))
16 m4_define([lt_cur], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20
21 AC_INIT([elementary], [v_ver-beta2], [enlightenment-devel@lists.sourceforge.net])
22 AC_PREREQ(2.52)
23 AC_CONFIG_SRCDIR([configure.ac])
24 AC_CONFIG_MACRO_DIR([m4])
25 AC_CANONICAL_BUILD
26 AC_CANONICAL_HOST
27
28 AC_CONFIG_HEADERS([elementary_config.h])
29 AH_TOP([
30 #ifndef EFL_CONFIG_H__
31 #define EFL_CONFIG_H__
32 ])
33 AH_BOTTOM([
34 #endif /* EFL_CONFIG_H__ */
35 ])
36
37 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
38 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
39
40 AC_GNU_SOURCE
41
42 AC_C_BIGENDIAN
43 AC_ISC_POSIX
44 AC_PROG_CC
45 AC_PROG_CC_STDC
46 AC_HEADER_STDC
47 AC_C_CONST
48 AC_C___ATTRIBUTE__
49 AC_FUNC_ALLOCA
50
51 AC_LIBTOOL_WIN32_DLL
52 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
53 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
54 AC_PROG_LIBTOOL
55
56 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
57 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
59 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
60 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
61 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
62 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
63 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
64 version_info="lt_rev:lt_cur:lt_age"
65 release_info="v_rel"
66 AC_SUBST(version_info)
67 AC_SUBST(release_info)
68 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 VMAJ=v_maj
71 VMIN=v_min
72 AC_SUBST(VMAJ)
73 AC_SUBST(VMIN)
74 ELM_VERSION_MAJOR=v_maj
75 ELM_VERSION_MINOR=v_min
76 AC_SUBST(ELM_VERSION_MAJOR)
77 AC_SUBST(ELM_VERSION_MINOR)
78
79 # pkg-config
80 PKG_PROG_PKG_CONFIG
81
82 MODULE_EDJE=`pkg-config --variable=module_arch edje`
83 if test -z "$MODULE_EDJE"; then
84    # Backward compatibility -- TODO: remove when EFL 1.8 is released.
85    EDJE_VERSION=`$PKG_CONFIG edje --modversion | awk -F . '{printf("%s.%s.%s", $1, $2, $3);}'`
86    case "$host_os" in
87      mingw32ce* | cegcc*)
88        MODULE_EDJE="$host_os-$host_cpu"
89        ;;
90      *)
91        MODULE_EDJE="$host_os-$host_cpu-${EDJE_VERSION}"
92        ;;
93    esac
94 fi
95 AC_SUBST(MODULE_EDJE)
96 AC_DEFINE_UNQUOTED(MODULE_EDJE, "$MODULE_EDJE", "Edje module architecture")
97
98 case "$host_os" in
99   mingw32ce* | cegcc*)
100     MODULE_ARCH="$host_os-$host_cpu"
101     ;;
102   *)
103     MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
104     ;;
105 esac
106 AC_SUBST(release_info)
107 AC_SUBST(MODULE_ARCH)
108 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
109
110 EFL_SHARED_EXTENSION="${shrext_cmds}"
111 AC_DEFINE_UNQUOTED(EFL_SHARED_EXTENSION, "${EFL_SHARED_EXTENSION}", "Shared extension")
112
113 requirement_elm=""
114
115 PKG_PROG_PKG_CONFIG
116
117 # Check whether pkg-config supports Requires.private
118 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
119    pkgconfig_requires_private="Requires.private"
120 else
121    pkgconfig_requires_private="Requires"
122 fi
123 AC_SUBST(pkgconfig_requires_private)
124
125 #================================================
126 if test "x${prefix}" = "xNONE"; then
127   LOCALE_DIR="${ac_default_prefix}/share/locale"
128 else
129   LOCALE_DIR="${prefix}/share/locale"
130 fi
131 AC_SUBST(LOCALE_DIR)
132 #================================================
133 elementary_icon_dir="${datadir}/icons"
134 AC_SUBST(elementary_icon_dir)
135
136 lt_enable_auto_import=""
137 ELM_UNIX_DEF="#undef"
138 ELM_WIN32_DEF="#undef"
139 ELM_WINCE_DEF="#undef"
140 have_windows="no"
141 have_dlopen="no"
142 case "$host_os" in
143    mingw32ce*)
144       PKG_CHECK_MODULES([EVIL], [evil])
145       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
146       lt_enable_auto_import="-Wl,--enable-auto-import"
147       ELM_WINCE_DEF="#define"
148       have_windows="yes"
149 dnl managed by evil
150       AC_DEFINE(HAVE_DLADDR)
151       have_dlopen="yes"
152       dlopen_libs=-ldl
153       requirement_elm="evil"
154       have_socket="no"
155     ;;
156    mingw*)
157       PKG_CHECK_MODULES([EVIL], [evil])
158       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
159       lt_enable_auto_import="-Wl,--enable-auto-import"
160       ELM_WIN32_DEF="#define"
161       have_windows="yes"
162 dnl managed by evil
163       AC_DEFINE(HAVE_DLADDR)
164       have_dlopen="yes"
165       dlopen_libs=-ldl
166       requirement_elm="evil"
167       have_socket="no"
168       ;;
169    *solaris*)
170       ELM_UNIX_DEF="#define"
171       have_socket="yes"
172       have_dlopen="yes"
173       AC_CHECK_LIB([socket], [connect], [], [have_socket="no"])
174       ;;
175    darwin*)
176       ELM_UNIX_DEF="#define"
177       have_socket="yes"
178       have_dlopen="yes"
179       AC_CHECK_HEADERS([crt_externs.h])
180       AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
181       ;;
182    *)
183       ELM_UNIX_DEF="#define"
184       AC_CHECK_FUNCS(dlopen, res=yes, res=no)
185       if test "x$res" = "xyes"; then
186         AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
187         have_dlopen="yes"
188       else
189         AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
190         AC_CHECK_LIB(m, sincos)
191         if test "x$res" = "xyes"; then
192           AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
193           dlopen_libs=-ldl
194           have_dlopen="yes"
195         fi
196       fi
197       have_socket="yes"
198       ;;
199 esac
200 AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
201 AM_CONDITIONAL([BUILD_MODULES], [test "x$have_dlopen" = "xyes"])
202
203 m4_ifdef([v_mic],
204    [
205     EFL_COMPILER_FLAG([-Wshadow])
206     EFL_COMPILER_FLAG([-Wall])
207     EFL_COMPILER_FLAG([-W])
208    ])
209
210 have_fork="no"
211 want_quicklaunch="auto"
212 AC_ARG_ENABLE([quick-launch],
213         [AC_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
214         [want_quicklaunch=$enableval], [])
215
216 # Check if we can build binary with quicklaunch support
217 ELM_QUICKLAUNCH
218
219 if test "x$want_quicklaunch" != "xno"; then
220    AC_CHECK_FUNCS(fork, [
221         have_fork="yes"
222         AC_DEFINE(HAVE_FORK)
223    ])
224    AC_CHECK_FUNCS([clearenv])
225 fi
226 AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x$have_fork" = "xyes" && test "x$have_dlopen" = "xyes"])
227
228 AC_SUBST(dlopen_libs)
229 AC_SUBST(lt_enable_auto_import)
230 AC_SUBST(ELM_UNIX_DEF)
231 AC_SUBST(ELM_WIN32_DEF)
232 AC_SUBST(ELM_WINCE_DEF)
233
234 AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"])
235
236 efl_version="1.8.0"
237
238 PKG_CHECK_MODULES([ELEMENTARY],
239    [
240     eina >= ${efl_version}
241     eet >= ${efl_version}
242     evas >= ${efl_version}
243     ecore >= ${efl_version}
244     ecore-evas >= ${efl_version}
245     ecore-file >= ${efl_version}
246     ecore-input >= ${efl_version}
247     edje >= ${efl_version}
248     eo >= ${efl_version}
249     ethumb_client >= ${efl_version}
250     emotion >= ${efl_version}
251     ecore-imf >= ${efl_version}
252     ecore-con >= ${efl_version}
253     eio >= ${efl_version}
254     eldbus >= ${efl_version}
255     efreet >= ${efl_version}
256     efreet-mime >= ${efl_version}
257     efreet-trash >= ${efl_version}
258    ]
259 )
260
261 EFL_ENABLE_EO_API_SUPPORT
262 EFL_ENABLE_BETA_API_SUPPORT
263
264 requirement_elm="\
265     eina >= ${efl_version} \
266     eet >= ${efl_version} \
267     evas >= ${efl_version} \
268     ecore >= ${efl_version} \
269     ecore-evas >= ${efl_version} \
270     ecore-file >= ${efl_version} \
271     ecore-input >= ${efl_version} \
272     edje >= ${efl_version} \
273     eo >= ${efl_version} \
274     ethumb_client >= ${efl_version} \
275     emotion >= ${efl_version} \
276     ecore-imf >= ${efl_version} \
277     ecore-con >= ${efl_version} \
278     eio >= ${efl_version} \
279     eldbus >= ${efl_version} \
280     efreet >= ${efl_version} \
281     efreet-mime >= ${efl_version} \
282     efreet-trash >= ${efl_version} \
283     "
284
285 have_elementary_x="no"
286 want_elementary_x="auto"
287 AC_ARG_ENABLE([ecore-x],
288    [AC_HELP_STRING([--disable-ecore-x], [disable ecore-x support. @<:@default=detect@:>@])],
289    [want_elementary_x=$enableval], [])
290
291 if test "x$want_elementary_x" != "xno"; then
292    PKG_CHECK_MODULES([ELEMENTARY_X],
293       [ecore-x >= ${efl_version}],
294       [
295        AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary])
296        have_elementary_x="yes"
297        requirement_elm="ecore-x >= ${efl_version} ${requirement_elm}"
298       ],
299       [have_elementary_x="no"]
300    )
301 else
302     have_elementary_x="no"
303 fi
304 if test "x$want_elementary_x" = "xyes" -a "x$have_elementary_x" = "xno"; then
305     AC_MSG_ERROR([ecore-x support requested, but ecore-x was not found by pkg-config.])
306 fi
307
308
309 have_elementary_fb="no"
310 want_elementary_fb="auto"
311 AC_ARG_ENABLE([ecore-fb],
312    [AC_HELP_STRING([--disable-ecore-fb], [disable ecore-fb support. @<:@default=detect@:>@])],
313    [want_elementary_fb=$enableval], [])
314
315 if test "x$want_elementary_fb" != "xno"; then
316    PKG_CHECK_MODULES([ELEMENTARY_FB],
317       [ecore-fb >= ${efl_version}],
318       [
319        AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
320        have_elementary_fb="yes"
321        requirement_elm="ecore-fb >= ${efl_version} ${requirement_elm}"
322       ],
323       [have_elementary_fb="no"]
324    )
325 else
326     have_elementary_fb="no"
327 fi
328 if test "x$want_elementary_fb" = "xyes" -a "x$have_elementary_fb" = "xno"; then
329     AC_MSG_ERROR([ecore-fb support requested, but ecore-fb was not found by pkg-config.])
330 fi
331
332 have_elementary_psl1ght="no"
333 want_elementary_psl1ght="auto"
334 AC_ARG_ENABLE([ecore-psl1ght],
335    [AC_HELP_STRING([--disable-ecore-psl1ght], [disable ecore-psl1ght support. @<:@default=detect@:>@])],
336    [want_elementary_psl1ght=$enableval], [])
337
338 if test "x$want_elementary_psl1ght" != "xno"; then
339    PKG_CHECK_MODULES([ELEMENTARY_PSL1GHT],
340       [ecore-psl1ght >= ${efl_version}],
341       [
342        AC_DEFINE(HAVE_ELEMENTARY_PSL1GHT, 1, [PSL1GHT support for Elementary])
343        have_elementary_psl1ght="yes"
344        requirement_elm="ecore-psl1ght >= ${efl_version} ${requirement_elm}"
345       ],
346       [have_elementary_psl1ght="no"]
347    )
348 else
349     have_elementary_psl1ght="no"
350 fi
351 if test "x$want_elementary_psl1ght" = "xyes" -a "x$have_elementary_psl1ght" = "xno"; then
352     AC_MSG_ERROR([ecore-psl1ght support requested, but ecore-psl1ght was not found by pkg-config.])
353 fi
354
355 have_elementary_sdl="no"
356 want_elementary_sdl="auto"
357 AC_ARG_ENABLE([ecore-sdl],
358    [AC_HELP_STRING([--disable-ecore-sdl], [disable ecore-sdl support. @<:@default=detect@:>@])],
359    [want_elementary_sdl=$enableval], [])
360
361 if test "x$want_elementary_sdl" != "xno"; then
362    PKG_CHECK_MODULES([ELEMENTARY_SDL],
363       [ecore-sdl >= ${efl_version}],
364       [
365        AC_DEFINE(HAVE_ELEMENTARY_SDL, 1, [SDL support for Elementary])
366        have_elementary_sdl="yes"
367        requirement_elm="ecore-sdl >= ${efl_version} ${requirement_elm}"
368       ],
369       [have_elementary_sdl="no"]
370    )
371 else
372     have_elementary_sdl="no"
373 fi
374 if test "x$want_elementary_sdl" = "xyes" -a "x$have_elementary_sdl" = "xno"; then
375     AC_MSG_ERROR([ecore-sdl support requested, but ecore-sdl was not found by pkg-config.])
376 fi
377
378 have_elementary_cocoa="no"
379 want_elementary_cocoa="auto"
380 AC_ARG_ENABLE([ecore-cocoa],
381    [AC_HELP_STRING([--disable-ecore-cocoa], [disable ecore-cocoa support. @<:@default=detect@:>@])],
382    [want_elementary_cocoa=$enableval], [])
383
384 if test "x$want_elementary_cocoa" != "xno"; then
385    PKG_CHECK_MODULES([ELEMENTARY_COCOA],
386       [ecore-cocoa >= ${efl_version}],
387       [
388        AC_DEFINE(HAVE_ELEMENTARY_COCOA, 1, [COCOA support for Elementary])
389        have_elementary_cocoa="yes"
390        requirement_elm="ecore-cocoa >= ${efl_version} ${requirement_elm}"
391       ],
392       [have_elementary_cocoa="no"]
393    )
394 else
395     have_elementary_cocoa="no"
396 fi
397 if test "x$want_elementary_cocoa" = "xyes" -a "x$have_elementary_cocoa" = "xno"; then
398     AC_MSG_ERROR([ecore-cocoa support requested, but ecore-cocoa was not found by pkg-config.])
399 fi
400
401 have_elementary_win32="no"
402 want_elementary_win32="auto"
403 AC_ARG_ENABLE([ecore-win32],
404    [AC_HELP_STRING([--disable-ecore-win32], [disable ecore-win32 support. @<:@default=detect@:>@])],
405    [want_elementary_win32=$enableval], [])
406
407 if test "x$want_elementary_win32" != "xno"; then
408    PKG_CHECK_MODULES([ELEMENTARY_WIN32],
409       [ecore-win32 >= ${efl_version}],
410       [
411        AC_DEFINE(HAVE_ELEMENTARY_WIN32, 1, [Windows XP support for Elementary])
412        have_elementary_win32="yes"
413        requirement_elm="ecore-win32 >= ${efl_version} ${requirement_elm}"
414       ],
415       [have_elementary_win32="no"]
416    )
417 else
418     have_elementary_win32="no"
419 fi
420 if test "x$want_elementary_win32" = "xyes" -a "x$have_elementary_win32" = "xno"; then
421     AC_MSG_ERROR([ecore-win32 support requested, but ecore-win32 was not found by pkg-config.])
422 fi
423
424 have_elementary_wince="no"
425 want_elementary_wince="auto"
426 AC_ARG_ENABLE([ecore-wince],
427    [AC_HELP_STRING([--disable-ecore-wince], [disable ecore-wince support. @<:@default=detect@:>@])],
428    [want_elementary_wince=$enableval], [])
429
430 if test "x$want_elementary_wince" != "xno"; then
431    PKG_CHECK_MODULES([ELEMENTARY_WINCE],
432       [ecore-wince >= ${efl_version}],
433       [
434        AC_DEFINE(HAVE_ELEMENTARY_WINCE, 1, [Windows CE support for Elementary])
435        have_elementary_wince="yes"
436        requirement_elm="ecore-wince >= ${efl_version} ${requirement_elm}"
437       ],
438       [have_elementary_wince="no"]
439    )
440 else
441     have_elementary_wince="no"
442 fi
443 if test "x$want_elementary_wince" = "xyes" -a "x$have_elementary_wince" = "xno"; then
444     AC_MSG_ERROR([ecore-wince support requested, but ecore-wince was not found by pkg-config.])
445 fi
446
447 have_elementary_wayland="no"
448 want_elementary_wayland="auto"
449 AC_ARG_ENABLE([ecore-wayland],
450    [AC_HELP_STRING([--disable-ecore-wayland], [disable ecore-wayland support. @<:@default=detect@:>@])],
451    [want_elementary_wayland=$enableval], [])
452
453 if test "x$want_elementary_wayland" != "xno"; then
454    PKG_CHECK_MODULES([ELEMENTARY_WAYLAND],
455       [ecore-wayland],
456       [
457        AC_DEFINE(HAVE_ELEMENTARY_WAYLAND, 1, [Wayland support for Elementary])
458        have_elementary_wayland="yes"
459        requirement_elm="ecore-wayland ${requirement_elm}"
460       ],
461       [have_elementary_wayland="no"]
462    )
463 else
464     have_elementary_wayland="no"
465 fi
466 if test "x$want_elementary_wayland" = "xyes" -a "x$have_elementary_wayland" = "xno"; then
467     AC_MSG_ERROR([ecore-wayland support requested, but ecore-wayland was not found by pkg-config.])
468 fi
469
470 ELM_ELOCATION_DEF="#undef"
471 have_elementary_elocation="no"
472 want_elementary_elocation="auto"
473 AC_ARG_ENABLE([elocation],
474    [AC_HELP_STRING([--disable-elocation], [disable elocation support. @<:@default=detect@:>@])],
475    [want_elementary_elocation=$enableval], [])
476
477 if test "x$want_elementary_elocation" != "xno"; then
478     PKG_CHECK_MODULES([ELEMENTARY_ELOCATION],
479        [
480         elocation >= 0.1.0
481        ],
482        [
483         AC_DEFINE(HAVE_ELEMENTARY_ELOCATION, 1, [Elocation support for Elementary])
484         have_elementary_elocation="yes"
485         ELM_ELOCATION_DEF="#define"
486         requirement_elm="elocation >= 0.1.0 ${requirement_elm}"
487        ],
488        [have_elementary_elocation="no"]
489     )
490 else
491     have_elementary_elocation="no"
492 fi
493 if test "x$want_elementary_elocation" = "xyes" -a "x$have_elementary_elocation" = "xno"; then
494     AC_MSG_ERROR([elocation support requested, but elocation was not found by pkg-config.])
495 fi
496 AC_SUBST(ELM_ELOCATION_DEF)
497
498 ELM_EWEATHER_DEF="#undef"
499 have_elementary_eweather="no"
500 want_elementary_eweather="auto"
501 AC_ARG_ENABLE([eweather],
502    [AC_HELP_STRING([--disable-eweather], [disable eweather support. @<:@default=detect@:>@])],
503    [want_elementary_eweather=$enableval], [])
504
505 if test "x$want_elementary_eweather" != "xno"; then
506     PKG_CHECK_MODULES([ELEMENTARY_EWEATHER],
507        [
508         eweather
509        ],
510        [
511         AC_DEFINE(HAVE_ELEMENTARY_EWEATHER, 1, [EWeather support for Elementary])
512         have_elementary_eweather="yes"
513         ELM_EWEATHER_DEF="#define"
514         requirement_elm="eweather ${requirement_elm}"
515        ],
516        [have_elementary_eweather="no"]
517     )
518 else
519     have_elementary_eweather="no"
520 fi
521 if test "x$want_elementary_eweather" = "xyes" -a "x$have_elementary_eweather" = "xno"; then
522     AC_MSG_ERROR([Eweather support requested, but eweather was not found by pkg-config.])
523 fi
524 AC_SUBST(ELM_EWEATHER_DEF)
525
526 ELM_EMAP_DEF="#undef"
527 have_elementary_emap="no"
528 want_elementary_emap="auto"
529 AC_ARG_ENABLE([emap],
530    [AC_HELP_STRING([--disable-emap], [disable emap support. @<:@default=detect@:>@])],
531    [want_elementary_emap=$enableval], [])
532
533 if test "x$want_elementary_emap" != "xno"; then
534     PKG_CHECK_MODULES([ELEMENTARY_EMAP],
535        [
536         emap
537        ],
538        [
539         AC_DEFINE(HAVE_ELEMENTARY_EMAP, 1, [EMap support for Elementary])
540         have_elementary_emap="yes"
541         ELM_EMAP_DEF="#define"
542         requirement_elm="emap ${requirement_elm}"
543        ],
544        [have_elementary_emap="no"]
545     )
546 else
547     have_elementary_emap="no"
548 fi
549 if test "x$want_elementary_emap" = "xyes" -a "x$have_elementary_emap" = "xno"; then
550     AC_MSG_ERROR([Emap support requested, but emap was not found by pkg-config.])
551 fi
552 AC_SUBST(ELM_EMAP_DEF)
553
554 ELM_WEB_DEF="#undef"
555
556 elementary_web_backend="detect"
557 elementary_web="no"
558 want_elementary_web=""
559 AC_ARG_WITH([elementary-web-backend],
560    [AC_HELP_STRING([--with-elementary-web-backend=@<:@ewebkit/ewebkit2/detect/none@:>@], [Select the WebKit backend for Elementary to support web @<:@default=detect@:>@])],
561    [
562     elementary_web_backend=${withval}
563    ],
564    [elementary_web_backend="detect"])
565
566 case "$elementary_web_backend" in
567     ewebkit|ewebkit2|detect|none) ;;
568     *) AC_MSG_ERROR([Invalid web backend: must be ewebkit, ewebkit2, detect or none]) ;;
569 esac
570
571 if test "x$elementary_web_backend" = "xdetect"; then
572     # FIXME : detect option should check both ewebkit and ewebkit2.
573     want_elementary_web="ewebkit"
574 else
575     want_elementary_web=$elementary_web_backend
576 fi
577
578 if test "x$want_elementary_web" != "xnone"; then
579     PKG_CHECK_MODULES([ELEMENTARY_WEB],
580        [$want_elementary_web],
581        [
582         AC_DEFINE(HAVE_ELEMENTARY_WEB, 1, [Web support for Elementary])
583         webkit_datadir=$($PKG_CONFIG $want_elementary_web --variable=datadir)
584         AC_DEFINE_UNQUOTED(WEBKIT_DATADIR,
585                            "$webkit_datadir",
586                            "WebKit's data dir")
587         if test "x$elementary_web_backend" = "xewebkit2"; then
588             AC_DEFINE(USE_WEBKIT2, 1, [Use ewebkit2 as Elementary web backend])
589         fi
590
591         elementary_web=$want_elementary_web
592         ELM_WEB_DEF="#define"
593         requirement_elm="${want_elementary_web} ${requirement_elm}"
594        ],
595        [elementary_web="no"]
596     )
597 else
598     elementary_web="no"
599 fi
600
601 if test "x$elementary_web_backend" = "xewebkit" -o "x$elementary_web_backend" = "xewebkit2"; then
602     if test "x$elementary_web" = "xnone"; then
603         AC_MSG_ERROR([Web support requested, but no $elementary_web_backend found by pkg-config.])
604     fi
605 fi
606 AC_SUBST(ELM_WEB_DEF)
607
608 ELM_DEBUG_DEF="#undef"
609 want_elementary_debug="no"
610 AC_ARG_ENABLE([debug],
611    [AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
612    [want_elementary_debug=$enableval], [])
613
614 if test "x$want_elementary_debug" = "xyes"; then
615         AC_DEFINE(HAVE_ELEMENTARY_DEBUG, 1, [Elementary debug.])
616         ELM_DEBUG_DEF="#define"
617 fi
618 AC_SUBST(ELM_DEBUG_DEF)
619
620 AC_ARG_WITH([tests],
621    [AC_HELP_STRING([--with-tests=none|regular],
622                    [choose elementary testing method: regular or none.(coverage will be supported)@<:@default=none@:>@])],
623    [build_tests=${withval}],
624    [build_tests=none])
625
626 if test "${build_tests}" = "regular"; then
627    PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
628 fi
629 AM_CONDITIONAL([ENABLE_ELEMENTARY_TESTS], [test "${build_tests}" = "regular"])
630
631 ELM_ALLOCA_H_DEF="#undef"
632 AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"])
633 AC_SUBST(ELM_ALLOCA_H_DEF)
634
635 ELM_LIBINTL_H_DEF="#undef"
636 AC_CHECK_HEADER(libintl.h, [ELM_LIBINTL_H_DEF="#define"])
637 AC_SUBST(ELM_LIBINTL_H_DEF)
638
639 ELM_DIRENT_H_DEF="#undef"
640 AC_CHECK_HEADER(dirent.h, [ELM_DIRENT_H_DEF="#define"])
641 AC_SUBST(ELM_DIRENT_H_DEF)
642
643 AC_CHECK_HEADER(sys/mman.h, [have_mman="yes"], [have_mman="no"])
644 if test "x${have_mman}" = "xyes"; then
645    AC_DEFINE(HAVE_MMAN_H, 1, [Have sys/mman.h header file])
646 fi
647
648 AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
649
650 my_libs="-lm"
651 AC_SUBST(my_libs)
652 AC_SUBST(requirement_elm)
653
654 EFL_WITH_BIN([eet], [eet-eet], [eet])
655 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
656 EFL_WITH_BIN([elementary], [elementary-codegen], [elementary_codegen])
657 EFL_WITH_BIN([elementary], [elm-prefs-cc], [elm_prefs_cc])
658
659 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
660
661 EFL_ENABLE_BIN([elementary-test])
662 EFL_ENABLE_BIN([elementary-codegen])
663 EFL_ENABLE_BIN([elm-prefs-cc])
664 EFL_ENABLE_BIN([elementary-config])
665
666 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
667 AM_GNU_GETTEXT_VERSION([0.17])
668 ])
669
670 m4_ifdef([AM_GNU_GETTEXT], [
671 AM_GNU_GETTEXT([external])
672 po_makefile_in=po/Makefile.in
673 have_po="yes"
674 ],[
675 have_po="no"
676 ])
677 AC_SUBST(LTLIBINTL)
678
679 if test "x${POSUB}" = "x" ; then
680    have_po="no"
681 fi
682
683 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
684
685 EFL_CHECK_PATH_MAX
686
687 elementary_base_dir=".elementary"
688 AC_ARG_WITH([elementary-base-dir],
689    [AC_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
690    [elementary_base_dir=${withval}],
691    [elementary_base_dir=".elementary"])
692
693 AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
694 AC_DEFINE_UNQUOTED(ELEMENTARY_BASE_DIR, "${elementary_base_dir}", "subdirectory for all elementary data")
695
696 ### Build and install examples
697 EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
698 EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
699
700 AC_TRY_COMPILE([
701 # define _GNU_SOURCE 1
702 #include <unistd.h>
703 ], [
704 extern char **environ;
705 ], [
706   AC_DEFINE(HAVE_ENVIRON, 1, [extern environ exists])
707 ])
708
709 AC_CONFIG_FILES([
710 Makefile
711 elementary.spec
712 elementary.pc
713 doc/Makefile
714 doc/Doxyfile
715 doc/widgets/Makefile
716 src/Makefile
717 src/lib/Makefile
718 src/lib/Elementary.h
719 src/bin/Makefile
720 src/modules/Makefile
721 src/modules/prefs/Makefile
722 src/modules/access_output/Makefile
723 src/modules/datetime_input_ctxpopup/Makefile
724 src/modules/test_entry/Makefile
725 src/modules/test_map/Makefile
726 src/edje_externals/Makefile
727 src/examples/Makefile
728 src/tests/Makefile
729 data/Makefile
730 data/themes/Makefile
731 data/images/Makefile
732 data/objects/Makefile
733 data/desktop/Makefile
734 data/edje_externals/Makefile
735 config/Makefile
736 config/default/Makefile
737 config/standard/Makefile
738 config/mobile/Makefile
739 $po_makefile_in
740 cmakeconfig/ElementaryConfig.cmake
741 cmakeconfig/ElementaryConfigVersion.cmake
742 pkgbuild/PKGBUILD
743 ])
744
745 AC_OUTPUT
746
747 #####################################################################
748 ## Info
749
750 echo
751 echo
752 echo
753 echo "------------------------------------------------------------------------"
754 echo "$PACKAGE $VERSION"
755 echo "------------------------------------------------------------------------"
756 echo
757 echo "Configuration Options Summary:"
758 echo
759 echo "  Engines:"
760 echo "    X11....................: ${have_elementary_x}"
761 echo "    Framebuffer............: ${have_elementary_fb}"
762 echo "    PSL1GHT................: ${have_elementary_psl1ght}"
763 echo "    SDL....................: ${have_elementary_sdl}"
764 echo "    Cocoa..................: ${have_elementary_cocoa}"
765 echo "    Windows XP.............: ${have_elementary_win32}"
766 echo "    Windows CE.............: ${have_elementary_wince}"
767 echo "    Wayland................: ${have_elementary_wayland}"
768 echo
769 echo "  Features:"
770 echo "    EWeather...............: ${have_elementary_eweather}"
771 echo "    EMap...................: ${have_elementary_emap}"
772 echo "    Web (WebKit)...........: ${elementary_web}"
773 echo "    Quick Launch...........: ${have_fork}"
774 echo "    Elocation..............: ${have_elementary_elocation}"
775 echo
776 echo "  eet......................: ${eet_eet}"
777 echo "  edje_cc..................: ${edje_cc}"
778 echo
779 echo "  Build elementary_test....: ${have_elementary_test}"
780 echo "  Build elementary_codegen.: ${have_elementary_codegen}"
781 echo "  Build elm_prefs_cc.......: ${have_elm_prefs_cc}"
782 echo "  Examples.................: ${enable_build_examples}"
783 echo "  Examples installed.......: ${enable_install_examples}"
784 echo "  Build elementary_config..: ${have_elementary_config}"
785 echo "  Enable debug.............: ${want_elementary_debug}"
786 echo
787 echo "Compilation................: make (or gmake)"
788 echo "  CPPFLAGS.................: $CPPFLAGS"
789 echo "  CFLAGS...................: $CFLAGS"
790 echo "  LDFLAGS..................: $LDFLAGS"
791 echo
792 if test "${build_tests}" = "none"; then
793 echo "Tests......................: no"
794 else
795 echo "Tests......................: make check"
796 fi
797 echo
798 echo "Installation...............: make install (as root if needed, with 'su' or 'sudo')"
799 echo "  prefix...................: $prefix"
800 echo