upload tizen1.0 source
[framework/uifw/e17.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [0])
4 m4_define([v_min], [16])
5 m4_define([v_mic], [999])
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 m4_define([relname], [ver-pre-svn-08])
12 m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [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([enlightenment], [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 AC_ISC_POSIX
28
29 AC_CONFIG_HEADERS([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 AC_C_BIGENDIAN
43 AC_PROG_CC_C99
44 AM_PROG_CC_C_O
45 AC_C_CONST
46 AC_FUNC_ALLOCA
47 AC_C___ATTRIBUTE__
48
49 define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])
50 define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])
51 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])
52 AC_DISABLE_STATIC
53 AC_PROG_LIBTOOL
54
55 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
56 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
57 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
58 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
59 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
60 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
61 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
62 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
63 version_info="lt_rev:lt_cur:lt_age"
64 release_info="v_rel"
65 AC_SUBST(version_info)
66 AC_SUBST(release_info)
67 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
68 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
69
70 release=relname
71 AC_SUBST(release)
72
73 PKG_PROG_PKG_CONFIG
74
75 EFL_CHECK_PATH_MAX
76
77 AC_CHECK_FUNCS(setenv)
78 AC_CHECK_FUNCS(unsetenv)
79
80 dnl AC_CHECK_HEADERS(X11/extensions/shape.h,, AC_MSG_ERROR([Cannot find X11/extensions/shape.h. Make sure your CFLAGS environment variable contains include lines for the location of this file]))
81
82 AC_CHECK_HEADERS(fnmatch.h,, AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file]))
83
84 AC_CHECK_FUNCS(fnmatch, res=yes, res=no)
85 if test "x$res" = "xno"; then
86   AC_CHECK_LIB(fnmatch, fnmatch, res=yes, res=no)
87   if test "x$res" = "xno"; then
88     AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch])
89   else
90     fnmatch_libs="-lfnmatch"
91   fi
92 fi
93
94 AC_SUBST(fnmatch_libs)
95
96 have_pam=no
97 AC_ARG_ENABLE(pam,
98   AC_HELP_STRING([--enable-pam], [enable PAM support @<:@default=detect@:>@]),
99   [want_pam=$enableval],
100   [want_pam=auto]
101 )
102 if test "x$want_pam" != "xno" ; then
103   AC_CHECK_HEADERS(security/pam_appl.h, [
104     LIBS="$LIBS -lpam"
105     have_pam=yes
106     AC_DEFINE(HAVE_PAM, 1, [PAM Authentication Support])])
107     if test "x$want_pam$have_pam" = "xyesno" ; then
108       AC_MSG_ERROR([PAM support was requested but not found])
109     fi
110 fi
111
112 dnl AC_E_CHECK_PKG(VALGRIND, [valgrind >= 2.4.0], [], [:])
113 AC_SUBST(VALGRIND_CFLAGS)
114 AC_SUBST(VALGRIND_LIBS)
115
116 MODULE_ARCH="$host_os-$host_cpu-relname"
117 AC_SUBST(MODULE_ARCH)
118 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
119
120 if test "x${bindir}" = 'xNONE'; then
121   if test "x${prefix}" = "xNONE"; then
122     PACKAGE_BIN_DIR="${ac_default_prefix}/bin"
123   else
124     PACKAGE_BIN_DIR="${prefix}/bin"
125   fi
126 else
127   PACKAGE_BIN_DIR="${bindir}"
128 fi
129 AC_SUBST(PACKAGE_BIN_DIR)
130
131 if test "x${libdir}" = 'xNONE'; then
132   if test "x${prefix}" = "xNONE"; then
133     PACKAGE_LIB_DIR="${ac_default_prefix}/lib"
134   else
135     PACKAGE_LIB_DIR="${prefix}/lib"
136   fi
137 else
138   PACKAGE_LIB_DIR="${libdir}"
139 fi
140 AC_SUBST(PACKAGE_LIB_DIR)
141
142 if test "x${prefix}" = "xNONE"; then
143   PACKAGE_DATA_DIR="${ac_default_prefix}/share/${PACKAGE}"
144   LOCALE_DIR="${ac_default_prefix}/share/locale"
145   PACKAGE_SYSCONF_DIR="${ac_default_prefix}/etc"
146 else
147   PACKAGE_DATA_DIR="${prefix}/share/${PACKAGE}"
148   LOCALE_DIR="${prefix}/share/locale"
149   PACKAGE_SYSCONF_DIR="${sysconfdir}"
150 fi
151 AC_SUBST(PACKAGE_DATA_DIR)
152 AC_SUBST(LOCALE_DIR)
153 AC_SUBST(PACKAGE_SYSCONF_DIR)
154
155 #######################################
156 ## Simple X11 build/link
157
158 AC_ARG_ENABLE(simple-x11,
159   AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
160   [ want_evas_simple_x11=$enableval ]
161 )
162     
163 x_dir=""
164 x_cflags=""
165 x_libs=""
166 AC_PATH_XTRA
167 AC_CHECK_HEADER(X11/X.h,
168   [
169     if test "x$want_evas_simple_x11" = "xyes"; then
170       x_libs="${x_libs} -lX11 -lXext"
171     else
172       x_dir=${x_dir:-/usr/X11R6}
173       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
174       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
175     fi
176   ],[
177     AC_MSG_ERROR([Cannot find X headers and libraries.])
178   ]
179 )
180 AC_SUBST(x_cflags)
181 AC_SUBST(x_libs)
182
183 cf_cflags=""
184 cf_libs=""
185 PCPPFLAGS="${CPPFLAGS}"
186 CPPFLAGS="${CPPFLAGS} -I /System/Library/Frameworks/CoreFoundation.framework/Headers"
187 AC_CHECK_HEADERS(CFBase.h,
188   [
189     cf_cflags="-I /System/Library/Frameworks/CoreFoundation.framework/Headers"
190     cf_cflags="${cf_cflags} -I /System/Library/Frameworks/IOKit.framework/Headers"
191     cf_libs="-framework 'CoreFoundation' -framework 'IOKit'"
192   ]
193 )
194 CPPFLAGS="${PCPPFLAGS}"
195 AC_SUBST(cf_cflags)
196 AC_SUBST(cf_libs)
197
198
199 execinfo_libs=""
200 AC_CHECK_HEADERS([execinfo.h], [have_execinfo="yes"], [have_execinfo="no"])
201 if test "x${have_execinfo}" = "xyes" ; then
202   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libc])
203
204   AC_LINK_IFELSE(
205     [AC_LANG_PROGRAM(
206       [[
207 #include <stdlib.h>
208 #include <execinfo.h>
209       ]],
210       [[
211 backtrace_symbols_fd(NULL, 0, 0);
212       ]])],
213     [link_execinfo="yes"],
214     [link_execinfo="no"])
215
216   AC_MSG_RESULT([${link_execinfo}])
217 fi
218
219 if test "x${link_execinfo}" = "xno" ; then
220   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libexecinfo])
221
222   LDFLAGS_save="${LDFLAGS}"
223   LDFLAGS="${LDFLAGS} -lexecinfo"
224   AC_LINK_IFELSE(
225     [AC_LANG_PROGRAM(
226       [[
227 #include <stdlib.h>
228 #include <execinfo.h>
229       ]],
230       [[
231 backtrace_symbols_fd(NULL, 0, 0);
232       ]])],
233     [
234       link_execinfo="yes"
235       execinfo_libs="-lexecinfo"
236     ],
237     [link_execinfo="no"])
238   LDFLAGS="${LDFLAGS_save}"
239
240   AC_MSG_RESULT([${link_execinfo}])
241 fi
242
243 dnl if test "x${link_execinfo}" = "xno" ; then
244 dnl   AC_MSG_ERROR([Cannot use backtrace_symbols_fd()])
245 dnl fi
246
247
248 #ALL_LINGUAS="bg de eo es fi fr ja pl pt ru zh_CN hu sl it cs da sk sv nb nl zh_TW ko"
249 #ALL_LINGUAS="bg de eo es fi fr ja pt ru zh_CN hu sl it cs da sk sv nb nl zh_TW"
250 # a lot of .po's are broken
251 ALL_LINGUAS="bg ca cs da de el eo es fi fr fr_CH he hu it ja ko nb nl pl pt_BR ru sk sl sv tr zh_CN zh_TW"
252 AC_SUBST(ALL_LINGUAS)
253
254 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
255 AM_GNU_GETTEXT_VERSION([0.17])
256 ])
257
258 m4_ifdef([AM_GNU_GETTEXT], [
259 AM_GNU_GETTEXT([external])
260 po_makefile_in=po/Makefile.in
261 have_po="yes"
262 ],[
263 have_po="no"
264 ])
265 AC_SUBST(LTLIBINTL)
266 if test "x$LIBINTL" = "x"; then
267   LIBINTL="$INTLLIBS"
268 fi
269
270 if test "x${POSUB}" = "x" ; then
271    have_po="no"
272 fi
273
274 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
275
276 AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
277 AC_SUBST(dlopen_libs)
278
279 AC_MSG_CHECKING([whether to install sysactions.conf])
280 AC_ARG_ENABLE([install-sysactions],
281   AS_HELP_STRING([--disable-install-sysactions],[disable installing /etc/enlightenment/sysactions.conf @<:@default=enabled@:>@]),
282     [e_cv_enable_install_sysactions=$enableval],
283     AC_CACHE_VAL([e_cv_enable_install_sysactions], [e_cv_enable_install_sysactions=yes]))
284 AC_MSG_RESULT([$e_cv_enable_install_sysactions])
285 AM_CONDITIONAL(INSTALL_SYSACTIONS, test x${e_cv_enable_install_sysactions} = xyes)
286
287 AC_MSG_CHECKING([whether to install enlightenment.menu])
288 AC_ARG_ENABLE([install-enlightenment-menu],
289   AS_HELP_STRING([--disable-enlightenment-menu],[disable installing /etc/xdg/menus/enlightenment.menu @<:@default=enabled@:>@]),
290     [e_cv_enable_install_enlightenment_menu=$enableval],
291     AC_CACHE_VAL([e_cv_enable_install_enlightenment_menu], [e_cv_enable_install_enlightenment_menu=yes]))
292 AC_MSG_RESULT([$e_cv_enable_install_enlightenment_menu])
293 AM_CONDITIONAL(INSTALL_ENLIGHTENMENT_MENU, test x${e_cv_enable_install_enlightenment_menu} = xyes)
294
295 AC_MSG_CHECKING([whether to enable Files menu item])
296 AC_ARG_ENABLE([files],
297   AS_HELP_STRING([--disable-files],[disable Files menu item @<:@default=enabled@:>@]),
298     [e_cv_enable_files=$enableval],
299     AC_CACHE_VAL([e_cv_enable_files], [e_cv_enable_files=yes]))
300 if test "[${e_cv_enable_files}]" = yes; then
301   AC_DEFINE_UNQUOTED([ENABLE_FILES],[1],[enable Files menu item])
302 fi
303 AC_MSG_RESULT([$e_cv_enable_files])
304
305 AC_ARG_ENABLE([device-hal],
306   AS_HELP_STRING([--enable-device-hal],[enable hal device backend @<:@default=disabled@:>@]),
307   [e_cv_want_device_hal=$enableval],
308   [e_cv_want_device_hal=no])
309
310 AC_MSG_CHECKING([whether the HAL device backend is enabled])
311 AC_MSG_RESULT([${e_cv_want_device_hal}])
312
313 AC_ARG_ENABLE([device-udev],
314   AS_HELP_STRING([--enable-device-udev],[enable udev device backend @<:@default=enabled@:>@]),
315   [e_cv_want_device_udev=$enableval],
316   [e_cv_want_device_udev=yes])
317
318 AC_MSG_CHECKING([whether the UDEV device backend is enabled])
319 AC_MSG_RESULT([${e_cv_want_device_udev}])
320
321 if test "x$e_cv_want_device_udev" != "xno";then
322   PKG_CHECK_MODULES([EEZE], [eeze >= 1.0.0 ecore >= 1.0.999 eina >= 1.0.999],
323     [
324       device_backend=eeze
325       AC_DEFINE_UNQUOTED([HAVE_EEZE],[1],[enable udev support])
326     ],
327     [device_backend=ehal])
328 else
329   device_backend=ehal
330 fi
331
332 AC_MSG_CHECKING([which device backend to use])
333 AC_MSG_RESULT($device_backend)
334
335 AM_CONDITIONAL([HAVE_EEZE], [test "x${device_backend}" = "xeeze"])
336 test "x${device_backend}" = "xeeze" || AC_DEFINE_UNQUOTED([HAVE_HAL],[1],[enable HAL support])
337
338
339 DBUS_MOUNT_CONFIG=1
340 dbus_mount="dbus-1"
341 hal_mount="ehal >= 1.0.0, edbus >= 1.0.0"
342 udisks_mount="eukit >= 1.0.0"
343 AC_ARG_ENABLE([mount-hal],
344   AS_HELP_STRING([--enable-mount-hal],[enable hal mounting support @<:@default=enabled@:>@]),
345   [e_cv_want_mount_hal=$enableval],
346   [e_cv_want_mount_hal=yes])
347
348 AC_MSG_CHECKING([whether the HAL mounting support is enabled])
349 AC_MSG_RESULT([${e_cv_want_mount_hal}])
350
351 # added by doyoun.kang 110121
352 e_cv_want_mount_hal=no
353
354 if test "x$e_cv_want_mount_hal" != "xno";then
355   PKG_CHECK_EXISTS([ehal >= 1.0.0],
356     [],[
357       hal_mount=
358       AC_MSG_NOTICE([HAL mounting disabled])
359     ])
360 else
361   hal_mount=
362   AC_MSG_NOTICE([HAL mounting disabled])
363 fi
364
365 AC_ARG_ENABLE([mount-udisks],
366   AS_HELP_STRING([--enable-mount-udisks],[enable udisks mounting support @<:@default=enabled@:>@]),
367   [e_cv_want_mount_udisks=$enableval],
368   [e_cv_want_mount_udisks=yes])
369
370 AC_MSG_CHECKING([whether the UDISKS mounting support is enabled])
371 AC_MSG_RESULT([${e_cv_want_mount_udisks}])
372
373 if test "x$e_cv_want_mount_udisks" != "xno";then
374   PKG_CHECK_EXISTS([eukit >= 1.0.0],
375     [],[
376       udisks_mount=
377       AC_MSG_NOTICE([udisks mounting disabled])
378     ])
379 else
380   udisks_mount=
381   AC_MSG_NOTICE([udisks mounting disabled])
382 fi
383
384
385 if test "x${e_cv_want_mount_udisks}" = "xno" && test "x${e_cv_want_mount_hal}" = "xno" ; then
386   DBUS_MOUNT_CONFIG=0
387   dbus_mount=
388   test "x${e_cv_want_mount_udisks}" = "xno" && udisks_mount=
389   test "x${e_cv_want_mount_hal}" = "xno" && hal_mount=
390 fi
391
392 AC_ARG_ENABLE([mount-eeze],
393   AS_HELP_STRING([--enable-mount-eeze],[enable eeze mounting support @<:@default=enabled@:>@]),
394   [e_cv_want_mount_eeze=$enableval],
395   [e_cv_want_mount_eeze=yes])
396
397 AC_MSG_CHECKING([whether the Eeze mounting support is enabled])
398 AC_MSG_RESULT([${e_cv_want_mount_eeze}])
399
400 eeze_mount=
401 EEZE_MOUNT_CONFIG=0
402 if test "x$e_cv_want_mount_eeze" != "xno" ; then
403       CPPFLAGS_save="$CPPFLAGS"
404       LIBS_save="$LIBS"
405       CPPFLAGS="$EEZE_CFLAGS $CPPFLAGS"
406       LIBS="$EEZE_LIBS $LIBS"
407       AC_CHECK_LIB([eeze], [eeze_disk_function],
408         [
409            eeze_mount="eeze >= 1.0.999 ecore-con >= 1.0.999"
410            EEZE_MOUNT_CONFIG=1
411            AC_DEFINE_UNQUOTED([HAVE_EEZE_MOUNT], [1], [enable eeze mounting])
412            AC_MSG_NOTICE([eeze mounting enabled])
413         ],
414         [
415            AC_MSG_NOTICE([eeze mounting disabled])
416            e_cv_want_mount_eeze=no
417         ]
418       )
419       CPPFLAGS="$CPPFLAGS_save"
420       LIBS="$LIBS_save"
421 else
422   AC_MSG_NOTICE([eeze mounting disabled])
423 fi
424
425 AC_SUBST([EEZE_MOUNT_CONFIG])
426 AC_SUBST([DBUS_MOUNT_CONFIG])
427 AM_CONDITIONAL([HAVE_HAL_MOUNT], [test -n "$hal_mount"])
428 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [false])
429 test -n "$hal_mount" && AC_DEFINE_UNQUOTED([HAVE_HAL_MOUNT], [1], [enable HAL mounting])
430 test -n "$udisks_mount" && AC_DEFINE_UNQUOTED([HAVE_UDISKS_MOUNT], [1], [enable Udisks mounting])
431 AM_CONDITIONAL([HAVE_UDISKS_MOUNT], [test -n "$udisks_mount"])
432 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test -n "$eeze_mount"])
433
434 # doxygen program for documentation building
435
436 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
437
438 # explicit libs for each binary to reduce linkage requirements
439 PKG_CHECK_MODULES(E_REMOTE, [
440   ecore >= 1.0.999
441   ecore-ipc >= 1.0.999
442   eet >= 1.4.0
443   eina >= 1.0.999
444 ])
445
446 PKG_CHECK_MODULES(E_START, [
447   eina >= 1.0.999
448 ])
449
450 PKG_CHECK_MODULES(E_IMC, [
451   ecore-file >= 1.0.999
452   eet >= 1.4.0
453   eina >= 1.0.999
454 ])
455
456 PKG_CHECK_MODULES(E_THUMB, [
457   eina >= 1.0.999
458   evas >= 1.0.999
459   ecore >= 1.0.999
460   ecore-evas >= 1.0.999
461   edje >= 1.0.999
462   ecore-file >= 1.0.999
463   ecore-ipc >= 1.0.999
464   eet >= 1.4.0
465   efreet >= 1.0.999
466 ])
467
468 efm_requires="\
469 ecore >= 1.0.999 \
470 ecore-file >= 1.0.999 \
471 ecore-ipc >= 1.0.999 \
472 eet >= 1.4.0 \
473 efreet >= 1.0.999 \
474 edbus >= 1.0.999 \
475 eina >= 1.0.999"
476 efm_requires="$efm_requires $eeze_mount $dbus_mount $hal_mount $udisks_mount"
477
478 PKG_CHECK_MODULES(E_FM, [$efm_requires])
479
480 PKG_CHECK_MODULES(E_FM_OP, [
481   ecore >= 1.0.999
482   ecore-file >= 1.0.999
483   eina >= 1.0.999
484 ])
485
486 PKG_CHECK_MODULES(E_FM_OPEN, [
487   ecore >= 1.0.999
488   ecore-ipc >= 1.0.999
489   ecore-con >= 1.0.999
490   eet >= 1.4.0
491   eina >= 1.0.999
492 ])
493
494 PKG_CHECK_MODULES(E_SYS, [
495   eina >= 1.0.999
496 ])
497
498 PKG_CHECK_MODULES(E_INIT, [
499   evas >= 1.0.999
500   ecore >= 1.0.999
501   ecore-evas >= 1.0.999
502   ecore-x >= 1.0.999
503   edje >= 1.0.999
504   ecore-ipc >= 1.0.999
505   eina >= 1.0.999
506 ])
507
508 #PKG_CHECK_MODULES(E_ALERT, [
509 #  xcb
510 #  xcb-shape
511 #  eina >= 1.0.999
512 #  ecore >= 1.0.999
513 #  ecore-ipc >= 1.0.999
514 #])
515
516 PKG_CHECK_MODULES(E, [
517   evas >= 1.0.999
518   ecore >= 1.0.999
519   ecore-x >= 1.0.999
520   ecore-evas >= 1.0.999
521   ecore-input >= 1.0.999
522   ecore-input-evas >= 1.0.999
523   ecore-con >= 1.0.999
524   ecore-ipc >= 1.0.999
525   ecore-file >= 1.0.999
526   eet >= 1.4.0
527   edje >= 1.0.999
528   efreet >= 1.0.999
529   efreet-mime >= 1.0.999
530   efreet-trash >= 1.0.999
531   eina >= 1.0.999
532   dbus-1
533   edbus >= 1.0.999
534   $hal_mount
535   $eeze_mount
536   $udisks_mount
537   $device_backend
538 ])
539 requirements_e="\
540 evas >= 1.0.999 \
541 ecore >= 1.0.999 \
542 ecore-x >= 1.0.999 \
543 ecore-evas >= 1.0.999 \
544 ecore-con >= 1.0.999 \
545 ecore-ipc >= 1.0.999 \
546 ecore-file >= 1.0.999 \
547 eet >= 1.4.0 \
548 edje >= 1.0.999 \
549 efreet >= 1.0.999 \
550 efreet-mime >= 1.0.999 \
551 eina >= 1.0.999 \
552 dbus-1 \
553 edbus >= 1.0.999 \
554 $hal_mount \
555 $udisks_mount \
556 $eeze_mount \
557 $device_backend"
558
559 AC_E_CHECK_PKG(ECORE_IMF, [ ecore-imf >= 1.0.999 ecore-imf-evas >= 1.0.999 ], [], [:])
560
561 e_libs=$E_LIBS" "$LIBINTL" "$fnmatch_libs" "$ECORE_IMF_LIBS" "$execinfo_libs
562 e_cflags="-DUSE_E_CONFIG_H "$E_CFLAGS" "$ECORE_IMF_CFLAGS
563 e_configflags="-DUSE_E_CONFIG_H"
564
565 ####### Added features ##################################################################
566 e_extra_features=" "
567 # not to use enlightenment signal handler - SIGSEGV, SIGILL, SIGFPE, SIGBUS, SIGABRT
568 e_extra_features+="-D_F_DO_NOT_USE_SIG_HANDLER_ "
569 # enable focus policy - set focus to top stack window
570 e_extra_features+="-D_F_FOCUS_WINDOW_IF_TOP_STACK_ "
571 # enable window group raise
572 e_extra_features+="-D_F_WINDOW_GROUP_RAISE_ "
573 # enable notification layer policy - notification layer:240
574 e_extra_features+="-D_F_NOTIFICATION_LAYER_POLICY_ "
575 # enable screen lock / unlock
576 e_extra_features+="-D_F_COMP_SCREEN_LOCK_ "
577 # enable set compositor's input region
578 e_extra_features+="-D_F_COMP_INPUT_REGION_SET_ "
579 # enable window move lock / unlock
580 e_extra_features+="-D_F_COMP_MOVE_LOCK_ "
581
582 have_extra_features=no
583 AC_ARG_ENABLE(extra_features,
584               AC_HELP_STRING([--enable-extra-features], [enable extra features (default: no)]),
585               [have_extra_features=$enableval],
586               [have_extra_features=auto])
587
588 if test "x$have_extra_features" = "xyes" ; then
589   e_cflags+=$e_extra_features
590   e_configflags+=$e_extra_features
591 fi
592 ##########################################################################################
593
594 AC_SUBST(e_libs)
595 AC_SUBST(e_cflags)
596 AC_SUBST(e_configflags)
597 AC_SUBST(requirements_e)
598
599 profile="SLOW_PC"
600 AC_ARG_WITH(profile,
601   AS_HELP_STRING([--with-profile=TARGET_PROFILE], 
602   [specify a target format profile of:
603                                     LOWRES_PDA, MEDIUMRES_PDA, HIRES_PDA, SLOW_PC, MEDIUM_PC, FAST_PC]),
604   [profile=$withval])
605 AC_MSG_NOTICE([Enlightenment build profile set to $profile])
606 EDJE_DEF="-DLOWRES_PDA=1 -DMEDIUMRES_PDA=2 -DHIRES_PDA=3 -DSLOW_PC=4 -DMEDIUM_PC=5 -DFAST_PC=6"
607 EDJE_DEF=$EDJE_DEF" -DE17_PROFILE"=$profile
608 AC_SUBST(EDJE_DEF)
609
610 AC_ARG_WITH(edje-cc,
611 [  --with-edje-cc=PATH              specify a specific path to edje_cc],
612 [
613   v=$withval;
614   edje_cc=$v
615   echo "  Enlightenment edje_cc explicitly set to "$edje_cc;
616 ],[
617   edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc
618 ])
619 AC_SUBST(edje_cc)
620
621 PKG_CHECK_MODULES(EET, [eet >= 1.4.0])
622 AC_ARG_WITH(eet-eet,
623 [  --with-eet-eet=PATH              specify a specific path to eet utility],
624 [
625   v=$withval;
626   eet_eet=$v
627   echo "  Enlightenment eet explicitly set to "$eet_eet;
628 ],[
629   eet_eet=$(pkg-config --variable=prefix eet)/bin/eet
630 ])
631 AC_SUBST(eet_eet)
632
633 AC_DEFINE(E_INTERNAL, 1, "This define can be used to wrap internal E stuff, as config.h isn't exported")
634
635 AM_CONDITIONAL(HAVE_BATTERY, false)
636 define([CHECK_MODULE_BATTERY],
637 [
638   AC_E_CHECK_PKG(BATTERY, [ ecore >= 1.0.999 ecore-file >= 1.0.999 ecore-con >= 1.0.999 eina >= 1.0.999 ], [], [BATTERY=false])
639 ])
640
641 have_openbsd="no"
642 BATTERY_LDFLAGS=
643 case "$host_os" in
644   darwin*)
645     BATTERY_LDFLAGS="-framework Foundation -framework IOKit"
646   ;;
647   openbsd*)
648     have_openbsd="yes"
649   ;;
650 esac
651
652 AC_SUBST(BATTERY_LDFLAGS)
653 AM_CONDITIONAL([HAVE_OPENBSD], [test "x${have_openbsd}" = "xyes"])
654
655 AM_CONDITIONAL(HAVE_TEMPERATURE, false)
656 define([CHECK_MODULE_TEMPERATURE],
657 [
658   AC_E_CHECK_PKG(TEMPERATURE, [ ecore >= 1.0.999 ecore-file >= 1.0.999 eina >= 1.0.999 ], [], [TEMPERATURE=false])
659 ])
660
661 have_exchange=no
662 AC_ARG_ENABLE(exchange,
663   AC_HELP_STRING([--disable-exchange], [disable Exchange support @<:@default=detect@:>@]),
664   [want_exchange=$enableval],
665   [want_exchange=auto]
666 )
667
668 AM_CONDITIONAL(HAVE_EXCHANGE, false)
669 define([CHECK_MODULE_CONF_THEME],
670 [
671   if test "x$want_exchange" != "xno" ; then
672     AC_E_CHECK_PKG(EXCHANGE, [exchange], [], [:])
673   else
674     AC_MSG_NOTICE([requested to not use exchange library])
675   fi
676 ])
677
678
679 have_enotify=no
680 AM_CONDITIONAL([HAVE_ENOTIFY], [false])
681 AC_ARG_ENABLE([enotify],
682   AC_HELP_STRING([--disable-enotify], [disable Enotify support @<:@default=detect@:>@]),
683   [e_cv_want_enotify=$enableval],
684   AC_CACHE_VAL([e_cv_want_enotify], [e_cv_want_enotify=yes])
685 )
686 if test "x$e_cv_want_enotify" != "xno" ; then
687   AC_E_CHECK_PKG(ENOTIFY, [ edbus >= 1.0.999 enotify >= 1.0.999 ], 
688   [
689     AC_DEFINE_UNQUOTED([HAVE_ENOTIFY], [1], [enable enotify])
690   ], 
691   [
692     AC_MSG_NOTICE([enotify disabled])
693     e_cv_want_enotify=no
694   ])
695 else
696   AC_MSG_NOTICE([enotify disabled])
697     e_cv_want_enotify=no
698 fi
699 AC_SUBST([ENOTIFY_CFLAGS])
700 AC_SUBST([ENOTIFY_LIBS])
701
702 AM_CONDITIONAL(HAVE_NOTIFICATION, false)
703 define([CHECK_MODULE_NOTIFICATION],
704 [
705   if test "x$e_cv_want_enotify" = "xno" ; then
706     NOTIFICATION=false
707   fi
708 ])
709
710 AM_CONDITIONAL(HAVE_ALSA, false)
711 define([CHECK_MODULE_MIXER],
712 [
713   if test "x$enable_alsa" = "x" || test "x$enable_alsa" = "xdefault" || test "x$enable_alsa" = "xyes"; then
714     AC_E_CHECK_PKG(ALSA, [alsa >= 1.0.8],
715     [ SOUND_CFLAGS="$ALSA_CFLAGS -DHAVE_ALSA $SOUND_CFLAGS"
716       SOUND_LIBS="$ALSA_LIBS $SOUND_LDFLAGS"
717     ],
718     [ if test "x$enable_alsa" = "xyes"; then
719         AC_MSG_ERROR([alsa library >= 1.0.8 not found])
720       else
721         AC_MSG_WARN([alsa library development files not present. no alsa support.])
722       fi
723     ])
724   else
725     have_alsa=no
726   fi
727
728   if test "$have_alsa" = "yes"; then
729     AC_DEFINE(HAVE_ALSA, 1, [Define if the ALSA output plugin should be built])
730   else
731     have_alsa=no
732   fi
733 ])
734
735 AC_SUBST(SOUND_CFLAGS)
736 AC_SUBST(SOUND_LIBS)
737
738 AM_CONDITIONAL(HAVE_ECONNMAN, false)
739 define([CHECK_MODULE_CONNMAN],
740 [
741   AC_E_CHECK_PKG(ECONNMAN, [ edbus >= 1.0.999 econnman-0.7x >= 1.0.999 ], [], [CONNMAN=false])
742 ])
743 AC_SUBST(ECONNMAN_CFLAGS)
744 AC_SUBST(ECONNMAN_LIBS)
745
746 AM_CONDITIONAL(HAVE_EBLUEZ, false)
747 define([CHECK_MODULE_BLUEZ],
748 [
749   AC_E_CHECK_PKG(EBLUEZ, [ edbus >= 1.0.999 ebluez >= 1.0.999 ], [], [BLUEZ=false])
750 ])
751 AC_SUBST(EBLUEZ_CFLAGS)
752 AC_SUBST(EBLUEZ_LIBS)
753
754 AM_CONDITIONAL(HAVE_EOFONO, false)
755 define([CHECK_MODULE_OFONO],
756 [
757   AC_E_CHECK_PKG(EOFONO, [ edbus >= 1.0.999 eofono >= 1.0.999 ], [], [OFONO=false])
758 ])
759 AC_SUBST(EOFONO_CFLAGS)
760 AC_SUBST(EOFONO_LIBS)
761
762 have_wayland_clients=no
763 AC_ARG_ENABLE([wayland-clients],
764   AS_HELP_STRING([--enable-wayland-clients],[enable wayland clients in composite module @<:@default=disabled@:>@]),
765   [e_cv_want_wayland_clients=$enableval],
766   [e_cv_want_wayland_clients=no])
767
768 AC_MSG_CHECKING([whether wayland client support is enabled])
769 AC_MSG_RESULT([${e_cv_want_wayland_clients}])
770
771 if test "x$e_cv_want_wayland_clients" != "xno";then
772   PKG_CHECK_MODULES([WAYLAND], [wayland-server egl >= 7.10 glesv2 gl pixman-1 xcb-image],
773     [
774       have_wayland_clients=yes
775       AC_DEFINE_UNQUOTED([HAVE_WAYLAND_CLIENTS],[1],[enable wayland client support])
776     ],
777     [have_wayland_clients=no])
778 else
779   have_wayland_clients=no
780 fi
781
782 AM_CONDITIONAL([HAVE_WAYLAND_CLIENTS], [test "x${have_wayland_clients}" = "xyes"])
783
784
785 AC_E_OPTIONAL_MODULE([ibar], true)
786 AC_E_OPTIONAL_MODULE([dropshadow], true)
787 AC_E_OPTIONAL_MODULE([clock], true)
788 AC_E_OPTIONAL_MODULE([pager], true)
789 AC_E_OPTIONAL_MODULE([battery], true, [CHECK_MODULE_BATTERY])
790 AC_E_OPTIONAL_MODULE([temperature], true, [CHECK_MODULE_TEMPERATURE])
791 AC_E_OPTIONAL_MODULE([notification], true, [CHECK_MODULE_NOTIFICATION])
792 AC_E_OPTIONAL_MODULE([cpufreq], true)
793 AC_E_OPTIONAL_MODULE([ibox], true)
794 AC_E_OPTIONAL_MODULE([start], true)
795 AC_E_OPTIONAL_MODULE([winlist], true)
796 AC_E_OPTIONAL_MODULE([fileman], true)
797 AC_E_OPTIONAL_MODULE([fileman_opinfo], true)
798 AC_E_OPTIONAL_MODULE([wizard], true)
799 AC_E_OPTIONAL_MODULE([conf], true)
800 AC_E_OPTIONAL_MODULE([conf_wallpaper2], true)
801 AC_E_OPTIONAL_MODULE([conf_theme], true, [CHECK_MODULE_CONF_THEME])
802 AC_E_OPTIONAL_MODULE([conf_intl], true)
803 AC_E_OPTIONAL_MODULE([msgbus], true)
804 AC_E_OPTIONAL_MODULE([conf_applications], true)
805 AC_E_OPTIONAL_MODULE([conf_display], true)
806 AC_E_OPTIONAL_MODULE([conf_shelves], true)
807 AC_E_OPTIONAL_MODULE([conf_keybindings], true)
808 AC_E_OPTIONAL_MODULE([conf_edgebindings], true)
809 AC_E_OPTIONAL_MODULE([conf_window_remembers], true)
810 AC_E_OPTIONAL_MODULE([conf_window_manipulation], true)
811 AC_E_OPTIONAL_MODULE([conf_menus], true)
812 AC_E_OPTIONAL_MODULE([conf_dialogs], true)
813 AC_E_OPTIONAL_MODULE([conf_performance], true)
814 AC_E_OPTIONAL_MODULE([conf_paths], true)
815 AC_E_OPTIONAL_MODULE([conf_interaction], true)
816 AC_E_OPTIONAL_MODULE([gadman], true)
817 AC_E_OPTIONAL_MODULE([mixer], true, [CHECK_MODULE_MIXER])
818 AC_E_OPTIONAL_MODULE([connman], true, [CHECK_MODULE_CONNMAN])
819 AC_E_OPTIONAL_MODULE([bluez], true, [CHECK_MODULE_BLUEZ])
820 AC_E_OPTIONAL_MODULE([ofono], true, [CHECK_MODULE_OFONO])
821 AC_E_OPTIONAL_MODULE([illume2], true)
822 AC_E_OPTIONAL_MODULE([syscon], true)
823 AC_E_OPTIONAL_MODULE([everything], true)
824 AC_E_OPTIONAL_MODULE([systray], true)
825 AC_E_OPTIONAL_MODULE([comp], true)
826 AC_E_OPTIONAL_MODULE([shot], true)
827 AC_E_OPTIONAL_MODULE([backlight], true)
828 AC_E_OPTIONAL_MODULE([tasks], true)
829 AC_E_OPTIONAL_MODULE([conf_randr], true)
830
831 SUSPEND=""
832 HIBERNATE=""
833 case "$host_os" in
834    freebsd*|pcbsd*)
835       SUSPEND="acpiconf -s3"
836       AC_MSG_NOTICE([use suspend method: $SUSPEND])
837       AC_SUBST(SUSPEND)
838       HIBERNATE="acpiconf -s4"
839       AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
840       AC_SUBST(HIBERNATE)
841       ;;
842    *)
843       AC_PATH_PROGS([SUSPEND], [sleep.sh pm-suspend],[/etc/acpi/sleep.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
844       if test "$SUSPEND" = "/etc/acpi/sleep.sh" ; then
845          SUSPEND="/etc/acpi/sleep.sh force"
846          AC_MSG_NOTICE([use suspend method: $SUSPEND])
847       fi
848
849       AC_PATH_PROGS([HIBERNATE], [hibernate.sh pm-hibernate],[/etc/acpi/hibernate.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
850       if test "$HIBERNATE" = "/etc/acpi/hibernate.sh" ; then
851          HIBERNATE="/etc/acpi/hibernate.sh force"
852          AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
853       fi
854       ;;
855 esac
856
857 AC_OUTPUT([
858 Makefile
859 enlightenment.spec
860 enlightenment.pc
861 src/Makefile
862 src/bin/Makefile
863 src/bin/e_fm_shared_types.h
864 src/bin/e_fm/Makefile
865 src/modules/Makefile
866 src/modules/ibar/Makefile
867 src/modules/ibar/module.desktop
868 src/modules/dropshadow/Makefile
869 src/modules/dropshadow/module.desktop
870 src/modules/clock/Makefile
871 src/modules/clock/module.desktop
872 src/modules/pager/Makefile
873 src/modules/pager/module.desktop
874 src/modules/battery/Makefile
875 src/modules/battery/module.desktop
876 src/modules/temperature/Makefile
877 src/modules/temperature/module.desktop
878 src/modules/notification/Makefile
879 src/modules/notification/module.desktop
880 src/modules/cpufreq/Makefile
881 src/modules/cpufreq/module.desktop
882 src/modules/ibox/Makefile
883 src/modules/ibox/module.desktop
884 src/modules/start/Makefile
885 src/modules/start/module.desktop
886 src/modules/winlist/Makefile
887 src/modules/winlist/module.desktop
888 src/modules/fileman/Makefile
889 src/modules/fileman/module.desktop
890 src/modules/fileman_opinfo/Makefile
891 src/modules/fileman_opinfo/module.desktop
892 src/modules/wizard/Makefile
893 src/modules/conf/Makefile
894 src/modules/conf/module.desktop
895 src/modules/conf_wallpaper2/Makefile
896 src/modules/conf_wallpaper2/module.desktop
897 src/modules/conf_theme/Makefile
898 src/modules/conf_theme/module.desktop
899 src/modules/conf_intl/Makefile
900 src/modules/conf_intl/module.desktop
901 src/modules/conf_applications/Makefile
902 src/modules/conf_applications/module.desktop
903 src/modules/conf_display/Makefile
904 src/modules/conf_display/module.desktop
905 src/modules/conf_shelves/Makefile
906 src/modules/conf_shelves/module.desktop
907 src/modules/conf_keybindings/Makefile
908 src/modules/conf_keybindings/module.desktop
909 src/modules/conf_edgebindings/Makefile
910 src/modules/conf_edgebindings/module.desktop
911 src/modules/conf_window_remembers/Makefile
912 src/modules/conf_window_remembers/module.desktop
913 src/modules/conf_window_manipulation/Makefile
914 src/modules/conf_window_manipulation/module.desktop
915 src/modules/conf_menus/Makefile
916 src/modules/conf_menus/module.desktop
917 src/modules/conf_dialogs/Makefile
918 src/modules/conf_dialogs/module.desktop
919 src/modules/conf_performance/Makefile
920 src/modules/conf_performance/module.desktop
921 src/modules/conf_paths/Makefile
922 src/modules/conf_paths/module.desktop
923 src/modules/conf_interaction/Makefile
924 src/modules/conf_interaction/module.desktop
925 src/modules/msgbus/Makefile
926 src/modules/msgbus/module.desktop
927 src/modules/conf_randr/Makefile
928 src/modules/conf_randr/module.desktop
929 src/modules/gadman/Makefile
930 src/modules/gadman/module.desktop
931 src/modules/mixer/Makefile
932 src/modules/mixer/module.desktop
933 src/modules/connman/Makefile
934 src/modules/connman/module.desktop
935 src/modules/bluez/Makefile
936 src/modules/bluez/module.desktop
937 src/modules/ofono/Makefile
938 src/modules/ofono/module.desktop
939 src/modules/illume2/Makefile
940 src/modules/illume2/doc/illume.dox
941 src/modules/illume2/doc/Makefile
942 src/modules/illume2/images/Makefile
943 src/modules/illume2/module.desktop
944 src/modules/illume2/keyboards/Makefile
945 src/modules/illume2/policies/Makefile
946 src/modules/illume2/policies/illume/Makefile
947 src/modules/illume2/policies/tablet/Makefile
948 src/modules/illume-home/Makefile
949 src/modules/illume-home/module.desktop
950 src/modules/illume-home-toggle/Makefile
951 src/modules/illume-home-toggle/module.desktop
952 src/modules/illume-softkey/Makefile
953 src/modules/illume-softkey/module.desktop
954 src/modules/illume-softkey/images/Makefile
955 src/modules/illume-keyboard/Makefile
956 src/modules/illume-keyboard/module.desktop
957 src/modules/illume-keyboard/keyboards/Makefile
958 src/modules/illume-keyboard/dicts/Makefile
959 src/modules/illume-keyboard/images/Makefile
960 src/modules/illume-indicator/Makefile
961 src/modules/illume-indicator/module.desktop
962 src/modules/illume-indicator/images/Makefile
963 src/modules/illume-kbd-toggle/Makefile
964 src/modules/illume-kbd-toggle/module.desktop
965 src/modules/illume-mode-toggle/Makefile
966 src/modules/illume-mode-toggle/module.desktop
967 src/modules/illume-bluetooth/Makefile
968 src/modules/illume-bluetooth/module.desktop
969 src/modules/syscon/Makefile
970 src/modules/syscon/module.desktop
971 src/modules/everything/Makefile
972 src/modules/everything/module.desktop
973 src/modules/everything/everything.pc
974 src/modules/systray/Makefile
975 src/modules/systray/module.desktop
976 src/modules/comp/Makefile
977 src/modules/comp/module.desktop
978 src/modules/shot/Makefile
979 src/modules/shot/module.desktop
980 src/modules/backlight/Makefile
981 src/modules/backlight/module.desktop
982 src/modules/tasks/Makefile
983 src/modules/tasks/module.desktop
984 src/preload/Makefile
985 data/Makefile
986 data/images/Makefile
987 data/input_methods/Makefile
988 data/themes/Makefile
989 data/themes/images/Makefile
990 data/xsession/Makefile
991 data/xsession/enlightenment.desktop
992 data/tools/Makefile
993 data/etc/Makefile
994 data/etc/sysactions.conf
995 data/icons/Makefile
996 data/backgrounds/Makefile
997 doc/Makefile
998 doc/Doxyfile
999 doc/e.dox
1000 config/Makefile
1001 config/default/Makefile
1002 config/samsung/Makefile
1003 $po_makefile_in
1004 ])
1005
1006 # report
1007 txt_strip() {
1008   echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
1009 }
1010
1011 echo
1012 cat << SUMMARY_EOF
1013 Summary:
1014  * project.........: $PACKAGE $VERSION
1015  * prefix..........: $(txt_strip $prefix)
1016  * CFLAGS..........: $(txt_strip $CFLAGS)
1017  * LDFLAGS.........: $(txt_strip $LDFLAGS)
1018 SUMMARY_EOF
1019 echo
1020 cat << DEVICE_EOF
1021 Preferred Backends:
1022  * device..............: $device_backend
1023  * hal_mount...........: $e_cv_want_mount_hal
1024  * udisks_mount........: $e_cv_want_mount_udisks
1025  * eeze_mount..........: $e_cv_want_mount_eeze
1026 DEVICE_EOF
1027 echo
1028
1029 UNUSED_MODS=""
1030 for mod in $UNUSED_OPTIONAL_MODULES; do
1031   UNUSED_MODS="$UNUSED_MODS${COLOR_HRED}$mod${COLOR_END} "
1032 done
1033
1034 cat << MODULES_EOF
1035 Modules:
1036  * disabled........: $(txt_strip $UNUSED_MODS)
1037 MODULES_EOF
1038 echo
1039
1040 cat << DOCS_EOF
1041 Documentation:
1042  * enabled.........: ${build_doc}
1043 DOCS_EOF
1044 if test "x${build_doc}" = "xyes" ; then
1045   echo " Building..........: make doc"
1046 fi
1047 echo
1048
1049 cat << COMPILE_EOF
1050 Compilation........: make (or gmake)
1051 COMPILE_EOF
1052 echo
1053
1054 cat << INSTALL_EOF
1055 Installation.......: make all install (as root if needed, with 'su' or 'sudo')
1056 INSTALL_EOF
1057 echo