Merge changes I674e7687,Ibad9800b into tizen
[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], [8])
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 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*)
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 fi
205 AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x$have_fork" = "xyes" && test "x$have_dlopen" = "xyes"])
206
207 AC_SUBST(dlopen_libs)
208 AC_SUBST(lt_enable_auto_import)
209 AC_SUBST(ELM_UNIX_DEF)
210 AC_SUBST(ELM_WIN32_DEF)
211 AC_SUBST(ELM_WINCE_DEF)
212
213 AM_CONDITIONAL([ELEMENTARY_WINDOWS_BUILD], [test "x${have_windows}" = "xyes"])
214
215 PKG_CHECK_MODULES([ELEMENTARY],
216    [
217     eina >= 1.7.8
218     eet >= 1.7.8
219     evas >= 1.7.8
220     ecore >= 1.7.8
221     ecore-evas >= 1.7.8
222     ecore-file >= 1.7.8
223     edje >= 1.7.8
224    ]
225 )
226
227 requirement_elm="edje >= 1.7.8 ecore-file >= 1.7.8 ecore-evas >= 1.7.8 ecore >= 1.7.8 evas >= 1.7.8 eet >= 1.7.8 eina >= 1.7.8 ${requirement_elm}"
228
229 PKG_CHECK_MODULES([ELEMENTARY_ECORE_IMF],
230    [ecore-imf >= 1.7.8],
231    [
232     ELEMENTARY_ECORE_IMF_INC="#include <Ecore_IMF.h>"
233     AC_DEFINE(HAVE_ELEMENTARY_ECORE_IMF, 1, [Have Ecore_IMF support])
234     have_ecore_imf="yes"
235     requirement_elm="ecore-imf >= 1.7.8 ${requirement_elm}"
236    ],
237    [have_ecore_imf="no"])
238 AC_SUBST(ELEMENTARY_ECORE_IMF_INC)
239
240 AM_CONDITIONAL([HAVE_ECORE_IMF], [test "x${have_ecore_imf}" = "xyes"])
241
242 PKG_CHECK_MODULES([ELEMENTARY_ECORE_CON],
243    [ecore-con >= 1.7.8],
244    [
245     ELEMENTARY_ECORE_CON_INC="#include <Ecore_Con.h>"
246     AC_DEFINE(HAVE_ELEMENTARY_ECORE_CON, 1, [Have Ecore_Con support])
247     have_ecore_con="yes"
248     requirement_elm="ecore-con >= 1.7.8 ${requirement_elm}"
249    ],
250    [have_ecore_con="no"])
251 AC_SUBST(ELEMENTARY_ECORE_CON_INC)
252
253 AM_CONDITIONAL([HAVE_ECORE_CON], [test "x${have_ecore_con}" = "xyes"])
254
255 PKG_CHECK_MODULES([EIO],
256         [eio],
257         [
258          have_eio="yes"
259          AC_DEFINE(HAVE_EIO, 1, [Use EIO for asynchronous file access])
260          requirement_elm="eio ${requirement_elm}"
261         ],
262         [have_eio="no"])
263
264 AM_CONDITIONAL([HAVE_EIO], [test "x${have_eio}" = "xyes"])
265
266 have_emotion="no"
267 want_elementary_emotion="yes"
268 AC_ARG_ENABLE([emotion],
269    [AC_HELP_STRING([--disable-emotion], [disable emotion support. @<:@default=enabled@:>@])],
270    [want_elementary_emotion=$enableval], [])
271
272 if test "x$want_elementary_emotion" != "xno"; then
273    PKG_CHECK_MODULES([EMOTION],
274         [emotion],
275         [
276          have_emotion="yes"
277          AC_DEFINE(HAVE_EMOTION, 1, [Use Emotion for asynchronous file access])
278          requirement_elm="emotion ${requirement_elm}"
279         ],
280         [have_emotion="no"])
281 fi
282
283 AM_CONDITIONAL([HAVE_EMOTION], [test "x${have_emotion}" = "xyes"])
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 >= 1.7.8],
294       [
295        AC_DEFINE(HAVE_ELEMENTARY_X, 1, [X11 support for Elementary])
296        have_elementary_x="yes"
297        requirement_elm="ecore-x >= 1.7.8 ${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 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 >= 1.7.8],
318       [
319        AC_DEFINE(HAVE_ELEMENTARY_FB, 1, [FB support for Elementary])
320        have_elementary_fb="yes"
321        requirement_elm="ecore-fb >= 1.7.8 ${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 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 >= 1.7.8],
341       [
342        AC_DEFINE(HAVE_ELEMENTARY_PSL1GHT, 1, [PSL1GHT support for Elementary])
343        have_elementary_psl1ght="yes"
344        requirement_elm="ecore-psl1ght >= 1.7.8 ${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 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 >= 1.7.8],
364       [
365        AC_DEFINE(HAVE_ELEMENTARY_SDL, 1, [SDL support for Elementary])
366        have_elementary_sdl="yes"
367        requirement_elm="ecore-sdl >= 1.7.8 ${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 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 >= 1.7.8],
387       [
388        AC_DEFINE(HAVE_ELEMENTARY_COCOA, 1, [COCOA support for Elementary])
389        have_elementary_cocoa="yes"
390        requirement_elm="ecore-cocoa >= 1.7.8 ${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 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 >= 1.7.8],
410       [
411        AC_DEFINE(HAVE_ELEMENTARY_WIN32, 1, [Windows XP support for Elementary])
412        have_elementary_win32="yes"
413        requirement_elm="ecore-win32 >= 1.7.8 ${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 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 >= 1.7.8],
433       [
434        AC_DEFINE(HAVE_ELEMENTARY_WINCE, 1, [Windows CE support for Elementary])
435        have_elementary_wince="yes"
436        requirement_elm="ecore-wince >= 1.7.8 ${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 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 not found by pkg-config.])
468 fi
469
470 ELM_EDBUS_DEF="#undef"
471 have_elementary_edbus="no"
472 want_elementary_edbus="auto"
473 AC_ARG_ENABLE([edbus],
474    [AC_HELP_STRING([--disable-edbus], [disable edbus support. @<:@default=detect@:>@])],
475    [want_elementary_edbus=$enableval], [])
476
477 if test "x$want_elementary_edbus" != "xno"; then
478     PKG_CHECK_MODULES([ELEMENTARY_EDBUS],
479        [
480         edbus >= 1.7.8
481        ],
482        [
483         AC_DEFINE(HAVE_ELEMENTARY_EDBUS, 1, [EDBus support for Elementary])
484         have_elementary_edbus="yes"
485         ELM_EDBUS_DEF="#define"
486         requirement_elm="edbus >= 1.7.8 ${requirement_elm}"
487        ],
488        [have_elementary_edbus="no"]
489     )
490 else
491     have_elementary_edbus="no"
492 fi
493 if test "x$want_elementary_edbus" = "xyes" -a "x$have_elementary_edbus" = "xno"; then
494     AC_MSG_ERROR([E_DBus support requested, but no e_dbus found by pkg-config.])
495 fi
496 AC_SUBST(ELM_EDBUS_DEF)
497
498 ELM_EFREET_DEF="#undef"
499 have_elementary_efreet="no"
500 want_elementary_efreet="auto"
501 AC_ARG_ENABLE([efreet],
502    [AC_HELP_STRING([--disable-efreet], [disable efreet support. @<:@default=detect@:>@])],
503    [want_elementary_efreet=$enableval], [])
504
505 if test "x$want_elementary_efreet" != "xno"; then
506     PKG_CHECK_MODULES([ELEMENTARY_EFREET],
507        [
508         efreet >= 1.7.8
509         efreet-mime >= 1.7.8
510         efreet-trash >= 1.7.8
511        ],
512        [
513         AC_DEFINE(HAVE_ELEMENTARY_EFREET, 1, [Efreet support for Elementary])
514         have_elementary_efreet="yes"
515         ELM_EFREET_DEF="#define"
516         requirement_elm="efreet >= 1.7.8 efreet-mime >= 1.7.8 efreet-trash >= 1.7.8 ${requirement_elm}"
517        ],
518        [have_elementary_efreet="no"]
519     )
520 else
521     have_elementary_efreet="no"
522 fi
523 if test "x$want_elementary_efreet" = "xyes" -a "x$have_elementary_efreet" = "xno"; then
524     AC_MSG_ERROR([Efreet support requested, but no efreet/efreet-mime/efreet-trash found by pkg-config.])
525 fi
526 AC_SUBST(ELM_EFREET_DEF)
527
528 ELM_EWEATHER_DEF="#undef"
529 have_elementary_eweather="no"
530 want_elementary_eweather="auto"
531 AC_ARG_ENABLE([eweather],
532    [AC_HELP_STRING([--disable-eweather], [disable eweather support. @<:@default=detect@:>@])],
533    [want_elementary_eweather=$enableval], [])
534
535 if test "x$want_elementary_eweather" != "xno"; then
536     PKG_CHECK_MODULES([ELEMENTARY_EWEATHER],
537        [
538         eweather
539        ],
540        [
541         AC_DEFINE(HAVE_ELEMENTARY_EWEATHER, 1, [EWeather support for Elementary])
542         have_elementary_eweather="yes"
543         ELM_EWEATHER_DEF="#define"
544         requirement_elm="eweather ${requirement_elm}"
545        ],
546        [have_elementary_eweather="no"]
547     )
548 else
549     have_elementary_eweather="no"
550 fi
551 if test "x$want_elementary_eweather" = "xyes" -a "x$have_elementary_eweather" = "xno"; then
552     AC_MSG_ERROR([Eweather support requested, but no eweather found by pkg-config.])
553 fi
554 AC_SUBST(ELM_EWEATHER_DEF)
555
556 ELM_EMAP_DEF="#undef"
557 have_elementary_emap="no"
558 want_elementary_emap="auto"
559 AC_ARG_ENABLE([emap],
560    [AC_HELP_STRING([--disable-emap], [disable emap support. @<:@default=detect@:>@])],
561    [want_elementary_emap=$enableval], [])
562
563 if test "x$want_elementary_emap" != "xno"; then
564     PKG_CHECK_MODULES([ELEMENTARY_EMAP],
565        [
566         emap
567        ],
568        [
569         AC_DEFINE(HAVE_ELEMENTARY_EMAP, 1, [EMap support for Elementary])
570         have_elementary_emap="yes"
571         ELM_EMAP_DEF="#define"
572         requirement_elm="emap ${requirement_elm}"
573        ],
574        [have_elementary_emap="no"]
575     )
576 else
577     have_elementary_emap="no"
578 fi
579 if test "x$want_elementary_emap" = "xyes" -a "x$have_elementary_emap" = "xno"; then
580     AC_MSG_ERROR([Emap support requested, but no emap found by pkg-config.])
581 fi
582 AC_SUBST(ELM_EMAP_DEF)
583
584
585
586 ELM_ETHUMB_DEF="#undef"
587 have_elementary_ethumb="no"
588 want_elementary_ethumb="auto"
589 AC_ARG_ENABLE([ethumb],
590    [AC_HELP_STRING([--disable-ethumb], [disable ethumb support. @<:@default=detect@:>@])],
591    [want_elementary_ethumb=$enableval], [])
592
593 if test "x$want_elementary_ethumb" != "xno"; then
594     PKG_CHECK_MODULES([ELEMENTARY_ETHUMB],
595        [
596         ethumb_client
597        ],
598        [
599         AC_DEFINE(HAVE_ELEMENTARY_ETHUMB, 1, [Ethumb support for Elementary])
600         have_elementary_ethumb="yes"
601         ELM_ETHUMB_DEF="#define"
602         requirement_elm="ethumb_client ${requirement_elm}"
603        ],
604        [have_elementary_ethumb="no"]
605     )
606 else
607     have_elementary_ethumb="no"
608 fi
609 if test "x$want_elementary_ethumb" = "xyes" -a "x$have_elementary_ethumb" = "xno"; then
610     AC_MSG_ERROR([Ethumb support requested, but no ethumb found by pkg-config.])
611 fi
612 AC_SUBST(ELM_ETHUMB_DEF)
613
614 ELM_WEB_DEF="#undef"
615 have_elementary_web="no"
616 want_elementary_web="auto"
617 AC_ARG_ENABLE([web],
618    [AC_HELP_STRING([--disable-web], [disable web (WebKit) support. @<:@default=detect@:>@])],
619    [want_elementary_web=$enableval], [])
620
621 if test "x$want_elementary_web" != "xno"; then
622     PKG_CHECK_MODULES([ELEMENTARY_WEB],
623        [
624         ewebkit
625        ],
626        [
627         AC_DEFINE(HAVE_ELEMENTARY_WEB, 1, [Web support for Elementary])
628         webkit_datadir=$($PKG_CONFIG ewebkit --variable=datadir)
629         AC_DEFINE_UNQUOTED(WEBKIT_DATADIR,
630                            "$webkit_datadir",
631                            "WebKit's data dir")
632         have_elementary_web="yes"
633         ELM_WEB_DEF="#define"
634 ## web_client? how about ewebkit? at least in current upstreak webkit
635 ## there is no web_client.pc        
636 #        requirement_elm="web_client ${requirement_elm}"
637         requirement_elm="ewebkit ${requirement_elm}"
638        ],
639        [have_elementary_web="no"]
640     )
641 else
642     have_elementary_web="no"
643 fi
644 if test "x$want_elementary_web" = "xyes" -a "x$have_elementary_web" = "xno"; then
645     AC_MSG_ERROR([Web support requested, but no ewebkit found by pkg-config.])
646 fi
647 AC_SUBST(ELM_WEB_DEF)
648
649 ELM_DEBUG_DEF="#undef"
650 want_elementary_debug="no"
651 AC_ARG_ENABLE([debug],
652    [AC_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
653    [want_elementary_debug=$enableval], [])
654
655 if test "x$want_elementary_debug" = "xyes"; then
656         AC_DEFINE(HAVE_ELEMENTARY_DEBUG, 1, [Elementary debug.])
657         ELM_DEBUG_DEF="#define"
658 fi
659 AC_SUBST(ELM_DEBUG_DEF)
660
661 ELM_ALLOCA_H_DEF="#undef"
662 AC_CHECK_HEADER(alloca.h, [ELM_ALLOCA_H_DEF="#define"])
663 AC_SUBST(ELM_ALLOCA_H_DEF)
664
665 ELM_LIBINTL_H_DEF="#undef"
666 AC_CHECK_HEADER(libintl.h, [ELM_LIBINTL_H_DEF="#define"])
667 AC_SUBST(ELM_LIBINTL_H_DEF)
668
669 ELM_DIRENT_H_DEF="#undef"
670 AC_CHECK_HEADER(dirent.h, [ELM_DIRENT_H_DEF="#define"])
671 AC_SUBST(ELM_DIRENT_H_DEF)
672
673 AC_CHECK_HEADER(sys/mman.h, [have_mman="yes"], [have_mman="no"])
674 if test "x${have_mman}" = "xyes"; then
675    AC_DEFINE(HAVE_MMAN_H, 1, [Have sys/mman.h header file])
676 fi
677
678 AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
679
680 my_libs="-lm"
681 AC_SUBST(my_libs)
682 AC_SUBST(requirement_elm)
683
684 EFL_WITH_BIN([eet], [eet-eet], [eet])
685 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
686
687 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
688
689 EFL_ENABLE_BIN([elementary-test])
690 EFL_ENABLE_BIN([elementary-config])
691
692 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
693 AM_GNU_GETTEXT_VERSION([0.17])
694 ])
695
696 m4_ifdef([AM_GNU_GETTEXT], [
697 AM_GNU_GETTEXT([external])
698 po_makefile_in=po/Makefile.in
699 have_po="yes"
700 ],[
701 have_po="no"
702 ])
703 AC_SUBST(LTLIBINTL)
704
705 if test "x${POSUB}" = "x" ; then
706    have_po="no"
707 fi
708
709 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
710
711 EFL_CHECK_PATH_MAX
712
713 elementary_base_dir=".elementary"
714 AC_ARG_WITH([elementary-base-dir],
715    [AC_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
716    [elementary_base_dir=${withval}],
717    [elementary_base_dir=".elementary"])
718
719 AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
720 AC_DEFINE_UNQUOTED(ELEMENTARY_BASE_DIR, "${elementary_base_dir}", "subdirectory for all elementary data")
721
722 ### Build and install examples
723 EFL_CHECK_BUILD_EXAMPLES([enable_build_examples="yes"], [enable_build_examples="no"])
724 EFL_CHECK_INSTALL_EXAMPLES([enable_install_examples="yes"], [enable_install_examples="no"])
725
726 AC_TRY_COMPILE([
727 # define _GNU_SOURCE 1
728 #include <unistd.h>
729 ], [
730 extern char **environ;
731 ], [
732   AC_DEFINE(HAVE_ENVIRON, 1, [extern environ exists])
733 ])
734
735 AC_TRY_COMPILE([
736 #include <stdlib.h>
737 ], [
738 clearenv();
739 ], [
740   AC_DEFINE(HAVE_CLEARENV, 1, [extern environ exists])
741 ])
742
743 AC_OUTPUT([
744 Makefile
745 elementary.spec
746 elementary.pc
747 doc/Makefile
748 doc/Doxyfile
749 doc/widgets/Makefile
750 src/Makefile
751 src/lib/Makefile
752 src/lib/Elementary.h
753 src/bin/Makefile
754 src/modules/Makefile
755 src/modules/access_output/Makefile
756 src/modules/datetime_input_ctxpopup/Makefile
757 src/modules/test_entry/Makefile
758 src/modules/test_map/Makefile
759 src/edje_externals/Makefile
760 src/examples/Makefile
761 data/Makefile
762 data/themes/Makefile
763 data/images/Makefile
764 data/objects/Makefile
765 data/desktop/Makefile
766 data/edje_externals/Makefile
767 config/Makefile
768 config/default/Makefile
769 config/standard/Makefile
770 config/mobile/Makefile
771 $po_makefile_in
772 ])
773
774 #####################################################################
775 ## Info
776
777 echo
778 echo
779 echo
780 echo "------------------------------------------------------------------------"
781 echo "$PACKAGE $VERSION"
782 echo "------------------------------------------------------------------------"
783 echo
784 echo "Configuration Options Summary:"
785 echo
786 echo "  Engines:"
787 echo "    X11....................: ${have_elementary_x}"
788 echo "    Framebuffer............: ${have_elementary_fb}"
789 echo "    PSL1GHT................: ${have_elementary_psl1ght}"
790 echo "    SDL....................: ${have_elementary_sdl}"
791 echo "    Cocoa..................: ${have_elementary_cocoa}"
792 echo "    Windows XP.............: ${have_elementary_win32}"
793 echo "    Windows CE.............: ${have_elementary_wince}"
794 echo "    Wayland...............:. ${have_elementary_wayland}"
795 echo
796 echo "  Features:"
797 echo "    Ecore_IMF..............: ${have_ecore_imf}"
798 echo "    Ecore_Con..............: ${have_ecore_con}"
799 echo "    EDBus..................: ${have_elementary_edbus}"
800 echo "    EFreet.................: ${have_elementary_efreet}"
801 echo "    EWeather...............: ${have_elementary_eweather}"
802 echo "    EMap...................: ${have_elementary_emap}"
803 echo "    Ethumb.................: ${have_elementary_ethumb}"
804 echo "    Web (WebKit)...........: ${have_elementary_web}"
805 echo "    Quick Launch...........: ${have_fork}"
806 echo "    EIO....................: ${have_eio}"
807 echo "    Emotion................: ${have_emotion}"
808 echo
809 echo "  eet......................: ${eet_eet}"
810 echo "  edje_cc..................: ${edje_cc}"
811 echo
812 echo "  Build elementary_test....: ${have_elementary_test}"
813 echo "  Examples.................: ${enable_build_examples}"
814 echo "  Examples installed.......: ${enable_install_examples}"
815 echo "  Build elementary_config..: ${have_elementary_config}"
816 echo "  Documentation............: ${build_doc}"
817 if test "x${build_doc}" = "xyes" ; then
818 echo "    Installation...........: make install-doc"
819 fi
820 echo
821 echo "Compilation................: make (or gmake)"
822 echo "  CPPFLAGS.................: $CPPFLAGS"
823 echo "  CFLAGS...................: $CFLAGS"
824 echo "  LDFLAGS..................: $LDFLAGS"
825 echo
826 echo "Installation...............: make install (as root if needed, with 'su' or 'sudo')"
827 echo "  prefix...................: $prefix"
828 echo