8ad10d34965fb3ed0475719fe7405f1c80734f21
[platform/upstream/enlightenment.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [0])
4 m4_define([v_min], [19])
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']))dnl
7 ##--   When released, remove the dnl on the below line
8 dnl m4_undefine([v_rev])
9 m4_define([relname], [0.20.0])
10 ##--   When doing snapshots - change soname. remove dnl on below line
11 m4_define([relname], [ver-autocannoli-0.20])
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])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], 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
28 AC_CONFIG_HEADERS([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.11 dist-bzip2 dist-xz -Wno-portability])
38 AM_SILENT_RULES([yes])
39
40 AC_USE_SYSTEM_EXTENSIONS
41 AC_PROG_MKDIR_P
42 AC_C_BIGENDIAN
43 AC_PROG_CC_C99
44 AM_PROG_CC_C_O
45 AC_FUNC_ALLOCA
46 AC_C___ATTRIBUTE__
47
48 LT_INIT([disable-static])
49
50 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
51 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
52 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
53 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
54 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
55 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
56 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
57 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
58 ##AC_DEFINE_UNQUOTED(E_RELEASE_BUILD, [1], [doin it])
59 version_info="lt_cur:lt_rev:lt_age"
60 release_info="v_rel"
61 AC_SUBST([version_info])
62 AC_SUBST([release_info])
63 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
64 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
65
66 release=relname
67 AC_SUBST([release])
68
69 PKG_PROG_PKG_CONFIG
70
71 EFL_CHECK_PATH_MAX
72
73 AC_CHECK_FUNCS(setenv)
74 AC_CHECK_FUNCS(unsetenv)
75 AC_CHECK_FUNCS(clearenv)
76 AC_CHECK_HEADERS(features.h)
77
78 case "$host_os" in
79    darwin*)
80       AC_DEFINE([environ], [(*_NSGetEnviron())],
81                 ["apple doesn't follow POSIX in this case."])
82       ;;
83    *)
84       ;;
85 esac
86 AC_TRY_COMPILE([
87 #define _GNU_SOURCE 1
88 #include <unistd.h>
89     ],[
90 extern char **environ;
91     ],[
92 AC_DEFINE(HAVE_ENVIRON, 1, [Have environ var])
93     ])
94
95 efl_version="1.13.0"
96 AC_SUBST(efl_version)
97
98 AC_CHECK_HEADERS([sys/timerfd.h sys/ptrace.h arpa/inet.h netinet/in.h])
99
100 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]))
101
102 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]))
103
104 AC_CHECK_FUNCS(fnmatch, res=yes, res=no)
105 if test "x$res" = "xno"; then
106   AC_CHECK_LIB(fnmatch, fnmatch, res=yes, res=no)
107   if test "x$res" = "xno"; then
108     AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch])
109   else
110     fnmatch_libs="-lfnmatch"
111   fi
112 fi
113
114 AC_SUBST([fnmatch_libs])
115
116 have_pam=no
117 AC_ARG_ENABLE(pam,
118   AS_HELP_STRING([--enable-pam], [enable PAM support @<:@default=detect@:>@]),
119   [want_pam=$enableval],
120   [want_pam=auto]
121 )
122 if test "x$want_pam" != "xno" ; then
123   AC_CHECK_HEADERS(security/pam_appl.h, [
124     LIBS="$LIBS -lpam"
125     have_pam=yes
126     AC_DEFINE(HAVE_PAM, 1, [PAM Authentication Support])])
127     if test "x$want_pam$have_pam" = "xyesno" ; then
128       AC_MSG_ERROR([PAM support was requested but not found])
129     fi
130 fi
131
132 dnl AC_E_CHECK_PKG(VALGRIND, [valgrind >= 2.4.0], [], [:])
133 AC_SUBST([VALGRIND_CFLAGS])
134 AC_SUBST([VALGRIND_LIBS])
135
136 MODULE_ARCH="$host_os-$host_cpu-relname"
137 AC_SUBST([MODULE_ARCH])
138 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
139
140 if test "x${bindir}" = 'xNONE'; then
141   if test "x${prefix}" = "xNONE"; then
142     PACKAGE_BIN_DIR="${ac_default_prefix}/bin"
143   else
144     PACKAGE_BIN_DIR="${prefix}/bin"
145   fi
146 else
147   PACKAGE_BIN_DIR="${bindir}"
148 fi
149 AC_SUBST([PACKAGE_BIN_DIR])
150
151 if test "x${libdir}" = 'xNONE'; then
152   if test "x${prefix}" = "xNONE"; then
153     PACKAGE_LIB_DIR="${ac_default_prefix}/lib"
154   else
155     PACKAGE_LIB_DIR="${prefix}/lib"
156   fi
157 else
158   PACKAGE_LIB_DIR="${libdir}"
159 fi
160 AC_SUBST([PACKAGE_LIB_DIR])
161
162 if test "x${prefix}" = "xNONE"; then
163   PACKAGE_DATA_DIR="${ac_default_prefix}/share/${PACKAGE}"
164   LOCALE_DIR="${ac_default_prefix}/share/locale"
165   PACKAGE_SYSCONF_DIR="${ac_default_prefix}/etc"
166 else
167   PACKAGE_DATA_DIR="${prefix}/share/${PACKAGE}"
168   LOCALE_DIR="${prefix}/share/locale"
169   PACKAGE_SYSCONF_DIR="${sysconfdir}"
170 fi
171 AC_SUBST([PACKAGE_DATA_DIR])
172 AC_SUBST([LOCALE_DIR])
173 AC_SUBST([PACKAGE_SYSCONF_DIR])
174
175 #######################################
176 ## Simple X11 build/link
177
178 AC_ARG_ENABLE(simple-x11,
179   AS_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
180   [ want_evas_simple_x11=$enableval ]
181 )
182     
183 dnl x_dir=""
184 dnl x_cflags=""
185 dnl x_libs=""
186 dnl AC_PATH_XTRA
187 dnl AC_CHECK_HEADER(X11/X.h,
188 dnl   [
189 dnl     if test "x$want_evas_simple_x11" = "xyes"; then
190 dnl       x_libs="${x_libs} -lX11 -lXext"
191 dnl     else
192 dnl       x_dir=${x_dir:-/usr/X11R6}
193 dnl       x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
194 dnl       x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
195 dnl     fi
196 dnl   ],[
197 dnl     AC_MSG_ERROR([Cannot find X headers and libraries.])
198 dnl   ]
199 dnl )
200 dnl AC_SUBST([x_cflags])
201 dnl AC_SUBST([x_libs])
202
203 cf_cflags=""
204 cf_libs=""
205 PCPPFLAGS="${CPPFLAGS}"
206 CPPFLAGS="${CPPFLAGS} -I /System/Library/Frameworks/CoreFoundation.framework/Headers"
207 AC_CHECK_HEADERS(CFBase.h,
208   [
209     cf_cflags="-I /System/Library/Frameworks/CoreFoundation.framework/Headers"
210     cf_cflags="${cf_cflags} -I /System/Library/Frameworks/IOKit.framework/Headers"
211     cf_libs="-framework 'CoreFoundation' -framework 'IOKit'"
212   ]
213 )
214 CPPFLAGS="${PCPPFLAGS}"
215 AC_SUBST([cf_cflags])
216 AC_SUBST([cf_libs])
217
218 PKG_CHECK_MODULES([BLUEZ], [bluez],
219         [have_bluetooth="yes"],
220         [have_bluetooth="no"])
221 AM_CONDITIONAL([HAVE_BLUETOOTH], [test "x${have_bluetooth}"])
222 if test "x${have_bluetooth}" = "xyes"; then
223    AC_DEFINE_UNQUOTED([HAVE_BLUETOOTH], [1], [Bluetooth is there])
224 fi
225
226 AC_ARG_ENABLE([systemd],
227   AC_HELP_STRING([--disable-systemd], [disable systemd support @<:@default=detect@:>@]),
228   [want_systemd=${enableval}], [want_systemd=auto])
229
230 AC_ARG_WITH([systemdunitdir],
231          AC_HELP_STRING([--with-systemdunitdir=DIR],
232                 [path to systemd user services directory]),
233          [USER_SESSION_DIR=${withval}])
234
235 if test "$want_systemd" == "no"; then
236   have_systemd_user_session="no"
237 elif test -n "${USER_SESSION_DIR}"; then
238   have_systemd_user_session="yes"
239   AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
240 else
241   # Detect systemd user session directory properly
242   EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
243         [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
244
245   if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
246      AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
247   fi
248 fi
249
250 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
251 AC_SUBST([USER_SESSION_DIR])
252
253 execinfo_libs=""
254 AC_CHECK_HEADERS([execinfo.h], [have_execinfo="yes"], [have_execinfo="no"])
255 if test "x${have_execinfo}" = "xyes" ; then
256   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libc])
257
258   AC_LINK_IFELSE(
259     [AC_LANG_PROGRAM(
260       [[
261 #include <stdlib.h>
262 #include <execinfo.h>
263       ]],
264       [[
265 backtrace_symbols_fd(NULL, 0, 0);
266       ]])],
267     [link_execinfo="yes"],
268     [link_execinfo="no"])
269
270   AC_MSG_RESULT([${link_execinfo}])
271 fi
272
273 if test "x${link_execinfo}" = "xno" ; then
274   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libexecinfo])
275
276   LDFLAGS_save="${LDFLAGS}"
277   LDFLAGS="${LDFLAGS} -lexecinfo"
278   AC_LINK_IFELSE(
279     [AC_LANG_PROGRAM(
280       [[
281 #include <stdlib.h>
282 #include <execinfo.h>
283       ]],
284       [[
285 backtrace_symbols_fd(NULL, 0, 0);
286       ]])],
287     [
288       link_execinfo="yes"
289       execinfo_libs="-lexecinfo"
290     ],
291     [link_execinfo="no"])
292   LDFLAGS="${LDFLAGS_save}"
293
294   AC_MSG_RESULT([${link_execinfo}])
295 fi
296
297 dnl if test "x${link_execinfo}" = "xno" ; then
298 dnl   AC_MSG_ERROR([Cannot use backtrace_symbols_fd()])
299 dnl fi
300
301
302 #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"
303 #ALL_LINGUAS="bg de eo es fi fr ja pt ru zh_CN hu sl it cs da sk sv nb nl zh_TW"
304 # a lot of .po's are broken
305 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"
306 AC_SUBST([ALL_LINGUAS])
307
308 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
309 AM_GNU_GETTEXT_VERSION([0.18])
310 ])
311
312 m4_ifdef([AC_GNU_GETTEXT], [
313 AC_GNU_GETTEXT([external], [need-ngettext])
314 po_makefile_in=po/Makefile.in
315 have_po="yes"
316 ],[
317 m4_ifdef([AM_GNU_GETTEXT], [
318 AM_GNU_GETTEXT([external], [need-ngettext])
319 po_makefile_in=po/Makefile.in
320 have_po="yes"
321 ],[
322 have_po="no"
323 ])
324 ])
325 AC_SUBST([LTLIBINTL])
326 if test "x$LIBINTL" = "x"; then
327   LIBINTL="$INTLLIBS"
328 fi
329
330 if test "x${POSUB}" = "x" ; then
331    have_po="no"
332 fi
333
334 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
335
336 AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
337 AC_SUBST([dlopen_libs])
338
339 AC_MSG_CHECKING([whether to install sysactions.conf])
340 AC_ARG_ENABLE([install-sysactions],
341   AS_HELP_STRING([--disable-install-sysactions],[disable installing /etc/enlightenment/sysactions.conf @<:@default=enabled@:>@]),
342     [e_cv_enable_install_sysactions=$enableval],
343     AC_CACHE_VAL([e_cv_enable_install_sysactions], [e_cv_enable_install_sysactions=yes]))
344 AC_MSG_RESULT([$e_cv_enable_install_sysactions])
345 AM_CONDITIONAL(INSTALL_SYSACTIONS, test x${e_cv_enable_install_sysactions} = xyes)
346
347 AC_MSG_CHECKING([whether to install enlightenment.menu])
348 AC_ARG_ENABLE([install-enlightenment-menu],
349   AS_HELP_STRING([--disable-install-enlightenment-menu],[disable installing /etc/xdg/menus/enlightenment.menu @<:@default=enabled@:>@]),
350     [e_cv_enable_install_enlightenment_menu=$enableval],
351     AC_CACHE_VAL([e_cv_enable_install_enlightenment_menu], [e_cv_enable_install_enlightenment_menu=yes]))
352 AC_MSG_RESULT([$e_cv_enable_install_enlightenment_menu])
353 AM_CONDITIONAL(INSTALL_ENLIGHTENMENT_MENU, test x${e_cv_enable_install_enlightenment_menu} = xyes)
354
355 AC_MSG_CHECKING([whether to enable Files menu item])
356 AC_ARG_ENABLE([files],
357   AS_HELP_STRING([--disable-files],[disable Files menu item @<:@default=enabled@:>@]),
358     [e_cv_enable_files=$enableval],
359     AC_CACHE_VAL([e_cv_enable_files], [e_cv_enable_files=yes]))
360 if test "[${e_cv_enable_files}]" = yes; then
361   AC_DEFINE_UNQUOTED([ENABLE_FILES],[1],[enable Files menu item])
362 fi
363 AC_MSG_RESULT([$e_cv_enable_files])
364
365 AC_ARG_ENABLE([device-udev],
366   AS_HELP_STRING([--enable-device-udev],[enable udev device backend @<:@default=enabled@:>@]),
367   [e_cv_want_device_udev=$enableval],
368   [e_cv_want_device_udev=yes])
369
370 AC_MSG_CHECKING([whether the UDEV device backend is enabled])
371 AC_MSG_RESULT([${e_cv_want_device_udev}])
372
373 device_backend=
374 device_libs=
375
376 if test "x$e_cv_want_device_udev" != "xno";then
377   PKG_CHECK_MODULES([EEZE], [eeze >= ${efl_version} ecore >= ${efl_version} eina >= ${efl_version}],
378     [
379       device_backend=eeze
380       device_libs=eeze
381       AC_DEFINE_UNQUOTED([HAVE_EEZE],[1],[enable udev support])
382     ])
383 fi
384
385 AC_MSG_CHECKING([which device backend to use])
386 AC_MSG_RESULT($device_backend)
387
388 AM_CONDITIONAL([HAVE_EEZE], [test "x${device_backend}" = "xeeze"])
389
390 DBUS_MOUNT_CONFIG=1
391 dbus_mount="dbus-1"
392
393 AC_ARG_ENABLE([mount-udisks],
394   AS_HELP_STRING([--enable-mount-udisks],[enable udisks mounting support @<:@default=enabled@:>@]),
395   [e_cv_want_mount_udisks=$enableval],
396   [e_cv_want_mount_udisks=yes])
397
398 AC_MSG_CHECKING([whether the UDISKS mounting support is enabled])
399 AC_MSG_RESULT([${e_cv_want_mount_udisks}])
400
401
402 if test "x${e_cv_want_mount_udisks}" = "xno" ; then
403   DBUS_MOUNT_CONFIG=0
404   dbus_mount=
405 fi
406
407 AC_ARG_ENABLE([mount-eeze],
408   AS_HELP_STRING([--enable-mount-eeze],[enable eeze mounting support @<:@default=disabled@:>@]),
409   [e_cv_want_mount_eeze=$enableval],
410   [e_cv_want_mount_eeze=no])
411
412 AC_MSG_CHECKING([whether the Eeze mounting support is enabled])
413 AC_MSG_RESULT([${e_cv_want_mount_eeze}])
414
415 eeze_mount=
416 EEZE_MOUNT_CONFIG=0
417 if test "x$e_cv_want_mount_eeze" != "xno" && test -z "$dbus_mount" ; then
418       CPPFLAGS_save="$CPPFLAGS"
419       LIBS_save="$LIBS"
420       CPPFLAGS="$EEZE_CFLAGS $CPPFLAGS"
421       LIBS="$EEZE_LIBS $LIBS"
422       AC_CHECK_LIB([eeze], [eeze_disk_function],
423         [
424            eeze_mount="eeze >= $efl_version ecore-con >= $efl_version"
425            EEZE_MOUNT_CONFIG=1
426            AC_DEFINE_UNQUOTED([HAVE_EEZE_MOUNT], [1], [enable eeze mounting])
427            AC_MSG_NOTICE([eeze mounting enabled])
428         ],
429         [
430            AC_MSG_NOTICE([eeze mounting disabled])
431            e_cv_want_mount_eeze=no
432         ]
433       )
434       CPPFLAGS="$CPPFLAGS_save"
435       LIBS="$LIBS_save"
436 else
437   AC_MSG_NOTICE([eeze mounting disabled])
438 fi
439
440 AC_SUBST([EEZE_MOUNT_CONFIG])
441 AC_SUBST([DBUS_MOUNT_CONFIG])
442 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [false])
443 test -n "$dbus_mount" && AC_DEFINE_UNQUOTED([HAVE_UDISKS_MOUNT], [1], [enable Udisks mounting])
444 AM_CONDITIONAL([HAVE_UDISKS_MOUNT], [test -n "$dbus_mount"])
445 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test -n "$eeze_mount"])
446
447 # verify "wayland-only" early to adapt dependencies
448
449 have_wayland_only=no
450 AC_ARG_ENABLE([wayland-only],
451   AS_HELP_STRING([--enable-wayland-only],[enable wayland-only version of enlightenment @<:@default=disabled@:>@]),
452   [e_cv_want_wayland_only=$enableval],
453   [e_cv_want_wayland_only=no])
454 AC_MSG_CHECKING([whether wayland-only version is enabled])
455 AC_MSG_RESULT([${e_cv_want_wayland_only}])
456
457 quick_init=no
458 AC_ARG_ENABLE([quick-init],
459   AS_HELP_STRING([--enable-quick-init],[]),
460   [
461    quick_init=yes
462    AC_DEFINE_UNQUOTED([ENABLE_QUICK_INIT], [1], [enable quick init])
463   ],
464   [quick_init=no])
465 AC_MSG_CHECKING([whether enlightenment quick initialization is enabled])
466 AC_MSG_RESULT([${quick_init}])
467
468 light-e=no
469 AC_ARG_ENABLE([light-e],
470   AS_HELP_STRING([--enable-light-e],[]),
471   [
472    light-e=yes
473    AC_DEFINE_UNQUOTED([DISABLE_FORMAT_TEST], [1], [disable file format test])
474   ],
475   [light-e=no])
476 AC_MSG_CHECKING([whether lightweight enlightenment is enabled])
477 AC_MSG_RESULT([${light-e}])
478
479 # doxygen program for documentation building
480
481 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
482
483 # explicit libs for each binary to reduce linkage requirements
484 PKG_CHECK_MODULES(E_REMOTE, [
485   ecore >= ${efl_version}
486   ecore-ipc >= ${efl_version}
487   eet >= ${efl_version}
488   eina >= ${efl_version}
489 ])
490
491 PKG_CHECK_MODULES(E_START, [
492   eina >= ${efl_version}
493   evas >= ${efl_version}
494 ])
495
496 PKG_CHECK_MODULES(E_IMC, [
497   ecore-file >= ${efl_version}
498   eet >= ${efl_version}
499   eina >= ${efl_version}
500 ])
501
502 PKG_CHECK_MODULES(E_THUMB, [
503   eina >= ${efl_version}
504   evas >= ${efl_version}
505   ecore >= ${efl_version}
506   ecore-evas >= ${efl_version}
507   edje >= ${efl_version}
508   ecore-file >= ${efl_version}
509   ecore-ipc >= ${efl_version}
510   eet >= ${efl_version}
511   efreet >= ${efl_version}
512 ])
513
514 PKG_CHECK_MODULES(E_GRABBER, [
515   eina >= ${efl_version}
516   eet >= ${efl_version}
517 ])
518
519 efm_requires="\
520 ecore >= $efl_version \
521 ecore-file >= $efl_version \
522 ecore-ipc >= $efl_version \
523 eet >= $efl_version \
524 efreet >= $efl_version \
525 eldbus >= $efl_version \
526 eina >= $efl_version"
527 efm_requires="$efm_requires $eeze_mount $dbus_mount $udisks_mount"
528
529 PKG_CHECK_MODULES(E_FM, [$efm_requires])
530
531 PKG_CHECK_MODULES(E_FM_CMDLINE, [
532   eina >= ${efl_version}
533   ecore >= ${efl_version}
534   ecore-file >= ${efl_version}
535   eldbus >= ${efl_version}
536   efreet >= ${efl_version}
537 ])
538
539 PKG_CHECK_MODULES(E_FM_OP, [
540   ecore >= ${efl_version}
541   ecore-file >= ${efl_version}
542   eina >= ${efl_version}
543 ])
544
545 PKG_CHECK_MODULES(E_FM_OPEN, [
546   eina >= ${efl_version}
547   eet >= ${efl_version}
548   ecore >= ${efl_version}
549   ecore-ipc >= ${efl_version}
550   ecore-con >= ${efl_version}
551 ])
552
553 PKG_CHECK_MODULES(E_SYS, [
554   eina >= ${efl_version}
555   ecore >= ${efl_version}
556 ])
557
558 if test "x${e_cv_want_wayland_only}" != "xyes"; then
559   PKG_CHECK_MODULES(E_ALERT, [
560     xcb
561     xcb-shape
562     xcb-keysyms
563     eina >= ${efl_version}
564     ecore >= ${efl_version}
565     ecore-ipc >= ${efl_version}
566   ])
567 fi
568
569 e_requires="\
570   evas >= $efl_version \
571   ecore >= $efl_version \
572   ecore-evas >= $efl_version \
573   ecore-input >= $efl_version \
574   ecore-input-evas >= $efl_version \
575   ecore-con >= $efl_version \
576   ecore-ipc >= $efl_version \
577   ecore-file >= $efl_version \
578   eet >= $efl_version \
579   edje >= $efl_version \
580   efreet >= $efl_version \
581   efreet-mime >= $efl_version \
582   efreet-trash >= $efl_version \
583   eina >= $efl_version \
584   eldbus >= $efl_version \
585   eio >= $efl_version \
586   eo >= $efl_version \
587   elementary >= $efl_version \
588   emotion >= $efl_version \
589   $eeze_mount \
590   libtbm \
591   $udisks_mount \
592   $device_libs"
593 if test "x${e_cv_want_wayland_only}" != "xyes"; then
594   e_requires="$e_requires ecore-x >= $efl_version"
595 fi
596
597 PKG_CHECK_MODULES(E, [$e_requires])
598 requirements_e="\
599 evas >= ${efl_version} \
600 ecore >= ${efl_version} \
601 ecore-evas >= ${efl_version} \
602 ecore-con >= ${efl_version} \
603 ecore-ipc >= ${efl_version} \
604 ecore-file >= ${efl_version} \
605 eet >= ${efl_version} \
606 edje >= ${efl_version} \
607 efreet >= ${efl_version} \
608 efreet-mime >= ${efl_version} \
609 efreet-trash >= ${efl_version} \
610 eina >= ${efl_version} \
611 eldbus >= ${efl_version} \
612 eio >= ${efl_version} \
613 eo >= ${efl_version} \
614 elementary >= ${efl_version} \
615 emotion >= ${efl_version} \
616 $udisks_mount \
617 $eeze_mount \
618 $device_libs"
619 if test "x${e_cv_want_wayland_only}" != "xyes"; then
620   requirements_e="$requirements_e ecore-x >= $efl_version"
621 fi
622
623 PKG_CHECK_MODULES(E_OPEN, [
624   eina >= ${efl_version}
625   ecore >= ${efl_version}
626   efreet >= ${efl_version}
627   efreet-mime >= ${efl_version}
628 ])
629
630 PKG_CHECK_MODULES(E_INFO, [
631   eina >= ${efl_version}
632   ecore >= ${efl_version}
633   eldbus >= ${efl_version}
634 ])
635
636 e_libs="$E_LIBS $LIBINTL $fnmatch_libs $execinfo_libs"
637 e_cflags="-DUSE_E_CONFIG_H $E_CFLAGS -D_F_ZONE_WINDOW_ROTATION_ -D_F_E_VIRTUAL_KEYBOARD_TYPE_ -D_F_E_CLIENT_NEW_CLIENT_POST_HOOK_ -D_F_E_COMP_OBJECT_INTERCEPT_HOOK_ -D_F_TRANSIENT_FOR_PATCH -D_F_DISABLE_BACKLIGHT_MOD_SUPPORT"
638 e_configflags="-DUSE_E_CONFIG_H -D_F_ZONE_WINDOW_ROTATION_ -D_F_E_VIRTUAL_KEYBOARD_TYPE_ -D_F_E_CLIENT_NEW_CLIENT_POST_HOOK_ -D_F_E_COMP_OBJECT_INTERCEPT_HOOK_ -D_F_TRANSIENT_FOR_PATCH -D_F_DISABLE_BACKLIGHT_MOD_SUPPORT"
639
640 AC_SUBST([e_libs])
641 AC_SUBST([e_cflags])
642 AC_SUBST([e_configflags])
643 AC_SUBST([requirements_e])
644
645 PKG_CHECK_EXISTS([xkeyboard-config],[
646   xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config 2>/dev/null`
647   AC_DEFINE_UNQUOTED([XKB_BASE],["$xkb_base"],[Define to the base directory for X keyboard configuration data])
648 ])
649
650 profile="SLOW_PC"
651 AC_ARG_WITH(profile,
652   AS_HELP_STRING([--with-profile=TARGET_PROFILE], 
653   [specify a target format profile of:
654                                     LOWRES_PDA, MEDIUMRES_PDA, HIRES_PDA, SLOW_PC, MEDIUM_PC, FAST_PC]),
655   [profile=$withval])
656 AC_MSG_NOTICE([Enlightenment build profile set to $profile])
657 EDJE_DEF="-DLOWRES_PDA=1 -DMEDIUMRES_PDA=2 -DHIRES_PDA=3 -DSLOW_PC=4 -DMEDIUM_PC=5 -DFAST_PC=6"
658 EDJE_DEF=$EDJE_DEF" -DE_PROFILE"=$profile
659 AC_SUBST([EDJE_DEF])
660
661 AC_ARG_WITH(edje-cc,
662 [  --with-edje-cc=PATH              specify a specific path to edje_cc],
663 [
664   v=$withval;
665   edje_cc=$v
666   echo "  Enlightenment edje_cc explicitly set to "$edje_cc;
667 ],[
668   edje_cc=$(pkg-config --variable=prefix edje)/bin/edje_cc
669 ])
670 AC_SUBST([edje_cc])
671
672 PKG_CHECK_MODULES(EET, [eet >= ${efl_version}])
673 AC_ARG_WITH(eet-eet,
674 [  --with-eet-eet=PATH              specify a specific path to eet utility],
675 [
676   v=$withval;
677   eet_eet=$v
678   echo "  Enlightenment eet explicitly set to "$eet_eet;
679 ],[
680   eet_eet=$(pkg-config --variable=prefix eet)/bin/eet
681 ])
682 AC_SUBST([eet_eet])
683
684 AC_DEFINE(E_INTERNAL, 1, "This define can be used to wrap internal E stuff, as config.h isn't exported")
685
686 AM_CONDITIONAL(HAVE_BATTERY, false)
687 define([CHECK_MODULE_BATTERY],
688 [
689   AC_E_CHECK_PKG(BATTERY, [ ecore >= $efl_version ecore-file >= $efl_version ecore-con >= $efl_version eina >= $efl_version ], [], [BATTERY=false])
690 ])
691
692 have_openbsd="no"
693 have_freebsd="no"
694 BATTERY_LDFLAGS=
695 case "$host_os" in
696   darwin*)
697     BATTERY_LDFLAGS="-framework Foundation -framework IOKit"
698   ;;
699   openbsd*)
700     have_openbsd="yes"
701   ;;
702   freebsd*)
703     have_freebsd="yes"
704   ;;
705 esac
706
707 AC_SUBST([BATTERY_LDFLAGS])
708 AM_CONDITIONAL([HAVE_OPENBSD], [test "x${have_openbsd}" = "xyes"])
709 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
710
711 AM_CONDITIONAL(HAVE_TEMPERATURE, false)
712 define([CHECK_MODULE_TEMPERATURE],
713 [
714   AC_E_CHECK_PKG(TEMPERATURE, [ ecore >= $efl_version ecore-file >= $efl_version eina >= $efl_version ], [], [TEMPERATURE=false])
715 ])
716
717 AM_CONDITIONAL(HAVE_MUSIC_CONTROL, false)
718 define([CHECK_MODULE_MUSIC_CONTROL],
719 [
720   AC_E_CHECK_PKG(MUSIC_CONTROL, [ ecore >= $efl_version eina >= $efl_version eldbus ], [], [MUSIC_CONTROL=false])
721 ])
722
723 ##have_exchange=no
724 ##AC_ARG_ENABLE(exchange,
725 ##  AS_HELP_STRING([--disable-exchange], [disable Exchange support @<:@default=detect@:>@]),
726 ##  [want_exchange=$enableval],
727 ##  [want_exchange=auto]
728 ##)
729
730 AM_CONDITIONAL(HAVE_EXCHANGE, false)
731 ##define([CHECK_MODULE_CONF_THEME],
732 ##[
733 ##  if test "x$want_exchange" != "xno" ; then
734 ##    AC_E_CHECK_PKG(EXCHANGE, [exchange], [], [:])
735 ##  else
736 ##    AC_MSG_NOTICE([requested to not use exchange library])
737 ##  fi
738 ##])
739
740
741 have_enotify=no
742 AM_CONDITIONAL([HAVE_ENOTIFY], [false])
743 AC_ARG_ENABLE([enotify],
744   AS_HELP_STRING([--disable-enotify], [disable Enotify support @<:@default=detect@:>@]),
745   [e_cv_want_enotify=$enableval],
746   AC_CACHE_VAL([e_cv_want_enotify], [e_cv_want_enotify=yes])
747 )
748 if test "x$e_cv_want_enotify" != "xno" ; then
749   AC_E_CHECK_PKG(ENOTIFY, [ eldbus >= $efl_version ],
750   [
751     AC_DEFINE_UNQUOTED([HAVE_ENOTIFY], [1], [enable enotify])
752   ], 
753   [
754     AC_MSG_NOTICE([enotify disabled])
755     e_cv_want_enotify=no
756   ])
757 else
758   AC_MSG_NOTICE([enotify disabled])
759     e_cv_want_enotify=no
760 fi
761 AC_SUBST([ENOTIFY_CFLAGS])
762 AC_SUBST([ENOTIFY_LIBS])
763
764 AM_CONDITIONAL(HAVE_NOTIFICATION, false)
765 define([CHECK_MODULE_NOTIFICATION],
766 [
767   if test "x$e_cv_want_enotify" = "xno" ; then
768     NOTIFICATION=false
769   fi
770 ])
771
772
773 AM_CONDITIONAL(HAVE_ALSA, false)
774 define([CHECK_MODULE_MIXER],
775 [
776   if test "x$enable_alsa" = "x" || test "x$enable_alsa" = "xdefault" || test "x$enable_alsa" = "xyes"; then
777     AC_E_CHECK_PKG(ALSA, [alsa >= 1.0.8],
778     [ SOUND_CFLAGS="$ALSA_CFLAGS -DHAVE_ALSA $SOUND_CFLAGS"
779       SOUND_LIBS="$ALSA_LIBS $SOUND_LDFLAGS"
780     ],
781     [ if test "x$enable_alsa" = "xyes"; then
782         AC_MSG_ERROR([alsa library >= 1.0.8 not found])
783       else
784         AC_MSG_WARN([alsa library development files not present. no alsa support.])
785       fi
786     ])
787   else
788     have_alsa=no
789   fi
790
791   if test "$have_alsa" = "yes"; then
792     AC_DEFINE(HAVE_ALSA, 1, [Define if the ALSA output plugin should be built])
793   else
794     have_alsa=no
795   fi
796 ])
797
798 SHM_OPEN_LIBS=""
799 AC_MSG_CHECKING([whether shm_open() is present])
800 LIBS_save=${LIBS}
801 LIBS="${LIBS} -lrt"
802 AC_LINK_IFELSE(
803    [AC_LANG_PROGRAM(
804       [[
805 #include <sys/stat.h>
806 #include <sys/mman.h>
807 #include <fcntl.h>
808       ]],
809       [[
810 int fd;
811 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR |
812 S_IWUSR);
813 shm_unlink("/");
814       ]])],
815    [
816     have_shm_open="yes"
817     AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call])
818     SHM_OPEN_LIBS="-lrt"
819    ])
820 LIBS=${LIBS_save}
821 AC_MSG_RESULT([${have_shm_open}])
822 AC_SUBST(SHM_OPEN_LIBS)
823                            
824 AC_SUBST([SOUND_CFLAGS])
825 AC_SUBST([SOUND_LIBS])
826
827 AM_CONDITIONAL(HAVE_ECONNMAN, false)
828 AM_CONDITIONAL(HAVE_DUMMY, false)
829 define([CHECK_MODULE_CONNMAN],
830 [
831   AC_E_CHECK_PKG(ECONNMAN, [ eldbus >= $efl_version ], [], [CONNMAN=false])
832 dnl  AC_E_CHECK_PKG(DUMMY, [ connman >= 1.0 ], [], [CONNMAN=false])
833 ])
834 AC_SUBST([ECONNMAN_CFLAGS])
835 AC_SUBST([ECONNMAN_LIBS])
836
837 AM_CONDITIONAL(HAVE_BLUEZ4, false)
838 AM_CONDITIONAL(HAVE_DUMMY, false)
839 define([CHECK_MODULE_BLUEZ4],
840 [
841   AC_E_CHECK_PKG(BLUEZ4, [ eldbus ],)
842 ])
843 AC_SUBST([EBLUEZ4_CFLAGS])
844 AC_SUBST([EBLUEZ4_LIBS])
845
846 have_wayland_clients=no
847 AC_ARG_ENABLE([wayland-clients],
848   AS_HELP_STRING([--enable-wayland-clients],[enable wayland clients in composite module @<:@default=disabled@:>@]),
849   [e_cv_want_wayland_clients=$enableval],
850   [e_cv_want_wayland_clients=no])
851 AC_MSG_CHECKING([whether wayland client support is enabled])
852 AC_MSG_RESULT([${e_cv_want_wayland_clients}])
853
854 have_wayland_egl=no
855 AC_ARG_ENABLE([wayland-egl],
856   AS_HELP_STRING([--enable-wayland-egl],[enable wayland to render using EGL @<:@default=disabled@:>@]),
857   [e_cv_want_wayland_egl=$enableval],
858   [e_cv_want_wayland_egl=no])
859 AC_MSG_CHECKING([whether wayland EGL support is enabled])
860 AC_MSG_RESULT([${e_cv_want_wayland_egl}])
861
862 if test "x${e_cv_want_wayland_only}" != "xno" || test "x${e_cv_want_wayland_clients}" != "xno";then
863   PKG_CHECK_MODULES([WAYLAND], [ecore-wayland wayland-server >= 1.7.0 xkbcommon uuid xdg-shell-server scaler-server transform-server screenshooter-server screenshooter-client tizen-extension-server],
864     [
865       have_wayland=yes
866       AC_DEFINE_UNQUOTED([HAVE_WAYLAND],[1],[enable wayland support])
867     ])
868 else
869   have_wayland=no
870 fi
871
872 if test "x${have_wayland}" = "xyes"; then
873   if test "x${e_cv_want_wayland_clients}" != "xno"; then
874     have_wayland_clients=yes
875     AC_DEFINE_UNQUOTED([HAVE_WAYLAND_CLIENTS],[1],[enable wayland clients in composite module])
876   fi
877   if test "x${e_cv_want_wayland_egl}" != "xno";then
878     PKG_CHECK_MODULES([WAYLAND_EGL], [egl >= 7.10],
879       [
880         have_wayland_egl=yes
881         AC_DEFINE_UNQUOTED([HAVE_WAYLAND_EGL],[1],[enable wayland client EGL support])
882       ],
883       [have_wayland_egl=no])
884   else
885     have_wayland_egl=no
886   fi
887   if test "x${e_cv_want_wayland_only}" != "xno"; then
888     have_wayland_only=yes
889     AC_DEFINE_UNQUOTED([HAVE_WAYLAND_ONLY],[1],[enable wayland-only version of enlightenment])
890   fi
891
892   have_wayland_tbm=no
893   AC_ARG_ENABLE([wayland-tbm],
894     AS_HELP_STRING([--enable-wayland-tbm],[enable wayland-tbm @<:@default=enabled@:>@]),
895     [e_cv_want_wayland_tbm=$enableval],
896     [e_cv_want_wayland_tbm=yes])
897   AC_MSG_CHECKING([whether wayland TBM support is enabled])
898   AC_MSG_RESULT([${e_cv_want_wayland_tbm}])
899
900   if test "x$e_cv_want_wayland_tbm" != "xno";then
901     PKG_CHECK_MODULES([WAYLAND_TBM], [wayland-tbm-server],
902       [
903         have_wayland_tbm=yes
904         AC_DEFINE_UNQUOTED([HAVE_WAYLAND_TBM],[1],[enable wayland-tbm support])
905       ])
906
907     PKG_CHECK_MODULES([ECORE_DRM], [ecore-drm >= ${efl_version}])
908   else
909     have_wayland_tbm=no
910   fi
911 fi
912
913 AM_CONDITIONAL([HAVE_WAYLAND], [test "x${have_wayland}" = "xyes"])
914 AM_CONDITIONAL([HAVE_WAYLAND_ONLY], [test "x${have_wayland_only}" = "xyes"])
915 AM_CONDITIONAL([HAVE_WAYLAND_CLIENTS], [test "x${have_wayland_clients}" = "xyes"])
916 AM_CONDITIONAL([HAVE_WAYLAND_EGL], [test "x${have_wayland_egl}" = "xyes"])
917 AM_CONDITIONAL([HAVE_WAYLAND_TBM], [test "x${have_wayland_tbm}" = "xyes"])
918
919 if test "x${have_wayland_only}" != "xyes"; then
920   PKG_CHECK_MODULES([ECORE_X], [ecore-x >= ${efl_version}])
921   if test -n "$ECORE_X_CFLAGS" ; then
922      ecore_x=true
923   else
924      ecore_x=false
925   fi
926 else
927   ecore_x=false
928 fi
929
930 if test "x${ecore_x}" = "xtrue" && test -n "$WAYLAND_CFLAGS" ; then
931    wl_x11=true
932 else
933    wl_x11=false
934 fi
935
936 define([CHECK_MODULE_WL_DESKTOP_SHELL],
937 [
938   if test "x${have_wayland_clients}" = "xyes" || test "x${e_cv_want_wayland_only}" = "xyes"; then
939     AC_E_CHECK_PKG(WL_DESKTOP_SHELL, [ ecore >= $efl_version eina >= $efl_version ], [WL_DESKTOP_SHELL=true], [WL_DESKTOP_SHELL=false])
940   else
941     WL_DESKTOP_SHELL=false
942   fi
943 ])
944 AM_CONDITIONAL([HAVE_WL_DESKTOP_SHELL], [test "x${WL_DESKTOP_SHELL}" = "xtrue"])
945
946 define([CHECK_MODULE_WL_FB],
947 [
948   if test "x${have_wayland_clients}" = "xyes"; then
949     AC_E_CHECK_PKG(WL_FB, [ ecore-fb >= $efl_version ecore >= $efl_version eina >= $efl_version ], [WL_FB=true], [WL_FB=false])
950   else
951     WL_FB=false
952   fi
953 ])
954 AM_CONDITIONAL([HAVE_WL_FB], [test "x${WL_FB}" = "xtrue"])
955
956 define([CHECK_MODULE_WL_SCREENSHOT],
957 [
958   if test "x${have_wayland_clients}" = "xyes" || test "x${e_cv_want_wayland_only}" = "xyes"; then
959     AC_E_CHECK_PKG(WL_SCREENSHOT, [ ecore >= $efl_version eina >= $efl_version ], [WL_SCREENSHOT=true], [WL_SCREENSHOT=false])
960   else
961     WL_SCREENSHOT=false
962   fi
963 ])
964 AM_CONDITIONAL([HAVE_WL_SCREENSHOT], [test "x${WL_SCREENSHOT}" = "xtrue"])
965
966 define([CHECK_MODULE_WL_DRM],
967 [
968   if test "x${have_wayland}" = "xyes" ; then
969     AC_E_CHECK_PKG(WL_DRM, [ ecore-drm >= $efl_version ecore >= $efl_version eina >= $efl_version ], [WL_DRM=true], [WL_DRM=false])
970   else
971     WL_DRM=false
972   fi
973 ])
974 AM_CONDITIONAL([HAVE_WL_DRM], [test "x${WL_DRM}" = "xtrue"])
975
976 define([CHECK_MODULE_BUFFERQUEUE],
977 [
978   if test "x${have_wayland_clients}" = "xyes" || test "x${e_cv_want_wayland_only}" = "xyes"; then
979     AC_E_CHECK_PKG(BUFFERQUEUE, [ ecore >= $efl_version eina >= $efl_version ], [BUFFERQUEUE=true], [BUFFERQUEUE=false])
980   else
981     BUFFERQUEUE=false
982   fi
983 ])
984 AM_CONDITIONAL([HAVE_BUFFERQUEUE], [test "x${BUFFERQUEUE}" = "xtrue"])
985
986 AC_E_OPTIONAL_MODULE([ibar], true)
987 AC_E_OPTIONAL_MODULE([clock], true)
988 AC_E_OPTIONAL_MODULE([pager], true)
989 AC_E_OPTIONAL_MODULE([pager_plain], true)
990 AC_E_OPTIONAL_MODULE([battery], true, [CHECK_MODULE_BATTERY])
991 AC_E_OPTIONAL_MODULE([temperature], true, [CHECK_MODULE_TEMPERATURE])
992 AC_E_OPTIONAL_MODULE([notification], true, [CHECK_MODULE_NOTIFICATION])
993 AC_E_OPTIONAL_MODULE([cpufreq], true)
994 AC_E_OPTIONAL_MODULE([ibox], true)
995 AC_E_OPTIONAL_MODULE([start], true)
996 AC_E_OPTIONAL_MODULE([winlist], true)
997 AC_E_OPTIONAL_MODULE([fileman], true)
998 AC_E_OPTIONAL_MODULE([fileman_opinfo], true)
999 AC_E_OPTIONAL_MODULE([wizard], true)
1000 AC_E_OPTIONAL_MODULE([conf], true)
1001 AC_E_OPTIONAL_MODULE([conf_theme], true, true)
1002 AC_E_OPTIONAL_MODULE([conf_intl], true)
1003 AC_E_OPTIONAL_MODULE([msgbus], true)
1004 AC_E_OPTIONAL_MODULE([conf_applications], true)
1005 AC_E_OPTIONAL_MODULE([conf_display], true)
1006 AC_E_OPTIONAL_MODULE([conf_shelves], true)
1007 AC_E_OPTIONAL_MODULE([conf_bindings], true)
1008 AC_E_OPTIONAL_MODULE([conf_window_remembers], true)
1009 AC_E_OPTIONAL_MODULE([conf_window_manipulation], true)
1010 AC_E_OPTIONAL_MODULE([conf_menus], true)
1011 AC_E_OPTIONAL_MODULE([conf_dialogs], true)
1012 AC_E_OPTIONAL_MODULE([conf_performance], true)
1013 AC_E_OPTIONAL_MODULE([conf_paths], true)
1014 AC_E_OPTIONAL_MODULE([conf_interaction], true)
1015 AC_E_OPTIONAL_MODULE([gadman], true)
1016 AC_E_OPTIONAL_MODULE([mixer], true, [CHECK_MODULE_MIXER])
1017 AC_E_OPTIONAL_MODULE([connman], true, [CHECK_MODULE_CONNMAN])
1018 AC_E_OPTIONAL_MODULE([bluez4], true, [CHECK_MODULE_BLUEZ4])
1019 #AC_E_OPTIONAL_MODULE([illume2], true)
1020 AC_E_OPTIONAL_MODULE([syscon], true)
1021 AC_E_OPTIONAL_MODULE([everything], true)
1022 AC_E_OPTIONAL_MODULE([systray], true)
1023 AC_E_OPTIONAL_MODULE([appmenu], true)
1024 AC_E_OPTIONAL_MODULE([quickaccess], true)
1025 AC_E_OPTIONAL_MODULE([teamwork], true)
1026 AC_E_OPTIONAL_MODULE([lokker], true)
1027 AC_E_OPTIONAL_MODULE([shot], true, $ecore_x)
1028 AC_E_OPTIONAL_MODULE([backlight], true)
1029 AC_E_OPTIONAL_MODULE([tasks], true)
1030 AC_E_OPTIONAL_MODULE([conf_randr], true, $ecore_x)
1031 AC_E_OPTIONAL_MODULE([xkbswitch], true, $ecore_x)
1032 AC_E_OPTIONAL_MODULE([tiling], true)
1033 #AC_E_OPTIONAL_MODULE([access], false, $ecore_x)
1034 AC_E_OPTIONAL_MODULE([music_control], true, [CHECK_MODULE_MUSIC_CONTROL])
1035 AC_E_OPTIONAL_MODULE([packagekit], true)
1036 AC_E_OPTIONAL_MODULE([contact], false)
1037 AC_E_OPTIONAL_MODULE([wl_desktop_shell], $have_wayland, [CHECK_MODULE_WL_DESKTOP_SHELL])
1038 AC_E_OPTIONAL_MODULE([wl_x11], $have_wayland, $wl_x11)
1039 AC_E_OPTIONAL_MODULE([wl_fb], $have_wayland, [CHECK_MODULE_WL_FB])
1040 AC_E_OPTIONAL_MODULE([wl_drm], $have_wayland, [CHECK_MODULE_WL_DRM])
1041 AC_E_OPTIONAL_MODULE([wl_screenshot], $have_wayland, [CHECK_MODULE_WL_SCREENSHOT])
1042 AC_E_OPTIONAL_MODULE([policy_mobile], true)
1043 AC_E_OPTIONAL_MODULE([bufferqueue], $have_wayland, [CHECK_MODULE_BUFFERQUEUE])
1044
1045 HALT="/sbin/shutdown -h now"
1046 REBOOT="/sbin/shutdown -r now"
1047 SUSPEND=""
1048 HIBERNATE=""
1049 MOUNT="/bin/mount"
1050 UMOUNT="/bin/umount"
1051 EJECT="/usr/bin/eject"
1052 case "$host_os" in
1053    freebsd*|pcbsd*)
1054       #SUSPEND="acpiconf -s3"
1055       SUSPEND="/usr/sbin/zzz"
1056       AC_MSG_NOTICE([use suspend method: $SUSPEND])
1057       HIBERNATE="acpiconf -s4"
1058       AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
1059       HALT="/sbin/shutdown -p now"
1060       MOUNT="/sbin/mount"
1061       UMOUNT="/sbin/umount"
1062       EJECT="/usr/sbin/cdcontrol eject"
1063       ;;
1064    *)
1065       if test "x${have_systemd_user_session}" = "xyes"; then
1066          HALT="/usr/bin/systemctl poweroff"
1067          REBOOT="/usr/bin/systemctl reboot"
1068          SUSPEND="/usr/bin/systemctl suspend"
1069          HIBERNATE="/usr/bin/systemctl hibernate"
1070          AC_MSG_NOTICE([use systemctl for halt, reboot, suspend and hibernate])
1071       else
1072          AC_PATH_PROGS([SUSPEND], [sleep.sh pm-suspend],[/etc/acpi/sleep.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
1073          if test "$SUSPEND" = "/etc/acpi/sleep.sh" ; then
1074             SUSPEND="/etc/acpi/sleep.sh force"
1075             AC_MSG_NOTICE([use suspend method: $SUSPEND])
1076          fi
1077
1078          AC_PATH_PROGS([HIBERNATE], [hibernate.sh pm-hibernate],[/etc/acpi/hibernate.sh], [/etc/acpi:/sbin:/usr/sbin:$PATH])
1079          if test "$HIBERNATE" = "/etc/acpi/hibernate.sh" ; then
1080             HIBERNATE="/etc/acpi/hibernate.sh force"
1081             AC_MSG_NOTICE([use hibernate method: $HIBERNATE])
1082          fi
1083       fi
1084       ;;
1085 esac
1086 AC_SUBST([HALT])
1087 AC_SUBST([REBOOT])
1088 AC_SUBST([SUSPEND])
1089 AC_SUBST([HIBERNATE])
1090 AC_SUBST([MOUNT])
1091 AC_SUBST([UMOUNT])
1092 AC_SUBST([EJECT])
1093
1094 m4_ifndef([v_rel],
1095    [
1096     EFL_COMPILER_FLAG([-Wshadow])
1097     EFL_COMPILER_FLAG([-Wall])
1098     EFL_COMPILER_FLAG([-Wpointer-arith])
1099     EFL_COMPILER_FLAG([-W])
1100     EFL_COMPILER_FLAG([-Wno-missing-field-initializers])
1101     EFL_COMPILER_FLAG([-Wfloat-equal])
1102     EFL_COMPILER_FLAG([-Wuninitialized])
1103     EFL_COMPILER_FLAG([-Wundef])
1104     EFL_COMPILER_FLAG([-Wcast-align])
1105     EFL_COMPILER_FLAG([-Wformat=2])
1106    ])
1107
1108 SUID_CFLAGS=-fPIE
1109 SUID_LDFLAGS=-pie
1110 case "$host_os" in
1111    freebsd*|pcbsd*)
1112       SUID_CFLAGS=
1113       SUID_LDFLAGS=
1114       ;;
1115 esac
1116 AC_SUBST([SUID_CFLAGS])
1117 AC_SUBST([SUID_LDFLAGS])
1118
1119 AC_OUTPUT([
1120 Makefile
1121 enlightenment.spec
1122 enlightenment.pc
1123 src/bin/e_fm_shared_types.h
1124 src/modules/ibar/module.desktop
1125 src/modules/clock/module.desktop
1126 src/modules/pager/module.desktop
1127 src/modules/pager_plain/module.desktop
1128 src/modules/battery/module.desktop
1129 src/modules/temperature/module.desktop
1130 src/modules/notification/module.desktop
1131 src/modules/cpufreq/module.desktop
1132 src/modules/ibox/module.desktop
1133 src/modules/start/module.desktop
1134 src/modules/winlist/module.desktop
1135 src/modules/fileman/module.desktop
1136 src/modules/fileman_opinfo/module.desktop
1137 src/modules/conf/module.desktop
1138 src/modules/conf_theme/module.desktop
1139 src/modules/conf_intl/module.desktop
1140 src/modules/conf_applications/module.desktop
1141 src/modules/conf_display/module.desktop
1142 src/modules/conf_shelves/module.desktop
1143 src/modules/conf_bindings/module.desktop
1144 src/modules/conf_window_remembers/module.desktop
1145 src/modules/conf_window_manipulation/module.desktop
1146 src/modules/conf_menus/module.desktop
1147 src/modules/conf_dialogs/module.desktop
1148 src/modules/conf_performance/module.desktop
1149 src/modules/conf_paths/module.desktop
1150 src/modules/conf_interaction/module.desktop
1151 src/modules/msgbus/module.desktop
1152 src/modules/conf_randr/module.desktop
1153 src/modules/gadman/module.desktop
1154 src/modules/mixer/module.desktop
1155 src/modules/connman/module.desktop
1156 src/modules/bluez4/module.desktop
1157 src/modules/syscon/module.desktop
1158 src/modules/everything/module.desktop
1159 src/modules/everything/everything.pc
1160 src/modules/systray/module.desktop
1161 src/modules/appmenu/module.desktop
1162 src/modules/quickaccess/module.desktop
1163 src/modules/teamwork/module.desktop
1164 src/modules/shot/module.desktop
1165 src/modules/backlight/module.desktop
1166 src/modules/tasks/module.desktop
1167 src/modules/xkbswitch/module.desktop
1168 src/modules/tiling/module.desktop
1169 src/modules/music-control/module.desktop
1170 src/modules/packagekit/module.desktop
1171 src/modules/contact/module.desktop
1172 src/modules/wl_desktop_shell/module.desktop
1173 src/modules/wl_screenshot/module.desktop
1174 data/xsession/enlightenment.desktop
1175 data/etc/sysactions.conf
1176 data/units/enlightenment.service
1177 doc/Doxyfile
1178 doc/e.dox
1179 $po_makefile_in
1180 ])
1181 #src/modules/access/module.desktop
1182 #src/modules/illume2/doc/illume.dox
1183 #src/modules/illume2/module.desktop
1184 #src/modules/illume-home/module.desktop
1185 #src/modules/illume-home-toggle/module.desktop
1186 #src/modules/illume-softkey/module.desktop
1187 #src/modules/illume-keyboard/module.desktop
1188 #src/modules/illume-indicator/module.desktop
1189 #src/modules/illume-kbd-toggle/module.desktop
1190 #src/modules/illume-mode-toggle/module.desktop
1191 #src/modules/illume-bluetooth/module.desktop
1192
1193 # report
1194 txt_strip() {
1195   echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
1196 }
1197
1198 echo
1199 cat << SUMMARY_EOF
1200 Summary:
1201  * project.........: $PACKAGE $VERSION
1202  * prefix..........: $(txt_strip $prefix)
1203  * CFLAGS..........: $(txt_strip $CFLAGS)
1204  * LDFLAGS.........: $(txt_strip $LDFLAGS)
1205 SUMMARY_EOF
1206
1207 if test "$have_systemd_user_session" = "yes"; then
1208   echo " * systemd.........: yes (${USER_SESSION_DIR})"
1209 else
1210   echo " * systemd.........: no"
1211 fi
1212
1213 echo
1214 cat << ACTIONS_EOF
1215 System Actions:
1216  * Halt.....: ${HALT}
1217  * Reboot...: ${REBOOT}
1218  * Suspend..: ${SUSPEND}
1219  * Hibernate: ${HIBERNATE}
1220
1221 ACTIONS_EOF
1222
1223 cat << DEVICE_EOF
1224 Preferred Backends:
1225  * device..............: $device_backend
1226  * udisks_mount........: $e_cv_want_mount_udisks
1227  * eeze_mount..........: $e_cv_want_mount_eeze
1228 DEVICE_EOF
1229 echo
1230
1231 UNUSED_MODS=""
1232 for mod in $UNUSED_OPTIONAL_MODULES; do
1233   UNUSED_MODS="$UNUSED_MODS${COLOR_HRED}$mod${COLOR_END} "
1234 done
1235
1236 cat << MODULES_EOF
1237 Modules:
1238  * disabled........: $(txt_strip $UNUSED_MODS)
1239 MODULES_EOF
1240 echo
1241
1242 cat << DOCS_EOF
1243 Documentation:
1244  * enabled.........: ${build_doc}
1245 DOCS_EOF
1246 if test "x${build_doc}" = "xyes" ; then
1247   echo " Building..........: make doc"
1248 fi
1249 echo
1250
1251 cat << COMPILE_EOF
1252 Compilation........: make (or gmake)
1253 COMPILE_EOF
1254 echo
1255
1256 cat << INSTALL_EOF
1257 Installation.......: make all install (as root if needed, with 'su' or 'sudo')
1258 INSTALL_EOF
1259 echo