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