autotools: add --disable-libeeze
[platform/upstream/efl.git] / configure.ac
1 EFL_VERSION([1], [14], [0], [release])
2 AC_INIT([efl], [efl_version-beta3], [enlightenment-devel@lists.sourceforge.net])
3
4 AC_PREREQ([2.60])
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
7
8 AC_CONFIG_HEADERS([config.h])
9 AH_TOP([
10 #ifndef EFL_CONFIG_H__
11 #define EFL_CONFIG_H__
12 ])
13 AH_BOTTOM([
14 #endif /* EFL_CONFIG_H__ */
15 ])
16
17
18 AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects])
19 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
20
21 # Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
22 # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
23 AC_USE_SYSTEM_EXTENSIONS
24
25 CFOPT_WARNING=""
26
27 #### Apply configuring with legacy api's only, eo api's or both.
28
29 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
30 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
31 efl_api="both"
32
33 #### For the moment the Eo EFL API is not ready you need to explicitely optin.
34 EFL_ENABLE_EO_API_SUPPORT
35 EFL_ENABLE_BETA_API_SUPPORT
36
37 AC_ARG_WITH([api],
38    [AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
39    [efl_api=${withval}],
40    [efl_api="both"])
41
42 case "$efl_api" in
43     eo)
44         EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
45         EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
46         CFOPT_WARNING="xyes"
47         ;;
48     legacy)
49         EFL_API_LEGACY_DEF=""
50         EFL_API_EO_DEF=""
51         ;;
52     both)
53         EFL_API_LEGACY_DEF=""
54         EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
55         ;;
56     *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
57 esac
58
59 AC_SUBST(EFL_API_LEGACY_DEF)
60 AC_SUBST(EFL_API_EO_DEF)
61
62 #### Additional options to configure
63
64 # string to identify the build
65 AC_ARG_WITH([id],
66    [AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
67                      @<:@default=none@:>@])],
68    [EFL_BUILD_ID="${withval}"],
69    [EFL_BUILD_ID="none"])
70 AC_SUBST(EFL_BUILD_ID)
71
72 # profile
73 AC_ARG_WITH([profile],
74    [AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
75                     @<:@default=dev@:>@])],
76    [build_profile=${withval}],
77    [build_profile=def_build_profile])
78
79 case "${build_profile}" in
80    dev|debug|release)
81      ;;
82    *)
83      AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
84      ;;
85 esac
86
87 prefer_assert="no"
88 case "${build_profile}" in
89    dev|debug)
90      prefer_assert="yes"
91      ;;
92 esac
93
94 # TODO: add some build "profile" (server, full, etc...)
95
96 AC_ARG_WITH([crypto],
97    [AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
98                     openssl, gnutls or none.
99                     @<:@default=openssl@:>@])],
100    [build_crypto=${withval}],
101    [build_crypto=openssl])
102
103 case "${build_crypto}" in
104    openssl|gnutls|none)
105      ;;
106    *)
107      AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
108      ;;
109 esac
110
111 AC_ARG_WITH([tests],
112    [AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none.
113                     @<:@default=none@:>@])],
114    [build_tests=${withval}],
115    [build_tests=auto])
116
117 want_coverage="no"
118 want_tests="no"
119 case "${build_tests}" in
120    auto)
121      if test "${build_profile}" = "dev"; then
122         want_tests="yes"
123      fi
124      ;;
125    regular)
126      want_tests="yes"
127      ;;
128    coverage)
129      want_tests="yes"
130      want_coverage="yes"
131      ;;
132    no*)
133      ;;
134    *)
135      AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
136      ;;
137 esac
138
139 AC_ARG_WITH([ecore-con-http-test-url],
140    [AS_HELP_STRING([--with-ecore-con-http-test-url=http://username:password@example.com],[Url of http server for testing with username and password])],[ECORE_CON_HTTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_HTTP_TEST_URL],["$withval"],[Http url for testing])])
141
142 AC_ARG_WITH([ecore-con-ftp-test-url],
143    [AS_HELP_STRING([--with-ecore-con-ftp-test-url=ftp://username:password@ftp.example.com?file=filename&directory=dir],[Url of ftp server for testing with username, password, complete filepath for upload with optional directory])],[ECORE_CON_FTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_FTP_TEST_URL],["$withval"],[Ftp url for testing])])
144
145 dbusservicedir="${datadir}/dbus-1/services"
146 AC_ARG_WITH([dbus-services],
147    [AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
148    [dbusservicedir=$withval])
149 AC_SUBST(dbusservicedir)
150
151 efl_deprecated_option="no"
152 EFL_WITH_BIN([edje], [edje-cc])
153 EFL_WITH_BIN([eolian], [eolian-gen])
154 EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
155 EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
156
157 #### Default values
158
159 requirements_pc_eflall=""
160 requirements_pc_deps_eflall=""
161 requirements_libs_eflall=""
162 requirements_cflags_eflall=""
163
164 requirements_pc_crypto=""
165 requirements_pc_deps_crypto=""
166 requirements_libs_crypto=""
167 requirements_cflags_crypto=""
168
169 AC_CANONICAL_HOST
170
171 # TODO: move me to m4 file that setups module/so related variables
172 case "$host_os" in
173    cegcc*|mingw32ce*)
174       AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
175    ;;
176    mingw*)
177       have_win32="yes"
178       have_windows="yes"
179       MODULE_ARCH="v-v_maj.v_min"
180       MODULE_EXT=".dll"
181    ;;
182    cygwin*)
183       MODULE_ARCH="v-v_maj.v_min"
184       MODULE_EXT=".dll"
185    ;;
186    *)
187       MODULE_ARCH="v-v_maj.v_min"
188       MODULE_EXT=".so"
189    ;;
190 esac
191
192 EFL_VERSION_MAJOR="v_maj"
193 EFL_VERSION_MINOR="v_min"
194 AC_SUBST(EFL_VERSION_MAJOR)
195 AC_SUBST(EFL_VERSION_MINOR)
196
197 have_systemd_pkg="no"
198 have_win32="no"
199 have_windows="no"
200 have_freebsd="no"
201 have_darwin="no"
202 have_linux="no"
203 have_ps3="no"
204 case "$host_os" in
205    mingw*|cygwin*)
206       # TODO: check cygwin* here
207       have_win32="yes"
208       have_windows="yes"
209       EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
210    ;;
211    freebsd*)
212       have_freebsd="yes"
213    ;;
214    darwin*)
215       have_darwin="yes"
216    ;;
217    linux*)
218       have_linux="yes"
219       have_systemd_pkg="auto"
220    ;;
221 esac
222
223 case "$host_vendor" in
224    ps3*)
225       have_ps3="yes"
226    ;;
227 esac
228
229 AC_SUBST([MODULE_ARCH])
230 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
231 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
232 AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
233
234 # TODO: move me to m4 file that setups the windows related variables
235 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
236 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
237 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
238
239 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
240 AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
241 AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
242
243 #### Checks for programs
244
245 ### libtool
246
247 if test "x${have_windows}" = "xyes" ; then
248    lt_cv_deplibs_check_method='pass_all'
249 fi
250 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
251 LT_INIT([win32-dll disable-static pic-only])
252 EFL_INIT
253
254 ### gettext
255
256 AM_GNU_GETTEXT_VERSION([0.18])
257
258 m4_ifdef([AC_GNU_GETTEXT], [
259 AC_GNU_GETTEXT([external])
260 po_makefile_in=po/Makefile.in
261 have_po="yes"
262 ],
263 [
264 m4_ifdef([AM_GNU_GETTEXT], [
265 AM_GNU_GETTEXT([external])
266 po_makefile_in=po/Makefile.in
267 have_po="yes"
268 ],
269 [
270 have_po="no"
271 ])
272 ])
273 AC_SUBST([LTLIBINTL])
274 LOCALE_DIR="${localedir}"
275 AC_SUBST(LOCALE_DIR)
276
277 if test "x${POSUB}" = "x" ; then
278    have_po="no"
279 fi
280
281 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
282
283 ### compilers
284
285 AC_PROG_MKDIR_P
286 AM_PROG_AS
287 AC_PROG_CXX
288 AC_PROG_OBJC
289 AC_LANG(C)
290 AC_PROG_CC_C99
291 AM_PROG_CC_C_O
292 AC_PROG_SED
293
294 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
295
296 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
297    AC_MSG_ERROR([efl requires a c99-capable compiler])
298 fi
299 # We should be using ${CXX} here, but there is a bug in
300 # autotools macro and CXX is always set to g++ even if
301 # it's not found. So we are using an internal variable
302 # that does the work for now, may get broken in the future.
303 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
304    AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
305 fi
306
307 AC_SYS_LARGEFILE
308
309 # pkg-config
310
311 PKG_PROG_PKG_CONFIG
312 if test "x${PKG_CONFIG}" = "x" ; then
313    AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
314 fi
315
316 # doxygen program for documentation building
317
318 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
319
320 # lcov
321
322 if test "${want_coverage}" = "yes" ; then
323    AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
324    if test "x${have_lcov}" = "xyes" ; then
325       EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -fprofile-arcs -ftest-coverage"
326       EFLALL_COV_LIBS="${EFLALL_COV_LIBS} -lgcov"
327       if test "x${prefer_assert}" = "xno"; then
328          EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
329       else
330          EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0 -DDEBUG"
331       fi
332    else
333       AC_MSG_ERROR([lcov is not found])
334    fi
335 fi
336
337 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
338
339 #### Checks for libraries
340
341 # check unit testing library
342
343 if test "${want_tests}" = "yes"; then
344    PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
345 fi
346 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
347
348
349 # check for crypto/tls library to use
350 case "$build_crypto" in
351    gnutls)
352       EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16])
353
354       AM_PATH_LIBGCRYPT([], [:],
355          [AC_MSG_ERROR([libgcrypt required but not found])])
356       requirements_libs_crypto="${LIBGCRYPT_LIBS} ${requirements_libs_crypto}"
357       requirements_cflags_crypto="${LIBGCRYPT_CFLAGS} ${requirements_cflags_crypto}"
358       ;;
359
360    openssl)
361       EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
362       ;;
363 esac
364 AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
365 AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
366
367 # check for lua old
368 want_lua_old="no"
369 AC_ARG_ENABLE([lua-old],
370    [AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
371    [
372     if test "x${enableval}" = "xyes" ; then
373        want_lua_old="yes"
374     else
375        want_lua_old="no"
376     fi
377    ],
378    [want_lua_old="no"])
379
380 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
381 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
382   [1], [Use interpreted Lua (5.1 or 5.2)])
383 AC_SUBST([want_lua_old])
384
385
386 want_liblz4="no"
387 AC_ARG_ENABLE([liblz4],
388    [AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
389    [
390     if test "x${enableval}" = "xyes" ; then
391         # Only ships pc file since r120
392         PKG_CHECK_MODULES([LIBLZ4], [liblz4])
393         EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
394         EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
395        want_liblz4="yes"
396     else
397        want_liblz4="no"
398     fi
399    ],
400    [want_liblz4="no"])
401
402 AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
403 AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
404 AC_SUBST([want_liblz4])
405 AC_SUBST([ENABLE_LIBLZ4])
406
407 #### Checks for header files
408
409 # Common Checks (keep names sorted for ease of use):
410 AC_HEADER_DIRENT
411 AC_HEADER_TIME
412
413 AC_CHECK_HEADERS([ \
414 execinfo.h \
415 mcheck.h \
416 sys/epoll.h \
417 sys/inotify.h \
418 sys/signalfd.h \
419 sys/types.h \
420 sys/param.h \
421 sys/mman.h \
422 netinet/in.h \
423 ])
424
425 EFL_CHECK_PATH_MAX
426
427 #### Checks for types
428
429 # wchar_t
430 AC_CHECK_SIZEOF([wchar_t])
431 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
432 AC_SUBST([EINA_SIZEOF_WCHAR_T])
433
434 AC_CHECK_SIZEOF(int, 4)
435 AC_CHECK_SIZEOF(long, 4)
436
437 AC_CHECK_SIZEOF([uintptr_t])
438
439 AC_CHECK_TYPES([siginfo_t], [], [],
440    [[
441 #include <signal.h>
442 #if HAVE_SIGINFO_H
443 # include <siginfo.h>
444 #endif
445    ]])
446
447 #### Checks for structures
448
449
450 #### Checks for compiler characteristics
451
452 AC_C_BIGENDIAN
453 AC_C_INLINE
454 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
455 EFL_CHECK_LINKER_FLAGS([EFLALL], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries])
456 case "${build_profile}" in
457    dev)
458      dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
459      AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
460      CFLAGS_save="${CFLAGS}"
461      CFLAGS="${CFLAGS} -Werror -Wshadow"
462      AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
463         EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
464      CFLAGS="${CFLAGS_save}"
465      ;;
466
467    debug)
468      ;;
469
470    release)
471      ;;
472 esac
473
474 EFL_ATTRIBUTE_VECTOR
475 EFL_ATTRIBUTE_ALWAYS_INLINE
476
477 EFLALL_LIBS="${EFLALL_LIBS}"
478 EFLALL_CFLAGS="${EFLALL_CFLAGS}"
479
480 ## CPU architecture specific assembly
481
482 build_cpu_mmx="no"
483 build_cpu_sse3="no"
484 build_cpu_altivec="no"
485 build_cpu_neon="no"
486
487 want_neon="yes"
488 AC_ARG_ENABLE([neon],
489    [AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
490    [
491     if test "x${enableval}" = "xyes"; then
492        want_neon="yes"
493     else
494        want_neon="no"
495     fi
496    ])
497
498 SSE3_CFLAGS=""
499 ALTIVEC_CFLAGS=""
500 NEON_CFLAGS=""
501
502 case $host_cpu in
503   i*86|x86_64|amd64)
504     AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
505     build_cpu_mmx="yes"
506     AC_CHECK_HEADER([immintrin.h],
507        [
508         AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
509         build_cpu_sse3="yes"
510        ],
511        [build_cpu_sse3="no"])
512     AC_MSG_CHECKING([whether to build SSE3 code])
513     AC_MSG_RESULT([${build_cpu_sse3}])
514
515     if test "x$build_cpu_sse3" = "xyes" ; then
516        SSE3_CFLAGS="-msse3"
517     fi
518     ;;
519   *power* | *ppc*)
520     build_cpu_altivec="yes"
521     AC_CHECK_HEADER([altivec.h],
522        [
523         AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
524         AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
525         build_cpu_altivec="yes"
526        ],
527        [
528         save_CFLAGS=$CFLAGS
529         save_CPPFLAGS=$CPPFLAGS
530         CFLAGS=$CFLAGS" -maltivec"
531         CPPFLAGS=$CPPFLAGS" -maltivec"
532         unset ac_cv_header_altivec_h
533         AC_CHECK_HEADER([altivec.h],
534           [
535             AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
536             AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
537             build_cpu_altivec="yes"
538           ],
539           [build_cpu_altivec="no"]
540         )
541         CFLAGS=$save_CFLAGS
542         CPPFLAGS=$save_CPPFLAGS
543        ]
544     )
545     if test "x${build_cpu_altivec}" = "xyes"; then
546        AC_MSG_CHECKING([whether to use altivec compiler flag])
547        if test "x$GCC" = "xyes"; then
548           if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
549              altivec_cflags="-faltivec"
550              AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
551           elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
552              altivec_cflags="-maltivec"
553              AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
554           fi
555        fi
556        AC_MSG_RESULT([${altivec_cflags}])
557        CFLAGS="$CFLAGS ${altivec_cflags}"
558        ALTIVEC_CFLAGS="-maltivec"
559     fi
560     ;;
561   arm*)
562     if test "x${want_neon}" = "xyes"; then
563        build_cpu_neon="yes"
564        AC_MSG_CHECKING([whether to use NEON instructions])
565        CFLAGS_save="${CFLAGS}"
566        CFLAGS="${CFLAGS} -mfpu=neon -ftree-vectorize"
567        AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
568            AC_MSG_RESULT([yes])
569            AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
570            build_cpu_neon="yes"
571            NEON_CFLAGS="-mfpu=neon"
572          ],[
573            AC_MSG_RESULT([no])
574            build_cpu_neon="no"
575          ])
576        CFLAGS="${CFLAGS_save}"
577     fi
578     ;;
579 esac
580
581 AC_SUBST([ALTIVEC_CFLAGS])
582 AC_SUBST([SSE3_CFLAGS])
583 AC_SUBST([NEON_CFLAGS])
584
585 #### Checks for linker characteristics
586
587
588 #### Checks for library functions
589
590 AC_CHECK_FUNCS([\
591 backtrace \
592 backtrace_symbols \
593 execvp \
594 fpathconf \
595 fstatat \
596 malloc_usable_size \
597 mkdirat \
598 mtrace \
599 realpath \
600 strlcpy \
601 geteuid \
602 getuid \
603 pause \
604 ])
605
606 AC_FUNC_ALLOCA
607 AC_FUNC_MMAP
608
609 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl])
610
611 have_atfile_source="${ac_cv_func_fstatat}"
612 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
613    [test "x${have_atfile_source}" = "xyes"],
614    [1], [Use fstatat and other -at file functions])
615
616
617
618 ######################  EFL  ######################
619
620 want_libeeze="yes"
621 AC_ARG_ENABLE([libeeze],
622    [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
623    [
624     if test "x${enableval}" = "xyes"; then
625        want_libeeze="yes"
626     else
627        want_libeeze="no"
628        CFOPT_WARNING="yes"
629     fi
630    ])
631
632 build_libeeze="yes"
633 if test "x${want_libeeze}" = "xyes" ; then
634     if test "x${have_linux}" = "xyes" ; then
635         build_libeeze="yes"
636     else
637         build_libeeze="no"
638         want_libeeze="no"
639         CFOPT_WARNING="yes"
640     fi
641 else
642     build_libeeze="no"
643 fi
644
645 AC_ARG_ENABLE([systemd],
646    [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
647    [
648     if test "x${enableval}" = "xyes" ; then
649        want_systemd="yes"
650     else
651        want_systemd="no"
652     fi
653    ], [
654     want_systemd="no"
655    ])
656
657 systemd_dbus_prefix="# "
658 if test "${want_systemd}" = "yes"; then
659    systemd_dbus_prefix=""
660 fi
661 AC_SUBST(systemd_dbus_prefix)
662
663 AC_ARG_WITH([systemdunitdir],
664          AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
665          [USER_SESSION_DIR=${withval}])
666 if test "$want_systemd" == "no"; then
667   have_systemd_user_session="no"
668 elif test -n "${USER_SESSION_DIR}"; then
669   have_systemd_user_session="yes"
670   AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
671 else
672   # Detect systemd user session directory properly
673   EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
674         [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
675
676   if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
677      AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
678   fi
679 fi
680
681 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
682 AC_SUBST([USER_SESSION_DIR])
683
684 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
685    PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 192 libsystemd-journal >= 192],
686    [have_systemd_pkg="yes"],
687    [have_systemd_pkg="no"])
688 fi
689
690 PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198],
691                   [have_systemd_login=yes], [have_systemd_login=no])
692 AS_IF([test "x$have_systemd_login" = "xyes"],
693       [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
694 AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
695
696 # check for systemd library if requested
697 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
698    AC_MSG_ERROR([Systemd dependency requested but not found])
699 fi
700
701 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
702
703 #### Platform-dependent
704 DL_LIBS=""
705 DL_INTERNAL_LIBS=""
706
707 #### Evil
708 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
709
710 ### Default values
711
712 ### Additional options to configure
713 EFL_SELECT_WINDOWS_VERSION
714
715 ### Checks for programs
716
717 ### Checks for libraries
718
719 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
720 EVIL_DLFCN_LIBS="-lpsapi"
721
722 AC_SUBST([EVIL_DLFCN_LIBS])
723
724 ### Checks for header files
725
726 ### Checks for types
727
728 ### Checks for structures
729
730 ### Checks for compiler characteristics
731
732 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
733 # TODO: should we have these at EFL (global?)
734 # Note: these warnings should not be used with C++ code
735 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
736 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
737
738 if test "x${have_win32}" = "xyes" ; then
739    EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
740    EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
741 fi
742
743 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
744 AC_SUBST([EVIL_CFLAGS_WRN])
745 AC_SUBST([EVIL_CXXFLAGS])
746
747 ### Checks for linker characteristics
748
749 ### Checks for library functions
750
751 DL_LIBS="lib/evil/libdl.la"
752 DL_INTERNAL_LIBS="lib/evil/libdl.la"
753
754 EFL_LIB_END_OPTIONAL([Evil])
755
756 AC_SUBST([USE_EVIL_CFLAGS])
757 AC_SUBST([USE_EVIL_LIBS])
758 #### End of Evil
759
760
761 #### Escape
762 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
763
764 ### Additional options to configure
765
766 ### Default values
767
768 ### Checks for programs
769
770 ### Checks for libraries
771 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
772
773 ### Checks for header files
774
775 ### Checks for types
776
777 ### Checks for structures
778
779 ### Checks for compiler characteristics
780
781 ### Checks for linker characteristics
782
783 ### Checks for library functions
784
785 EFL_LIB_END_OPTIONAL([Escape])
786 #### End of Escape
787
788 EFL_CHECK_FUNC([SHM], [shm_open])
789 SHM_LIBS="${requirements_libs_shm}"
790 AC_SUBST([SHM_LIBS])
791
792 AC_SUBST([DL_LIBS])
793 AC_SUBST([DL_INTERNAL_LIBS])
794 #### End of Platform-dependent
795
796
797 #### Eina
798
799 EFL_LIB_START([Eina])
800
801 ### Default values
802
803 have_safety_checks="yes"
804 want_log="yes"
805 case "${build_profile}" in
806    dev)
807      with_max_log_level=""
808      have_stringshare_usage="no"
809      want_valgrind="auto"
810      want_debug_malloc="no"
811      want_debug_threads="no"
812      want_default_mempool="no"
813      want_cow_magic="no"
814      ;;
815
816    debug)
817      with_max_log_level=""
818      have_stringshare_usage="yes"
819      want_valgrind="auto"
820      want_debug_malloc="yes"
821      want_debug_threads="yes"
822      want_default_mempool="yes"
823      want_cow_magic="yes"
824      ;;
825
826    release)
827      with_max_log_level="3"
828      have_stringshare_usage="no"
829      want_valgrind="no"
830      want_debug_malloc="no"
831      want_debug_threads="no"
832      want_default_mempool="no"
833      want_cow_magic="no"
834      ;;
835 esac
836
837 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
838 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
839 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
840
841 if test -n "${with_max_log_level}"; then
842    AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
843    AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
844 fi
845
846 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
847    [test "x${have_stringshare_usage}" = "xyes"],
848    [1], [Report Eina stringshare usage pattern])
849
850 ### Additional options to configure
851 AC_ARG_ENABLE([magic-debug],
852    [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
853    [
854     if test "x${enableval}" = "xyes" ; then
855        have_magic_debug="yes"
856     else
857        have_magic_debug="no"
858     fi
859    ],
860    [have_magic_debug="yes"])
861
862 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
863
864 AC_ARG_WITH([xattr-tests-path],
865    [AS_HELP_STRING([--with-xattr-tests-path=DIR],[path of xattr enabled directory to create test files])],[XATTR_TEST_DIR=${withval}][AC_DEFINE_UNQUOTED([XATTR_TEST_DIR],["$withval"], [xattr enabled directory])])
866
867 ### Checks for programs
868
869 ### Checks for libraries
870 EFL_PLATFORM_DEPEND([EINA], [all])
871
872 EFL_ADD_LIBS([EINA], [-lm])
873
874 ## Options
875
876 # Valgrind
877 AC_ARG_ENABLE([valgrind],
878    [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
879    [
880     if test "x${enableval}" = "xyes" ; then
881        want_valgrind="yes"
882     else
883        want_valgrind="no"
884     fi
885    ])
886
887 if test "${want_valgrind}" = "auto"; then
888    PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
889       [want_valgrind="no"
890        AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
891 fi
892
893 if test "${want_valgrind}" = "no"; then
894     AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
895 else
896     PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
897     AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
898 fi
899
900 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
901    [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
902    [1], [Turn on debugging overhead in mempool])
903
904 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
905    [test "x${want_cow_magic}" = "xyes" ],
906    [1], [Turn on Eina_Magic in Eina_Cow])
907
908 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd-journal])
909
910 EFL_EVAL_PKGS([EINA])
911
912 ## Examples
913
914 ## Benchmarks
915
916 PKG_CHECK_MODULES([GLIB],
917    [glib-2.0],
918    [have_glib="yes"],
919    [have_glib="no"])
920
921 if test "x${have_glib}" = "xyes" ; then
922    GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
923 fi
924
925 ### Checks for header files
926
927 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
928 CFLAGS_save="${CFLAGS}"
929 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
930 AC_CHECK_HEADERS([sys/mman.h])
931 CFLAGS="${CFLAGS_save}"
932
933 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
934
935 ### Checks for types
936
937 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
938 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
939    [1], [Define to 1 if you have a valid <dirent.h> header file.])
940
941 ### Checks for structures
942
943 ### Checks for compiler characteristics
944 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
945
946 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
947 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
948 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
949
950 ### Checks for linker characteristics
951
952 ### Checks for library functions
953
954 AC_CHECK_FUNCS([fchmod])
955
956 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
957
958 enable_log="no"
959 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
960    enable_log="yes"
961 fi
962
963 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
964 AC_MSG_RESULT([${enable_log}])
965
966 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
967
968 EFL_CHECK_THREADS
969 if test "x${efl_have_threads}" = "xno"; then
970    CFOPT_WARNING="xyes"
971 fi
972
973 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
974 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
975
976 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
977 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
978 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
979 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
980 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
981 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
982
983 ### Modules
984
985 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
986 EINA_CHECK_MODULE([pass-through], [static], [pass through])
987 EINA_CHECK_MODULE([one-big],      [static], [one big])
988
989 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
990
991 EFL_LIB_END([Eina])
992 #### End of Eina
993
994 #### Eina CXX
995 EFL_LIB_START([Eina_Cxx])
996
997 EFL_CXX_COMPILE_STDCXX_11([ext])
998 AC_ARG_ENABLE([cxx-bindings],
999    [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1000    [want_cxx11="${enableval}"], [want_cxx11="yes"])
1001
1002 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1003   have_cxx11="yes"
1004 else
1005   have_cxx11="no"
1006 fi
1007
1008 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1009
1010 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1011 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1012 EFL_EVAL_PKGS([EINA_CXX])
1013
1014 EFL_LIB_END([Eina_Cxx])
1015 #### End of Eina CXX
1016
1017 #### Eo
1018
1019 EFL_LIB_START([Eo])
1020
1021 ### Default values
1022
1023 ### Additional options to configure
1024
1025 ### Checks for programs
1026
1027 ## Compatibility layers
1028 EFL_PLATFORM_DEPEND([EO], [evil])
1029
1030 ### Checks for libraries
1031 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1032
1033 # Example (evas one)
1034
1035 # TODO: add once elementary is merged
1036 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1037 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1038
1039 ### Checks for header files
1040
1041 ### Checks for types
1042
1043 ### Checks for structures
1044
1045 ### Checks for compiler characteristics
1046
1047 ### Checks for linker characteristics
1048
1049 ### Checks for library functions
1050 EFL_CHECK_FUNCS([EO], [dladdr])
1051
1052 ### Check availability
1053
1054 EFL_LIB_END([Eo])
1055 #### End of Eo
1056
1057 #### Eet CXX
1058 EFL_LIB_START([Eet_Cxx])
1059
1060 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1061 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1062
1063 EFL_EVAL_PKGS([EET_CXX])
1064
1065 EFL_LIB_END([Eet_Cxx])
1066 #### End of Eet CXX
1067
1068 #### Emile
1069
1070 EFL_LIB_START([Emile])
1071
1072 ### Default values
1073
1074 ### Additional options to configure
1075
1076 ### Checks for programs
1077
1078 ### Checks for libraries
1079
1080 EFL_CHECK_LIBS([EMILE], [libjpeg])
1081
1082 ## Compatibility layers
1083 EFL_PLATFORM_DEPEND([EMILE], [evil])
1084
1085 EFL_ADD_LIBS([EMILE], [-lm])
1086
1087 # Cryptography support
1088 if test "$build_crypto" != "none" ; then
1089    AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1090    AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1091    EFL_CRYPTO_DEPEND([EMILE])
1092 fi
1093
1094 EFL_CHECK_LIBS([EMILE], [zlib])
1095
1096 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1097
1098 EFL_EVAL_PKGS([EMILE])
1099
1100 ### Checks for header files
1101
1102 ### Checks for types
1103
1104 ### Checks for structures
1105
1106 ### Checks for compiler characteristics
1107
1108 ### Checks for linker characteristics
1109
1110 ### Checks for library functions
1111
1112 ### Check availability
1113
1114 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1115
1116 EFL_LIB_END([Emile])
1117 #### End of Emile
1118
1119
1120 #### Eet
1121
1122 EFL_LIB_START([Eet])
1123
1124 ### Default values
1125
1126 ### Additional options to configure
1127
1128 ### Checks for programs
1129
1130 ### Checks for libraries
1131
1132 EFL_CHECK_LIBS([EET], [libjpeg])
1133
1134 ## Compatibility layers
1135 EFL_PLATFORM_DEPEND([EET], [evil])
1136
1137 EFL_ADD_LIBS([EET], [-lm])
1138
1139 # Cryptography support
1140 if test "$build_crypto" != "none" ; then
1141    AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1142    AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1143    EFL_CRYPTO_DEPEND([EET])
1144 fi
1145
1146 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1147 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1148
1149 EFL_EVAL_PKGS([EET])
1150
1151 ### Checks for header files
1152
1153 ### Checks for types
1154
1155 ### Checks for structures
1156
1157 ### Checks for compiler characteristics
1158
1159 ### Checks for linker characteristics
1160
1161 ### Checks for library functions
1162
1163 ### Check availability
1164
1165 EFL_LIB_END([Eet])
1166 #### End of Eet
1167
1168 #### Eo CXX
1169 EFL_LIB_START([Eo_Cxx])
1170
1171 EFL_EVAL_PKGS([EO_CXX])
1172
1173 EFL_LIB_END([Eo_Cxx])
1174 #### End of Eo CXX
1175
1176 #### Eolian
1177
1178 EFL_LIB_START([Eolian])
1179
1180 ### Default values
1181
1182 ### Additional options to configure
1183 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1184
1185 ### Checks for programs
1186
1187 ## Compatibility layers
1188 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1189
1190 ### Checks for libraries
1191 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1192
1193 ### Checks for header files
1194
1195 ### Checks for types
1196
1197 ### Checks for structures
1198
1199 ### Checks for compiler characteristics
1200
1201 ### Checks for linker characteristics
1202
1203 ### Checks for library functions
1204
1205 ### Check availability
1206
1207 EFL_LIB_END([Eolian])
1208 #### End of Eolian
1209
1210 EFL_LIB_START([Eolian_Cxx])
1211 ### Default values
1212
1213 ### Additional options to configure
1214
1215 ### Checks for programs
1216
1217 ## Compatibility layers
1218
1219 ### Checks for libraries
1220 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1221 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1222
1223 ### Checks for header files
1224
1225 ### Checks for types
1226
1227 ### Checks for structures
1228
1229 ### Checks for compiler characteristics
1230
1231 ### Checks for linker characteristics
1232
1233 ### Checks for library functions
1234
1235 ### Check availability
1236 EFL_LIB_END([Eolian_Cxx])
1237
1238 #### Efl
1239
1240 EFL_LIB_START([Efl])
1241
1242 EFL_PLATFORM_DEPEND([EFL], [evil])
1243 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1244 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1245
1246 EFL_ADD_LIBS([EFL], [-lm])
1247
1248 EFL_LIB_END([Efl])
1249 #### End of Efl
1250
1251 #### Ector
1252
1253 EFL_LIB_START([Ector])
1254
1255
1256 ### Default values
1257
1258 ### Additional options to configure
1259
1260 ### Checks for programs
1261
1262 ### Checks for libraries
1263
1264 ## Compatibility layers
1265
1266 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1267
1268 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1269 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1270 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1271
1272 EFL_ADD_LIBS([ECTOR], [-lm])
1273
1274 EFL_EVAL_PKGS([ECTOR])
1275
1276 ### Checks for header files
1277
1278 ### Checks for types
1279
1280 ### Checks for structures
1281
1282 ### Checks for compiler characteristics
1283
1284 ### Checks for linker characteristics
1285
1286 ### Checks for library functions
1287
1288 ### Check availability
1289
1290 EFL_LIB_END([ECTOR])
1291
1292 #### End of Ector
1293
1294 #### Evas
1295
1296 EFL_LIB_START([Evas])
1297
1298 ### Additional options to configure
1299
1300 # X11
1301 AC_ARG_WITH([x11],
1302    [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1303
1304 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1305    with_x11="none"
1306 elif test "x${with_x11}" = "x"; then
1307    with_x11="xlib"
1308 fi
1309
1310 want_x11_xlib="no"
1311 want_x11_xcb="no"
1312 want_x11_none="no"
1313 want_x11_any="no"
1314 case "${with_x11}" in
1315    xlib)
1316      want_x11_xlib="yes"
1317      want_x11_any="yes"
1318      ;;
1319    xcb)
1320      want_x11_xcb="yes"
1321      want_x11_any="yes"
1322      CFOPT_WARNING="xyes"
1323      ;;
1324    none)
1325      want_x11_none="yes"
1326      ;;
1327    *)
1328      AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1329      ;;
1330 esac
1331
1332 # OpenGL
1333 AC_ARG_WITH([opengl],
1334    [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1335
1336 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1337    with_opengl="none"
1338 elif test "x${with_opengl}" = "x"; then
1339    with_opengl="full"
1340 fi
1341
1342 case "${with_opengl}" in
1343    full|es|none)
1344      ;;
1345    *)
1346      AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1347      ;;
1348 esac
1349
1350 want_x11_xlib_opengl="no"
1351 want_x11_xcb_opengl="no"
1352 if test "${with_opengl}" != "none"; then
1353    want_x11_xlib_opengl="${want_x11_xlib}"
1354    want_x11_xcb_opengl="${want_x11_xcb}"
1355    want_x11_any_opengl="${want_x11_any}"
1356 fi
1357
1358 # Wayland
1359 AC_ARG_ENABLE([wayland],
1360    [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1361    [
1362     if test "x${enableval}" = "xyes" ; then
1363        want_wayland="yes"
1364     else
1365        want_wayland="no"
1366     fi
1367    ],
1368    [want_wayland="no"])
1369
1370 if test "${want_wayland}" = "yes"; then
1371    EFL_PKG_CHECK_STRICT([wayland-client >= 1.3.0])
1372 fi
1373
1374 # Wayland IVI-Shell
1375 AC_ARG_ENABLE([wayland-ivi-shell],
1376    [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1377    [
1378     if test "x${enableval}" = "xyes" ; then
1379        want_wayland_ivi_shell="yes"
1380     else
1381        want_wayland_ivi_shell="no"
1382     fi
1383    ],
1384    [want_wayland_ivi_shell="no"])
1385
1386 # Fb
1387 AC_ARG_ENABLE([fb],
1388    [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1389    [
1390     if test "x${enableval}" = "xyes" ; then
1391        want_fb="yes"
1392     else
1393        want_fb="no"
1394     fi
1395    ],
1396    [want_fb="no"])
1397
1398 # SDL
1399 AC_ARG_ENABLE([sdl],
1400    [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1401    [
1402     if test "x${enableval}" = "xyes" ; then
1403        want_sdl="yes"
1404     else
1405        want_sdl="no"
1406     fi
1407    ],
1408    [want_sdl="no"])
1409
1410 if test "${want_sdl}" = "yes"; then
1411    EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1412 fi
1413
1414 # We only enable SDL with opengl if it is not the full version and not ES
1415 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1416 # versions the SDL_opengles.h has never been released.
1417 want_gl_sdl="no"
1418 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1419    AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1420 fi
1421 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1422    want_gl_sdl="yes"
1423 fi
1424
1425 # Cocoa
1426 AC_ARG_ENABLE([cocoa],
1427     [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1428     [
1429      if test "x${enableval}" = "xyes" ; then
1430         want_cocoa="yes"
1431      else
1432         want_cocoa="no"
1433      fi
1434     ],
1435     [want_cocoa="no"])
1436
1437 if test "${want_cocoa}" = "yes"; then
1438    #test cocoa requirements (objc and Cocoa/Cocoa.h)
1439     cocoa_ldflags=""
1440     have_cocoa="no"
1441     m4_ifdef([AC_PROG_OBJC],
1442       [
1443        if test "x${have_gnu_objc}" = "xyes" ; then
1444           AC_LANG_PUSH([Objective C])
1445           LIBS_save="$LIBS"
1446           LIBS="$LIBS -framework Cocoa"
1447           AC_LINK_IFELSE(
1448              [AC_LANG_PROGRAM(
1449                  [[
1450 #include <Cocoa/Cocoa.h>
1451                  ]],
1452                  [[
1453 NSWindow *window;
1454 window = [[NSWindow alloc]
1455            initWithContentRect:NSMakeRect(0, 0, 1, 1)
1456            styleMask:(NSTitledWindowMask)
1457            backing:NSBackingStoreBuffered
1458            defer:NO
1459            screen:nil
1460          ];
1461                  ]])],
1462              [
1463               have_cocoa="yes"
1464               cocoa_ldflags="-framework Cocoa"
1465              ],
1466              [have_cocoa="no"])
1467           LIBS="$LIBS_save"
1468           AC_MSG_CHECKING([whether Cocoa framework is supported])
1469           AC_MSG_RESULT([${have_cocoa}])
1470           AC_LANG_POP([Objective C])
1471        fi
1472    ])
1473 fi
1474 AC_SUBST(cocoa_ldflags)
1475
1476 if test "x${want_cocoa}" = "xyes"; then
1477     #test cocoa requirements (objc and Cocoa/Cocoa.h)
1478     cocoa_coreservices_ldflags=""
1479     have_cocoa_coreservices="no"
1480     m4_ifdef([AC_PROG_OBJC],
1481       [
1482        if test "x${have_gnu_objc}" = "xyes" ; then
1483           AC_LANG_PUSH([Objective C])
1484           LIBS_save="$LIBS"
1485           LIBS="$LIBS -framework CoreServices"
1486           AC_LINK_IFELSE(
1487              [AC_LANG_PROGRAM(
1488                  [[
1489 #include <CoreServices/CoreServices.h>
1490                  ]],
1491                  [[
1492 //test function here
1493                  ]])],
1494              [
1495               have_cocoa_coreservices="yes"
1496               cocoa_coreservices_ldflags="-framework CoreServices"
1497              ],
1498              [have_cocoa_coreservices="no"])
1499           LIBS="$LIBS_save"
1500           AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1501           AC_MSG_RESULT([${have_cocoa_coreservices}])
1502           AC_LANG_POP([Objective C])
1503        fi
1504    ])
1505 fi
1506 AC_SUBST(cocoa_coreservices_ldflags)
1507
1508 # Drm
1509 AC_ARG_ENABLE([drm],
1510    [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1511    [
1512     if test "x${enableval}" = "xyes" ; then
1513        want_drm="yes"
1514     else
1515        want_drm="no"
1516     fi
1517    ],
1518    [want_drm="no"])
1519
1520
1521 AC_ARG_ENABLE([gl-drm],
1522    [AC_HELP_STRING([--enable-gl-drm],
1523        [enable gl drm engine. @<:@default=disabled@:>@])],
1524    [
1525     if test "x${enableval}" = "xyes" ; then
1526        want_gl_drm="yes"
1527     else
1528        want_gl_drm="no"
1529     fi
1530    ],
1531    [want_gl_drm="no"])
1532 # Fontconfig
1533 AC_ARG_ENABLE([fontconfig],
1534    [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1535    [
1536     if test "x${enableval}" = "xyes" ; then
1537        want_fontconfig="yes"
1538     else
1539        want_fontconfig="no"
1540        CFOPT_WARNING="xyes"
1541     fi
1542    ],
1543    [want_fontconfig="yes"])
1544
1545 # Fribidi
1546 AC_ARG_ENABLE([fribidi],
1547    [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1548    [
1549     if test "x${enableval}" = "xyes" ; then
1550        want_fribidi="yes"
1551     else
1552        want_fribidi="no"
1553        CFOPT_WARNING="xyes"
1554     fi
1555    ],
1556    [want_fribidi="yes"])
1557
1558 # Eo Id
1559 AC_ARG_ENABLE([eo_id],
1560    [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1561    [
1562     if test "x${enableval}" = "xyes" ; then
1563        want_eo_id="yes"
1564     else
1565        want_eo_id="no"
1566        CFOPT_WARNING="xyes"
1567     fi
1568    ],
1569    [want_eo_id="yes"])
1570
1571 # Harfbuzz
1572 AC_ARG_ENABLE([harfbuzz],
1573    [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1574    [
1575     if test "x${enableval}" = "xyes" ; then
1576        want_harfbuzz="yes"
1577     else
1578        want_harfbuzz="no"
1579     fi
1580    ],
1581    [want_harfbuzz="no"])
1582
1583 # Egl
1584 AC_ARG_ENABLE([egl],
1585    [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1586    [
1587     if test "x${enableval}" = "xyes" ; then
1588        want_egl="yes"
1589     else
1590        want_egl="no"
1591     fi
1592    ],
1593    [want_egl="no"])
1594
1595 # Pixman
1596 AC_ARG_ENABLE([pixman],
1597    [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1598    [
1599     if test "x${enableval}" = "xyes" ; then
1600        want_pixman="yes"
1601        CFOPT_WARNING="xyes"
1602     else
1603        want_pixman="no"
1604     fi
1605    ],
1606    [want_pixman="no"])
1607
1608 AC_ARG_ENABLE([pixman-font],
1609    [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1610    [
1611     if test "x${enableval}" = "xyes" ; then
1612        have_pixman_font="yes"
1613     else
1614        have_pixman_font="no"
1615     fi
1616    ],
1617    [have_pixman_font="no"])
1618
1619 AC_ARG_ENABLE([pixman-rect],
1620    [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1621    [
1622     if test "x${enableval}" = "xyes" ; then
1623        have_pixman_rect="yes"
1624     else
1625        have_pixman_rect="no"
1626     fi
1627    ],
1628    [have_pixman_rect="no"])
1629
1630 AC_ARG_ENABLE([pixman-line],
1631    [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1632    [
1633     if test "x${enableval}" = "xyes" ; then
1634        have_pixman_line="yes"
1635     else
1636        have_pixman_line="no"
1637     fi
1638    ],
1639    [have_pixman_line="no"])
1640
1641 AC_ARG_ENABLE(pixman-poly,
1642    AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1643    [
1644     if test "x${enableval}" = "xyes" ; then
1645        have_pixman_poly="yes"
1646     else
1647        have_pixman_poly="no"
1648     fi
1649    ],
1650    [have_pixman_poly="no"])
1651
1652 AC_ARG_ENABLE([pixman-image],
1653    [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1654    [
1655     if test "x${enableval}" = "xyes" ; then
1656        have_pixman_image="yes"
1657     else
1658        have_pixman_image="no"
1659     fi
1660    ],
1661    [have_pixman_image="no"])
1662
1663 AC_ARG_ENABLE([pixman-image-scale-sample],
1664    [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1665    [
1666     if test "x${enableval}" = "xyes" ; then
1667        have_pixman_image_scale_sample="yes"
1668     else
1669        have_pixman_image_scale_sample="no"
1670     fi
1671    ],
1672    [have_pixman_image_scale_sample="no"])
1673
1674 # Tile rotate
1675 AC_ARG_ENABLE([tile-rotate],
1676    [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1677    [
1678     if test "x${enableval}" = "xyes" ; then
1679        have_tile_rotate="yes"
1680        CFOPT_WARNING="xyes"
1681     else
1682        have_tile_rotate="no"
1683     fi
1684   ],
1685   [have_tile_rotate="no"])
1686
1687
1688 # Image Loaders
1689
1690 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1691 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1692 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1693 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1694 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1695 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1696 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1697 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1698 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1699 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1700 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1701 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1702 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1703 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1704 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1705 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1706 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1707
1708 ### Default values
1709
1710 want_evas_engine_software_gdi="${have_win32}"
1711 want_evas_engine_software_ddraw="${have_win32}"
1712 want_evas_engine_gl_cocoa="${want_cocoa}"
1713 want_evas_engine_wayland_egl="no"
1714 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1715    want_evas_engine_wayland_egl="yes"
1716 fi
1717
1718 if test "${want_lua_old}" = "yes"; then
1719    EFL_CHECK_LUA_OLD([EVAS])
1720 else
1721    EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1722 fi
1723
1724 EFL_ADD_FEATURE([EVAS], [lua-old])
1725
1726 EFL_CHECK_FUNC([EVAS], [dlsym])
1727
1728 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1729    AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1730 fi
1731
1732 ### Checks for programs
1733
1734 ### Checks for libraries
1735
1736 ## Compatibility layers
1737 EFL_PLATFORM_DEPEND([EVAS], [all])
1738 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1739 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1740 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1741 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1742 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1743 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1744
1745 EFL_ADD_LIBS([EVAS], [-lm])
1746
1747 # Freetype
1748 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1749
1750 ## optional dependencies
1751
1752 # FontConfig
1753 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1754    [FONTCONFIG], [fontconfig >= 2.5.0])
1755
1756 # fribidi support
1757 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1758    [FRIBIDI], [fribidi >= 0.19.2])
1759
1760 # harfbuzz support
1761 have_harfbuzz_ft="no"
1762 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1763    [HARFBUZZ], [harfbuzz >= 0.9.0])
1764
1765 # Pixman
1766 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1767
1768 if test "x${have_pixman}" = "xyes" ; then
1769    if test "x${have_pixman_font}" = "xyes" ; then
1770       AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1771    fi
1772    EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1773
1774    if test "x${have_pixman_rect}" = "xyes" ; then
1775       AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1776    fi
1777    EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1778
1779    if test "x${have_pixman_line}" = "xyes" ; then
1780       AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1781    fi
1782    EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1783
1784    if test "x${have_pixman_poly}" = "xyes" ; then
1785       AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1786    fi
1787    EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1788
1789    if test "x${have_pixman_image}" = "xyes" ; then
1790       AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1791    fi
1792    EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1793
1794    if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1795       AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1796    fi
1797    EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1798 fi
1799
1800 ## Engines
1801
1802 define([EVAS_ENGINE_DEP_CHECK_FB], [
1803 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1804 ])
1805
1806 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1807 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1808 ])
1809
1810 EVAS_ENGINE([buffer], [static])
1811 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1812 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1813
1814 # XXX TODO:
1815 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1816 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1817 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1818 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1819 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1820 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1821 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1822 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1823
1824
1825 # Software XCB
1826
1827 have_evas_engine_software_xcb="no"
1828 if test "${with_x11}" = "xcb" ; then
1829    EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1830 else
1831    AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1832    AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1833 fi
1834
1835 AC_MSG_CHECKING([whether to build Software XCB Engine])
1836 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1837
1838 # No Software XCB ? Then try Software Xlib
1839
1840 have_evas_engine_software_xlib="no"
1841 if test "x${want_x11_xcb}" = "xno" ; then
1842    EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1843 else
1844    AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1845    AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1846 fi
1847
1848 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1849 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1850
1851 # If software_x11 is available, define everything needed for X11
1852
1853 have_evas_engine_software_x11="no"
1854 if test "x${have_evas_engine_software_xlib}" = "xyes" || test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xyes" || test "x${have_evas_engine_software_xcb}" = "xstatic" ; then
1855    have_evas_engine_software_x11="yes"
1856    AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1857 fi
1858 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1859
1860 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1861    AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1862 fi
1863 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1864
1865 # Needed for evas-software-x11.pc
1866
1867 AC_SUBST([have_evas_engine_software_xlib])
1868 AC_SUBST([have_evas_engine_software_xcb])
1869
1870 # Software generic
1871 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1872 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1873
1874 # OpenGL
1875
1876 if test "${with_opengl}" = "es" ; then
1877    AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1878 fi
1879
1880 # OpenGL XCB
1881
1882 have_evas_engine_gl_xcb="no"
1883 if test "${want_x11_xcb_opengl}" = "yes"; then
1884    EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1885 else
1886    AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1887    AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1888 fi
1889
1890 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1891 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1892
1893 # No openGL XCB ? Then try OpenGL Xlib
1894
1895 have_evas_engine_gl_xlib="no"
1896 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1897    EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1898 else
1899    AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1900    AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1901 fi
1902
1903 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1904 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1905
1906 # If opengl_x11 is available, define everything needed for X11
1907
1908 have_evas_engine_gl_x11="no"
1909 if test "x${have_evas_engine_gl_xlib}" = "xyes" || test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xyes" || test "x${have_evas_engine_gl_xcb}" = "xstatic" ; then
1910    have_evas_engine_gl_x11="yes"
1911    AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1912 fi
1913 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1914
1915 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1916    AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1917 fi
1918 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1919
1920 # Needed for evas-opengl-x11.pc
1921
1922 AC_SUBST([have_evas_engine_gl_xlib])
1923 AC_SUBST([have_evas_engine_gl_xcb])
1924
1925 # OpenGL SDL
1926
1927 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1928    AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1929       [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1930       [#include <SDL/SDL_video.h>])
1931 fi
1932
1933 if test "${with_opengl}" = "es"; then
1934    AC_CHECK_DECL([SDL_OPENGLES],
1935       [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1936       [#include <SDL/SDL_video.h>])
1937 fi
1938
1939 # OpenGL common
1940 evas_engine_gl_common_cflags=""
1941 if test "x${have_egl}" = "xyes"; then
1942    evas_engine_gl_common_libs="-lEGL"
1943 else
1944    evas_engine_gl_common_libs="-lGL"
1945 fi
1946
1947 # The lines below fix compiling/linking of gl_generic on OSX
1948 if test "x${have_darwin}" = "xyes"; then
1949    if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1950       # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1951       # CFLAGS and LIBS are determined by evas-gl_cocoa.
1952       evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1953       evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
1954    else
1955       # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
1956       # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
1957       # cannot compile (nor link).
1958       evas_engine_gl_common_libs=""
1959       evas_engine_gl_common_cflags=""
1960
1961       if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
1962          evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
1963          evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
1964       fi
1965       ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
1966    fi
1967 fi
1968
1969 AC_SUBST([evas_engine_gl_common_cflags])
1970 AC_SUBST([evas_engine_gl_common_libs])
1971
1972 have_evas_engine_gl_common="no"
1973 have_static_evas_engine_gl_common="no"
1974 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
1975    test "x$have_evas_engine_gl_xcb" = "xyes" || \
1976    test "x$have_evas_engine_gl_sdl" = "xyes" || \
1977    test "x$have_evas_engine_gl_cocoa" = "xyes" || \
1978    test "x$have_evas_engine_gl_drm" = "xyes" || \
1979    test "x$have_evas_engine_wayland_egl" = "xyes"; then
1980    have_evas_engine_gl_common="yes"
1981 fi
1982 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
1983    test "x$have_evas_engine_gl_xcb" = "xstatic" || \
1984    test "x$have_evas_engine_gl_sdl" = "xstatic" || \
1985    test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
1986    test "x$have_evas_engine_gl_drm" = "xstatic" || \
1987    test "x$have_evas_engine_wayland_egl" = "xstatic"; then
1988    have_evas_engine_gl_common="yes"
1989    have_static_evas_engine_gl_common="yes"
1990 fi
1991
1992 if test "x${have_evas_engine_gl_common}" = "xyes"; then
1993    AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
1994 fi
1995
1996 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
1997
1998 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
1999    AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2000 fi
2001
2002 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2003
2004
2005 ## Image Loaders
2006
2007 EVAS_CHECK_IMAGE_LOADER([BMP],     [${want_evas_image_loader_bmp}])
2008 EVAS_CHECK_IMAGE_LOADER([Eet],     [${want_evas_image_loader_eet}])
2009 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2010 EVAS_CHECK_IMAGE_LOADER([Gif],     [${want_evas_image_loader_gif}])
2011 EVAS_CHECK_IMAGE_LOADER([ICO],     [${want_evas_image_loader_ico}])
2012 EVAS_CHECK_IMAGE_LOADER([JPEG],    [${want_evas_image_loader_jpeg}])
2013 EVAS_CHECK_IMAGE_LOADER([JP2K],    [${want_evas_image_loader_jp2k}])
2014 EVAS_CHECK_IMAGE_LOADER([PMAPS],   [${want_evas_image_loader_pmaps}])
2015 EVAS_CHECK_IMAGE_LOADER([PNG],     [${want_evas_image_loader_png}])
2016 EVAS_CHECK_IMAGE_LOADER([PSD],     [${want_evas_image_loader_psd}])
2017 EVAS_CHECK_IMAGE_LOADER([Tga],     [${want_evas_image_loader_tga}])
2018 EVAS_CHECK_IMAGE_LOADER([Tiff],    [${want_evas_image_loader_tiff}])
2019 EVAS_CHECK_IMAGE_LOADER([WBMP],    [${want_evas_image_loader_wbmp}])
2020 EVAS_CHECK_IMAGE_LOADER([WEBP],    [${want_evas_image_loader_webp}])
2021 EVAS_CHECK_IMAGE_LOADER([XPM],     [${want_evas_image_loader_xpm}])
2022 EVAS_CHECK_IMAGE_LOADER([TGV],     [${want_evas_image_loader_tgv}])
2023 EVAS_CHECK_IMAGE_LOADER([DDS],     [${want_evas_image_loader_dds}])
2024
2025 EFL_EVAL_PKGS([EVAS])
2026
2027 ### Checks for header files
2028
2029 if test "x$have_harfbuzz" = "xyes" ; then
2030
2031    CPPFLAGS_SAVE="$CPPFLAGS"
2032    CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2033 # must have for usage with harfbuzz although harfbuzz may not have it.
2034
2035    AC_CHECK_HEADER([hb-ft.h],
2036       [
2037        have_harfbuzz_ft="yes"
2038        #Depend on harfbuzz ft for harfbuzz support
2039        AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2040       ],
2041       [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2042
2043    CPPFLAGS="$CPPFLAGS_SAVE"
2044 fi
2045
2046 ### Checks for types
2047
2048 CPPFLAGS_SAVE="$CPPFLAGS"
2049 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2050 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2051 CPPFLAGS="$CPPFLAGS_SAVE"
2052
2053
2054 if test "x$have_fribidi" = "xyes" ; then
2055    CPPFLAGS_SAVE="$CPPFLAGS"
2056    CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2057    AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2058    CPPFLAGS="$CPPFLAGS_SAVE"
2059 fi
2060
2061 ### Checks for structures
2062
2063 AC_CHECK_TYPES([struct sigaction], [], [],
2064                [[#include <signal.h>]])
2065
2066 ### Checks for compiler characteristics
2067
2068 ### Checks for linker characteristics
2069
2070 ### Checks for library functions
2071
2072 AC_CHECK_FUNCS([siglongjmp])
2073
2074 AC_CHECK_LIB([m], [lround],
2075 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2076 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2077 )
2078
2079
2080 # Evas cserve2
2081
2082 AC_ARG_ENABLE([cserve],
2083    [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2084    [
2085     if test "x${enableval}" = "xyes" ; then
2086        want_evas_cserve2="yes"
2087     else
2088        want_evas_cserve2="no"
2089        CFOPT_WARNING="xyes"
2090     fi
2091    ],
2092    [want_evas_cserve2="yes"])
2093
2094 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2095    EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2096 fi
2097
2098 # cserve2 only works on Linux so far.
2099
2100 if test "x${efl_func_shm_open}" = "xno" ; then
2101    want_evas_cserve2="no"
2102 fi
2103
2104 if test "x${want_evas_cserve2}" = "xyes"; then
2105    if test "x${ac_cv_header_sys_epoll_h}" = "xno" || test "x${ac_cv_header_sys_inotify_h}" = "xno" || test "x${ac_cv_header_sys_signalfd_h}" = "xno"; then
2106       want_evas_cserve2="no"
2107    else
2108       EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2109       AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2110    fi
2111 fi
2112
2113 AC_DEFINE_IF([EVAS_CSERVE2],
2114    [test "x${want_evas_cserve2}" = "xyes"],
2115    [1], [Shared cache server.])
2116 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2117
2118 ### Configuration
2119
2120 ## Tile rotation
2121
2122 if test "x${have_tile_rotate}" = "xyes" ; then
2123    AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2124 fi
2125
2126
2127 ## dither options
2128
2129 AC_ARG_WITH([evas-dither-mask],
2130    [AS_HELP_STRING([--with-evas-dither-mask=TYPE],[use the specified dither mask to convert bitdepths in Evas, one of: big, small, line or none.
2131                     @<:@default=big@:>@])],
2132    [build_evas_dither_mask=${withval}],
2133    [build_evas_dither_mask=big])
2134
2135 case "${build_evas_dither_mask}" in
2136    big)
2137      AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2138      ;;
2139    small)
2140      AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2141      ;;
2142    line)
2143      AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2144      ;;
2145    none)
2146      AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2147      ;;
2148    *)
2149      AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2150      ;;
2151 esac
2152 EFL_ADD_FEATURE([EVAS], [fontconfig])
2153 EFL_ADD_FEATURE([EVAS], [fribidi])
2154 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2155 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2156 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2157 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2158
2159 EFL_LIB_END([Evas])
2160 #### End of Evas
2161
2162 #### Edje CXX
2163 EFL_LIB_START([Evas_Cxx])
2164
2165 EFL_EVAL_PKGS([EVAS_CXX])
2166
2167 EFL_LIB_END([Evas_Cxx])
2168 #### End of Edje CXX
2169
2170 #### Embryo
2171
2172 EFL_LIB_START([Embryo])
2173
2174 ### Default values
2175
2176 ### Additional options to configure
2177
2178 ### Checks for programs
2179
2180 ### Checks for libraries
2181 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2182 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2183
2184 EFL_ADD_LIBS([EMBRYO], [-lm])
2185
2186 ### Checks for header files
2187
2188 ### Checks for types
2189
2190 ### Checks for structures
2191
2192 ### Checks for compiler characteristics
2193
2194 ### Checks for linker characteristics
2195
2196 ### Checks for library functions
2197
2198 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2199    AC_MSG_ERROR([Cannot find fnmatch()])
2200 fi
2201
2202 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2203    AC_MSG_ERROR([Cannot find gettimeofday()])
2204 fi
2205
2206 ### Check availability
2207
2208 EFL_LIB_END([Embryo])
2209 #### End of Embryo
2210
2211
2212 #### Ecore
2213
2214 EFL_LIB_START([Ecore])
2215
2216 ### Additional options to configure
2217
2218 # glib
2219
2220 AC_ARG_WITH([glib],
2221    [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2222    [
2223     if test "x${withval}" = "xyes" ; then
2224        with_glib="yes"
2225     else
2226        if test "x${withval}" = "xalways" ; then
2227           with_glib="always"
2228        else
2229           with_glib="no"
2230        fi
2231     fi
2232    ],
2233    [with_glib="yes"])
2234
2235 AC_ARG_ENABLE([g-main-loop],
2236    [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2237    [
2238     if test "x${enableval}" = "xyes" ; then
2239        want_g_main_loop="yes"
2240        CFOPT_WARNING="xyes"
2241     else
2242        want_g_main_loop="no"
2243     fi
2244    ],
2245    [want_g_main_loop="no"])
2246
2247 AC_ARG_ENABLE([gstreamer],
2248    [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2249    [
2250     if test "x${enableval}" = "xyes" ; then
2251        want_gstreamer="yes"
2252        CFOPT_WARNING="xyes"
2253     else
2254        want_gstreamer="no"
2255     fi
2256    ],
2257    [want_gstreamer="no"])
2258
2259 AC_ARG_ENABLE([gstreamer1],
2260    [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2261    [
2262     if test "x${enableval}" = "xyes" ; then
2263        want_gstreamer1="yes"
2264     else
2265        want_gstreamer1="no"
2266        CFOPT_WARNING="xyes"
2267     fi
2268    ],
2269    [want_gstreamer1="yes"])
2270
2271 AC_ARG_ENABLE([tizen],
2272    [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2273    [
2274     if test "x${enableval}" = "xyes" ; then
2275        want_tizen="yes"
2276     else
2277        want_tizen="no"
2278     fi
2279    ],
2280    [want_tizen="no"])
2281
2282 if test "${want_tizen}" = "yes"; then
2283      PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2284       [vconf],
2285       [have_tizen_vconf="yes"],
2286       [have_tizen_vconf="no"])
2287   PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2288 fi
2289
2290 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2291 if test "${have_tizen_vconf}"  = "yes"; then
2292   AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2293 fi
2294
2295 ### Default values
2296
2297 if test "${have_windows}" = "yes"; then
2298    with_glib="no"
2299 fi
2300
2301 want_glib="no"
2302 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2303    want_glib="yes"
2304 fi
2305
2306 want_ecore_timer_dump="no"
2307 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2308    want_ecore_timer_dump="yes"
2309    AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2310 fi
2311
2312 ### Checks for programs
2313
2314 ### Checks for libraries
2315 EFL_PLATFORM_DEPEND([ECORE], [all])
2316 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2317 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2318 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2319
2320 EFL_ADD_LIBS([ECORE], [-lm])
2321
2322 # glib
2323
2324 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2325 if test "x${have_glib}" = "xno"; then
2326    want_g_main_loop="no"
2327 fi
2328
2329 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2330
2331 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2332 EFL_ADD_FEATURE([ECORE], [glib])
2333 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2334
2335 want_glib_integration_always=no
2336 if test "x${with_glib}" = "xalways" ; then
2337   want_glib_integration_always="yes"
2338   AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2339 fi
2340
2341 if test "x${want_g_main_loop}" = "xyes" ; then
2342   AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2343 fi
2344
2345 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2346 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2347    AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2348 fi
2349
2350 if test "${want_gstreamer1}" = "yes"; then
2351   PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2352 fi
2353 if test "${want_gstreamer}" = "yes"; then
2354   PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2355 fi
2356 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2357
2358 EFL_EVAL_PKGS([ECORE])
2359
2360 ### Checks for header files
2361
2362 AC_HEADER_SYS_WAIT
2363
2364 AC_CHECK_HEADERS([sys/socket.h])
2365
2366 AC_CHECK_HEADERS([ \
2367 arpa/inet.h \
2368 langinfo.h \
2369 features.h \
2370 netinet/in.h \
2371 netinet/tcp.h \
2372 sys/prctl.h \
2373 sys/resource.h \
2374 sys/timerfd.h \
2375 sys/un.h \
2376 ],[],[],
2377 [
2378  #ifdef HAVE_SYS_SOCKET_H
2379  # include <sys/socket.h>
2380  #endif
2381 ])
2382
2383 AC_CHECK_HEADERS([net/if.h], [], [],
2384 [#include <stdio.h>
2385 #if STDC_HEADERS
2386 # include <stdlib.h>
2387 # include <stddef.h>
2388 #else
2389 # if HAVE_STDLIB_H
2390 #  include <stdlib.h>
2391 # endif
2392 #endif
2393 #if HAVE_SYS_SOCKET_H
2394 # include <sys/socket.h>
2395 #endif
2396 ])
2397
2398 ### Checks for types
2399
2400 ### Checks for structures
2401
2402 ### Checks for compiler characteristics
2403
2404 ### Checks for linker characteristics
2405
2406 ### Checks for library functions
2407
2408 ## ecore
2409
2410 # isfinite
2411
2412 AC_COMPILE_IFELSE(
2413    [AC_LANG_PROGRAM(
2414        [[
2415 #include <math.h>
2416        ]],
2417        [[
2418 int i = isfinite(0);
2419        ]])],
2420    [
2421     AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2422     have_isfinite="yes"
2423    ],
2424    [have_isfinite="no"])
2425
2426 AC_MSG_CHECKING([for isfinite])
2427 AC_MSG_RESULT([${have_isfinite}])
2428
2429 # mallinfo, timerfd_create, clock_gettime
2430
2431 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2432
2433 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2434    AC_CHECK_LIB([rt], [clock_gettime],
2435       [
2436         EFL_ADD_LIBS([ECORE], [-lrt])
2437         AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2438        ])
2439 fi
2440
2441 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2442
2443 # coroutine function specific
2444
2445 AC_COMPILE_IFELSE(
2446    [AC_LANG_PROGRAM(
2447        [[
2448 #include <ucontext.h>
2449        ]],
2450        [[
2451 ucontext_t test;
2452 getcontext(&test);
2453        ]])],
2454    [have_ucontext="yes"],
2455    [have_ucontext="no"])
2456
2457 AC_MSG_CHECKING([for ucontext])
2458 AC_MSG_RESULT([${have_ucontext}])
2459
2460 AC_COMPILE_IFELSE(
2461    [AC_LANG_PROGRAM(
2462        [[
2463 #include <setjmp.h>
2464        ]],
2465        [[
2466 jmp_buf context;
2467 setjmp(&context);
2468        ]])],
2469    [have_setjmp="yes"],
2470    [have_setjmp="no"])
2471
2472 AC_MSG_CHECKING([for setjmp])
2473 AC_MSG_RESULT([${have_setjmp}])
2474
2475 if test "X${have_windows}" = "xyes"; then
2476    AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2477    EFL_ADD_FEATURE([system], [coroutine], [fiber])
2478 elif test "x${have_ucontext}" = "xyes"; then
2479    AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2480    EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2481 elif test "x${have_setjmp}" = "xyes"; then
2482    AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2483    EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2484 else
2485    AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2486 fi
2487
2488 ### Check availability
2489
2490 EFL_LIB_END([Ecore])
2491 #### End of Ecore
2492
2493 #### Ecore CXX
2494 EFL_LIB_START([Ecore_Cxx])
2495
2496 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2497 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2498 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2499 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2500
2501 EFL_EVAL_PKGS([ECORE_CXX])
2502
2503 EFL_LIB_END([Ecore_Cxx])
2504 #### End of Ecore CXX
2505
2506 #### Ecore_Con
2507
2508 EFL_LIB_START([Ecore_Con])
2509
2510 ### Default values
2511
2512 want_ecore_con_local_sockets="yes"
2513 want_ecore_con_abstract_sockets="yes"
2514
2515 if test "${have_win32}" = "yes"; then
2516    want_cares="yes"
2517    want_ecore_con_abstract_sockets="no"
2518 elif test "${have_darwin}" = "yes"; then
2519    want_cares="no"
2520    want_ecore_con_abstract_sockets="yes"
2521 elif test "${have_ps3}" = "yes"; then
2522    want_cares="no"
2523    want_ecore_con_local_sockets="no"
2524    want_ecore_con_abstract_sockets="no"
2525 else
2526    want_cares="no"
2527 fi
2528
2529 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2530    [test "x${want_ecore_con_local_sockets}" = "xyes"],
2531    [1], [Have local sockets support])
2532 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2533    [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2534    [1], [Have abstract sockets namespace])
2535
2536 ### Checks for programs
2537
2538 ### Checks for libraries
2539 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2540 if test "$build_crypto" != "none" ; then
2541    EFL_CRYPTO_DEPEND([ECORE_CON])
2542 fi
2543 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2544 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2545 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2546 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2547 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2548
2549 EFL_ADD_LIBS([ECORE_CON], [-lm])
2550
2551 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2552    [CARES], [libcares >= 1.6.1])
2553 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2554
2555 if test "x$have_cares" = "xyes" ; then
2556    ecore_con_resolver="cares"
2557 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2558    ecore_con_resolver="dns.c"
2559 else
2560    ecore_con_resolver="fork"
2561 fi
2562
2563 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2564
2565 EFL_ADD_FEATURE([ECORE_CON], [cares])
2566 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2567 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2568 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2569 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2570
2571 EFL_EVAL_PKGS([ECORE_CON])
2572
2573 ### Checks for header files
2574
2575 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2576
2577 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2578    AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2579 fi
2580
2581 ### Checks for types
2582
2583 have_ipv6="no"
2584 AC_CHECK_TYPES([struct ipv6_mreq],
2585    [have_ipv6="yes"],
2586    [have_ipv6="no"],
2587    [[
2588 #include <netinet/in.h>
2589 #ifdef HAVE_WS2TCPIP_H
2590 # include <ws2tcpip.h>
2591 #endif
2592 ]])
2593
2594 AC_DEFINE_IF([HAVE_IPV6],
2595    [test "x${have_ipv6}" = "xyes"],
2596    [1], [Define if IPV6 is supported])
2597 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2598
2599 ### Checks for structures
2600
2601 ### Checks for compiler characteristics
2602
2603 ### Checks for linker characteristics
2604
2605 ### Checks for library functions
2606
2607 EFL_LIB_END([Ecore_Con])
2608 #### End of Ecore_Con
2609
2610
2611 #### Ecore_Ipc
2612
2613 EFL_LIB_START([Ecore_Ipc])
2614
2615 ### Default values
2616
2617 ### Additional options to configure
2618
2619 ### Checks for programs
2620
2621 ## Compatibility layers
2622 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2623
2624 ### Checks for libraries
2625 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2626 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2627 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2628 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2629
2630 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2631
2632 ### Checks for header files
2633
2634 AC_CHECK_HEADERS([winsock2.h])
2635
2636 ### Checks for types
2637
2638 ### Checks for structures
2639
2640 ### Checks for compiler characteristics
2641
2642 ### Checks for linker characteristics
2643
2644 ### Checks for library functions
2645
2646 EFL_LIB_END([Ecore_Ipc])
2647 #### End of Ecore_Ipc
2648
2649
2650 #### Ecore_File
2651
2652 EFL_LIB_START([Ecore_File])
2653
2654 ### Additional options to configure
2655
2656 ### Default values
2657
2658 ### Checks for programs
2659
2660 ## Compatibility layers
2661 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2662
2663 ### Checks for libraries
2664 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2665 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2666 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2667 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2668 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2669
2670 ### Checks for header files
2671
2672 ### Checks for types
2673
2674 ### Checks for structures
2675
2676 ### Checks for compiler characteristics
2677
2678 ### Checks for linker characteristics
2679
2680 ### Checks for library functions
2681
2682 EFL_LIB_END([Ecore_File])
2683 #### End of Ecore_File
2684
2685
2686 #### Ecore_Input
2687 EFL_LIB_START([Ecore_Input])
2688
2689 ### Additional options to configure
2690
2691 ### Default values
2692
2693 ### Checks for programs
2694
2695 ## Compatibility layers
2696 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2697
2698 ### Checks for libraries
2699 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2700 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2701 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2702
2703 ### Checks for header files
2704
2705 ### Checks for types
2706
2707 ### Checks for structures
2708
2709 ### Checks for compiler characteristics
2710
2711 ### Checks for linker characteristics
2712
2713 ### Checks for library functions
2714
2715 EFL_LIB_END([Ecore_Input])
2716 #### End of Ecore_Input
2717
2718
2719 #### Ecore_Input_Evas
2720 EFL_LIB_START([Ecore_Input_Evas])
2721
2722 ### Additional options to configure
2723
2724 ### Default values
2725
2726 ### Checks for programs
2727
2728 ## Compatibility layers
2729 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2730
2731 ### Checks for libraries
2732 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2733 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2734 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2735 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2736 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2737 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2738 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2739
2740 ### Checks for header files
2741
2742 ### Checks for types
2743
2744 ### Checks for structures
2745
2746 ### Checks for compiler characteristics
2747
2748 ### Checks for linker characteristics
2749
2750 ### Checks for library functions
2751
2752 EFL_LIB_END([Ecore_Input_Evas])
2753 #### End of Ecore_Input_Evas
2754
2755
2756 #### Ecore_Cocoa
2757 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2758
2759 ### Additional options to configure
2760
2761 ### Default values
2762
2763 ### Checks for programs
2764
2765 ### Checks for libraries
2766 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2767 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2768 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2769 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2770
2771 ### Checks for header files
2772
2773 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2774
2775 ### Checks for types
2776
2777 ### Checks for structures
2778
2779 ### Checks for compiler characteristics
2780
2781 ### Checks for linker characteristics
2782
2783 ### Checks for library functions
2784
2785 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2786 #### End of Ecore_Cocoa
2787
2788
2789 #### Ecore_FB
2790 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2791
2792 ### Additional options to configure
2793 AC_ARG_ENABLE([tslib],
2794    [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2795    [
2796     if test "x${enableval}" = "xyes" ; then
2797        want_tslib="yes"
2798     else
2799        want_tslib="no"
2800     fi
2801    ], [want_tslib="yes"])
2802
2803 ### Default values
2804
2805 ### Checks for programs
2806
2807 ### Checks for libraries
2808 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2809 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2810 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2811 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2812
2813 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2814 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2815
2816 EFL_EVAL_PKGS([ECORE_FB])
2817
2818 ### Checks for header files
2819
2820 have_ecore_fb="no"
2821 AC_CHECK_HEADER([linux/fb.h],
2822    [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2823 if test "${have_ecore_fb}" = "no"; then
2824    AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2825 fi
2826
2827 ### Checks for types
2828
2829 ### Checks for structures
2830
2831 ### Checks for compiler characteristics
2832
2833 ### Checks for linker characteristics
2834
2835 ### Checks for library functions
2836
2837 EFL_LIB_END_OPTIONAL([Ecore_FB])
2838 #### End of Ecore_FB
2839
2840
2841 #### Ecore_Psl1ght
2842 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2843
2844 ### Additional options to configure
2845
2846 ### Default values
2847
2848 ### Checks for programs
2849
2850 ### Checks for libraries
2851 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2852
2853 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2854 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2855 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2856 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2857
2858 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2859
2860 ### Checks for header files
2861
2862 ### Checks for types
2863
2864 ### Checks for structures
2865
2866 ### Checks for compiler characteristics
2867
2868 ### Checks for linker characteristics
2869
2870 ### Checks for library functions
2871
2872 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2873 #### End of Ecore_Psl1ght
2874
2875
2876 #### Ecore_SDL
2877 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2878
2879 ### Additional options to configure
2880
2881 ### Default values
2882
2883 ### Checks for programs
2884
2885 ### Checks for libraries
2886 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2887 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2888 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2889 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2890 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2891
2892 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2893
2894 EFL_EVAL_PKGS([ECORE_SDL])
2895
2896 ### Checks for header files
2897
2898 ### Checks for types
2899
2900 ### Checks for structures
2901
2902 ### Checks for compiler characteristics
2903
2904 ### Checks for linker characteristics
2905
2906 ### Checks for library functions
2907
2908 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2909 #### End of Ecore_SDL
2910
2911
2912 #### Ecore_Wayland
2913 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2914
2915 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2916    AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2917 fi
2918
2919 ### Additional options to configure
2920
2921 ### Default values
2922
2923 ### Checks for programs
2924
2925 ### Checks for libraries
2926 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2927 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2928 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2929 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2930
2931 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2932    [wayland-client >= 1.3.0 wayland-cursor >= 1.3.0 xkbcommon >= 0.3.0])
2933
2934 EFL_EVAL_PKGS([ECORE_WAYLAND])
2935
2936 ### Checks for header files
2937
2938 ### Checks for types
2939
2940 ### Checks for structures
2941
2942 ### Checks for compiler characteristics
2943
2944 ### Checks for linker characteristics
2945
2946 ### Checks for library functions
2947
2948 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2949 #### End of Ecore_Wayland
2950
2951 #### Eldbus
2952 EFL_LIB_START([Eldbus])
2953
2954 ### Additional options to configure
2955
2956 ### Default values
2957
2958 ### Checks for programs
2959
2960 ## Compatibility layers
2961 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
2962
2963 ### Checks for libraries
2964 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
2965 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
2966 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
2967
2968 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
2969
2970 EFL_EVAL_PKGS([ELDBUS])
2971
2972 ### Checks for header files
2973
2974 ### Checks for types
2975
2976 ### Checks for structures
2977
2978 ### Checks for compiler characteristics
2979
2980 ### Checks for linker characteristics
2981
2982 ### Checks for library functions
2983
2984 EFL_LIB_END([Eldbus])
2985 #### End of Eldbus
2986
2987
2988 #### Eeze
2989 have_libmount_new="no"
2990 have_libmount_old="no"
2991 have_eeze_mount="no"
2992
2993 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
2994
2995 ### Additional options to configure
2996 AC_ARG_WITH([mount],
2997   [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
2998   [with_eeze_mount=$withval], [with_eeze_mount="detect"])
2999 AC_ARG_WITH([umount],
3000   [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3001   [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3002 AC_ARG_WITH([eject],
3003   [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3004   [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3005
3006 ### Default values
3007
3008 ### Checks for programs
3009
3010 ### Checks for libraries
3011 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3012 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3013 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3014 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3015 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3016 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3017 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3018
3019 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3020
3021 AC_ARG_ENABLE([libmount],
3022    [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3023    [
3024     if test "x${enableval}" = "xyes" ; then
3025        want_libmount="yes"
3026     else
3027        want_libmount="no"
3028        CFOPT_WARNING="xyes"
3029     fi
3030    ],
3031    [want_libmount="yes"])
3032
3033 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3034    [EEZE_MOUNT], [mount >= 2.18.0])
3035 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3036
3037 PKG_CHECK_EXISTS([libudev < 199],
3038                  [have_libudev_old="yes"],
3039                  [have_libudev_old="no"])
3040 AC_MSG_CHECKING([Use old libudev API (before 199)])
3041 AC_MSG_RESULT([${have_libudev_old}])
3042
3043 PKG_CHECK_EXISTS([mount < 2.19.0],
3044                  [have_libmount_old="yes"],
3045                  [have_libmount_old="no"])
3046 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3047 AC_MSG_RESULT([${have_libmount_old}])
3048
3049 PKG_CHECK_EXISTS([mount == 2.19.0],
3050                  [have_libmount_219="yes"],
3051                  [have_libmount_219="no"])
3052 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3053 AC_MSG_RESULT([${have_libmount_219}])
3054
3055 PKG_CHECK_EXISTS([mount > 2.19.0],
3056                  [have_libmount_new="yes"],
3057                  [have_libmount_new="no"])
3058 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3059 AC_MSG_RESULT([${have_libmount_new}])
3060
3061 if test "x${have_libudev_old}" = "xyes"; then
3062   AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3063 fi
3064
3065 if test "x${have_libmount_old}" = "xyes"; then
3066   AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3067 fi
3068
3069 ## modules
3070 if test "${want_tizen}"  = "yes"; then
3071   PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3072 fi
3073 EFL_ADD_FEATURE([EEZE], [tizen])
3074
3075 EFL_EVAL_PKGS([EEZE])
3076
3077 ### Checks for header files
3078
3079 ### Checks for types
3080
3081 ### Checks for structures
3082
3083 ### Checks for compiler characteristics
3084
3085 ### Checks for linker characteristics
3086
3087 ### Checks for library functions
3088
3089 ### Checks for binaries
3090 if test "x$with_eeze_mount" = "xdetect"; then
3091   AC_PATH_PROG([with_eeze_mount], [mount], [])
3092 fi
3093 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3094
3095 if test "x$with_eeze_umount" = "xdetect";then
3096   AC_PATH_PROG([with_eeze_umount], [umount], [])
3097 fi
3098 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3099
3100 if test "x$with_eeze_eject" = "xdetect";then
3101   AC_PATH_PROG([with_eeze_eject], [eject], [])
3102 fi
3103 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3104
3105 EFL_LIB_END_OPTIONAL([Eeze])
3106
3107 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3108                [test "x${have_libmount_new}" = "xyes"])
3109 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3110                [test "x${have_libmount_old}" = "xyes"])
3111 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3112 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3113 #### End of Eeze
3114
3115
3116 #### Ecore_Drm
3117 have_libinput_new="no"
3118 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3119
3120 ### Additional options to configure
3121 SUID_CFLAGS=-fPIE
3122 SUID_LDFLAGS=-pie
3123 AC_SUBST([SUID_CFLAGS])
3124 AC_SUBST([SUID_LDFLAGS])
3125
3126 ### Default values
3127
3128 ### Checks for programs
3129
3130 ### Checks for libraries
3131 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3132 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3133 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3134 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3135 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3136 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3137
3138 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3139 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3140
3141 # API change from 0.7 to 0.8. So we define this to support both for now.
3142 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3143                  [have_libinput_new="yes"],
3144                  [have_libinput_new="no"])
3145 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3146 AC_MSG_RESULT([${have_libinput_new}])
3147 if test "x${have_libinput_new}" = "xyes";then
3148   AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3149 fi
3150 if test "x${have_libinput_new}" = "xno";then
3151   AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3152 fi
3153
3154
3155 EFL_EVAL_PKGS([ECORE_DRM])
3156
3157 ### Checks for header files
3158
3159 ### Checks for types
3160
3161 ### Checks for structures
3162
3163 ### Checks for compiler characteristics
3164
3165 ### Checks for linker characteristics
3166
3167 ### Checks for library functions
3168
3169 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3170 #### End of Ecore_Drm
3171
3172
3173 #### Ecore_Audio
3174
3175 AC_ARG_ENABLE([audio],
3176    [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3177    [
3178     if test "x${enableval}" = "xyes" ; then
3179        want_audio="yes"
3180     else
3181        want_audio="no"
3182        CFOPT_WARNING="xyes"
3183     fi
3184    ],
3185    [want_audio="yes"])
3186
3187 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3188
3189 ### Additional options to configure
3190
3191 # ALSA support is still not there, thus no option for it yet.
3192 want_alsa="no"
3193
3194 # sndfile is mandatory otherwise it won't read from/write to files.
3195 # TODO: if confirmed sndfile is mandatory, remove this variable
3196 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3197 want_sndfile="yes"
3198
3199 AC_ARG_ENABLE([pulseaudio],
3200    [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3201    [
3202     if test "x${enableval}" = "xyes" ; then
3203        want_pulseaudio="yes"
3204     else
3205        want_pulseaudio="no"
3206        CFOPT_WARNING="xyes"
3207     fi
3208    ],
3209    [want_pulseaudio="yes"])
3210
3211
3212 ### Default values
3213
3214 ### Checks for programs
3215
3216 ## Compatibility layers
3217 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3218
3219 ### Checks for libraries
3220 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3221 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3222 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3223 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3224 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3225
3226 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3227
3228 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3229 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3230 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3231
3232 EFL_EVAL_PKGS([ECORE_AUDIO])
3233
3234 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3235 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3236 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3237
3238 ### Checks for header files
3239
3240 ### Checks for types
3241
3242 ### Checks for structures
3243
3244 ### Checks for compiler characteristics
3245
3246 ### Checks for linker characteristics
3247
3248 ### Checks for library functions
3249
3250 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3251 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3252 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3253
3254 #### End of Ecore_Audio
3255
3256 #### Ecore Audio CXX
3257 EFL_LIB_START([Ecore_Audio_Cxx])
3258
3259 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3260
3261 EFL_LIB_END([Ecore_Audio_Cxx])
3262 #### End of Ecore Audio CXX
3263
3264 #### Ecore_Win32
3265 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3266
3267 ### Additional options to configure
3268
3269 ### Default values
3270
3271 ### Checks for programs
3272
3273 ### Checks for libraries
3274 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3275 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3276 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3277 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3278 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3279
3280 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3281 AC_SUBST([ECORE_WIN32_LIBS])
3282
3283 ### Checks for header files
3284
3285 ### Checks for types
3286
3287 ### Checks for structures
3288
3289 ### Checks for compiler characteristics
3290
3291 ### Checks for linker characteristics
3292
3293 ### Checks for library functions
3294
3295 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3296 #### End of Ecore_Win32
3297
3298 #### Ecore_Avahi
3299
3300 EFL_LIB_START([Ecore_Avahi])
3301
3302 ### Default values
3303
3304 ### Additional options to configure
3305
3306 want_avahi="yes"
3307
3308 AC_ARG_ENABLE([avahi],
3309    [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3310    [
3311     if test "x${enableval}" = "xyes" ; then
3312        want_avahi="yes"
3313     else
3314        want_avahi="no"
3315     fi
3316    ], [
3317     want_avahi="yes"
3318    ])
3319
3320 ### Checks for programs
3321
3322 ## Compatibility layers
3323 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3324
3325 ### Checks for libraries
3326 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3327 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3328 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3329
3330 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3331
3332 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3333
3334 # Needed bu example as they use avahi directly in that case
3335 if test "x${have_avahi}" = "xyes"; then
3336    PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3337 fi
3338
3339 EFL_EVAL_PKGS([ECORE_AVAHI])
3340
3341 ### Checks for header files
3342
3343 ### Checks for types
3344
3345 ### Checks for structures
3346
3347 ### Checks for compiler characteristics
3348
3349 ### Checks for linker characteristics
3350
3351 ### Checks for library functions
3352
3353 EFL_LIB_END([Ecore_Avahi])
3354
3355 #### End of Ecore_Avahi
3356
3357
3358 #### Ecore_X
3359 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3360
3361 ### Additional options to configure
3362
3363 AC_ARG_ENABLE([gesture],
3364    [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3365    [
3366     if test "x${enableval}" = "xyes" ; then
3367        want_gesture="yes"
3368     else
3369        want_gesture="no"
3370     fi
3371    ],
3372    [want_gesture="no"])
3373
3374 AC_ARG_ENABLE([xpresent],
3375    [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3376    [
3377     if test "x${enableval}" = "xyes" ; then
3378        want_xpresent="yes"
3379     else
3380        want_xpresent="no"
3381     fi
3382    ],
3383    [want_xpresent="no"])
3384
3385 AC_ARG_ENABLE([xinput2],
3386    [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3387    [
3388     if test "x${enableval}" = "xyes" ; then
3389        want_xinput2="yes"
3390     else
3391        want_xinput2="no"
3392        CFOPT_WARNING="xyes"
3393     fi
3394    ],
3395    [want_xinput2="yes"])
3396
3397 AC_ARG_ENABLE([xinput22],
3398    [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3399    [
3400     if test "x${enableval}" = "xyes" ; then
3401        want_xinput22="yes"
3402     else
3403        want_xinput22="no"
3404     fi
3405    ],
3406    [want_xinput22="no"])
3407
3408 AC_ARG_ENABLE([xim],
3409    [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3410    [
3411     if test "x${enableval}" = "xyes" ; then
3412        want_xim="yes"
3413     else
3414        want_xim="no"
3415        CFOPT_WARNING="xyes"
3416     fi
3417    ],
3418    [want_xim="yes"])
3419
3420 AC_ARG_ENABLE([scim],
3421    [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3422    [
3423     if test "x${enableval}" = "xyes" ; then
3424        want_scim="yes"
3425     else
3426        want_scim="no"
3427        CFOPT_WARNING="xyes"
3428     fi
3429    ],
3430    [want_scim="yes"])
3431
3432 AC_ARG_ENABLE([ibus],
3433    [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3434    [
3435     if test "x${enableval}" = "xyes" ; then
3436        want_ibus="yes"
3437     else
3438        want_ibus="no"
3439     fi
3440    ],
3441    [want_ibus="yes"])
3442
3443 ### Default values
3444
3445 ### Checks for programs
3446
3447 ### Checks for libraries
3448 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3449 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3450 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3451 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3452
3453 ## Xlib
3454
3455 ## XCB
3456
3457 ### Checks for header files
3458
3459 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3460
3461 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3462    FOUND_MAXHOSTNAMELEN="not found"
3463
3464    AC_COMPILE_IFELSE(
3465       [
3466        AC_LANG_PROGRAM(
3467           [[
3468 #include <sys/param.h>
3469           ]],
3470           [[
3471 int h = MAXHOSTNAMELEN;
3472           ]])
3473       ],
3474       [
3475        FOUND_MAXHOSTNAMELEN="sys/param.h"
3476        AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3477       ])
3478
3479    AC_COMPILE_IFELSE(
3480       [
3481        AC_LANG_PROGRAM(
3482           [[
3483 #include <netdb.h>
3484           ]],
3485           [[
3486 int h = MAXHOSTNAMELEN;
3487           ]])
3488       ],
3489       [
3490        FOUND_MAXHOSTNAMELEN="netdb.h"
3491        AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3492       ])
3493
3494    AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3495    AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3496 fi
3497
3498 ## Xlib
3499 if test "x${want_x11_xcb}" = "xyes" ; then
3500    KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3501    FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3502    for i in $FILES; do
3503        if test -f "$KEYSYMDEFDIR/$i"; then
3504          KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3505        elif test "x$i" = "xkeysymdef.h"; then
3506          AC_MSG_ERROR([Cannot find keysymdef.h])
3507        fi
3508    done
3509    AC_MSG_CHECKING([keysym definitions])
3510    AC_MSG_RESULT([$KEYSYMDEFS])
3511    AC_SUBST([KEYSYMDEFS])
3512 fi
3513
3514 ### Checks for types
3515
3516 ### Checks for structures
3517
3518 ### Checks for compiler characteristics
3519
3520 ### Checks for linker characteristics
3521
3522 ### Checks for library functions
3523
3524 ## Xlib
3525 if test "x${want_x11_xlib}" = "xyes"; then
3526    EFL_FIND_X(ECORE_X_XLIB,
3527      [X11/Xlib.h X11/Xcursor/Xcursor.h],
3528      [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3529      [
3530        use_Xcursor="yes"
3531        AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3532        EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3533        EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3534      ],[
3535        AC_MSG_ERROR([Xcursor is missing])
3536      ])
3537 fi
3538
3539 if test "x${want_x11_xlib}" = "xyes" ; then
3540    ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3541    ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3542    ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3543    ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3544    ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3545    ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3546    ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
3547    ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3548    ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3549    ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3550    ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3551
3552    PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3553
3554    if test "${want_xpresent}" = "yes"; then
3555       ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3556    fi
3557    EFL_ADD_FEATURE([ECORE_X], [xpresent])
3558
3559    if test "${want_gesture}" = "yes"; then
3560       ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3561    fi
3562    EFL_ADD_FEATURE([ECORE_X], [gesture])
3563
3564    if test "${want_xinput2}" = "yes"; then
3565       ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3566    fi
3567    EFL_ADD_FEATURE([ECORE_X], [xinput2])
3568
3569    if test "${want_xinput22}" = "yes"; then
3570       ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3571    fi
3572    EFL_ADD_FEATURE([ECORE_X], [xinput22])
3573
3574    AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3575    HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3576
3577    EFL_EVAL_PKGS([ECORE_X])
3578    EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3579 fi
3580
3581 ## XCB
3582
3583 if test "${want_x11_xcb}" = "yes"; then
3584 dnl note: added pixman-1 as ecore_xcb_region uses that
3585    EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3586       [x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8 xcb-composite xcb-present xcb-damage xcb-dpms xcb-randr xcb-render xcb-screensaver xcb-shape xcb-sync xcb-xfixes xcb-xinerama xcb-xtest xcb-renderutil pixman-1])
3587
3588 dnl TODO: remove these ifdefs from code!
3589    AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3590    AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3591    AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3592    AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3593    AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3594    AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3595    AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3596    AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3597    AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3598    AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3599    AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3600    AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3601
3602    EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3603       [xcb-present])
3604    AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3605       [1], [Build support for XCB Present])
3606    EFL_ADD_FEATURE([ECORE_X], [xpresent])
3607
3608    EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3609       [xcb-gesture])
3610    AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3611       [1], [Build support for XCB xgesture])
3612
3613    EFL_ADD_FEATURE([ECORE_X], [gesture])
3614
3615 dnl input extension disabled currently in xcb as xcb-input has some issues
3616 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3617 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3618
3619 dnl dri extension disabled currently in xcb
3620 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3621 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3622
3623    EFL_EVAL_PKGS([ECORE_X])
3624    EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3625
3626    HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3627 fi
3628
3629 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3630
3631 AC_SUBST([HAVE_ECORE_X_BACKEND])
3632
3633 EFL_LIB_END_OPTIONAL([Ecore_X])
3634
3635 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3636 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3637 #### End of Ecore_X
3638
3639
3640 #### Ecore_Imf
3641 EFL_LIB_START([Ecore_Imf])
3642
3643 ### Additional options to configure
3644
3645 ### Default values
3646
3647 want_ecore_imf="yes"
3648 want_ecore_imf_xim="no"
3649 want_ecore_imf_scim="no"
3650 want_ecore_imf_ibus="no"
3651 want_ecore_imf_wayland="no"
3652 want_ecore_imf="yes"
3653
3654 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3655    want_ecore_imf="yes"
3656    want_ecore_imf_xim="yes"
3657    want_ecore_imf_scim="yes"
3658    want_ecore_imf_ibus="yes"
3659    if test "${want_wayland}" = "yes"; then
3660       want_ecore_imf_wayland="yes"
3661    fi
3662 fi
3663
3664 ### Checks for programs
3665
3666 ## Compatibility layers
3667 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3668
3669 ### Checks for libraries
3670 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3671 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3672 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3673 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3674 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3675
3676 if test "x${want_ecore_imf}" = "xyes" ; then
3677    AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3678 fi
3679
3680 ## modules
3681
3682 # ibus
3683
3684 have_ecore_imf_ibus="no"
3685 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3686    PKG_CHECK_MODULES([IBUS],
3687       [ibus-1.0 >= 1.4 glib-2.0],
3688       [
3689        have_ecore_imf_ibus="yes"
3690        AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3691       ],
3692       [have_ecore_imf_ibus="no"])
3693 fi
3694
3695 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3696 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3697
3698 # scim
3699
3700 have_ecore_imf_scim="no"
3701 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3702    PKG_CHECK_MODULES([SCIM],
3703       [scim],
3704       [
3705        have_ecore_imf_scim="yes"
3706        AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3707       ],
3708       [have_ecore_imf_scim="no"])
3709 fi
3710
3711 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3712 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3713
3714 # xim
3715
3716 have_ecore_imf_xim="no"
3717 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3718
3719  EFL_FIND_X(ecore_imf_xim,
3720    [X11/Xlib.h],
3721    [X11 XOpenIM],
3722    [
3723      have_ecore_imf_xim=yes
3724      AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3725    ])
3726 fi
3727
3728 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3729 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3730
3731 # wayland
3732 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3733    PKG_CHECK_MODULES([WAYLAND],
3734       [wayland-client >= 1.2.0],
3735       [
3736        have_ecore_imf_wayland="yes"
3737        AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3738       ],
3739       [have_ecore_imf_wayland="no"])
3740 fi
3741
3742 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3743 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3744
3745 ### Checks for header files
3746
3747 ### Checks for types
3748
3749 ### Checks for structures
3750
3751 ### Checks for compiler characteristics
3752
3753 ### Checks for linker characteristics
3754
3755 ### Checks for library functions
3756
3757 EFL_LIB_END([Ecore_Imf])
3758 #### End of Ecore_Imf
3759
3760
3761 #### Ecore_Imf_Evas
3762 EFL_LIB_START([Ecore_Imf_Evas])
3763
3764 ### Additional options to configure
3765
3766 ### Default values
3767
3768 ### Checks for programs
3769
3770 ## Compatibility layers
3771 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3772
3773 ### Checks for libraries
3774 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3775 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3776 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3777 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3778 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3779 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3780 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3781 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3782
3783 ### Checks for header files
3784
3785 ### Checks for types
3786
3787 ### Checks for structures
3788
3789 ### Checks for compiler characteristics
3790
3791 ### Checks for linker characteristics
3792
3793 ### Checks for library functions
3794
3795 EFL_LIB_END([Ecore_Imf_Evas])
3796 #### End of Ecore_Imf_Evas
3797
3798
3799 #### Ecore_Evas
3800 EFL_LIB_START([Ecore_Evas])
3801
3802 ### Additional options to configure
3803
3804 ### Default values
3805
3806 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3807 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3808 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3809 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3810 want_ecore_evas_extn="yes"
3811 want_ecore_evas_drm="${have_evas_engine_drm}"
3812
3813 if test "x${have_ecore_ipc}" = "xno" || \
3814    test "x${efl_func_shm_open}" = "xno" || \
3815    test "x${have_windows}" = "xyes" ; then
3816    want_ecore_evas_extn="no"
3817 fi
3818
3819 ### Checks for programs
3820
3821 ## Compatibility layers
3822 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3823
3824 ### Checks for libraries
3825 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3826 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3827 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3828 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3829 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3830 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3831 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3832 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3833 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3834
3835 ## modules
3836 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3837 ECORE_EVAS_MODULE([ews], [yes])
3838 ECORE_EVAS_MODULE([fb], [${want_fb}])
3839 ECORE_EVAS_MODULE([drm], [${want_drm}], 
3840   [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3841 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3842   [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3843 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3844
3845 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3846
3847 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3848 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3849
3850 build_ecore_evas_sdl="no"
3851 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3852    test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3853    build_ecore_evas_sdl="yes"
3854    AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3855 fi
3856 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3857    [test "${build_ecore_evas_sdl}" = "yes"])
3858
3859 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3860 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3861
3862 build_ecore_evas_wayland="no"
3863 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3864    test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3865    build_ecore_evas_wayland="yes"
3866    AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3867 fi
3868 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3869    [test "${build_ecore_evas_wayland}" = "yes"])
3870
3871 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3872 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3873
3874 build_ecore_evas_win32="no"
3875 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3876    test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3877    build_ecore_evas_win32="yes"
3878    AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3879 fi
3880 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3881    [test "${build_ecore_evas_win32}" = "yes"])
3882
3883
3884 # XXX TODO: ecore_evas_x11
3885
3886 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3887
3888 have_ecore_evas_software_xlib="no"
3889 have_ecore_evas_software_xcb="no"
3890 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3891    have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3892    if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3893       have_ecore_evas_software_xlib="yes"
3894    fi
3895    if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3896       AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3897    fi
3898    have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3899    if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3900       have_ecore_evas_software_xcb="yes"
3901    fi
3902    if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3903       AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3904    fi
3905 fi
3906
3907 # XXX TODO: ecore_evas_opengl_x11
3908
3909 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
3910
3911 have_ecore_evas_opengl_xlib="no"
3912 have_ecore_evas_opengl_xcb="no"
3913 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
3914    have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
3915    if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
3916       AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
3917    fi
3918
3919 # opengl does not work with xcb (yet)
3920    have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
3921    if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
3922       have_ecore_evas_opengl_xcb="yes"
3923    fi
3924    if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
3925       PKG_CHECK_MODULES([XCB_X11],
3926          [x11-xcb],
3927          [
3928           have_ecore_x_opengl_xcb="yes"
3929           requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
3930           AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
3931           AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
3932          ],
3933          [have_ecore_x_opengl_xcb="no"])
3934     else
3935       have_ecore_x_opengl_xcb="no"
3936       AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
3937     fi
3938 fi
3939
3940 build_ecore_evas_x11="no"
3941 if test "x$have_ecore_evas_software_x11" = "xyes" || \
3942    test "x$have_ecore_evas_opengl_x11" = "xyes" || \
3943    test "x$have_ecore_evas_software_xcb" = "xyes"; then
3944    AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
3945    build_ecore_evas_x11="yes"
3946 fi
3947 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
3948
3949 EFL_EVAL_PKGS([ECORE_EVAS])
3950
3951 ### Checks for header files
3952
3953 ### Checks for types
3954
3955 ### Checks for structures
3956
3957 ### Checks for compiler characteristics
3958
3959 ### Checks for linker characteristics
3960
3961 ### Checks for library functions
3962
3963 EFL_LIB_END([Ecore_Evas])
3964 #### End of Ecore_Evas
3965
3966 #### Eio
3967 EFL_LIB_START([Eio])
3968
3969 ### Additional options to configure
3970
3971 ### Default values
3972
3973 ### Checks for programs
3974
3975 ## Compatibility layers
3976 EFL_PLATFORM_DEPEND([EIO], [evil])
3977
3978 ### Checks for libraries
3979 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
3980 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
3981 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
3982 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
3983 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
3984
3985 EFL_ADD_LIBS([EIO], [-lm])
3986
3987 ### Checks for header files
3988
3989 ### Checks for types
3990
3991 ### Checks for structures
3992
3993 ### Checks for compiler characteristics
3994
3995 ### Checks for linker characteristics
3996
3997 ### Checks for library functions
3998 have_inotify="${ac_cv_header_sys_inotify_h}"
3999 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4000
4001 have_notify_win32="${have_win32}"
4002 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4003    [test "x${have_notify_win32}" = "xyes"], [1],
4004    [File monitoring with Windows notification])
4005 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4006
4007 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4008    [test "x${have_darwin}" = "xyes"], [1],
4009    [File monitoring with fsevent notification])
4010 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4011
4012
4013 EFL_LIB_END([Eio])
4014 dnl TODO: remove these ifdefs from code!
4015 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4016 #### End of Eio
4017
4018 # Eo Id
4019 if test "x${want_eo_id}" = "xyes" ; then
4020    AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4021 fi
4022
4023
4024 #### Efreet
4025 EFL_LIB_START([Efreet])
4026
4027 ### Additional options to configure
4028
4029 ### Default values
4030
4031 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4032
4033 ### Checks for programs
4034
4035 ## Compatibility layers
4036 EFL_PLATFORM_DEPEND([EFREET], [evil])
4037
4038 ### Checks for libraries
4039 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4040 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4041 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4042 EFL_INTERNAL_DEPEND_PKG([EFREET], [eldbus])
4043 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4044 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4045 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4046
4047 ### Checks for header files
4048
4049 ### Checks for types
4050
4051 ### Checks for structures
4052
4053 ### Checks for compiler characteristics
4054
4055 ### Checks for linker characteristics
4056
4057 ### Checks for library functions
4058
4059 EFL_LIB_END([Efreet])
4060 #### End of Efreet
4061
4062
4063 #### EPhysics
4064 AC_ARG_ENABLE([physics],
4065    [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4066    [
4067     if test "x${enableval}" = "xyes" ; then
4068        want_physics="yes"
4069     else
4070        CFOPT_WARNING="xyes"
4071        want_physics="no"
4072     fi
4073    ],
4074    [want_physics="yes"])
4075
4076 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4077
4078 ### Additional options to configure
4079
4080 ### Default values
4081
4082 ### Checks for programs
4083
4084 ### Checks for libraries
4085 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4086
4087 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4088 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4089 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4090 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4091 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4092 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4093
4094 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4095
4096 EFL_EVAL_PKGS([EPHYSICS])
4097
4098 ### Checks for header files
4099
4100 ### Checks for types
4101
4102 ### Checks for structures
4103
4104 ### Checks for compiler characteristics
4105
4106 ### Checks for linker characteristics
4107
4108 ### Checks for library functions
4109
4110 EFL_LIB_END_OPTIONAL([EPhysics])
4111 #### End of EPhysics
4112
4113
4114 #### Edje
4115 EFL_LIB_START([Edje])
4116
4117 ### Additional options to configure
4118
4119 ### Default values
4120 want_multisense="${want_pulseaudio}"
4121 AC_ARG_ENABLE([multisense],
4122    [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=enabled@:>@])],
4123    [
4124     if test "x${enableval}" = "xyes" ; then
4125        want_multisense="yes"
4126     else
4127        want_multisense="no"
4128        CFOPT_WARNING="xyes"
4129     fi
4130    ],
4131    [want_multisense="${want_pulseaudio}"])
4132
4133 # TODO: should we keep or remove these?
4134 want_edje_program_cache="no"
4135 want_edje_calc_cache="yes"
4136 want_fixed_point="no"
4137
4138 ### Checks for programs
4139
4140 ### Checks for libraries
4141 EFL_PLATFORM_DEPEND([EDJE], [evil])
4142
4143 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4144 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4145 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4146 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4147 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4148 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4149 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4150 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4151 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4152 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4153 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4154 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4155 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4156 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4157
4158 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4159 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4160
4161 EFL_ADD_FEATURE([EDJE], [physics])
4162 EFL_ADD_FEATURE([EDJE], [multisense])
4163 EFL_ADD_FEATURE([EDJE], [lua-old])
4164
4165 if test "${want_lua_old}" = "yes"; then
4166    EFL_CHECK_LUA_OLD([EDJE])
4167 else
4168    EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4169 fi
4170
4171 EFL_ADD_LIBS([EDJE], [-lm])
4172
4173 EFL_EVAL_PKGS([EDJE])
4174
4175 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4176    [1], [Cache result of program glob matches])
4177 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4178    [1], [Cache result of calc glob matches])
4179 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4180    [1], [Use Fixed Point instead of FPU])
4181
4182 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4183 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4184   [1], [Use Multisense])
4185 AC_SUBST([want_multisense])
4186 AC_SUBST([want_physics])
4187
4188 ### Checks for header files
4189
4190 AC_CHECK_HEADERS([ \
4191 sys/wait.h \
4192 ])
4193
4194 ### Checks for types
4195
4196 ### Checks for structures
4197
4198 ### Checks for compiler characteristics
4199
4200 ### Checks for linker characteristics
4201
4202 ### Checks for library functions
4203
4204 EFL_LIB_END([Edje])
4205 #### End of Edje
4206
4207 #### Edje CXX
4208 EFL_LIB_START([Edje_Cxx])
4209
4210 EFL_EVAL_PKGS([EDJE_CXX])
4211
4212 EFL_LIB_END([Edje_Cxx])
4213 #### End of Edje CXX
4214
4215 #### Emotion
4216 EFL_LIB_START([Emotion])
4217
4218 ## Compatibility layers
4219 EFL_PLATFORM_DEPEND([Emotion], [evil])
4220
4221 ### Default values
4222 if test "${efl_func_shm_open}" = "yes"; then
4223    want_emotion_generic="static"
4224 else
4225    want_emotion_generic="no"
4226 fi
4227
4228 ### Additional options to configure
4229 AC_ARG_ENABLE([xine],
4230    [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4231    [
4232     if test "x${enableval}" = "xyes" ; then
4233        want_xine="yes"
4234     else
4235        want_xine="no"
4236     fi
4237    ],
4238    [want_xine="no"])
4239
4240 AC_ARG_ENABLE([v4l2],
4241    [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4242    [
4243     if test "x${enableval}" = "xyes" ; then
4244        want_v4l2="yes"
4245     else
4246        want_v4l2="no"
4247     fi
4248    ],
4249    [want_v4l2="${efl_lib_optional_eeze}"])
4250
4251 ### Checks for programs
4252
4253 ### Checks for libraries
4254 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4255 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4256 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4257 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4258 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4259 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4260 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4261 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4262
4263 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4264 EFL_ADD_FEATURE([EMOTION], [v4l2])
4265
4266 ## modules
4267
4268 have_gst_xoverlay="no"
4269
4270 EMOTION_MODULE([xine], [${want_xine}])
4271 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4272 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4273 EMOTION_MODULE([generic], [${want_emotion_generic}])
4274
4275 EFL_ADD_FEATURE([EMOTION], [xine])
4276 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4277 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4278 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4279
4280 EFL_EVAL_PKGS([EMOTION])
4281
4282 ### Checks for header files
4283
4284 ### Checks for types
4285
4286 ### Checks for structures
4287
4288 ### Checks for compiler characteristics
4289
4290 ### Checks for linker characteristics
4291
4292 ### Checks for library functions
4293
4294 if test "${want_v4l2}" = "yes"; then
4295    AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4296       [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4297       [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4298       [#include <linux/videodev2.h>])
4299 fi
4300
4301 ### Check availability
4302
4303 EFL_LIB_END([Emotion])
4304 #### End of Emotion
4305
4306
4307 #### Ethumb
4308 EFL_LIB_START([Ethumb])
4309
4310 ### Default values
4311
4312 ### Additional options to configure
4313
4314 ### Checks for programs
4315
4316 ## Compatibility layers
4317 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4318
4319 ### Checks for libraries
4320 EFL_PLATFORM_DEPEND([EINA], [evil])
4321
4322 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4323 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4324 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4325 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4326 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4327 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4328 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4329 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4330 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4331 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4332 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4333
4334 ## modules
4335
4336 EFL_EVAL_PKGS([ETHUMB])
4337
4338 ### Checks for header files
4339
4340 ### Checks for types
4341
4342 ### Checks for structures
4343
4344 ### Checks for compiler characteristics
4345
4346 ### Checks for linker characteristics
4347
4348 ### Checks for library functions
4349
4350 ### Check availability
4351
4352 EFL_LIB_END([Ethumb])
4353 #### End of Ethumb
4354
4355 #### Ethumb_Client
4356 EFL_LIB_START([Ethumb_Client])
4357
4358 ### Default values
4359
4360 ### Additional options to configure
4361
4362 ### Checks for programs
4363
4364 ## Compatibility layers
4365 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4366
4367 ### Checks for libraries
4368 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4369 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4370 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4371 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4372 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4373 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4374 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4375 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4376 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4377 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4378 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4379
4380 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4381
4382 ### Checks for header files
4383
4384 ### Checks for types
4385
4386 ### Checks for structures
4387
4388 ### Checks for compiler characteristics
4389
4390 ### Checks for linker characteristics
4391
4392 ### Checks for library functions
4393
4394 ### Check availability
4395
4396 EFL_LIB_END([Ethumb_Client])
4397 #### End of Ethumb_Client
4398
4399 #### Elua
4400
4401 have_elua="yes"
4402 if test "${want_lua_old}" = "yes"; then
4403   have_elua="no"
4404 fi
4405
4406 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4407
4408 ### Default values
4409
4410 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4411
4412 ### Additional options to configure
4413
4414 ### Checks for programs
4415
4416 ## Compatibility layers
4417 EFL_PLATFORM_DEPEND([ELUA], [evil])
4418
4419 ### Checks for libraries
4420 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4421 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4422 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4423
4424 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4425
4426 EFL_EVAL_PKGS([ELUA])
4427
4428 ### Checks for header files
4429
4430 ### Checks for types
4431
4432 ### Checks for structures
4433
4434 ### Checks for compiler characteristics
4435
4436 ### Checks for linker characteristics
4437
4438 ### Checks for library functions
4439
4440 ### Check availability
4441
4442 EFL_LIB_END_OPTIONAL([Elua])
4443 #### End of Elua
4444
4445 #### Elocation
4446
4447 EFL_LIB_START([Elocation])
4448
4449 ### Default values
4450
4451 ### Additional options to configure
4452
4453 ### Checks for programs
4454
4455 ### Checks for libraries
4456 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4457 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4458 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4459 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4460 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4461
4462 EFL_ADD_LIBS([ELOCATION], [-lm])
4463
4464 ### Checks for header files
4465
4466 ### Checks for types
4467
4468 ### Checks for structures
4469
4470 ### Checks for compiler characteristics
4471
4472 ### Checks for linker characteristics
4473
4474 ### Checks for library functions
4475
4476 ### Check availability
4477
4478 EFL_LIB_END([Elocation])
4479 #### End of Elocation
4480
4481 ### Add Wayland server library if test is enabled
4482 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4483    EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.3.0])
4484    EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4485 fi
4486
4487 AC_ARG_ENABLE([always-build-examples],
4488    [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4489    [
4490     if test "x${enableval}" = "xyes" ; then
4491        want_always_build_examples="yes"
4492     else
4493        want_always_build_examples="no"
4494     fi
4495    ],
4496    [want_always_build_examples="no"])
4497 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4498
4499 BARF_OK="xno"
4500 # Harfbuzz
4501 AC_ARG_ENABLE([i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba],
4502    [ You will be told when this is needed ],
4503    [
4504     if test "x${enableval}" = "xyes" ; then
4505        BARF_OK=""
4506     else
4507        BARF_OK="xno"
4508     fi
4509    ],
4510    [ BARF_OK="xno" ])
4511
4512
4513 AC_CONFIG_FILES([
4514 Makefile
4515 data/Makefile
4516 doc/Makefile
4517 doc/Doxyfile
4518 doc/previews/Makefile
4519 src/Makefile
4520 src/benchmarks/eina/Makefile
4521 src/benchmarks/eo/Makefile
4522 src/benchmarks/evas/Makefile
4523 src/examples/eina/Makefile
4524 src/examples/eina_cxx/Makefile
4525 src/examples/eet/Makefile
4526 src/examples/eo/Makefile
4527 src/examples/evas/Makefile
4528 src/examples/ecore/Makefile
4529 src/examples/ecore_avahi/Makefile
4530 src/examples/eio/Makefile
4531 src/examples/eldbus/Makefile
4532 src/examples/ephysics/Makefile
4533 src/examples/edje/Makefile
4534 src/examples/emotion/Makefile
4535 src/examples/ethumb_client/Makefile
4536 src/examples/elua/Makefile
4537 src/examples/eolian_cxx/Makefile
4538 src/examples/elocation/Makefile
4539 src/lib/eina/eina_config.h
4540 src/lib/ecore_x/ecore_x_version.h
4541 src/lib/efl/Efl_Config.h
4542 spec/efl.spec
4543 pc/evil.pc
4544 pc/escape.pc
4545 pc/eina.pc
4546 pc/eina-cxx.pc
4547 pc/emile.pc
4548 pc/eet.pc
4549 pc/eet-cxx.pc
4550 pc/eo.pc
4551 pc/eo-cxx.pc
4552 pc/eolian.pc
4553 pc/eolian-cxx.pc
4554 pc/efl.pc
4555 pc/efl-cxx.pc
4556 pc/evas-fb.pc
4557 pc/evas-opengl-x11.pc
4558 pc/evas-opengl-sdl.pc
4559 pc/evas-opengl-cocoa.pc
4560 pc/evas-psl1ght.pc
4561 pc/evas-software-buffer.pc
4562 pc/evas-software-x11.pc
4563 pc/evas-software-gdi.pc
4564 pc/evas-software-ddraw.pc
4565 pc/evas-software-sdl.pc
4566 pc/evas-wayland-shm.pc
4567 pc/evas-wayland-egl.pc
4568 pc/evas-drm.pc
4569 pc/evas.pc
4570 pc/evas-cxx.pc
4571 pc/ecore.pc
4572 pc/ecore-cxx.pc
4573 pc/ecore-con.pc
4574 pc/ecore-ipc.pc
4575 pc/ecore-file.pc
4576 pc/ecore-input.pc
4577 pc/ecore-input-evas.pc
4578 pc/ecore-cocoa.pc
4579 pc/ecore-drm.pc
4580 pc/ecore-fb.pc
4581 pc/ecore-psl1ght.pc
4582 pc/ecore-sdl.pc
4583 pc/ecore-wayland.pc
4584 pc/ecore-win32.pc
4585 pc/ecore-x.pc
4586 pc/ecore-evas.pc
4587 pc/ecore-imf.pc
4588 pc/ecore-imf-evas.pc
4589 pc/ecore-audio.pc
4590 pc/ecore-audio-cxx.pc
4591 pc/ecore-avahi.pc
4592 pc/ector.pc
4593 pc/embryo.pc
4594 pc/eio.pc
4595 pc/eio-cxx.pc
4596 pc/eldbus.pc
4597 pc/efreet.pc
4598 pc/efreet-mime.pc
4599 pc/efreet-trash.pc
4600 pc/eeze.pc
4601 pc/ephysics.pc
4602 pc/edje.pc
4603 pc/edje-cxx.pc
4604 pc/emotion.pc
4605 pc/ethumb.pc
4606 pc/ethumb_client.pc
4607 pc/elocation.pc
4608 pc/elua.pc
4609 dbus-services/org.enlightenment.Efreet.service
4610 dbus-services/org.enlightenment.Ethumb.service
4611 systemd-services/efreet.service
4612 systemd-services/ethumb.service
4613 $po_makefile_in
4614 cmakeconfig/EflConfig.cmake
4615 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4616 cmakeconfig/EinaConfig.cmake
4617 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4618 cmakeconfig/EioConfig.cmake
4619 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4620 cmakeconfig/EezeConfig.cmake
4621 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4622 cmakeconfig/EoConfig.cmake
4623 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4624 cmakeconfig/EolianConfig.cmake
4625 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4626 cmakeconfig/EolianCxxConfig.cmake
4627 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4628 cmakeconfig/EinaCxxConfig.cmake
4629 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4630 cmakeconfig/EoCxxConfig.cmake
4631 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4632 cmakeconfig/EcoreCxxConfig.cmake
4633 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4634 cmakeconfig/EvasCxxConfig.cmake
4635 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4636 cmakeconfig/EetCxxConfig.cmake
4637 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4638 cmakeconfig/EetConfig.cmake
4639 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4640 cmakeconfig/EvasConfig.cmake
4641 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4642 cmakeconfig/EcoreConfig.cmake
4643 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4644 cmakeconfig/EdjeConfig.cmake
4645 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4646 cmakeconfig/EldbusConfig.cmake
4647 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4648 cmakeconfig/EfreetConfig.cmake
4649 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4650 cmakeconfig/EthumbConfig.cmake
4651 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4652 cmakeconfig/EthumbClientConfig.cmake
4653 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4654 cmakeconfig/EmotionConfig.cmake
4655 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4656 cmakeconfig/EluaConfig.cmake
4657 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4658 cmakeconfig/EmileConfig.cmake
4659 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4660 ])
4661
4662 AC_OUTPUT
4663
4664 #### Work around bug in automake check macro
4665 ## yes it is hugly, but no choice here for now.
4666 $SED -i "s/am__is_gnu_make = test -n '\$(MAKEFILE_LIST)' && test -n '\$(MAKELEVEL)'/ifdef MAKEFILE_LIST\nifdef MAKELEVEL\nam__is_gnu_make = true\nelse\nam__is_gnu_make = false\nendif\nelse\nam__is_gnu_make = false\nendif/" src/Makefile
4667
4668 if test -f $srcdir/config.status; then
4669    TO="$SED -i \"s/am__is_gnu_make = test -n '\\\\\$(MAKEFILE_LIST)' \&\& test -n '\\\\\$(MAKELEVEL)'/ifdef MAKEFILE_LIST\\\nifdef MAKELEVEL\\\nam__is_gnu_make = true\\\nelse\\\nam__is_gnu_make = false\\\nendif\\\nelse\\\nam__is_gnu_make = false\\\nendif/\" src/Makefile\nas_fn_exit 0"
4670    $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4671 fi
4672
4673 #### Info
4674
4675 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4676
4677 case $host_cpu in
4678   i*86|x86_64|amd64)
4679     EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4680     EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4681     ;;
4682   *power* | *ppc*)
4683     EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4684     ;;
4685   arm*)
4686     EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4687     ;;
4688 esac
4689
4690 if test "${have_linux}" = "yes"; then
4691    EFL_ADD_FEATURE([system], [inotify])
4692    EFL_ADD_FEATURE([system], [atfile_source])
4693 elif test "${have_windows}" = "yes"; then
4694    EFL_ADD_FEATURE([system], [notify_win32])
4695 fi
4696 EFL_ADD_FEATURE([system], [ipv6])
4697
4698 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4699    efl_have_spinlock="yes"
4700 else
4701    efl_have_spinlock="no"
4702 fi
4703 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4704 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4705 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4706
4707 echo
4708 echo
4709 echo
4710 echo "------------------------------------------------------------------------"
4711 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4712 echo "------------------------------------------------------------------------"
4713 echo
4714
4715 if test "x${have_windows}" = "xyes" ; then
4716    osname="${host_os}(${_efl_windows_version})"
4717 else
4718    osname="${host_os}"
4719 fi
4720
4721 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4722 echo "  EFL API Set...: ${efl_api}"
4723 echo "  CPU Extensions: ${host_cpu} (${features_cpu})"
4724 echo "  System Feature: ${features_system}"
4725 echo "  Threads.......: ${efl_have_threads} (${features_thread})"
4726 echo "  Cryptography..: ${build_crypto}"
4727 echo "  X11...........: ${with_x11}"
4728 echo "  OpenGL........: ${with_opengl}"
4729 echo "  C++11.........: ${have_cxx11}"
4730 echo "Eina............: yes (${features_eina})"
4731 echo "Eo..............: yes (${features_eo})"
4732 echo "Eolian..........: yes (${features_eolian})"
4733 echo "Emile...........: yes (${features_emile})"
4734 echo "Eet.............: yes"
4735 echo "Evas............: yes (${features_evas})"
4736 echo "  Engines.......: ${features_evas_engine}"
4737 echo "  Image Loaders.: ${features_evas_loader}"
4738 if test "x${have_pixman}" = "xyes" ; then
4739 echo "  Pixman........: ${features_evas_pixman}"
4740 fi
4741 echo "Ecore...........: yes (${features_ecore})"
4742 echo "Ecore_Con.......: yes (${features_ecore_con})"
4743 echo "Ecore_File......: yes"
4744 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4745 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4746 echo "Ecore_SDL.......: $want_sdl"
4747 echo "Ecore_Wayland...: $want_wayland"
4748 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4749 if test "${have_linux}" = "yes"; then
4750 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4751 elif test "${have_ps3}" = "yes"; then
4752 echo "Ecore_PSL1GHT...: $have_ps3"
4753 elif test "${have_darwin}" = "yes"; then
4754 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4755 elif test "${have_windows}" = "yes"; then
4756 echo "Ecore_Win32.....: $have_win32"
4757 fi
4758 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4759 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4760 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4761 echo "Ector...........: yes"
4762 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4763 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4764 echo "Edje............: yes (${features_edje})"
4765 echo "Emotion.........: yes (${features_emotion})"
4766 echo "Ethumb..........: yes"
4767 echo "Ethumb_Client...: yes"
4768 echo "Elua............: $have_elua"
4769 if test "${build_tests}" = "none"; then
4770 echo "Tests...........: no"
4771 elif test "${build_tests}" = "auto"; then
4772 echo "Tests...........: make check (inexplicitly enabled)"
4773 elif test "${build_tests}" = "regular"; then
4774 echo "Tests...........: make check"
4775 elif test "${build_tests}" = "coverage"; then
4776 echo "Tests...........: make lcov-check"
4777 fi
4778 echo "Examples........: make examples (make install-examples)"
4779 if test "x${build_doc}" = "xyes"; then
4780 echo "Documentation...: make doc"
4781 else
4782 echo "Documentation...: no"
4783 fi
4784 echo "Compilation.....: make (or gmake)"
4785 echo "  CPPFLAGS......: $CPPFLAGS"
4786 echo "  CFLAGS........: $CFLAGS"
4787 echo "  CXXFLAGS......: $CXXFLAGS"
4788 echo "  LDFLAGS.......: $LDFLAGS"
4789
4790 if test "x${with_binary_edje_cc}" != "x"; then
4791 echo "  edje_cc.......: ${with_binary_edje_cc}"
4792 fi
4793
4794 if test "x${with_binary_eolian_gen}" != "x"; then
4795 echo "  eolian_gen....: ${with_binary_eolian_gen}"
4796 fi
4797
4798 if test "x${with_binary_eolian_cxx}" != "x"; then
4799 echo "  eolian_cxx....: ${with_binary_eolian_cxx}"
4800 fi
4801
4802 if test "x${with_binary_elua_bin}" != "x"; then
4803 echo "  elua..........: ${with_binary_elua_bin}"
4804 fi
4805
4806 echo "  "
4807 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4808 echo "  prefix........: $prefix"
4809 echo "  dbus units....: $dbusservicedir"
4810 if test "${have_systemd_user_session}" = "yes"; then
4811 echo "  systemd units.: $USER_SESSION_DIR"
4812 fi
4813 echo
4814
4815 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4816    echo " _________________________________________"
4817    echo "/ Systemd dependency is available on your \\"
4818    echo "| system, but you are building without    |"
4819    echo "| systemd support. Don't forget to        |"
4820    echo "| --enable-systemd if you want systemd    |"
4821    echo "\\ integration for EFL.                    /"
4822    echo " -----------------------------------------"
4823    echo "        \\   ^__^"
4824    echo "         \\  (oo)\\_______"
4825    echo "            (__)\\       )\\/\\"
4826    echo "                ||----w |"
4827    echo "                ||     ||"
4828 fi
4829
4830 if test -n "$CFOPT_WARNING"; then
4831   echo "_____________________________________________________________________"
4832   echo ""
4833   echo "==-- WARNING --=="
4834   echo ""
4835   echo "_____________________________________________________________________"
4836   if test "x${with_x11}" = "xxcb"; then
4837     echo "_____________________________________________________________________"
4838     echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
4839     echo "is amazingly faster than Xlib (when used sensibly). It can be"
4840     echo "faster in a few corner cases on startup of an app, but it comes"
4841     echo "with many downsides. One of those is more complex code inside"
4842     echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
4843     echo "the big catch is that OpenGL support basically requires Xlib anyway"
4844     echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
4845     echo "gain nothing really in terms of speed and no savings in memory"
4846     echo "because Xlib is still linked, loaded and used, BUT instead you"
4847     echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
4848     echo "toolkit and this is basically never tested by anyone working on"
4849     echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
4850     echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
4851     echo "off the memory footprint of a whole system and live with less"
4852     echo "tested code, and possibly unimplemented features in ecore_x. To"
4853     echo "remove the XCB setup, remove the --with-x11=xcb option to"
4854     echo "configure."
4855     echo "_____________________________________________________________________"
4856   fi
4857   if test "x${want_physics}" = "xno"; then
4858     echo "_____________________________________________________________________"
4859     echo "You have chosen to disable physics support. This disables lots of"
4860     echo "core functionality and is effectively never tested. You are going"
4861     echo "to find features that suddenly don't work and as a result cause"
4862     echo "a series of breakages. This is simply not tested so you are on"
4863     echo "your own in terms of ensuring everything works if you do this"
4864     echo "_____________________________________________________________________"
4865   fi
4866   if test "x${efl_have_threads}" = "xno"; then
4867     echo "_____________________________________________________________________"
4868     echo "You have disabled threading support. A lot of code is literally"
4869     echo "written to need threading. We never test or even build with"
4870     echo "threading disabled, so doing this is entering uncharted territory."
4871     echo "There is a very good chance things may not compile at all, or if"
4872     echo "the do, they will break at runtime in weird and wonderful ways."
4873     echo "Highly reconsider what you are doing here, or be prepared to deal"
4874     echo "with the fallout yourself."
4875     echo "_____________________________________________________________________"
4876   fi
4877   if test "x${want_fontconfig}" = "xno"; then
4878     echo "_____________________________________________________________________"
4879     echo "You have disabled fontconfig. This is going to make general font"
4880     echo "searching not work, and only some very direct 'load /path/file.ttf'"
4881     echo "will work alongside some old-school ttf file path searching. This"
4882     echo "is very likely not what you want, so highly reconsider turning"
4883     echo "fontconfig off. Having it off will lead to visual problems like"
4884     echo "missing text in many UI areas etc."
4885     echo "_____________________________________________________________________"
4886   fi
4887   if test "x${want_fribidi}" = "xno"; then
4888     echo "_____________________________________________________________________"
4889     echo "Fribidi is used for handling right-to-left text (like Arabic,"
4890     echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
4891     echo "you want to disable unless you know for absolute certain you"
4892     echo "will never encounter and have to display such scripts. Also"
4893     echo "note that we don't test with fribidi disabled so you may also"
4894     echo "trigger code paths with bugs that are never normally used."
4895     echo "_____________________________________________________________________"
4896   fi
4897   if test "x${want_pixman}" = "xyes"; then
4898     echo "_____________________________________________________________________"
4899     echo "Pixman allows you to replace some rendering paths in Evas with"
4900     echo "Pixman. Pixman may or may not be faster (probably slower), and"
4901     echo "the rendering paths with Pixman enabled are not tested often so"
4902     echo "this may introduce rendering bugs. Do not turn Pixman on unless"
4903     echo "you wish to deal with these bugs."
4904     echo "_____________________________________________________________________"
4905   fi
4906   if test "x${have_tile_rotate}" = "xyes"; then
4907     echo "_____________________________________________________________________"
4908     echo "Tiled rotation code is not tested much, so be aware that you"
4909     echo "may introduce bugs by enabling this."
4910     echo "_____________________________________________________________________"
4911   fi
4912   if test "x${want_g_main_loop}" = "xyes"; then
4913     echo "_____________________________________________________________________"
4914     echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
4915     echo "regularly, but the glib mainloop integration (on by default) is."
4916     echo "You can use apps that use glib mainloop constructs by default"
4917     echo "this way, but the Ecore mainloop is not built on top of glib."
4918     echo "You have enabled ecore to be built on top of glib and thus you"
4919     echo "may experience bugs that normally would not be there. Be prepared"
4920     echo "to fix these if they arise."
4921     echo "_____________________________________________________________________"
4922   fi
4923   if test "x${want_gstreamer}" = "xyes"; then
4924     echo "_____________________________________________________________________"
4925     echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
4926     echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
4927     echo "and will eventually be removed entirely. Don't enable the old"
4928     echo "Gstreamer support unless you want to deal with the issues yourself."
4929     echo "_____________________________________________________________________"
4930   fi
4931   if test "x${want_gstreamer1}" = "xno"; then
4932     echo "_____________________________________________________________________"
4933     echo "You disabled Gstreamer 1.x support. You likely don't want to do"
4934     echo "this as it will heavily limit your media support options and render"
4935     echo "some functionality as useless, leading to visible application bugs."
4936     echo "_____________________________________________________________________"
4937   fi
4938   if test "x${want_eo_id}" = "xno"; then
4939     echo "_____________________________________________________________________"
4940     echo "Eo's ID abstraction interface is a major safety system that"
4941     echo "protects code from crashing or misbehaving in many cases. It does"
4942     echo "come at a slight cost, but the safety and protection is worth it."
4943     echo "Also by disabling this, you may also introduce security holes in"
4944     echo "EFL as well as cause all sorts of previously non-existant crashes."
4945     echo "Seriously reconsider disabling EO ID."
4946     echo "_____________________________________________________________________"
4947   fi
4948   if test "x${want_evas_cserve2}" = "xno"; then
4949     echo "_____________________________________________________________________"
4950     echo "Evas Cserve is built and on by default and no testing is done"
4951     echo "for the old non-cserve2 code paths, so by disabling this you"
4952     echo "may be introducing bugs. Be aware of this and be prepared to"
4953     echo "deal with the bugs as a result of this."
4954     echo "_____________________________________________________________________"
4955   fi
4956   if test "x${want_audio}" = "xno"; then
4957     echo "_____________________________________________________________________"
4958     echo "You disabled audio support in Ecore. This is not tested and may"
4959     echo "Create bugs for you due to it creating untested code paths."
4960     echo "Reconsider disabling audio."
4961     echo "_____________________________________________________________________"
4962   fi
4963   if test "x${want_pulseaudio}" = "xno"; then
4964     echo "_____________________________________________________________________"
4965     echo "The only audio output method supported by Ecore right now is via"
4966     echo "Pulseaudio. You have disabled that and likely have broken a whole"
4967     echo "bunch of things in the process. Reconsider your configure options."
4968     echo "_____________________________________________________________________"
4969   fi
4970   if test "x${want_xinput2}" = "xno"; then
4971     echo "_____________________________________________________________________"
4972     echo "You have disabled xinput2 support. This means a whole lot of input"
4973     echo "devices in X11 will not work correctly. You likely do not want to"
4974     echo "do this."
4975     echo "_____________________________________________________________________"
4976   fi
4977   if test "x${want_xim}" = "xno"; then
4978     echo "_____________________________________________________________________"
4979     echo "You disabled XIM input method support. This is the most basic and"
4980     echo "core input method protocol supported in X11 and you almost certainly"
4981     echo "want the support for it. Input methods allow for complex text input"
4982     echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
4983     echo "on touch/mobile devices."
4984     echo "_____________________________________________________________________"
4985   fi
4986   if test "x${want_scim}" = "xno"; then
4987     echo "_____________________________________________________________________"
4988     echo "SCIM is a modern and very common input method framework and you"
4989     echo "disabled support for it. You very likely want the support for"
4990     echo "complex language input, so please reconsider this. Input methods"
4991     echo "allow for complex text input like for Chinese, Japanese and Korean"
4992     echo "as well as virtual keyboards on touch/mobile devices."
4993     echo "_____________________________________________________________________"
4994   fi
4995   if test "x${want_libmount}" = "xno"; then
4996     echo "_____________________________________________________________________"
4997     echo "Libmount has been disabled, and it is used heavily inside Eeze"
4998     echo "for support of removable devices etc. and disabling this will"
4999     echo "hurt support for Enlightenment and its filemanager."
5000     echo "_____________________________________________________________________"
5001   fi
5002   if test "x${want_multisense}" = "xno"; then
5003     echo "_____________________________________________________________________"
5004     echo "Multisense has been disabled. This causes Edje audio suport to"
5005     echo "Simply not work, and will break applications and libraries"
5006     echo "that rely on it with users then reporting bugs."
5007     echo "If you want to mute audio, there are APIs and policies to do"
5008     echo "that, as opposed to compiling it out."
5009     echo "_____________________________________________________________________"
5010   fi
5011   if test "x${efl_api}" = "xeo"; then
5012     echo "_____________________________________________________________________"
5013     echo "Using the EO based EFL API only does not work at the moment. We still"
5014     echo "have a lot code that depends on the legacy interfaces. We provide"
5015     echo "this option for testing once we are able to migrate to the EO based"
5016     echo "API."
5017     echo "If you are not working on this migration please leave the option set"
5018     echo "to both as it will break your build if set to eo."
5019     echo "_____________________________________________________________________"
5020   fi
5021   if test "x${want_libeeze}" = "xno"; then
5022     echo "_____________________________________________________________________"
5023     echo "Libeeze has been disabled, and it is used heavily for support of"
5024     echo "removable devices etc. and disabling this will hurt support for"
5025     echo "Enlightenment and its filemanager."
5026     echo "_____________________________________________________________________"
5027   fi
5028   echo "_____________________________________________________________________"
5029   echo ""
5030   echo "==-- WARNING --=="
5031   echo ""
5032   echo "_____________________________________________________________________"
5033   if test -n "$BARF_OK"; then
5034     echo "Please add the following option to acknowledge this:"
5035     echo "  --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba"
5036     echo "_____________________________________________________________________"
5037     rm -f Makefile
5038     exit 1
5039   fi
5040   sleep 10
5041 fi
5042
5043 if test "x$prefix" != "x/usr"; then
5044   old=
5045   path=$dbusservicedir
5046   while test "x$old" != "x$path"; do
5047     old=$path
5048     eval path="\"$path\""
5049   done
5050   resolved_dbusservicedir=$path
5051
5052   old=
5053   path=$USER_SESSION_DIR
5054   while test "x$old" != "x$path"; do
5055     old=$path
5056     eval path="\"$path\""
5057   done
5058   resolved_USER_SESSION_DIR=$path
5059   base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5060
5061   old=
5062   path=$datadir
5063   while test "x$old" != "x$path"; do
5064     old=$path
5065     eval path="\"$path\""
5066   done
5067   resolved_datadir=$path
5068
5069   needs_alert_dbus=0
5070   if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5071     AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5072   elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5073     AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5074   else
5075     needs_alert_dbus=1
5076   fi
5077
5078   needs_alert_systemd=0
5079   if test "$have_systemd_user_session" = "yes"; then
5080     if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5081       AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5082     elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5083       AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5084     else
5085        needs_alert_systemd=1
5086     fi
5087   fi
5088
5089   if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5090     if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5091       what_alert="dbus and systemd"
5092     elif test $needs_alert_dbus -eq 1; then
5093       what_alert="dbus"
5094     else
5095       what_alert="systemd"
5096     fi
5097
5098     echo ""
5099     echo "#-------------------------------------------------------------------#"
5100     echo "##==--                          ALERT                          --==##"
5101     echo "#-------------------------------------------------------------------#"
5102     echo ""
5103     echo "  Your installation prefix is *NOT* /usr so this means you need"
5104     echo "to ensure some files are visible to $what_alert otherwise services cannot"
5105     echo "be started when needed. You will need to do the following:"
5106     if test $needs_alert_dbus -eq 1; then
5107       echo ""
5108       echo "System-wide installation:"
5109       echo "  ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5110       echo "  ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service /usr/share/dbus-1/services/org.enlightenment.Efreet.service"
5111       echo ""
5112       echo "  or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5113       echo ""
5114       echo "User installation:"
5115       echo "  ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5116       echo "  ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service ~/.local/share/dbus-1/services/org.enlightenment.Efreet.service"
5117     fi
5118     if test $needs_alert_systemd -eq 1; then
5119       echo ""
5120       echo "System-wide installation:"
5121       echo "  ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5122       echo "  ln -s ${resolved_USER_SESSION_DIR}/efreet.service /usr/lib/systemd/user/efreet.service"
5123       echo ""
5124       echo "  or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5125       echo ""
5126       echo "User installation:"
5127       echo "  ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5128       echo "  ln -s ${resolved_USER_SESSION_DIR}/efreet.service ~/.config/systemd/user/efreet.service"
5129     fi
5130     echo ""
5131     echo "#-------------------------------------------------------------------#"
5132   fi
5133 fi
5134
5135 if test "x${efl_deprecated_option}" = "xyes"; then
5136   echo ""
5137   echo "#-------------------------------------------------------------------#"
5138   echo "##==--                          ALERT                          --==##"
5139   echo "#-------------------------------------------------------------------#"
5140   echo ""
5141   echo "  Your build script is using a deprecated option. It will get b0rken"
5142   echo "with the next release of EFL. You better update it now than later."
5143   echo ""
5144   echo "#-------------------------------------------------------------------#"
5145 fi