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