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