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