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