e_mouse: substitute e_input APIs for ecore_drm APIs
[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 AC_ARG_VAR([TIZEN_REL_VERSION], [Tizen release version])
66 if test x"${TIZEN_REL_VERSION}" != x""; then
67        AC_DEFINE_UNQUOTED([TIZEN_REL_VERSION], ["${TIZEN_REL_VERSION}"], [Tizen release version])
68        AC_SUBST(TIZEN_REL_VERSION)
69 else
70        echo "TIZEN_REL_VERSION is empty !"
71 fi
72
73 release=relname
74 AC_SUBST([release])
75
76 PKG_PROG_PKG_CONFIG
77
78 EFL_CHECK_PATH_MAX
79
80 AC_CHECK_FUNCS(setenv)
81 AC_CHECK_FUNCS(unsetenv)
82 AC_CHECK_FUNCS(clearenv)
83 AC_CHECK_HEADERS(features.h)
84
85 case "$host_os" in
86    darwin*)
87       AC_DEFINE([environ], [(*_NSGetEnviron())],
88                 ["apple doesn't follow POSIX in this case."])
89       ;;
90    *)
91       ;;
92 esac
93 AC_TRY_COMPILE([
94 #define _GNU_SOURCE 1
95 #include <unistd.h>
96     ],[
97 extern char **environ;
98     ],[
99 AC_DEFINE(HAVE_ENVIRON, 1, [Have environ var])
100     ])
101
102 efl_version="1.15.2"
103 AC_SUBST(efl_version)
104
105 AC_CHECK_HEADERS([sys/timerfd.h sys/ptrace.h arpa/inet.h netinet/in.h])
106
107 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]))
108
109 AC_CHECK_FUNCS(fnmatch, res=yes, res=no)
110 if test "x$res" = "xno"; then
111   AC_CHECK_LIB(fnmatch, fnmatch, res=yes, res=no)
112   if test "x$res" = "xno"; then
113     AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch])
114   else
115     fnmatch_libs="-lfnmatch"
116   fi
117 fi
118
119 AC_SUBST([fnmatch_libs])
120
121 dnl AC_E_CHECK_PKG(VALGRIND, [valgrind >= 2.4.0], [], [:])
122 AC_SUBST([VALGRIND_CFLAGS])
123 AC_SUBST([VALGRIND_LIBS])
124
125 MODULE_ARCH="$host_os-$host_cpu-relname"
126 AC_SUBST([MODULE_ARCH])
127 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
128
129 if test "x${bindir}" = 'xNONE'; then
130   if test "x${prefix}" = "xNONE"; then
131     PACKAGE_BIN_DIR="${ac_default_prefix}/bin"
132   else
133     PACKAGE_BIN_DIR="${prefix}/bin"
134   fi
135 else
136   PACKAGE_BIN_DIR="${bindir}"
137 fi
138 AC_SUBST([PACKAGE_BIN_DIR])
139
140 if test "x${libdir}" = 'xNONE'; then
141   if test "x${prefix}" = "xNONE"; then
142     PACKAGE_LIB_DIR="${ac_default_prefix}/lib"
143   else
144     PACKAGE_LIB_DIR="${prefix}/lib"
145   fi
146 else
147   PACKAGE_LIB_DIR="${libdir}"
148 fi
149 AC_SUBST([PACKAGE_LIB_DIR])
150
151 if test "x${prefix}" = "xNONE"; then
152   PACKAGE_DATA_DIR="${ac_default_prefix}/share/${PACKAGE}"
153   LOCALE_DIR="${ac_default_prefix}/share/locale"
154   PACKAGE_SYSCONF_DIR="${ac_default_prefix}/etc"
155 else
156   PACKAGE_DATA_DIR="${prefix}/share/${PACKAGE}"
157   LOCALE_DIR="${prefix}/share/locale"
158   PACKAGE_SYSCONF_DIR="${sysconfdir}"
159 fi
160 AC_SUBST([PACKAGE_DATA_DIR])
161 AC_SUBST([LOCALE_DIR])
162 AC_SUBST([PACKAGE_SYSCONF_DIR])
163
164 cf_cflags=""
165 cf_libs=""
166 PCPPFLAGS="${CPPFLAGS}"
167 CPPFLAGS="${CPPFLAGS} -I /System/Library/Frameworks/CoreFoundation.framework/Headers"
168 AC_CHECK_HEADERS(CFBase.h,
169   [
170     cf_cflags="-I /System/Library/Frameworks/CoreFoundation.framework/Headers"
171     cf_cflags="${cf_cflags} -I /System/Library/Frameworks/IOKit.framework/Headers"
172     cf_libs="-framework 'CoreFoundation' -framework 'IOKit'"
173   ]
174 )
175 CPPFLAGS="${PCPPFLAGS}"
176 AC_SUBST([cf_cflags])
177 AC_SUBST([cf_libs])
178
179 execinfo_libs=""
180 AC_CHECK_HEADERS([execinfo.h], [have_execinfo="yes"], [have_execinfo="no"])
181 if test "x${have_execinfo}" = "xyes" ; then
182   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libc])
183
184   AC_LINK_IFELSE(
185     [AC_LANG_PROGRAM(
186       [[
187 #include <stdlib.h>
188 #include <execinfo.h>
189       ]],
190       [[
191 backtrace_symbols_fd(NULL, 0, 0);
192       ]])],
193     [link_execinfo="yes"],
194     [link_execinfo="no"])
195
196   AC_MSG_RESULT([${link_execinfo}])
197 fi
198
199 if test "x${link_execinfo}" = "xno" ; then
200   AC_MSG_CHECKING([whether backtrace_symbols_fd() is in libexecinfo])
201
202   LDFLAGS_save="${LDFLAGS}"
203   LDFLAGS="${LDFLAGS} -lexecinfo"
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     [
214       link_execinfo="yes"
215       execinfo_libs="-lexecinfo"
216     ],
217     [link_execinfo="no"])
218   LDFLAGS="${LDFLAGS_save}"
219
220   AC_MSG_RESULT([${link_execinfo}])
221 fi
222
223 AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
224 AC_SUBST([dlopen_libs])
225
226 AC_MSG_CHECKING([whether to enable Files menu item])
227 AC_ARG_ENABLE([files],
228   AS_HELP_STRING([--disable-files],[disable Files menu item @<:@default=enabled@:>@]),
229     [e_cv_enable_files=$enableval],
230     AC_CACHE_VAL([e_cv_enable_files], [e_cv_enable_files=yes]))
231 if test "[${e_cv_enable_files}]" = yes; then
232   AC_DEFINE_UNQUOTED([ENABLE_FILES],[1],[enable Files menu item])
233 fi
234 AC_MSG_RESULT([$e_cv_enable_files])
235
236
237 # verify "wayland-only" early to adapt dependencies
238
239 have_wayland_only=no
240 AC_ARG_ENABLE([wayland],
241   AS_HELP_STRING([--enable-wayland],[enable wayland support in enlightenment @<:@default=disabled@:>@]),
242   [e_cv_want_wayland_only=$enableval],
243   [e_cv_want_wayland_only=no])
244 AC_MSG_CHECKING([whether wayland support is enabled])
245 AC_MSG_RESULT([${e_cv_want_wayland_only}])
246
247 quick_init=no
248 AC_ARG_ENABLE([quick-init],
249   AS_HELP_STRING([--enable-quick-init],[]),
250   [
251    quick_init=yes
252    AC_DEFINE_UNQUOTED([ENABLE_QUICK_INIT], [1], [enable quick init])
253   ],
254   [quick_init=no])
255 AC_MSG_CHECKING([whether enlightenment quick initialization is enabled])
256 AC_MSG_RESULT([${quick_init}])
257
258 function_trace=no
259 AC_ARG_ENABLE([function-trace],
260   AS_HELP_STRING([--enable-function-trace],[]),
261   [
262    function_trace=yes
263    AC_DEFINE_UNQUOTED([ENABLE_FUNCTION_TRACE], [1], [enable function trace])
264   ],
265   [function_trace=no])
266 AC_MSG_CHECKING([whether enlightenment function trace is enabled])
267 AC_MSG_RESULT([${function_trace}])
268
269 hwc_multi_plane=no
270 AC_ARG_ENABLE([hwc-multi],
271   AS_HELP_STRING([--enable-hwc-multi],[]),
272   [
273    hwc_multi_plane=yes
274    AC_DEFINE_UNQUOTED([ENABLE_HWC_MULTI], [1], [enable hwc multi])
275   ],
276   [hwc_multi_plane=no])
277 AC_MSG_CHECKING([whether enlightenment hwc using multi plane is enabled])
278 AC_MSG_RESULT([${hwc_multi_plane}])
279
280 e_requires="\
281   evas >= $efl_version \
282   ecore >= $efl_version \
283   ecore-evas >= $efl_version \
284   ecore-input >= $efl_version \
285   ecore-input-evas >= $efl_version \
286   ecore-con >= $efl_version \
287   ecore-ipc >= $efl_version \
288   ecore-file >= $efl_version \
289   eet >= $efl_version \
290   edje >= $efl_version \
291   eina >= $efl_version \
292   eldbus >= $efl_version \
293   eio >= $efl_version \
294   eo >= $efl_version \
295   eeze >= $efl_version \
296   libinput \
297   libtbm \
298   libtdm >= "1.0.0" \
299   "
300
301 PKG_CHECK_MODULES(E_INFO, [
302   eina >= ${efl_version}
303   ecore >= ${efl_version}
304   eldbus >= ${efl_version}
305   xkbcommon
306 ])
307
308 PKG_CHECK_EXISTS([xkeyboard-config],[
309   xkb_base=`$PKG_CONFIG --variable=xkb_base xkeyboard-config 2>/dev/null`
310   AC_DEFINE_UNQUOTED([XKB_BASE],["$xkb_base"],[Define to the base directory for X keyboard configuration data])
311 ])
312
313 profile="SLOW_PC"
314 AC_ARG_WITH(profile,
315   AS_HELP_STRING([--with-profile=TARGET_PROFILE], 
316   [specify a target format profile of:
317                                     LOWRES_PDA, MEDIUMRES_PDA, HIRES_PDA, SLOW_PC, MEDIUM_PC, FAST_PC]),
318   [profile=$withval])
319 AC_MSG_NOTICE([Enlightenment build profile set to $profile])
320 EDJE_DEF="-DLOWRES_PDA=1 -DMEDIUMRES_PDA=2 -DHIRES_PDA=3 -DSLOW_PC=4 -DMEDIUM_PC=5 -DFAST_PC=6"
321 EDJE_DEF=$EDJE_DEF" -DE_PROFILE"=$profile
322 AC_SUBST([EDJE_DEF])
323
324 PKG_CHECK_MODULES(EET, [eet >= ${efl_version}])
325 EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
326 EFL_WITH_BIN([eet], [eet-eet], [eet])
327 EFL_WITH_BIN([eldbus], [eldbus_codegen], [eldbus-codegen])
328
329 AC_DEFINE(E_INTERNAL, 1, "This define can be used to wrap internal E stuff, as config.h isn't exported")
330
331 have_enotify=no
332 AM_CONDITIONAL([HAVE_ENOTIFY], [false])
333 AC_ARG_ENABLE([enotify],
334   AS_HELP_STRING([--disable-enotify], [disable Enotify support @<:@default=detect@:>@]),
335   [e_cv_want_enotify=$enableval],
336   AC_CACHE_VAL([e_cv_want_enotify], [e_cv_want_enotify=yes])
337 )
338 if test "x$e_cv_want_enotify" != "xno" ; then
339   AC_E_CHECK_PKG(ENOTIFY, [ eldbus >= $efl_version ],
340   [
341     AC_DEFINE_UNQUOTED([HAVE_ENOTIFY], [1], [enable enotify])
342   ], 
343   [
344     AC_MSG_NOTICE([enotify disabled])
345     e_cv_want_enotify=no
346   ])
347 else
348   AC_MSG_NOTICE([enotify disabled])
349     e_cv_want_enotify=no
350 fi
351 AC_SUBST([ENOTIFY_CFLAGS])
352 AC_SUBST([ENOTIFY_LIBS])
353
354 SHM_OPEN_LIBS=""
355 AC_MSG_CHECKING([whether shm_open() is present])
356 LIBS_save=${LIBS}
357 LIBS="${LIBS} -lrt"
358 AC_LINK_IFELSE(
359    [AC_LANG_PROGRAM(
360       [[
361 #include <sys/stat.h>
362 #include <sys/mman.h>
363 #include <fcntl.h>
364       ]],
365       [[
366 int fd;
367 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR |
368 S_IWUSR);
369 shm_unlink("/");
370       ]])],
371    [
372     have_shm_open="yes"
373     AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call])
374     SHM_OPEN_LIBS="-lrt"
375    ])
376 LIBS=${LIBS_save}
377 AC_MSG_RESULT([${have_shm_open}])
378 AC_SUBST(SHM_OPEN_LIBS)
379                            
380 if test "x${e_cv_want_wayland_only}" != "xno" || test "x${e_cv_want_wayland_clients}" != "xno";then
381   PKG_CHECK_MODULES([WAYLAND], [wayland-server >= 1.8.0 xkbcommon uuid xdg-shell-server scaler-server transform-server screenshooter-server tizen-extension-server tizen-launch-server eom-server],
382     [
383       have_wayland=yes
384       AC_DEFINE_UNQUOTED([HAVE_WAYLAND],[1],[enable wayland support])
385     ])
386 else
387   have_wayland=no
388 fi
389
390 if test "x${have_wayland}" = "xyes"; then
391   if test "x${e_cv_want_wayland_only}" != "xno"; then
392     have_wayland_only=yes
393     AC_DEFINE_UNQUOTED([HAVE_WAYLAND_ONLY],[1],[enable wayland-only version of enlightenment])
394   fi
395
396   have_wayland_tbm=no
397   have_remote_surface=no
398   AC_ARG_ENABLE([wayland-tbm],
399     AS_HELP_STRING([--enable-wayland-tbm],[enable wayland-tbm @<:@default=enabled@:>@]),
400     [e_cv_want_wayland_tbm=$enableval],
401     [e_cv_want_wayland_tbm=yes])
402   AC_MSG_CHECKING([whether wayland TBM support is enabled])
403   AC_MSG_RESULT([${e_cv_want_wayland_tbm}])
404
405   if test "x$e_cv_want_wayland_tbm" != "xno";then
406     PKG_CHECK_MODULES([WAYLAND_TBM], [wayland-tbm-server],
407       [
408         have_wayland_tbm=yes
409         AC_DEFINE_UNQUOTED([HAVE_WAYLAND_TBM],[1],[enable wayland-tbm support])
410       ])
411
412     if test "x${have_wayland_tbm}" = "xyes"; then
413     PKG_CHECK_MODULES([TIZEN_REMOTE_SURFACE], [tizen-remote-surface-server],
414       [
415         have_remote_surface=yes
416         AC_DEFINE_UNQUOTED([HAVE_REMOTE_SURFACE], [1], [enable tizen-retmoe-surface support])
417       ])
418     fi
419
420     PKG_CHECK_MODULES([ECORE_DRM], [ecore-drm >= ${efl_version}])
421   else
422     have_wayland_tbm=no
423   fi
424
425   have_hwc=no
426   AC_ARG_ENABLE([hwc],
427     AS_HELP_STRING([--enable-hwc],[enable hwc @<:@default=enabled@:>@]),
428     [e_cv_want_hwc=$enableval],
429     [e_cv_want_hwc=yes])
430   AC_MSG_CHECKING([whether HWC support is enabled])
431   AC_MSG_RESULT([${e_cv_want_hwc}])
432
433   if test "x$e_cv_want_hwc" != "xno";then
434     PKG_CHECK_MODULES([HWC], [gbm],
435       [
436         have_hwc=yes
437         AC_DEFINE_UNQUOTED([HAVE_HWC],[1],[enable hwc support])
438       ])
439   else
440     have_hwc=no
441   fi
442 fi
443
444 # does this compiler support -fopenmp, does it have the include file
445 # <omp.h> and does it have libgomp ?
446
447 AC_MSG_CHECKING([for OpenMP])
448
449 safe_CFLAGS=$CFLAGS
450 CFLAGS="-fopenmp $mflag_primary -Werror"
451
452 AC_LINK_IFELSE([AC_LANG_SOURCE([
453 #include <omp.h>
454 int main(int argc, char** argv)
455 {
456   omp_set_dynamic(0);
457   return 0;
458 }
459 ])],
460 [
461    have_libgomp=yes
462    AC_MSG_RESULT([yes])
463 ], [
464    have_libgomp=no
465    AC_MSG_RESULT([no])
466 ])
467 CFLAGS=$safe_CFLAGS
468
469 if test "x$have_libgomp" != "xno"; then
470 AC_DEFINE([HAVE_LIBGOMP], [1], [Enable libgomp])
471    have_libgomp=yes
472 else
473 AC_DEFINE([HAVE_LIBGOMP], [0], [Disable libgomp])
474    have_libgomp=no
475 fi
476 AM_CONDITIONAL([HAVE_LIBGOMP], [test "x${have_libgomp}" = "xyes"])
477
478 # Check for ttrace header files
479 PKG_CHECK_MODULES(TTRACE,
480                 [ttrace],
481                 [have_ttrace="yes"], [have_ttrace="no"])
482
483 if test "x$have_ttrace" = "xyes"; then
484         AC_DEFINE(ENABLE_TTRACE, 1, [ttrace available])
485 fi
486
487 # dlog
488 PKG_CHECK_EXISTS([dlog], [have_dlog="yes"], [have_dlog="no"])
489 AC_MSG_CHECKING([Have dlog logger])
490 AC_MSG_RESULT([${have_dlog}])
491 if test "x${have_dlog}" = "xyes"; then
492     AC_DEFINE([HAVE_DLOG], [1], [Define to 1 if you have dlog])
493 fi
494
495 AM_CONDITIONAL([HAVE_WAYLAND], [test "x${have_wayland}" = "xyes"])
496 AM_CONDITIONAL([HAVE_WAYLAND_TBM], [test "x${have_wayland_tbm}" = "xyes"])
497 AM_CONDITIONAL([HAVE_REMOTE_SURFACE], [test "x${have_remote_surface}" = "xyes"])
498 AM_CONDITIONAL([HAVE_HWC], [test "x${have_hwc}" = "xyes"])
499
500 #pixman
501 PKG_CHECK_MODULES([PIXMAN], [pixman-1])
502
503 # Check for systemd
504 want_systemd="yes"
505 AC_ARG_ENABLE([systemd],
506   [AS_HELP_STRING([--disable-systemd], [disable systemd @<:@default=enabled@:>@])],
507   [
508     if test "x${enableval}" = "xyes"; then
509       want_systemd="yes"
510     else
511       want_systemd="no"
512     fi
513   ])
514 AC_MSG_CHECKING([whether systemd is enabled])
515 AC_MSG_RESULT([${want_systemd}])
516
517 have_systemd="no"
518 if test "x$want_systemd" = "xyes"; then
519   PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
520     [
521       have_systemd="yes"
522       AC_DEFINE_UNQUOTED([HAVE_SYSTEMD], [1], [enable systemd support])
523     ])
524 else
525   have_systemd="no"
526 fi
527
528 AM_CONDITIONAL([HAVE_SYSTEMD], [test "x${have_systemd}" = "xyes"])
529
530 #libinput
531 PKG_CHECK_MODULES([LIBINPUT], [libinput])
532
533 #capi-system-device
534 PKG_CHECK_MODULES([CAPI_SYSTEM_DEVICE],
535                   [capi-system-device])
536 #cynara
537 PKG_CHECK_MODULES(CYNARA,
538                   [cynara-client, cynara-creds-socket, cynara-session, libsmack],
539                   [have_cynara="yes"], [have_cynara="no"])
540 if test "x${have_cynara}" = "xyes"; then
541     AC_DEFINE([HAVE_CYNARA], [1], [Define to 1 if you have cynara])
542 fi
543
544 #tzsh-server
545 PKG_CHECK_MODULES(TZSH,
546                   [tzsh-server],
547                   [have_tzsh="yes"])
548
549 POLICY_CFLAGS="${CAPI_SYSTEM_DEVICE_CFLAGS} ${CYNARA_CFLAGS} ${TZSH_CFLAGS}"
550 POLICY_LIBS="${CAPI_SYSTEM_DEVICE_LIBS} ${CYNARA_LIBS} ${TZSH_LIBS}"
551 AC_SUBST(POLICY_CFLAGS)
552 AC_SUBST(POLICY_LIBS)
553
554 WL_DESKTOP_SHELL=false
555 define([CHECK_MODULE_WL_DESKTOP_SHELL],
556 [
557   if test "x${have_wayland}" = "xyes"; then
558     AC_E_CHECK_PKG(WL_DESKTOP_SHELL, [ ecore >= $efl_version eina >= $efl_version ], [WL_DESKTOP_SHELL=true], [WL_DESKTOP_SHELL=false])
559   else
560     WL_DESKTOP_SHELL=false
561   fi
562 ])
563 AM_CONDITIONAL([HAVE_WL_DESKTOP_SHELL], [test "x${WL_DESKTOP_SHELL}" = "xtrue"])
564
565 define([CHECK_MODULE_BUFFERQUEUE],
566 [
567   if test "x${have_wayland_clients}" = "xyes" || test "x${e_cv_want_wayland_only}" = "xyes"; then
568     AC_E_CHECK_PKG(BUFFERQUEUE, [ ecore >= $efl_version eina >= $efl_version ], [BUFFERQUEUE=true], [BUFFERQUEUE=false])
569   else
570     BUFFERQUEUE=false
571   fi
572 ])
573 AM_CONDITIONAL([HAVE_BUFFERQUEUE], [test "x${BUFFERQUEUE}" = "xtrue"])
574
575 AC_E_OPTIONAL_MODULE([wl_desktop_shell], $have_wayland, [CHECK_MODULE_WL_DESKTOP_SHELL])
576 AC_E_OPTIONAL_MODULE([bufferqueue], $have_wayland, [CHECK_MODULE_BUFFERQUEUE])
577
578 if test "x${have_wayland}" = "xyes"; then
579   AC_DEFINE_UNQUOTED([HAVE_WAYLAND_ONLY],[1],[enable wayland-only version of enlightenment])
580   have_wayland_only=yes
581 else
582   have_wayland_only=no
583 fi
584
585 AM_CONDITIONAL([HAVE_WAYLAND_ONLY], [test "x${have_wayland_only}" = "xyes"])
586
587 PKG_CHECK_MODULES(E, [$e_requires])
588 requirements_e="\
589 evas >= ${efl_version} \
590 ecore >= ${efl_version} \
591 ecore-evas >= ${efl_version} \
592 ecore-con >= ${efl_version} \
593 ecore-ipc >= ${efl_version} \
594 ecore-file >= ${efl_version} \
595 eet >= ${efl_version} \
596 edje >= ${efl_version} \
597 eina >= ${efl_version} \
598 eldbus >= ${efl_version} \
599 eio >= ${efl_version} \
600 eo >= ${efl_version} \
601 eeze >= ${efl_version} \
602 "
603
604 e_libs="$E_LIBS $fnmatch_libs $execinfo_libs"
605 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"
606 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"
607
608 AC_SUBST([e_libs])
609 AC_SUBST([e_cflags])
610 AC_SUBST([e_configflags])
611 AC_SUBST([requirements_e])
612
613 m4_ifndef([v_rel],
614    [
615     EFL_COMPILER_FLAG([-Wshadow])
616     EFL_COMPILER_FLAG([-Wall])
617     EFL_COMPILER_FLAG([-Wpointer-arith])
618     EFL_COMPILER_FLAG([-W])
619     EFL_COMPILER_FLAG([-Wno-missing-field-initializers])
620     EFL_COMPILER_FLAG([-Wfloat-equal])
621     EFL_COMPILER_FLAG([-Wuninitialized])
622     EFL_COMPILER_FLAG([-Wundef])
623     EFL_COMPILER_FLAG([-Wcast-align])
624     EFL_COMPILER_FLAG([-Wformat=2])
625    ])
626
627 SUID_CFLAGS=-fPIE
628 SUID_LDFLAGS=-pie
629 case "$host_os" in
630    freebsd*|pcbsd*)
631       SUID_CFLAGS=
632       SUID_LDFLAGS=
633       ;;
634 esac
635 AC_SUBST([SUID_CFLAGS])
636 AC_SUBST([SUID_LDFLAGS])
637
638 AC_OUTPUT([
639 Makefile
640 enlightenment.spec
641 enlightenment.pc
642 src/modules/wl_desktop_shell/module.desktop
643 ])
644
645 # report
646 txt_strip() {
647   echo "[$]@" | sed -e 's/^[[ \t]]*\([[^ \t]]*\)[[ \t]]*$/\1/g'
648 }
649
650 echo
651 cat << SUMMARY_EOF
652 Summary:
653  * project.........: $PACKAGE $VERSION
654  * prefix..........: $(txt_strip $prefix)
655  * CFLAGS..........: $(txt_strip $CFLAGS)
656  * LDFLAGS.........: $(txt_strip $LDFLAGS)
657  * edje_cc.........: ${edje_cc}
658  * eet.............: ${eet_eet}
659  * eldbus-codegen..: ${eldbus_codegen}
660 SUMMARY_EOF
661
662 echo
663
664 UNUSED_MODS=""
665 for mod in $UNUSED_OPTIONAL_MODULES; do
666   UNUSED_MODS="$UNUSED_MODS${COLOR_HRED}$mod${COLOR_END} "
667 done
668
669 cat << MODULES_EOF
670 Modules:
671  * disabled........: $(txt_strip $UNUSED_MODS)
672 MODULES_EOF
673 echo
674
675 cat << COMPILE_EOF
676 Compilation........: make (or gmake)
677 COMPILE_EOF
678 echo
679
680 cat << INSTALL_EOF
681 Installation.......: make all install (as root if needed, with 'su' or 'sudo')
682 INSTALL_EOF
683 echo