1 EFL_VERSION([1], [9], [99], [dev])
2 AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
8 AC_CONFIG_HEADERS([config.h])
10 #ifndef EFL_CONFIG_H__
11 #define EFL_CONFIG_H__
14 #endif /* EFL_CONFIG_H__ */
17 AC_USE_SYSTEM_EXTENSIONS
19 AM_INIT_AUTOMAKE([1.6 dist-bzip2 -Wall color-tests])
20 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
24 #### Apply configuring with legacy api's only, eo api's or both.
26 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
27 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
30 #### For the moment the Eo EFL API is not ready you need to explicitely optin.
31 EFL_ENABLE_EO_API_SUPPORT
32 EFL_ENABLE_BETA_API_SUPPORT
35 [AC_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@], [Select the EFL API Model @<:@default=both@:>@])],
41 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
42 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
50 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
52 *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
55 AC_SUBST(EFL_API_LEGACY_DEF)
56 AC_SUBST(EFL_API_EO_DEF)
58 #### Additional options to configure
60 # string to identify the build
62 [AC_HELP_STRING([--with-id=BUILD_ID],
63 [Specify a string to identify the build (vendor, maintainer, etc).
64 @<:@default=none@:>@])],
65 [EFL_BUILD_ID="${withval}"],
66 [EFL_BUILD_ID="none"])
67 AC_SUBST(EFL_BUILD_ID)
70 AC_ARG_WITH([profile],
71 [AC_HELP_STRING([--with-profile=PROFILE],
72 [use the predefined build profile, one of: dev, debug and release.
73 @<:@default=dev@:>@])],
74 [build_profile=${withval}],
75 [build_profile=def_build_profile])
77 case "${build_profile}" in
81 AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
86 case "${build_profile}" in
92 # TODO: add some build "profile" (server, full, etc...)
95 [AC_HELP_STRING([--with-crypto=CRYPTO],
96 [use the predefined build crypto, one of:
97 openssl, gnutls or none.
98 @<:@default=openssl@:>@])],
99 [build_crypto=${withval}],
100 [build_crypto=openssl])
102 case "${build_crypto}" in
106 AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
111 [AC_HELP_STRING([--with-tests=none|regular|coverage],
112 [choose testing method: regular, coverage or none.
113 @<:@default=none@:>@])],
114 [build_tests=${withval}],
119 case "${build_tests}" in
121 if test "${build_profile}" = "dev"; then
135 AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
139 dbusservicedir="${datadir}/dbus-1/services"
140 AC_ARG_WITH([dbus-services],
141 [AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES],
142 [specify a directory to store dbus service files.])],
143 [dbusservicedir=$withval])
144 AC_SUBST(dbusservicedir)
146 efl_deprecated_option="no"
147 EFL_WITH_BIN([edje], [edje-cc])
148 EFL_WITH_BIN([eolian], [eolian-gen])
153 requirements_pc_efl=""
154 requirements_pc_deps_efl=""
155 requirements_libs_efl=""
156 requirements_cflags_efl=""
158 requirements_pc_crypto=""
159 requirements_pc_deps_crypto=""
160 requirements_libs_crypto=""
161 requirements_cflags_crypto=""
165 # TODO: move me to m4 file that setups module/so related variables
168 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
177 MODULE_ARCH="v-v_maj.v_min"
181 MODULE_ARCH="v-v_maj.v_min"
185 MODULE_ARCH="v-v_maj.v_min"
190 EFL_VERSION_MAJOR="v_maj"
191 EFL_VERSION_MINOR="v_min"
192 AC_SUBST(EFL_VERSION_MAJOR)
193 AC_SUBST(EFL_VERSION_MINOR)
195 have_systemd_pkg="no"
208 # TODO: check cygwin* here
211 EFL_CFLAGS="${EFL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
218 have_systemd_pkg="auto"
222 case "$host_vendor" in
228 AC_SUBST([MODULE_ARCH])
229 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
230 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
232 # TODO: move me to m4 file that setups the windows related variables
233 AM_CONDITIONAL([HAVE_WINCE], [test "x${have_wince}" = "xyes"])
234 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
235 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
236 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
239 #### Checks for programs
243 if test "x${have_windows}" = "xyes" ; then
244 lt_cv_deplibs_check_method='pass_all'
246 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
247 LT_INIT([win32-dll disable-static pic-only])
252 AM_GNU_GETTEXT_VERSION([0.17])
254 m4_ifdef([AC_GNU_GETTEXT], [
255 AC_GNU_GETTEXT([external])
256 po_makefile_in=po/Makefile.in
260 m4_ifdef([AM_GNU_GETTEXT], [
261 AM_GNU_GETTEXT([external])
262 po_makefile_in=po/Makefile.in
269 AC_SUBST([LTLIBINTL])
270 LOCALE_DIR="${localedir}"
273 if test "x${POSUB}" = "x" ; then
277 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
288 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
290 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
291 AC_MSG_ERROR([efl requires a c99-capable compiler])
293 # We should be using ${CXX} here, but there is a bug in
294 # autotools macro and CXX is always set to g++ even if
295 # it's not found. So we are using an internal variable
296 # that does the work for now, may get broken in the future.
297 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
298 AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
306 if test "x${PKG_CONFIG}" = "x" ; then
307 AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
310 # doxygen program for documentation building
312 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
316 if test "${want_coverage}" = "yes" ; then
317 AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
318 if test "x${have_lcov}" = "xyes" ; then
319 EFL_COV_CFLAGS="${EFL_COV_CFLAGS} -fprofile-arcs -ftest-coverage"
320 EFL_COV_LIBS="${EFL_COV_LIBS} -lgcov"
321 if test "x${prefer_assert}" = "xno"; then
322 EFL_COV_CFLAGS="${EFL_COV_CFLAGS} -DNDEBUG"
324 EFL_COV_CFLAGS="${EFL_COV_CFLAGS} -g -O0 -DDEBUG"
327 AC_MSG_ERROR([lcov is not found])
331 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
335 AC_CHECK_PROG([have_ragel], [ragel], [yes], [no])
336 AM_CONDITIONAL([EFL_HAVE_RAGEL], [test "${have_ragel}" = "yes"])
338 #### Checks for libraries
340 # check unit testing library
342 if test "${want_tests}" = "yes"; then
343 PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
345 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
348 # check for crypto/tls library to use
349 case "$build_crypto" in
352 EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16])
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}"
361 EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
364 AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
365 AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
367 #### Checks for header files
369 # Common Checks (keep names sorted for ease of use):
385 have_inotify="${ac_cv_header_sys_inotify_h}"
386 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
388 have_notify_win32="${have_win32}"
389 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
390 [test "x${have_notify_win32}" = "xyes"], [1],
391 [File monitoring with Windows notification])
392 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
398 #### Checks for types
401 AC_CHECK_SIZEOF([wchar_t])
402 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
403 AC_SUBST([EINA_SIZEOF_WCHAR_T])
405 AC_CHECK_SIZEOF(int, 4)
406 AC_CHECK_SIZEOF(long, 4)
408 AC_CHECK_SIZEOF([uintptr_t])
410 AC_CHECK_TYPES([siginfo_t], [], [],
414 # include <siginfo.h>
418 #### Checks for structures
421 #### Checks for compiler characteristics
425 EFL_CHECK_COMPILER_FLAGS([EFL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
426 EFL_CHECK_LINKER_FLAGS([EFL], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries])
427 case "${build_profile}" in
429 dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
430 AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
431 CFLAGS_save="${CFLAGS}"
432 CFLAGS="${CFLAGS} -Werror -Wshadow"
433 AC_TRY_COMPILE([int x;], [int x = 0; (void)x;],
435 EFL_CHECK_COMPILER_FLAGS([EFL], [-Wshadow])],
436 [AC_MSG_RESULT([yes])])
437 CFLAGS="${CFLAGS_save}"
448 EFL_ATTRIBUTE_ALWAYS_INLINE
450 EFL_LIBS="${EFL_LIBS}"
451 EFL_CFLAGS="${EFL_CFLAGS}"
453 ## CPU architecture specific assembly
457 build_cpu_altivec="no"
466 AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
468 AC_CHECK_HEADER([immintrin.h],
470 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
473 [build_cpu_sse3="no"])
474 AC_MSG_CHECKING([whether to build SSE3 code])
475 AC_MSG_RESULT([${build_cpu_sse3}])
477 if test "x$build_cpu_sse3" = "xyes" ; then
482 build_cpu_altivec="yes"
483 AC_CHECK_HEADER([altivec.h],
485 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
486 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
487 build_cpu_altivec="yes"
491 save_CPPFLAGS=$CPPFLAGS
492 CFLAGS=$CFLAGS" -maltivec"
493 CPPFLAGS=$CPPFLAGS" -maltivec"
494 unset ac_cv_header_altivec_h
495 AC_CHECK_HEADER([altivec.h],
497 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
498 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
499 build_cpu_altivec="yes"
501 [build_cpu_altivec="no"]
504 CPPFLAGS=$save_CPPFLAGS
507 if test "x${build_cpu_altivec}" = "xyes"; then
508 AC_MSG_CHECKING([whether to use altivec compiler flag])
509 if test "x$GCC" = "xyes"; then
510 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
511 altivec_cflags="-faltivec"
512 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
513 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
514 altivec_cflags="-maltivec"
515 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
518 AC_MSG_RESULT([${altivec_cflags}])
519 CFLAGS="$CFLAGS ${altivec_cflags}"
520 ALTIVEC_CFLAGS="-maltivec"
525 AC_MSG_CHECKING([whether to use NEON instructions])
526 CFLAGS_save="${CFLAGS}"
527 CFLAGS="${CFLAGS} -mfpu=neon"
528 AC_TRY_COMPILE([#include <arm_neon.h>],
529 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
532 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
534 NEON_CFLAGS="-mfpu=neon"
540 CFLAGS="${CFLAGS_save}"
544 AC_SUBST([ALTIVEC_CFLAGS])
545 AC_SUBST([SSE3_CFLAGS])
546 AC_SUBST([NEON_CFLAGS])
548 #### Checks for linker characteristics
551 #### Checks for library functions
571 EFL_CHECK_FUNCS([EFL], [fnmatch gettimeofday dirfd fcntl])
573 have_atfile_source="${ac_cv_func_fstatat}"
574 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
575 [test "x${have_atfile_source}" = "xyes"],
576 [1], [Use fstatat and other -at file functions])
580 ###################### EFL ######################
582 AC_ARG_ENABLE([systemd],
583 [AC_HELP_STRING([--enable-systemd],
584 [Enable systemd support. @<:@default=disabled@:>@])],
586 if test "x${enableval}" = "xyes" ; then
595 systemd_dbus_prefix="# "
596 if test "${want_systemd}" = "yes"; then
597 systemd_dbus_prefix=""
599 AC_SUBST(systemd_dbus_prefix)
601 AC_ARG_WITH([systemdunitdir],
602 AC_HELP_STRING([--with-systemdunitdir=DIR],
603 [path to systemd user services directory]),
604 [USER_SESSION_DIR=${withval}])
605 if test "$want_systemd" == "no"; then
606 have_systemd_user_session="no"
607 elif test -n "${USER_SESSION_DIR}"; then
608 have_systemd_user_session="yes"
609 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
611 # Detect systemd user session directory properly
612 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
613 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
615 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
616 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
620 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
621 AC_SUBST([USER_SESSION_DIR])
624 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
625 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 192 libsystemd-journal >= 192],
626 [have_systemd_pkg="yes"],
627 [have_systemd_pkg="no"])
630 # check for systemd library if requested
631 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
632 AC_MSG_ERROR([Systemd dependencie requested but not found])
635 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
637 #### Platform-dependent
642 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
646 ### Additional options to configure
647 EFL_SELECT_WINDOWS_VERSION
649 ### Checks for programs
651 ### Checks for libraries
654 if test "${have_wince}" = "xyes"; then
655 EFL_ADD_LIBS([EVIL], [-lws2])
656 EVIL_DLFCN_LIBS="-ltoolhelp"
658 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
659 EVIL_DLFCN_LIBS="-lpsapi"
662 AC_SUBST([EVIL_DLFCN_LIBS])
664 ### Checks for header files
668 ### Checks for structures
670 ### Checks for compiler characteristics
672 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
673 # TODO: should we have these at EFL (global?)
674 # Note: these warnings should not be used with C++ code
675 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
676 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
678 if test "x${have_win32}" = "xyes" ; then
679 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
680 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
683 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
684 AC_SUBST([EVIL_CFLAGS_WRN])
685 AC_SUBST([EVIL_CXXFLAGS])
687 ### Checks for linker characteristics
689 ### Checks for library functions
691 DL_LIBS="lib/evil/libdl.la"
692 DL_INTERNAL_LIBS="lib/evil/libdl.la"
694 EFL_LIB_END_OPTIONAL([Evil])
696 AC_SUBST([USE_EVIL_CFLAGS])
697 AC_SUBST([USE_EVIL_LIBS])
702 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
704 ### Additional options to configure
708 ### Checks for programs
710 ### Checks for libraries
711 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
713 ### Checks for header files
717 ### Checks for structures
719 ### Checks for compiler characteristics
721 ### Checks for linker characteristics
723 ### Checks for library functions
725 EFL_LIB_END_OPTIONAL([Escape])
728 EFL_CHECK_FUNC([SHM], [shm_open])
729 SHM_LIBS="${requirements_libs_shm}"
733 AC_SUBST([DL_INTERNAL_LIBS])
734 #### End of Platform-dependent
739 EFL_LIB_START([Eina])
743 have_safety_checks="yes"
745 case "${build_profile}" in
747 with_max_log_level=""
748 have_stringshare_usage="no"
750 want_debug_malloc="no"
751 want_debug_threads="no"
752 want_default_mempool="no"
757 with_max_log_level=""
758 have_stringshare_usage="yes"
760 want_debug_malloc="yes"
761 want_debug_threads="yes"
762 want_default_mempool="yes"
767 with_max_log_level="3"
768 have_stringshare_usage="no"
770 want_debug_malloc="no"
771 want_debug_threads="no"
772 want_default_mempool="no"
777 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
778 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
779 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
781 if test -n "${with_max_log_level}"; then
782 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
783 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
786 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
787 [test "x${have_stringshare_usage}" = "xyes"],
788 [1], [Report Eina stringshare usage pattern])
790 ### Additional options to configure
791 AC_ARG_ENABLE([magic-debug],
792 [AC_HELP_STRING([--disable-magic-debug], [disable magic debug of eina structure @<:@default=enabled@:>@])],
794 if test "x${enableval}" = "xyes" ; then
795 have_magic_debug="yes"
797 have_magic_debug="no"
800 [have_magic_debug="yes"])
802 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
804 ### Checks for programs
806 ### Checks for libraries
807 EFL_PLATFORM_DEPEND([EINA], [all])
809 EFL_ADD_LIBS([EINA], [-lm])
814 AC_ARG_ENABLE([valgrind],
815 [AC_HELP_STRING([--disable-valgrind],
816 [enable valgrind mempool declaration. @<:@default=disabled@:>@])],
818 if test "x${enableval}" = "xyes" ; then
825 if test "${want_valgrind}" = "auto"; then
826 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
828 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
831 if test "${want_valgrind}" = "no"; then
832 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
834 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
835 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
838 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
839 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
840 [1], [Turn on debugging overhead in mempool])
842 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
843 [test "x${want_cow_magic}" = "xyes" ],
844 [1], [Turn on Eina_Magic in Eina_Cow])
846 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd-journal])
848 EFL_EVAL_PKGS([EINA])
854 PKG_CHECK_MODULES([GLIB],
859 if test "x${have_glib}" = "xyes" ; then
860 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
863 ### Checks for header files
865 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
866 CFLAGS_save="${CFLAGS}"
867 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
868 AC_CHECK_HEADERS([sys/mman.h])
869 CFLAGS="${CFLAGS_save}"
871 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
875 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
876 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
877 [1], [Define to 1 if you have a valid <dirent.h> header file.])
879 ### Checks for structures
881 ### Checks for compiler characteristics
882 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
884 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
885 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
886 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
888 ### Checks for linker characteristics
890 ### Checks for library functions
892 AC_CHECK_FUNCS([fchmod])
894 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
897 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
901 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
902 AC_MSG_RESULT([${enable_log}])
904 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
907 if test "x${efl_have_threads}" = "xno"; then
911 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
912 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
914 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
915 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
916 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
917 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
921 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
922 EINA_CHECK_MODULE([pass-through], [static], [pass through])
923 EINA_CHECK_MODULE([one-big], [static], [one big])
925 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
932 EFL_LIB_START([Eina_Cxx])
934 AX_CXX_COMPILE_STDCXX_11([ext])
935 if test "x${HAVE_CXX11}" -a "x1"; then
941 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" -a "xyes"])
943 EFL_LIB_END([Eina_Cxx])
952 ### Additional options to configure
954 ### Checks for programs
956 ### Checks for libraries
958 ## Compatibility layers
959 EFL_PLATFORM_DEPEND([EET], [evil])
961 EFL_ADD_LIBS([EET], [-lm])
963 # Cryptography support
964 if test "$build_crypto" != "none" ; then
965 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
966 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
967 EFL_CRYPTO_DEPEND([EET])
970 EFL_CHECK_LIBS([EET], [libjpeg zlib])
972 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
976 ### Checks for header files
980 ### Checks for structures
982 ### Checks for compiler characteristics
984 ### Checks for linker characteristics
986 ### Checks for library functions
988 ### Check availability
1000 ### Additional options to configure
1002 ### Checks for programs
1004 ## Compatibility layers
1005 EFL_PLATFORM_DEPEND([EO], [evil])
1007 ### Checks for libraries
1008 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1010 # Example (evas one)
1012 # TODO: add once elementary is merged
1013 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1014 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1016 ### Checks for header files
1018 ### Checks for types
1020 ### Checks for structures
1022 ### Checks for compiler characteristics
1024 ### Checks for linker characteristics
1026 ### Checks for library functions
1028 ### Check availability
1035 EFL_LIB_START([Eolian])
1039 ### Additional options to configure
1041 ### Checks for programs
1043 ## Compatibility layers
1044 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1046 ### Checks for libraries
1047 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1049 ### Checks for header files
1051 ### Checks for types
1053 ### Checks for structures
1055 ### Checks for compiler characteristics
1057 ### Checks for linker characteristics
1059 ### Checks for library functions
1061 ### Check availability
1063 EFL_LIB_END([Eolian])
1069 EFL_LIB_START([Evas])
1071 ### Additional options to configure
1075 [AC_HELP_STRING([--with-x11=xlib|xcb|none],
1076 [X11 method to use: xlib, xcb or none])])
1078 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1080 elif test "x${with_x11}" = "x"; then
1088 case "${with_x11}" in
1096 CFOPT_WARNING="xyes"
1102 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1107 AC_ARG_WITH([opengl],
1108 [AC_HELP_STRING([--with-opengl=full|es|none],
1109 [OpenGL method to use: full, es or none])])
1111 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1113 elif test "x${with_opengl}" = "x"; then
1117 case "${with_opengl}" in
1121 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1125 want_x11_xlib_opengl="no"
1126 want_x11_xcb_opengl="no"
1127 if test "${with_opengl}" != "none"; then
1128 want_x11_xlib_opengl="${want_x11_xlib}"
1129 want_x11_xcb_opengl="${want_x11_xcb}"
1130 want_x11_any_opengl="${want_x11_any}"
1134 AC_ARG_ENABLE([wayland],
1135 [AC_HELP_STRING([--enable-wayland],
1136 [enable wayland display server. @<:@default=disabled@:>@])],
1138 if test "x${enableval}" = "xyes" ; then
1144 [want_wayland="no"])
1146 if test "${want_wayland}" = "yes"; then
1147 EFL_PKG_CHECK_STRICT([wayland-client >= 1.3.0])
1152 [AC_HELP_STRING([--enable-fb],
1153 [enable raw Framebuffer access. @<:@default=disabled@:>@])],
1155 if test "x${enableval}" = "xyes" ; then
1164 AC_ARG_ENABLE([sdl],
1165 [AC_HELP_STRING([--enable-sdl],
1166 [enable SDL support. @<:@default=disabled@:>@])],
1168 if test "x${enableval}" = "xyes" ; then
1176 if test "${want_sdl}" = "yes"; then
1177 EFL_PKG_CHECK_STRICT([sdl >= 1.2.0])
1180 # We only enable SDL with opengl if it is not the full version and not ES
1181 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1182 # versions the SDL_opengles.h has never been released.
1184 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1185 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1187 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1192 dnl AC_ARG_ENABLE([cocoa],
1193 dnl [AC_HELP_STRING([--enable-cocoa],
1194 dnl [enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1196 dnl if test "x${enableval}" = "xyes" ; then
1197 dnl want_cocoa="yes"
1202 dnl [want_cocoa="no"])
1204 dnl if test "${want_cocoa}" = "yes"; then
1205 dnl test cocoa requirements (objc and Cocoa/Cocoa.h)
1210 AC_ARG_ENABLE([drm],
1211 [AC_HELP_STRING([--enable-drm],
1212 [enable drm engine. @<:@default=disabled@:>@])],
1214 if test "x${enableval}" = "xyes" ; then
1222 want_drm_hw_accel="no"
1223 AC_ARG_ENABLE([drm-hw-accel],
1224 [AC_HELP_STRING([--enable-drm-hw-accel],
1225 [enable drm hardware acceleration. @<:@default=disabled@:>@])],
1227 if test "x${enableval}" = "xyes" ; then
1228 want_drm_hw_accel="yes"
1230 want_drm_hw_accel="no"
1233 [want_drm_hw_accel="no"])
1237 AC_ARG_ENABLE([fontconfig],
1238 [AC_HELP_STRING([--disable-fontconfig],
1239 [disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1241 if test "x${enableval}" = "xyes" ; then
1242 want_fontconfig="yes"
1244 want_fontconfig="no"
1245 CFOPT_WARNING="xyes"
1248 [want_fontconfig="yes"])
1251 AC_ARG_ENABLE([fribidi],
1252 [AC_HELP_STRING([--disable-fribidi],
1253 [disable bidirectional text support. @<:@default=enabled@:>@])],
1255 if test "x${enableval}" = "xyes" ; then
1259 CFOPT_WARNING="xyes"
1262 [want_fribidi="yes"])
1265 AC_ARG_ENABLE([eo_id],
1266 [AC_HELP_STRING([--disable-eo-id],
1267 [disable Eo indirection. @<:@default=enabled@:>@])],
1269 if test "x${enableval}" = "xyes" ; then
1273 CFOPT_WARNING="xyes"
1279 AC_ARG_ENABLE([harfbuzz],
1280 [AC_HELP_STRING([--enable-harfbuzz],
1281 [enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1283 if test "x${enableval}" = "xyes" ; then
1289 [want_harfbuzz="no"])
1292 AC_ARG_ENABLE([egl],
1293 [AC_HELP_STRING([--enable-egl],
1294 [enable EGL rendering. @<:@default=disabled@:>@])],
1296 if test "x${enableval}" = "xyes" ; then
1305 AC_ARG_ENABLE([pixman],
1306 [AC_HELP_STRING([--enable-pixman],
1307 [enable pixman for software rendering. @<:@default=disabled@:>@])],
1309 if test "x${enableval}" = "xyes" ; then
1311 CFOPT_WARNING="xyes"
1318 AC_ARG_ENABLE([pixman-font],
1319 [AC_HELP_STRING([--enable-pixman-font],
1320 [Allow pixman to render fonts. @<:@default=disabled@:>@])],
1322 if test "x${enableval}" = "xyes" ; then
1323 have_pixman_font="yes"
1325 have_pixman_font="no"
1328 [have_pixman_font="no"])
1330 AC_ARG_ENABLE([pixman-rect],
1331 [AC_HELP_STRING([--enable-pixman-rect],
1332 [Allow pixman to render rects. @<:@default=disabled@:>@])],
1334 if test "x${enableval}" = "xyes" ; then
1335 have_pixman_rect="yes"
1337 have_pixman_rect="no"
1340 [have_pixman_rect="no"])
1342 AC_ARG_ENABLE([pixman-line],
1343 [AC_HELP_STRING([--enable-pixman-line],
1344 [Allow pixman to render lines. @<:@default=disabled@:>@])],
1346 if test "x${enableval}" = "xyes" ; then
1347 have_pixman_line="yes"
1349 have_pixman_line="no"
1352 [have_pixman_line="no"])
1354 AC_ARG_ENABLE(pixman-poly,
1355 AC_HELP_STRING([--enable-pixman-poly],
1356 [Allow pixman to render polys. @<:@default=disabled@:>@]),
1358 if test "x${enableval}" = "xyes" ; then
1359 have_pixman_poly="yes"
1361 have_pixman_poly="no"
1364 [have_pixman_poly="no"])
1366 AC_ARG_ENABLE([pixman-image],
1367 [AC_HELP_STRING([--enable-pixman-image],
1368 [Allow pixman to render images. @<:@default=disabled@:>@])],
1370 if test "x${enableval}" = "xyes" ; then
1371 have_pixman_image="yes"
1373 have_pixman_image="no"
1376 [have_pixman_image="no"])
1378 AC_ARG_ENABLE([pixman-image-scale-sample],
1379 [AC_HELP_STRING([--enable-pixman-image-scale-sample],
1380 [Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1382 if test "x${enableval}" = "xyes" ; then
1383 have_pixman_image_scale_sample="yes"
1385 have_pixman_image_scale_sample="no"
1388 [have_pixman_image_scale_sample="no"])
1391 AC_ARG_ENABLE([tile-rotate],
1392 [AC_HELP_STRING([--enable-tile-rotate],
1393 [Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1395 if test "x${enableval}" = "xyes" ; then
1396 have_tile_rotate="yes"
1397 CFOPT_WARNING="xyes"
1399 have_tile_rotate="no"
1402 [have_tile_rotate="no"])
1407 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1408 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1409 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1410 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1411 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1412 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1413 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1414 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1415 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1416 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1417 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1418 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1419 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1420 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1421 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1425 want_evas_engine_software_gdi="${have_win32}"
1426 want_evas_engine_software_ddraw="${have_win32}"
1427 want_evas_engine_gl_cocoa="${want_cocoa}"
1428 want_evas_engine_wayland_egl="no"
1429 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes"; then
1430 want_evas_engine_wayland_egl="yes"
1433 if test "${have_wince}" = "yes"; then
1434 want_fontconfig="no"
1435 want_evas_image_loader_gif="no"
1436 want_evas_image_loader_tiff="no"
1437 want_evas_image_loader_webp="no"
1440 EFL_CHECK_FUNC([EVAS], [dlsym])
1442 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1443 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1446 ### Checks for programs
1448 ### Checks for libraries
1450 ## Compatibility layers
1451 EFL_PLATFORM_DEPEND([EVAS], [all])
1452 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1453 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1454 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1456 EFL_ADD_LIBS([EVAS], [-lm])
1459 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1461 ## optional dependencies
1464 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1465 [FONTCONFIG], [fontconfig >= 2.5.0])
1468 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1469 [FRIBIDI], [fribidi >= 0.19.2])
1472 have_harfbuzz_ft="no"
1473 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1474 [HARFBUZZ], [harfbuzz >= 0.9.0])
1477 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1479 if test "x${have_pixman}" = "xyes" ; then
1480 if test "x${have_pixman_font}" = "xyes" ; then
1481 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1483 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1485 if test "x${have_pixman_rect}" = "xyes" ; then
1486 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1488 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1490 if test "x${have_pixman_line}" = "xyes" ; then
1491 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1493 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1495 if test "x${have_pixman_poly}" = "xyes" ; then
1496 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1498 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1500 if test "x${have_pixman_image}" = "xyes" ; then
1501 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1503 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1505 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1506 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1508 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1513 define([EVAS_ENGINE_DEP_CHECK_FB], [
1514 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1517 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1518 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1521 EVAS_ENGINE([buffer], [static])
1522 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1523 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1526 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1527 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1528 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1529 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1530 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1531 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1532 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1537 have_evas_engine_software_xcb="no"
1538 if test "${with_x11}" = "xcb" ; then
1539 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1541 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1542 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1545 AC_MSG_CHECKING([whether to build Software XCB Engine])
1546 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1548 # No Software XCB ? Then try Software Xlib
1550 have_evas_engine_software_xlib="no"
1551 if test "x${want_x11_xcb}" = "xno" ; then
1552 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1554 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1555 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1558 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1559 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1561 # If software_x11 is available, define everything needed for X11
1563 have_evas_engine_software_x11="no"
1564 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
1565 have_evas_engine_software_x11="yes"
1566 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1568 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1570 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1571 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1573 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1575 # Needed for evas-software-x11.pc
1577 AC_SUBST([have_evas_engine_software_xlib])
1578 AC_SUBST([have_evas_engine_software_xcb])
1581 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1582 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1586 if test "${with_opengl}" = "es" ; then
1587 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1592 have_evas_engine_gl_xcb="no"
1593 if test "${want_x11_xcb_opengl}" = "yes"; then
1594 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1596 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1597 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1600 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1601 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1603 # No openGL XCB ? Then try OpenGL Xlib
1605 have_evas_engine_gl_xlib="no"
1606 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1607 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1609 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1610 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1613 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1614 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1616 # If opengl_x11 is available, define everything needed for X11
1618 have_evas_engine_gl_x11="no"
1619 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
1620 have_evas_engine_gl_x11="yes"
1621 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1623 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1625 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1626 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1628 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1630 # Needed for evas-opengl-x11.pc
1632 AC_SUBST([have_evas_engine_gl_xlib])
1633 AC_SUBST([have_evas_engine_gl_xcb])
1637 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1638 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1639 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1640 [#include <SDL/SDL_video.h>])
1643 if test "${with_opengl}" = "es"; then
1644 AC_CHECK_DECL([SDL_OPENGLES],
1645 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1646 [#include <SDL/SDL_video.h>])
1650 evas_engine_gl_common_cflags=""
1651 evas_engine_gl_common_libs=""
1652 AC_SUBST([evas_engine_gl_common_cflags])
1653 AC_SUBST([evas_engine_gl_common_libs])
1655 have_evas_engine_gl_common="no"
1656 have_static_evas_engine_gl_common="no"
1657 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
1658 test "x$have_evas_engine_gl_xcb" = "xyes" || \
1659 test "x$have_evas_engine_gl_sdl" = "xyes" || \
1660 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
1661 test "x$have_evas_engine_wayland_egl" = "xyes"; then
1662 have_evas_engine_gl_common="yes"
1664 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
1665 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
1666 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
1667 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
1668 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
1669 have_evas_engine_gl_common="yes"
1670 have_static_evas_engine_gl_common="yes"
1673 if test "x${have_evas_engine_gl_common}" = "xyes"; then
1674 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
1677 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
1679 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
1680 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
1683 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
1688 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
1689 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
1690 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
1691 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
1692 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
1693 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
1694 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
1695 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
1696 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
1697 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
1698 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
1699 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
1700 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
1701 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
1702 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
1704 dnl Windows has no sigsetjmp function, nor equivalent.
1705 dnl So we disable the jpeg saver.
1706 dnl TODO: must find a workaround
1707 if test "${have_windows}" = "yes"; then
1708 have_evas_image_saver_jpeg="no"
1709 elif test "x${have_evas_image_loader_jpeg}" = "xyes" || \
1710 test "x${have_evas_image_loader_jpeg}" = "xstatic"; then
1711 AC_DEFINE([EVAS_BUILD_SAVER_JPEG], [1], [Build JPEG saver])
1712 have_evas_image_saver_jpeg="yes"
1715 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
1717 EFL_EVAL_PKGS([EVAS])
1719 ### Checks for header files
1721 if test "x$have_harfbuzz" = "xyes" ; then
1723 CPPFLAGS_SAVE="$CPPFLAGS"
1724 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
1725 # must have for usage with harfbuzz although harfbuzz may not have it.
1727 AC_CHECK_HEADER([hb-ft.h],
1729 have_harfbuzz_ft="yes"
1730 #Depend on harfbuzz ft for harfbuzz support
1731 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
1733 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
1735 CPPFLAGS="$CPPFLAGS_SAVE"
1738 ### Checks for types
1740 CPPFLAGS_SAVE="$CPPFLAGS"
1741 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
1742 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
1743 CPPFLAGS="$CPPFLAGS_SAVE"
1746 if test "x$have_fribidi" = "xyes" ; then
1747 CPPFLAGS_SAVE="$CPPFLAGS"
1748 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
1749 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
1750 CPPFLAGS="$CPPFLAGS_SAVE"
1753 ### Checks for structures
1755 AC_CHECK_TYPES([struct sigaction], [], [],
1756 [[#include <signal.h>]])
1758 ### Checks for compiler characteristics
1760 ### Checks for linker characteristics
1762 ### Checks for library functions
1764 AC_CHECK_FUNCS([siglongjmp])
1766 AC_CHECK_LIB([m], [lround],
1767 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
1768 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
1774 AC_ARG_ENABLE([cserve],
1775 [AC_HELP_STRING([--enable-cserve],
1776 [enable shared cache server (cserve2). @<:@default=enabled@:>@])],
1778 if test "x${enableval}" = "xyes" ; then
1779 want_evas_cserve2="yes"
1781 want_evas_cserve2="no"
1782 CFOPT_WARNING="xyes"
1785 [want_evas_cserve2="yes"])
1787 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
1788 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
1791 # cserve2 only works on Linux so far.
1793 if test "x${efl_func_shm_open}" = "xno" ; then
1794 want_evas_cserve2="no"
1797 if test "x${want_evas_cserve2}" = "xyes"; then
1798 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
1799 want_evas_cserve2="no"
1801 EVAS_CSERVE2_SLAVE_LIBS="${EFL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
1802 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
1806 AC_DEFINE_IF([EVAS_CSERVE2],
1807 [test "x${want_evas_cserve2}" = "xyes"],
1808 [1], [Shared cache server.])
1809 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
1815 if test "x${have_tile_rotate}" = "xyes" ; then
1816 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
1822 AC_ARG_WITH([evas-dither-mask],
1823 [AC_HELP_STRING([--with-evas-dither-mask=TYPE],
1824 [use the specified dither mask to convert bitdepths in Evas, one of: big, small, line or none.
1825 @<:@default=big@:>@])],
1826 [build_evas_dither_mask=${withval}],
1827 [build_evas_dither_mask=big])
1829 case "${build_evas_dither_mask}" in
1831 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
1834 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
1837 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
1840 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
1843 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
1846 EFL_ADD_FEATURE([EVAS], [fontconfig])
1847 EFL_ADD_FEATURE([EVAS], [fribidi])
1848 EFL_ADD_FEATURE([EVAS], [harfbuzz])
1849 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
1850 EFL_ADD_FEATURE([EVAS], [tile-rotate])
1851 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
1859 EFL_LIB_START([Embryo])
1863 ### Additional options to configure
1865 ### Checks for programs
1867 ### Checks for libraries
1868 EFL_PLATFORM_DEPEND([EMBRYO], [all])
1869 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
1871 EFL_ADD_LIBS([EMBRYO], [-lm])
1873 ### Checks for header files
1875 ### Checks for types
1877 ### Checks for structures
1879 ### Checks for compiler characteristics
1881 ### Checks for linker characteristics
1883 ### Checks for library functions
1885 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
1886 AC_MSG_ERROR([Cannot find fnmatch()])
1889 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
1890 AC_MSG_ERROR([Cannot find gettimeofday()])
1893 ### Check availability
1895 EFL_LIB_END([Embryo])
1901 EFL_LIB_START([Ecore])
1903 ### Additional options to configure
1908 [AC_HELP_STRING([--with-glib=yes|no|always],
1909 [add glib support. @<:@default=enabled@:>@])],
1911 if test "x${withval}" = "xyes" ; then
1914 if test "x${withval}" = "xalways" ; then
1923 AC_ARG_ENABLE([g-main-loop],
1924 [AC_HELP_STRING([--enable-g-main-loop],
1925 [enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
1927 if test "x${enableval}" = "xyes" ; then
1928 want_g_main_loop="yes"
1929 CFOPT_WARNING="xyes"
1931 want_g_main_loop="no"
1934 [want_g_main_loop="no"])
1936 AC_ARG_ENABLE([gstreamer],
1937 [AC_HELP_STRING([--enable-gstreamer],
1938 [enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
1940 if test "x${enableval}" = "xyes" ; then
1941 want_gstreamer="yes"
1942 CFOPT_WARNING="xyes"
1947 [want_gstreamer="no"])
1949 AC_ARG_ENABLE([gstreamer1],
1950 [AC_HELP_STRING([--disable-gstreamer1],
1951 [disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
1953 if test "x${enableval}" = "xyes" ; then
1954 want_gstreamer1="yes"
1956 want_gstreamer1="no"
1957 CFOPT_WARNING="xyes"
1960 [want_gstreamer1="yes"])
1962 AC_ARG_ENABLE([tizen],
1963 [AC_HELP_STRING([--enable-tizen],
1964 [enable tizen support. @<:@default=disabled@:>@])],
1966 if test "x${enableval}" = "xyes" ; then
1974 if test "${want_tizen}" = "yes"; then
1975 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
1977 [have_tizen_vconf="yes"],
1978 [have_tizen_vconf="no"])
1979 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
1982 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
1983 if test "${have_tizen_vconf}" = "yes"; then
1984 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
1989 if test "${have_windows}" = "yes"; then
1994 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
1998 want_ecore_timer_dump="no"
1999 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2000 want_ecore_timer_dump="yes"
2001 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2004 ### Checks for programs
2006 ### Checks for libraries
2007 EFL_PLATFORM_DEPEND([ECORE], [all])
2008 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2009 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2011 EFL_ADD_LIBS([ECORE], [-lm])
2015 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2016 if test "x${have_glib}" = "xno"; then
2017 want_g_main_loop="no"
2020 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2022 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2023 EFL_ADD_FEATURE([ECORE], [glib])
2024 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2026 want_glib_integration_always=no
2027 if test "x${with_glib}" = "xalways" ; then
2028 want_glib_integration_always="yes"
2029 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2032 if test "x${want_g_main_loop}" = "xyes" ; then
2033 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2036 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2037 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2038 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2041 if test "${want_gstreamer1}" = "yes"; then
2042 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2044 if test "${want_gstreamer}" = "yes"; then
2045 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2047 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2049 EFL_EVAL_PKGS([ECORE])
2051 ### Checks for header files
2055 AC_CHECK_HEADERS([sys/socket.h])
2057 AC_CHECK_HEADERS([ \
2070 #ifdef HAVE_SYS_SOCKET_H
2071 # include <sys/socket.h>
2075 ### Checks for types
2077 ### Checks for structures
2079 ### Checks for compiler characteristics
2081 ### Checks for linker characteristics
2083 ### Checks for library functions
2095 int i = isfinite(0);
2098 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2101 [have_isfinite="no"])
2103 AC_MSG_CHECKING([for isfinite])
2104 AC_MSG_RESULT([${have_isfinite}])
2106 # mallinfo, timerfd_create, clock_gettime
2108 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2110 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2111 AC_CHECK_LIB([rt], [clock_gettime],
2113 EFL_ADD_LIBS([ECORE], [-lrt])
2114 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2118 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2120 # coroutine function specific
2125 #include <ucontext.h>
2131 [have_ucontext="yes"],
2132 [have_ucontext="no"])
2134 AC_MSG_CHECKING([for ucontext])
2135 AC_MSG_RESULT([${have_ucontext}])
2146 [have_setjmp="yes"],
2149 AC_MSG_CHECKING([for setjmp])
2150 AC_MSG_RESULT([${have_setjmp}])
2152 if test "X${have_windows}" = "xyes"; then
2153 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2154 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2155 elif test "x${have_ucontext}" = "xyes"; then
2156 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2157 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2158 elif test "x${have_setjmp}" = "xyes"; then
2159 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2160 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2162 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2165 ### Check availability
2167 EFL_LIB_END([Ecore])
2173 EFL_LIB_START([Ecore_Con])
2177 want_ecore_con_local_sockets="yes"
2178 want_ecore_con_abstract_sockets="yes"
2180 if test "${have_wince}" = "yes"; then
2182 want_ecore_con_local_sockets="no"
2183 want_ecore_con_abstract_sockets="no"
2184 elif test "${have_win32}" = "yes"; then
2186 want_ecore_con_abstract_sockets="no"
2187 elif test "${have_darwin}" = "yes"; then
2189 want_ecore_con_abstract_sockets="no"
2190 elif test "${have_ps3}" = "yes"; then
2192 want_ecore_con_local_sockets="no"
2193 want_ecore_con_abstract_sockets="no"
2198 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2199 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2200 [1], [Have local sockets support])
2201 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2202 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2203 [1], [Have abstract sockets namespace])
2205 ### Checks for programs
2207 ### Checks for libraries
2208 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2209 if test "$build_crypto" != "none" ; then
2210 EFL_CRYPTO_DEPEND([ECORE_CON])
2212 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2213 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2214 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2215 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2217 EFL_ADD_LIBS([ECORE_CON], [-lm])
2219 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2220 [CARES], [libcares >= 1.6.1])
2221 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2223 if test "x$have_cares" = "xyes" ; then
2224 ecore_con_resolver="cares"
2225 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2226 ecore_con_resolver="dns.c"
2228 ecore_con_resolver="fork"
2231 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2233 EFL_ADD_FEATURE([ECORE_CON], [cares])
2234 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2235 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2236 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2237 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2239 EFL_EVAL_PKGS([ECORE_CON])
2241 ### Checks for header files
2243 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2245 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2246 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2249 ### Checks for types
2252 AC_CHECK_TYPES([struct ipv6_mreq],
2256 #include <netinet/in.h>
2257 #ifdef HAVE_WS2TCPIP_H
2258 # include <ws2tcpip.h>
2262 AC_DEFINE_IF([HAVE_IPV6],
2263 [test "x${have_ipv6}" = "xyes"],
2264 [1], [Define if IPV6 is supported])
2265 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2267 ### Checks for structures
2269 ### Checks for compiler characteristics
2271 ### Checks for linker characteristics
2273 ### Checks for library functions
2275 EFL_LIB_END([Ecore_Con])
2276 #### End of Ecore_Con
2281 EFL_LIB_START([Ecore_Ipc])
2285 ### Additional options to configure
2287 ### Checks for programs
2289 ## Compatibility layers
2290 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2292 ### Checks for libraries
2293 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2294 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2295 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2296 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2298 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2300 ### Checks for header files
2302 AC_CHECK_HEADERS([winsock2.h])
2304 ### Checks for types
2306 ### Checks for structures
2308 ### Checks for compiler characteristics
2310 ### Checks for linker characteristics
2312 ### Checks for library functions
2314 EFL_LIB_END([Ecore_Ipc])
2315 #### End of Ecore_Ipc
2320 EFL_LIB_START([Ecore_File])
2322 ### Additional options to configure
2326 ### Checks for programs
2328 ## Compatibility layers
2329 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2331 ### Checks for libraries
2332 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2333 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2334 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2335 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2336 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2338 ### Checks for header files
2340 ### Checks for types
2342 ### Checks for structures
2344 ### Checks for compiler characteristics
2346 ### Checks for linker characteristics
2348 ### Checks for library functions
2350 EFL_LIB_END([Ecore_File])
2351 #### End of Ecore_File
2355 EFL_LIB_START([Ecore_Input])
2357 ### Additional options to configure
2361 ### Checks for programs
2363 ## Compatibility layers
2364 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2366 ### Checks for libraries
2367 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2368 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2369 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2371 ### Checks for header files
2373 ### Checks for types
2375 ### Checks for structures
2377 ### Checks for compiler characteristics
2379 ### Checks for linker characteristics
2381 ### Checks for library functions
2383 EFL_LIB_END([Ecore_Input])
2384 #### End of Ecore_Input
2387 #### Ecore_Input_Evas
2388 EFL_LIB_START([Ecore_Input_Evas])
2390 ### Additional options to configure
2394 ### Checks for programs
2396 ## Compatibility layers
2397 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2399 ### Checks for libraries
2400 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2401 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2402 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2403 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2404 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2406 ### Checks for header files
2408 ### Checks for types
2410 ### Checks for structures
2412 ### Checks for compiler characteristics
2414 ### Checks for linker characteristics
2416 ### Checks for library functions
2418 EFL_LIB_END([Ecore_Input_Evas])
2419 #### End of Ecore_Input_Evas
2423 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2425 ### Additional options to configure
2429 ### Checks for programs
2431 ### Checks for libraries
2432 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2433 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2434 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2435 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2437 ### Checks for header files
2439 dnl TODO: once cocoa is fixed and test-able, add required libs here
2440 dnl to ECORE_COCOA_LIBS and ECORE_COCOA_CFLAGS.
2441 dnl Evas already tests for ObjC and Cocoa/Cocoa.h
2443 ### Checks for types
2445 ### Checks for structures
2447 ### Checks for compiler characteristics
2449 ### Checks for linker characteristics
2451 ### Checks for library functions
2453 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2454 #### End of Ecore_Cocoa
2458 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2460 ### Additional options to configure
2461 AC_ARG_ENABLE([tslib],
2462 [AC_HELP_STRING([--disable-tslib],
2463 [disable tslib for touchscreen events.])],
2465 if test "x${enableval}" = "xyes" ; then
2470 ], [want_tslib="yes"])
2474 ### Checks for programs
2476 ### Checks for libraries
2477 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2478 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2479 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2480 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2482 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2483 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2485 EFL_EVAL_PKGS([ECORE_FB])
2487 ### Checks for header files
2490 AC_CHECK_HEADER([linux/fb.h],
2491 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2492 if test "${have_ecore_fb}" = "no"; then
2493 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2496 ### Checks for types
2498 ### Checks for structures
2500 ### Checks for compiler characteristics
2502 ### Checks for linker characteristics
2504 ### Checks for library functions
2506 EFL_LIB_END_OPTIONAL([Ecore_FB])
2507 #### End of Ecore_FB
2511 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2513 ### Additional options to configure
2517 ### Checks for programs
2519 ### Checks for libraries
2520 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2522 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2523 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2524 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2525 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2527 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2529 ### Checks for header files
2531 ### Checks for types
2533 ### Checks for structures
2535 ### Checks for compiler characteristics
2537 ### Checks for linker characteristics
2539 ### Checks for library functions
2541 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2542 #### End of Ecore_Psl1ght
2546 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2548 ### Additional options to configure
2552 ### Checks for programs
2554 ### Checks for libraries
2555 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2556 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2557 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2558 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2559 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2561 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl >= 1.2.0])
2563 PKG_CHECK_EXISTS([sdl >= 1.3.0],
2564 [AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])])
2566 EFL_EVAL_PKGS([ECORE_SDL])
2568 ### Checks for header files
2570 ### Checks for types
2572 ### Checks for structures
2574 ### Checks for compiler characteristics
2576 ### Checks for linker characteristics
2578 ### Checks for library functions
2580 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2581 #### End of Ecore_SDL
2585 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2587 ### Additional options to configure
2591 ### Checks for programs
2593 ### Checks for libraries
2594 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2595 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2596 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2597 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2599 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2600 [wayland-client >= 1.3.0 wayland-cursor >= 1.3.0 xkbcommon >= 0.3.0])
2602 EFL_EVAL_PKGS([ECORE_WAYLAND])
2604 ### Checks for header files
2606 ### Checks for types
2608 ### Checks for structures
2610 ### Checks for compiler characteristics
2612 ### Checks for linker characteristics
2614 ### Checks for library functions
2615 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2616 #### End of Ecore_Wayland
2619 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
2621 ### Additional options to configure
2624 AC_SUBST([SUID_CFLAGS])
2625 AC_SUBST([SUID_LDFLAGS])
2629 ### Checks for programs
2631 ### Checks for libraries
2632 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
2633 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
2634 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
2635 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
2637 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libudev >= 148 libdrm >= 2.4 xkbcommon >= 0.3.0])
2639 EFL_EVAL_PKGS([ECORE_DRM])
2641 ### Checks for header files
2643 ### Checks for types
2645 ### Checks for structures
2647 ### Checks for compiler characteristics
2649 ### Checks for linker characteristics
2651 ### Checks for library functions
2653 EFL_LIB_END_OPTIONAL([Ecore_Drm])
2654 #### End of Ecore_Drm
2659 AC_ARG_ENABLE([audio],
2660 [AC_HELP_STRING([--disable-audio],
2661 [disable audio support. @<:@default=enabled@:>@])],
2663 if test "x${enableval}" = "xyes" ; then
2667 CFOPT_WARNING="xyes"
2672 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
2674 ### Additional options to configure
2676 # ALSA support is still not there, thus no option for it yet.
2679 # sndfile is mandatory otherwise it won't read from/write to files.
2680 # TODO: if confirmed sndfile is mandatory, remove this variable
2681 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
2684 AC_ARG_ENABLE([pulseaudio],
2685 [AC_HELP_STRING([--disable-pulseaudio],
2686 [disable pulseaudio sound support. @<:@default=enabled@:>@])],
2688 if test "x${enableval}" = "xyes" ; then
2689 want_pulseaudio="yes"
2691 want_pulseaudio="no"
2692 CFOPT_WARNING="xyes"
2695 [want_pulseaudio="yes"])
2700 ### Checks for programs
2702 ## Compatibility layers
2703 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
2705 ### Checks for libraries
2706 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
2707 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
2708 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
2709 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
2711 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
2713 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
2714 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
2715 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
2717 EFL_EVAL_PKGS([ECORE_AUDIO])
2719 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
2720 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
2721 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
2723 ### Checks for header files
2725 ### Checks for types
2727 ### Checks for structures
2729 ### Checks for compiler characteristics
2731 ### Checks for linker characteristics
2733 ### Checks for library functions
2735 EFL_LIB_END_OPTIONAL([Ecore_Audio])
2736 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
2737 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
2739 #### End of Ecore_Audio
2742 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
2744 ### Additional options to configure
2748 ### Checks for programs
2750 ### Checks for libraries
2751 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
2752 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
2753 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
2754 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
2755 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
2757 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
2758 AC_SUBST([ECORE_WIN32_LIBS])
2760 ### Checks for header files
2762 ### Checks for types
2764 ### Checks for structures
2766 ### Checks for compiler characteristics
2768 ### Checks for linker characteristics
2770 ### Checks for library functions
2772 EFL_LIB_END_OPTIONAL([Ecore_Win32])
2773 #### End of Ecore_Win32
2777 EFL_LIB_START([Ecore_Avahi])
2781 ### Additional options to configure
2785 AC_ARG_ENABLE([avahi],
2786 [AC_HELP_STRING([--disable-avahi],
2787 [disable avahi support. @<:@default=enabled@:>@])],
2789 if test "x${enableval}" = "xyes" ; then
2798 ### Checks for programs
2800 ## Compatibility layers
2801 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
2803 ### Checks for libraries
2804 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
2805 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
2806 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
2808 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
2810 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
2812 # Needed bu example as they use avahi directly in that case
2813 if test "x${have_avahi}" = "xyes"; then
2814 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
2817 EFL_EVAL_PKGS([ECORE_AVAHI])
2819 ### Checks for header files
2821 ### Checks for types
2823 ### Checks for structures
2825 ### Checks for compiler characteristics
2827 ### Checks for linker characteristics
2829 ### Checks for library functions
2831 EFL_LIB_END([Ecore_Avahi])
2833 #### End of Ecore_Avahi
2836 EFL_LIB_START_OPTIONAL([Ecore_WinCE], [test "${have_wince}" = "yes"])
2838 ### Additional options to configure
2842 ### Checks for programs
2844 ### Checks for libraries
2845 EFL_PLATFORM_DEPEND([ECORE_WINCE], [evil])
2846 EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [ecore-input])
2847 EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [ecore])
2848 EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [eo])
2849 EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [eina])
2851 ### Checks for header files
2853 ### Checks for types
2855 ### Checks for structures
2857 ### Checks for compiler characteristics
2859 ### Checks for linker characteristics
2861 ### Checks for library functions
2863 EFL_LIB_END_OPTIONAL([Ecore_WinCE])
2864 #### End of Ecore_WinCE
2868 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
2870 ### Additional options to configure
2872 AC_ARG_ENABLE([gesture],
2873 [AC_HELP_STRING([--enable-gesture], [enable X11 Gesture extension support])],
2875 if test "x${enableval}" = "xyes" ; then
2881 [want_gesture="no"])
2883 AC_ARG_ENABLE([xpresent],
2884 [AC_HELP_STRING([--enable-xpresent], [enable X11 XPresent extension support])],
2886 if test "x${enableval}" = "xyes" ; then
2892 [want_xpresent="no"])
2894 AC_ARG_ENABLE([xinput2],
2895 [AC_HELP_STRING([--disable-xinput2], [disable X11 XInput v2.x support])],
2897 if test "x${enableval}" = "xyes" ; then
2901 CFOPT_WARNING="xyes"
2904 [want_xinput2="yes"])
2906 AC_ARG_ENABLE([xinput22],
2907 [AC_HELP_STRING([--enable-xinput22], [enable X11 XInput v2.2+ support])],
2909 if test "x${enableval}" = "xyes" ; then
2915 [want_xinput22="no"])
2917 AC_ARG_ENABLE([xim],
2918 [AC_HELP_STRING([--disable-xim], [disable X Input Method.])],
2920 if test "x${enableval}" = "xyes" ; then
2924 CFOPT_WARNING="xyes"
2929 AC_ARG_ENABLE([scim],
2930 [AC_HELP_STRING([--disable-scim], [disable SCIM.])],
2932 if test "x${enableval}" = "xyes" ; then
2936 CFOPT_WARNING="xyes"
2941 AC_ARG_ENABLE([ibus],
2942 [AC_HELP_STRING([--disable-ibus], [disable IBUS.])],
2944 if test "x${enableval}" = "xyes" ; then
2954 ### Checks for programs
2956 ### Checks for libraries
2957 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
2958 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
2959 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
2960 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
2966 ### Checks for header files
2968 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
2970 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
2971 FOUND_MAXHOSTNAMELEN="not found"
2977 #include <sys/param.h>
2980 int h = MAXHOSTNAMELEN;
2984 FOUND_MAXHOSTNAMELEN="sys/param.h"
2985 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
2995 int h = MAXHOSTNAMELEN;
2999 FOUND_MAXHOSTNAMELEN="netdb.h"
3000 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3003 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3004 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3008 if test "x${want_x11_xcb}" = "xyes" ; then
3009 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3010 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3012 if test -f "$KEYSYMDEFDIR/$i"; then
3013 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3014 elif test "x$i" = "xkeysymdef.h"; then
3015 AC_MSG_ERROR([Cannot find keysymdef.h])
3018 AC_MSG_CHECKING([keysym definitions])
3019 AC_MSG_RESULT([$KEYSYMDEFS])
3020 AC_SUBST([KEYSYMDEFS])
3023 ### Checks for types
3025 ### Checks for structures
3027 ### Checks for compiler characteristics
3029 ### Checks for linker characteristics
3031 ### Checks for library functions
3034 if test "x${want_x11_xlib}" = "xyes"; then
3035 EFL_FIND_X(ECORE_X_XLIB,
3036 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3037 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3040 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3041 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3042 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3044 AC_MSG_ERROR([Xcursor is missing])
3048 if test "x${want_x11_xlib}" = "xyes" ; then
3049 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3050 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3051 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3052 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3053 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3054 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3055 ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
3056 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3057 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3058 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3059 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3061 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3063 if test "${want_xpresent}" = "yes"; then
3064 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3066 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3068 if test "${want_gesture}" = "yes"; then
3069 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3071 EFL_ADD_FEATURE([ECORE_X], [gesture])
3073 if test "${want_xinput2}" = "yes"; then
3074 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3076 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3078 if test "${want_xinput22}" = "yes"; then
3079 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3081 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3083 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3084 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3086 EFL_EVAL_PKGS([ECORE_X])
3087 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3092 if test "${want_x11_xcb}" = "yes"; then
3093 dnl note: added pixman-1 as ecore_xcb_region uses that
3094 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3095 [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-xprint xcb-xtest xcb-renderutil pixman-1])
3097 dnl TODO: remove these ifdefs from code!
3098 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3099 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3100 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3101 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3102 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3103 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3104 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3105 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3106 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3107 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3108 AC_DEFINE([ECORE_XCB_XPRINT], [1], [Build support for XCB xprint])
3109 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3110 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3112 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3114 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3115 [1], [Build support for XCB Present])
3116 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3118 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3120 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3121 [1], [Build support for XCB xgesture])
3123 EFL_ADD_FEATURE([ECORE_X], [gesture])
3125 dnl input extension disabled currently in xcb as xcb-input has some issues
3126 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3127 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3129 dnl dri extension disabled currently in xcb
3130 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3131 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3133 EFL_EVAL_PKGS([ECORE_X])
3134 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3136 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3139 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3141 AC_SUBST([HAVE_ECORE_X_BACKEND])
3143 EFL_LIB_END_OPTIONAL([Ecore_X])
3145 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3146 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3151 EFL_LIB_START([Ecore_Imf])
3153 ### Additional options to configure
3157 want_ecore_imf="yes"
3158 want_ecore_imf_xim="no"
3159 want_ecore_imf_scim="no"
3160 want_ecore_imf_ibus="no"
3161 want_ecore_imf_wayland="no"
3163 if test "${have_wince}" = "yes"; then
3166 want_ecore_imf="yes"
3168 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3169 want_ecore_imf="yes"
3170 want_ecore_imf_xim="yes"
3171 want_ecore_imf_scim="yes"
3172 want_ecore_imf_ibus="yes"
3173 if test "${want_wayland}" = "yes"; then
3174 want_ecore_imf_wayland="yes"
3179 ### Checks for programs
3181 ## Compatibility layers
3182 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3184 ### Checks for libraries
3185 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3186 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3187 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3188 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3189 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3191 if test "x${want_ecore_imf}" = "xyes" ; then
3192 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3199 have_ecore_imf_ibus="no"
3200 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3201 PKG_CHECK_MODULES([IBUS],
3202 [ibus-1.0 >= 1.4 glib-2.0],
3204 have_ecore_imf_ibus="yes"
3205 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3207 [have_ecore_imf_ibus="no"])
3210 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3211 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3215 have_ecore_imf_scim="no"
3216 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3217 PKG_CHECK_MODULES([SCIM],
3220 have_ecore_imf_scim="yes"
3221 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3223 [have_ecore_imf_scim="no"])
3226 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3227 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3231 have_ecore_imf_xim="no"
3232 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3234 EFL_FIND_X(ecore_imf_xim,
3238 have_ecore_imf_xim=yes
3239 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3243 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3244 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3247 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3248 PKG_CHECK_MODULES([WAYLAND],
3249 [wayland-client >= 1.2.0],
3251 have_ecore_imf_wayland="yes"
3252 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3254 [have_ecore_imf_wayland="no"])
3257 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3258 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3260 ### Checks for header files
3262 ### Checks for types
3264 ### Checks for structures
3266 ### Checks for compiler characteristics
3268 ### Checks for linker characteristics
3270 ### Checks for library functions
3272 EFL_LIB_END([Ecore_Imf])
3273 #### End of Ecore_Imf
3277 EFL_LIB_START([Ecore_Imf_Evas])
3279 ### Additional options to configure
3283 ### Checks for programs
3285 ## Compatibility layers
3286 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3288 ### Checks for libraries
3289 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3290 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3291 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3292 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3293 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3294 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3296 ### Checks for header files
3298 ### Checks for types
3300 ### Checks for structures
3302 ### Checks for compiler characteristics
3304 ### Checks for linker characteristics
3306 ### Checks for library functions
3308 EFL_LIB_END([Ecore_Imf_Evas])
3309 #### End of Ecore_Imf_Evas
3313 have_libmount_new="no"
3314 have_libmount_old="no"
3315 have_eeze_mount="no"
3317 EFL_LIB_START_OPTIONAL([Eeze], [test "${have_linux}" = "yes"])
3319 ### Additional options to configure
3320 AC_ARG_WITH([mount],
3321 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3322 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3323 AC_ARG_WITH([umount],
3324 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3325 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3326 AC_ARG_WITH([eject],
3327 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3328 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3332 ### Checks for programs
3334 ### Checks for libraries
3335 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3336 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3337 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3338 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3339 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3340 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3342 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3344 AC_ARG_ENABLE([libmount],
3345 [AC_HELP_STRING([--disable-libmount],
3346 [disable libmount support. @<:@default=enabled@:>@])],
3348 if test "x${enableval}" = "xyes" ; then
3352 CFOPT_WARNING="xyes"
3355 [want_libmount="yes"])
3357 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3358 [EEZE_MOUNT], [mount >= 2.18.0])
3359 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3361 PKG_CHECK_EXISTS([mount < 2.19.0],
3362 [have_libmount_old="yes"],
3363 [have_libmount_old="no"])
3364 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3365 AC_MSG_RESULT([${have_libmount_old}])
3367 PKG_CHECK_EXISTS([mount == 2.19.0],
3368 [have_libmount_219="yes"],
3369 [have_libmount_219="no"])
3370 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3371 AC_MSG_RESULT([${have_libmount_219}])
3373 PKG_CHECK_EXISTS([mount > 2.19.0],
3374 [have_libmount_new="yes"],
3375 [have_libmount_new="no"])
3376 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3377 AC_MSG_RESULT([${have_libmount_new}])
3379 if test "x${have_libmount_old}" = "xyes"; then
3380 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3384 if test "${want_tizen}" = "yes"; then
3385 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3387 EFL_ADD_FEATURE([EEZE], [tizen])
3389 EFL_EVAL_PKGS([EEZE])
3391 ### Checks for header files
3393 ### Checks for types
3395 ### Checks for structures
3397 ### Checks for compiler characteristics
3399 ### Checks for linker characteristics
3401 ### Checks for library functions
3403 ### Checks for binaries
3404 if test "x$with_eeze_mount" = "xdetect"; then
3405 AC_PATH_PROG([with_eeze_mount], [mount], [])
3407 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3409 if test "x$with_eeze_umount" = "xdetect";then
3410 AC_PATH_PROG([with_eeze_umount], [umount], [])
3412 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3414 if test "x$with_eeze_eject" = "xdetect";then
3415 AC_PATH_PROG([with_eeze_eject], [eject], [])
3417 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3419 EFL_LIB_END_OPTIONAL([Eeze])
3421 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3422 [test "x${have_libmount_new}" = "xyes"])
3423 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3424 [test "x${have_libmount_old}" = "xyes"])
3425 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3426 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3431 EFL_LIB_START([Ecore_Evas])
3433 ### Additional options to configure
3437 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3438 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3439 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3440 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3441 want_ecore_evas_extn="yes"
3442 want_ecore_evas_drm="${have_evas_engine_drm}"
3444 if test "x${have_ecore_ipc}" = "xno" || \
3445 test "x${efl_func_shm_open}" = "xno" || \
3446 test "x${have_windows}" = "xyes" ; then
3447 want_ecore_evas_extn="no"
3450 ### Checks for programs
3452 ## Compatibility layers
3453 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3455 ### Checks for libraries
3456 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3457 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3458 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3459 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3460 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3461 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3464 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3465 ECORE_EVAS_MODULE([ews], [yes])
3466 ECORE_EVAS_MODULE([fb], [${want_fb}])
3467 ECORE_EVAS_MODULE([drm], [${want_drm}],
3468 [ EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm]) ]
3470 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3472 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3474 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3475 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3477 build_ecore_evas_sdl="no"
3478 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3479 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3480 build_ecore_evas_sdl="yes"
3481 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3483 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3484 [test "${build_ecore_evas_sdl}" = "yes"])
3486 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3487 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3489 build_ecore_evas_wayland="no"
3490 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3491 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3492 build_ecore_evas_wayland="yes"
3493 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3495 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3496 [test "${build_ecore_evas_wayland}" = "yes"])
3498 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3499 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3501 build_ecore_evas_win32="no"
3502 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3503 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3504 build_ecore_evas_win32="yes"
3505 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3507 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3508 [test "${build_ecore_evas_win32}" = "yes"])
3511 # XXX TODO: ecore_evas_x11
3513 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3515 have_ecore_evas_software_xlib="no"
3516 have_ecore_evas_software_xcb="no"
3517 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3518 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3519 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3520 have_ecore_evas_software_xlib="yes"
3522 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3523 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3525 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3526 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3527 have_ecore_evas_software_xcb="yes"
3529 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3530 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3534 # XXX TODO: ecore_evas_opengl_x11
3536 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
3538 have_ecore_evas_opengl_xlib="no"
3539 have_ecore_evas_opengl_xcb="no"
3540 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
3541 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
3542 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
3543 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
3546 # opengl does not work with xcb (yet)
3547 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
3548 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
3549 have_ecore_evas_opengl_xcb="yes"
3551 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
3552 PKG_CHECK_MODULES([XCB_X11],
3555 have_ecore_x_opengl_xcb="yes"
3556 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
3557 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
3558 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
3560 [have_ecore_x_opengl_xcb="no"])
3562 have_ecore_x_opengl_xcb="no"
3563 AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
3567 build_ecore_evas_x11="no"
3568 if test "x$have_ecore_evas_software_x11" = "xyes" || \
3569 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
3570 test "x$have_ecore_evas_software_xcb" = "xyes"; then
3571 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
3572 build_ecore_evas_x11="yes"
3574 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
3576 EFL_EVAL_PKGS([ECORE_EVAS])
3578 ### Checks for header files
3580 ### Checks for types
3582 ### Checks for structures
3584 ### Checks for compiler characteristics
3586 ### Checks for linker characteristics
3588 ### Checks for library functions
3590 EFL_LIB_END([Ecore_Evas])
3591 #### End of Ecore_Evas
3594 EFL_LIB_START([Eio])
3596 ### Additional options to configure
3600 ### Checks for programs
3602 ## Compatibility layers
3603 EFL_PLATFORM_DEPEND([EIO], [evil])
3605 ### Checks for libraries
3606 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
3607 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
3608 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
3609 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
3611 EFL_ADD_LIBS([EIO], [-lm])
3613 ### Checks for header files
3615 ### Checks for types
3617 ### Checks for structures
3619 ### Checks for compiler characteristics
3621 ### Checks for linker characteristics
3623 ### Checks for library functions
3626 dnl TODO: remove these ifdefs from code!
3627 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
3631 if test "x${want_eo_id}" = "xyes" ; then
3632 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
3636 EFL_LIB_START([Eldbus])
3638 ### Additional options to configure
3642 ### Checks for programs
3644 ## Compatibility layers
3645 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3647 ### Checks for libraries
3648 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3649 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3650 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3652 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3654 EFL_EVAL_PKGS([ELDBUS])
3656 ### Checks for header files
3658 ### Checks for types
3660 ### Checks for structures
3662 ### Checks for compiler characteristics
3664 ### Checks for linker characteristics
3666 ### Checks for library functions
3668 EFL_LIB_END([Eldbus])
3673 EFL_LIB_START([Efreet])
3675 ### Additional options to configure
3679 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
3681 ### Checks for programs
3683 ## Compatibility layers
3684 EFL_PLATFORM_DEPEND([EFREET], [evil])
3686 ### Checks for libraries
3687 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
3688 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
3689 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
3690 EFL_INTERNAL_DEPEND_PKG([EFREET], [eldbus])
3691 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
3692 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
3694 ### Checks for header files
3696 ### Checks for types
3698 ### Checks for structures
3700 ### Checks for compiler characteristics
3702 ### Checks for linker characteristics
3704 ### Checks for library functions
3706 EFL_LIB_END([Efreet])
3711 AC_ARG_ENABLE([physics],
3712 [AC_HELP_STRING([--disable-physics],
3713 [disable physics effects and support. @<:@default=enabled@:>@])],
3715 if test "x${enableval}" = "xyes" ; then
3718 CFOPT_WARNING="xyes"
3722 [want_physics="yes"])
3724 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
3726 ### Additional options to configure
3730 ### Checks for programs
3732 ### Checks for libraries
3733 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
3735 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
3736 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
3737 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
3738 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
3740 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
3742 EFL_EVAL_PKGS([EPHYSICS])
3744 ### Checks for header files
3746 ### Checks for types
3748 ### Checks for structures
3750 ### Checks for compiler characteristics
3752 ### Checks for linker characteristics
3754 ### Checks for library functions
3756 EFL_LIB_END_OPTIONAL([EPhysics])
3757 #### End of EPhysics
3761 EFL_LIB_START([Edje])
3763 ### Additional options to configure
3766 want_multisense="no" # TODO: move to ecore_audio and enable
3767 AC_ARG_ENABLE([multisense],
3768 [AC_HELP_STRING([--enable-multisense],
3769 [Enable multisense support. @<:@default=disabled@:>@])],
3771 if test "x${enableval}" = "xyes" ; then
3772 want_multisense="yes"
3774 want_multisense="no"
3777 [want_multisense="no"])
3780 AC_ARG_ENABLE([lua-old],
3781 [AC_HELP_STRING([--enable-lua-old],
3782 [Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
3784 if test "x${enableval}" = "xyes" ; then
3790 [want_lua_old="no"])
3792 # TODO: should we keep or remove these?
3793 want_edje_program_cache="no"
3794 want_edje_calc_cache="yes"
3795 want_fixed_point="no"
3797 ### Checks for programs
3799 ### Checks for libraries
3800 EFL_PLATFORM_DEPEND([EDJE], [evil])
3802 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
3803 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
3804 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
3805 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
3806 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
3807 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
3808 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
3809 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
3810 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
3811 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
3812 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
3813 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
3815 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
3816 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
3818 EFL_ADD_FEATURE([EDJE], [physics])
3819 EFL_ADD_FEATURE([EDJE], [multisense])
3820 EFL_ADD_FEATURE([EDJE], [lua-old])
3822 if test "${want_lua_old}" = "yes"; then
3823 EFL_CHECK_LUA_OLD([EDJE])
3825 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
3828 EFL_ADD_LIBS([EDJE], [-lm])
3830 EFL_EVAL_PKGS([EDJE])
3832 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
3833 [1], [Cache result of program glob matches])
3834 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
3835 [1], [Cache result of calc glob matches])
3836 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
3837 [1], [Use Fixed Point instead of FPU])
3839 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
3840 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
3841 [1], [Use Multisense])
3842 AC_SUBST([want_multisense])
3843 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
3844 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
3845 [1], [Use interpreted Lua (5.1 or 5.2)])
3846 AC_SUBST([want_lua_old])
3847 AC_SUBST([want_physics])
3849 ### Checks for header files
3851 AC_CHECK_HEADERS([ \
3855 ### Checks for types
3857 ### Checks for structures
3859 ### Checks for compiler characteristics
3861 ### Checks for linker characteristics
3863 ### Checks for library functions
3869 EFL_LIB_START([Emotion])
3871 ## Compatibility layers
3872 EFL_PLATFORM_DEPEND([Emotion], [evil])
3875 if test "${efl_func_shm_open}" = "yes"; then
3876 want_emotion_generic="static"
3878 want_emotion_generic="no"
3881 ### Additional options to configure
3882 AC_ARG_ENABLE([xine],
3883 [AC_HELP_STRING([--enable-xine],
3884 [enable xine support. @<:@default=disabled@:>@])],
3886 if test "x${enableval}" = "xyes" ; then
3894 AC_ARG_ENABLE([v4l2],
3895 [AC_HELP_STRING([--enable-v4l2], [enable v4l2 support.])],
3897 if test "x${enableval}" = "xyes" ; then
3903 [want_v4l2="${efl_lib_optional_eeze}"])
3905 ### Checks for programs
3907 ### Checks for libraries
3908 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
3909 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
3910 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
3911 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
3912 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
3913 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
3915 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
3916 EFL_ADD_FEATURE([EMOTION], [v4l2])
3920 have_gst_xoverlay="no"
3922 EMOTION_MODULE([xine], [${want_xine}])
3923 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
3924 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
3925 EMOTION_MODULE([generic], [${want_emotion_generic}])
3927 EFL_ADD_FEATURE([EMOTION], [xine])
3928 EFL_ADD_FEATURE([EMOTION], [gstreamer])
3929 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
3930 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
3932 EFL_EVAL_PKGS([EMOTION])
3934 ### Checks for header files
3936 ### Checks for types
3938 ### Checks for structures
3940 ### Checks for compiler characteristics
3942 ### Checks for linker characteristics
3944 ### Checks for library functions
3946 if test "${want_v4l2}" = "yes"; then
3947 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
3948 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
3949 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
3950 [#include <linux/videodev2.h>])
3953 ### Check availability
3955 EFL_LIB_END([Emotion])
3960 EFL_LIB_START([Ethumb])
3964 ### Additional options to configure
3966 ### Checks for programs
3968 ## Compatibility layers
3969 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
3971 ### Checks for libraries
3972 EFL_PLATFORM_DEPEND([EINA], [evil])
3974 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
3975 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
3976 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
3977 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
3978 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
3979 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
3980 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
3981 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
3985 EFL_EVAL_PKGS([ETHUMB])
3987 ### Checks for header files
3989 ### Checks for types
3991 ### Checks for structures
3993 ### Checks for compiler characteristics
3995 ### Checks for linker characteristics
3997 ### Checks for library functions
3999 ### Check availability
4001 EFL_LIB_END([Ethumb])
4005 EFL_LIB_START([Ethumb_Client])
4009 ### Additional options to configure
4011 ### Checks for programs
4013 ## Compatibility layers
4014 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4016 ### Checks for libraries
4017 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4018 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4019 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4020 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4021 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4022 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4023 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4025 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4027 ### Checks for header files
4029 ### Checks for types
4031 ### Checks for structures
4033 ### Checks for compiler characteristics
4035 ### Checks for linker characteristics
4037 ### Checks for library functions
4039 ### Check availability
4041 EFL_LIB_END([Ethumb_Client])
4042 #### End of Ethumb_Client
4045 AC_ARG_ENABLE([always-build-examples],
4046 [AC_HELP_STRING([--enable-always-build-examples],
4047 [always build examples. @<:@default=disabled@:>@])],
4049 if test "x${enableval}" = "xyes" ; then
4050 want_always_build_examples="yes"
4052 want_always_build_examples="no"
4055 [want_always_build_examples="no"])
4056 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4060 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-aaa],
4061 [ You will be told when this is needed ],
4063 if test "x${enableval}" = "xyes" ; then
4077 doc/previews/Makefile
4079 src/benchmarks/eina/Makefile
4080 src/benchmarks/eo/Makefile
4081 src/examples/eina/Makefile
4082 src/examples/eina_cxx/Makefile
4083 src/examples/eet/Makefile
4084 src/examples/eo/Makefile
4085 src/examples/evas/Makefile
4086 src/examples/ecore/Makefile
4087 src/examples/ecore_avahi/Makefile
4088 src/examples/eio/Makefile
4089 src/examples/eldbus/Makefile
4090 src/examples/ephysics/Makefile
4091 src/examples/edje/Makefile
4092 src/examples/emotion/Makefile
4093 src/examples/ethumb_client/Makefile
4094 src/lib/eina/eina_config.h
4095 src/lib/ecore_x/ecore_x_version.h
4096 src/lib/efl/Efl_Config.h
4107 pc/evas-opengl-x11.pc
4108 pc/evas-opengl-sdl.pc
4109 pc/evas-opengl-cocoa.pc
4111 pc/evas-software-buffer.pc
4112 pc/evas-software-x11.pc
4113 pc/evas-software-gdi.pc
4114 pc/evas-software-ddraw.pc
4115 pc/evas-software-sdl.pc
4116 pc/evas-wayland-shm.pc
4117 pc/evas-wayland-egl.pc
4125 pc/ecore-input-evas.pc
4137 pc/ecore-imf-evas.pc
4152 dbus-services/org.enlightenment.Efreet.service
4153 dbus-services/org.enlightenment.Ethumb.service
4154 systemd-services/efreet.service
4155 systemd-services/ethumb.service
4157 cmakeconfig/EinaConfig.cmake
4158 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4159 cmakeconfig/EezeConfig.cmake
4160 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4161 cmakeconfig/EoConfig.cmake
4162 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4163 cmakeconfig/EetConfig.cmake
4164 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4165 cmakeconfig/EvasConfig.cmake
4166 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4167 cmakeconfig/EcoreConfig.cmake
4168 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4169 cmakeconfig/EdjeConfig.cmake
4170 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4171 cmakeconfig/EldbusConfig.cmake
4172 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4173 cmakeconfig/EfreetConfig.cmake
4174 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4175 cmakeconfig/EthumbConfig.cmake
4176 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4177 cmakeconfig/EthumbClientConfig.cmake
4178 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4179 cmakeconfig/EmotionConfig.cmake
4180 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4188 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4192 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4193 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4196 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4199 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4203 if test "${have_linux}" = "yes"; then
4204 EFL_ADD_FEATURE([system], [inotify])
4205 EFL_ADD_FEATURE([system], [atfile_source])
4206 elif test "${have_windows}" = "yes"; then
4207 EFL_ADD_FEATURE([system], [notify_win32])
4209 EFL_ADD_FEATURE([system], [ipv6])
4211 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_posix_threads_spinlock}])
4212 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4213 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4218 echo "------------------------------------------------------------------------"
4219 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4220 echo "------------------------------------------------------------------------"
4223 if test "x${have_windows}" = "xyes" ; then
4224 osname="${host_os}(${_efl_windows_version})"
4229 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4230 echo " EFL API Set...: ${efl_api}"
4231 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4232 echo " System Feature: ${features_system}"
4233 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4234 echo " Cryptography..: ${build_crypto}"
4235 echo " X11...........: ${with_x11}"
4236 echo " OpenGL........: ${with_opengl}"
4237 echo " C++11.........: ${have_cxx11}"
4238 echo "Evas............: yes (${features_evas})"
4239 echo " Engines.......: ${features_evas_engine}"
4240 echo " Image Loaders.: ${features_evas_loader}"
4241 if test "x${have_pixman}" = "xyes" ; then
4242 echo " Pixman........: ${features_evas_pixman}"
4244 echo "Eo..............: yes (${features_eo})"
4245 echo "Eolian..........: yes (${features_eolian})"
4246 echo "Eina............: yes (${features_eina})"
4247 echo "Ecore...........: yes (${features_ecore})"
4248 echo "Ecore_Con.......: yes (${features_ecore_con})"
4249 echo "Ecore_File......: yes"
4250 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4251 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4252 echo "Ecore_SDL.......: $want_sdl"
4253 echo "Ecore_Wayland...: $want_wayland"
4254 if test "${have_linux}" = "yes"; then
4255 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4256 elif test "${have_ps3}" = "yes"; then
4257 echo "Ecore_PSL1GHT...: $have_ps3"
4258 elif test "${have_darwin}" = "yes"; then
4259 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4260 elif test "${have_windows}" = "yes"; then
4261 echo "Ecore_Win32.....: $have_win32"
4262 echo "Ecore_WinCE.....: $have_wince"
4264 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4265 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4266 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4267 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4268 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4269 echo "Edje............: yes (${features_edje})"
4270 echo "Emotion.........: yes (${features_emotion})"
4271 echo "Ethumb..........: yes"
4272 echo "Ethumb_Client...: yes"
4273 if test "${build_tests}" = "none"; then
4274 echo "Tests...........: no"
4275 elif test "${build_tests}" = "auto"; then
4276 echo "Tests...........: make check (inexplicitly enabled)"
4277 elif test "${build_tests}" = "regular"; then
4278 echo "Tests...........: make check"
4279 elif test "${build_tests}" = "coverage"; then
4280 echo "Tests...........: make lcov-check"
4282 echo "Examples........: make examples (make install-examples)"
4283 if test "x${build_doc}" = "xyes"; then
4284 echo "Documentation...: make doc"
4286 echo "Documentation...: no"
4288 echo "Compilation.....: make (or gmake)"
4289 echo " CPPFLAGS......: $CPPFLAGS"
4290 echo " CFLAGS........: $CFLAGS"
4291 echo " CXXFLAGS......: $CXXFLAGS"
4292 echo " LDFLAGS.......: $LDFLAGS"
4294 if test "x${with_binary_edje_cc}" != "x"; then
4295 echo " edje_cc.......: ${with_binary_edje_cc}"
4298 if test "x${with_binary_eolian_gen}" != "x"; then
4299 echo " eolian_gen....: ${with_binary_eolian_gen}"
4303 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4304 echo " prefix........: $prefix"
4305 echo " dbus units....: $dbusservicedir"
4306 if test "${have_systemd_user_session}" = "yes"; then
4307 echo " systemd units.: $USER_SESSION_DIR"
4311 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4312 echo " _________________________________________"
4313 echo "/ Systemd dependency is available on your \\"
4314 echo "| system, but you are building without |"
4315 echo "| systemd support. Don't forget to |"
4316 echo "| --enable-systemd if you want systemd |"
4317 echo "\\ integration for EFL. /"
4318 echo " -----------------------------------------"
4320 echo " \\ (oo)\\_______"
4321 echo " (__)\\ )\\/\\"
4327 if test -n "$CFOPT_WARNING"; then
4328 echo "_____________________________________________________________________"
4330 echo "==-- WARNING --=="
4332 echo "_____________________________________________________________________"
4333 if test "x${with_x11}" = "xxcb"; then
4334 echo "_____________________________________________________________________"
4335 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
4336 echo "is amazingly faster than Xlib (when used sensibly). It can be"
4337 echo "faster in a few corner cases on startup of an app, but it comes"
4338 echo "with many downsides. One of those is more complex code inside"
4339 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
4340 echo "the big catch is that OpenGL support basically requires Xlib anyway"
4341 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
4342 echo "gain nothing really in terms of speed and no savings in memory"
4343 echo "because Xlib is still linked, loaded and used, BUT instead you"
4344 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
4345 echo "toolkit and this is basically never tested by anyone working on"
4346 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
4347 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
4348 echo "off the memory footprint of a whole system and live with less"
4349 echo "tested code, and possibly unimplemented features in ecore_x. To"
4350 echo "remove the XCB setup, remove the --with-x11=xcb option to"
4352 echo "_____________________________________________________________________"
4354 if test "x${build_crypto}" = "xgnutls"; then
4355 echo "_____________________________________________________________________"
4356 echo "You have chosen gnutls as the crypto back-end. This will have some"
4357 echo "side-effects that can break set-uid root binaries that happen to"
4358 echo "link to and/or use EFL. These do actually exist. Gnutls will drop"
4359 echo "root privs if it detects being setuid, thus breaking these tools"
4360 echo "and their functionality. Only enable gnutls if you REALLY know"
4361 echo "what you are doing and are willing to live with broken "
4362 echo "functionality."
4363 echo "_____________________________________________________________________"
4365 if test "x${want_physics}" = "xno"; then
4366 echo "_____________________________________________________________________"
4367 echo "You have chosen to disable physics support. This disables lots of"
4368 echo "core functionality and is effectively never tested. You are going"
4369 echo "to find features that suddenly don't work and as a result cause"
4370 echo "a series of breakages. This is simply not tested so you are on"
4371 echo "your own in terms of ensuring everything works if you do this"
4372 echo "_____________________________________________________________________"
4374 if test "x${efl_have_threads}" = "xno"; then
4375 echo "_____________________________________________________________________"
4376 echo "You have disabled threading support. A lot of code is literally"
4377 echo "written to need threading. We never test or even build with"
4378 echo "threading disabled, so doing this is entering uncharted territory."
4379 echo "There is a very good chance things may not compile at all, or if"
4380 echo "the do, they will break at runtime in weird and wonderful ways."
4381 echo "Highly reconsider what you are doing here, or be prepared to deal"
4382 echo "with the fallout yourself."
4383 echo "_____________________________________________________________________"
4385 if test "x${want_fontconfig}" = "xno"; then
4386 echo "_____________________________________________________________________"
4387 echo "You have disabled fontconfig. This is going to make general font"
4388 echo "searching not work, and only some very direct 'load /path/file.ttf'"
4389 echo "will wok alongside some old-school ttf file path searching. This"
4390 echo "is very likely not what you want, so highly reconsider turning"
4391 echo "fontconfig off. Having it off will lead to visual problems like"
4392 echo "missing text in many UI areas etc."
4393 echo "_____________________________________________________________________"
4395 if test "x${want_fribidi}" = "xno"; then
4396 echo "_____________________________________________________________________"
4397 echo "Fribidi is used for handling right-to-left text (like Arabic,"
4398 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
4399 echo "you want to disable unless you know for absolute certain you"
4400 echo "will never encounter and have to display such scripts. Also"
4401 echo "note that we don't test with fribidi disabled so you may also"
4402 echo "trigger code paths with bugs that are never normally used."
4403 echo "_____________________________________________________________________"
4405 if test "x${want_pixman}" = "xyes"; then
4406 echo "_____________________________________________________________________"
4407 echo "Pixman allows you to replace some rendering paths in Evas with"
4408 echo "Pixman. Pixman may or may not be faster (probably slower), and"
4409 echo "the rendering paths with Pixman enabled are not tested often so"
4410 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
4411 echo "you wish to deal with these bugs."
4412 echo "_____________________________________________________________________"
4414 if test "x${have_tile_rotate}" = "xyes"; then
4415 echo "_____________________________________________________________________"
4416 echo "Tiled rotation code is not tested much, so be aware that you"
4417 echo "may introduce bugs by enabling this."
4418 echo "_____________________________________________________________________"
4420 if test "x${want_g_main_loop}" = "xyes"; then
4421 echo "_____________________________________________________________________"
4422 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
4423 echo "regularly, but the glib mainloop integration (on by default) is."
4424 echo "You can use apps that use glib mainloop constructs by default"
4425 echo "this way, but the Ecore mainloop is not built on top of glib."
4426 echo "You have enabled ecore to be built on top of glib and thus you"
4427 echo "may experience bugs that normally would not be there. Be prepared"
4428 echo "to fix these if they arise."
4429 echo "_____________________________________________________________________"
4431 if test "x${want_gstreamer}" = "xyes"; then
4432 echo "_____________________________________________________________________"
4433 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
4434 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
4435 echo "and will eventually be removed entirely. Don't enable the old"
4436 echo "Gstreamer support unless you want to deal with the issues yourself."
4437 echo "_____________________________________________________________________"
4439 if test "x${want_gstreamer1}" = "xno"; then
4440 echo "_____________________________________________________________________"
4441 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
4442 echo "this as it will heavily limit your media support options and render"
4443 echo "some functionality as useless, leading to visible application bugs."
4444 echo "_____________________________________________________________________"
4446 if test "x${want_eo_id}" = "xno"; then
4447 echo "_____________________________________________________________________"
4448 echo "Eo's ID absttraction interface is a major safety system that"
4449 echo "protects code from crashing or misbehaving in many cases. It does"
4450 echo "come at a slight cost, but the safety and protection is worth it."
4451 echo "Also by disabling this, you may also introduce security holes in"
4452 echo "EFL as well as cause all sorts of previously non-existant crashes."
4453 echo "Seriously reconsider disabling EO ID."
4454 echo "_____________________________________________________________________"
4456 if test "x${want_evas_cserve2}" = "xno"; then
4457 echo "_____________________________________________________________________"
4458 echo "Evas Cserve is built and on by default and no testing is done"
4459 echo "for the old non-cserve2 code paths, so by disabling this you"
4460 echo "may be introducing bugs. Be aware of this and be prepared to"
4461 echo "deal with the bugs as a result of this."
4462 echo "_____________________________________________________________________"
4464 if test "x${want_audio}" = "xno"; then
4465 echo "_____________________________________________________________________"
4466 echo "You disabled audio support in Ecore. This is not tested and may"
4467 echo "Create bugs for you due to it creating untested code paths."
4468 echo "Reconsider disabling audio."
4469 echo "_____________________________________________________________________"
4471 if test "x${want_pulseaudio}" = "xno"; then
4472 echo "_____________________________________________________________________"
4473 echo "The only audio output method supported by Ecore right now is via"
4474 echo "Pulseaudio. You have disabled that and likely have broken a whole"
4475 echo "bunch of things in the process. Reconsider your configure options."
4476 echo "_____________________________________________________________________"
4478 if test "x${want_xinput2}" = "xno"; then
4479 echo "_____________________________________________________________________"
4480 echo "You have disabled xinput2 support. This means a whole lot of input"
4481 echo "devices in X11 will not work correctly. You likely do not want to"
4483 echo "_____________________________________________________________________"
4485 if test "x${want_xim}" = "xno"; then
4486 echo "_____________________________________________________________________"
4487 echo "You disabled XIM input method support. This is the most basic and"
4488 echo "core input method protocol supported in X11 and you almost certainly"
4489 echo "want the suport for it. Input methods allow for complex text input"
4490 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
4491 echo "on touch/mobile devices."
4492 echo "_____________________________________________________________________"
4494 if test "x${want_scim}" = "xno"; then
4495 echo "_____________________________________________________________________"
4496 echo "SCIM is a modern and very common input method framework and you"
4497 echo "disabled support for it. You very likely want the support for"
4498 echo "complex language input, so please reconsider this. Input methods"
4499 echo "allow for complex text input like for Chinese, Japanese and Korean"
4500 echo "as well as virtual keyboards on touch/mobile devices."
4501 echo "_____________________________________________________________________"
4503 if test "x${want_libmount}" = "xno"; then
4504 echo "_____________________________________________________________________"
4505 echo "Libmount has been disabled, and it is used heavily inside Eeze"
4506 echo "for support of removable devices etc. and disabling this will"
4507 echo "hurt support for Enlightenment and its filemanager."
4508 echo "_____________________________________________________________________"
4510 echo "_____________________________________________________________________"
4512 echo "==-- WARNING --=="
4514 echo "_____________________________________________________________________"
4515 if test -n "$BARF_OK"; then
4516 echo "Please add the following option to acknowledge this:"
4517 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-aaa"
4518 echo "_____________________________________________________________________"
4525 if test "x$prefix" != "x/usr"; then
4527 path=$dbusservicedir
4528 while test "x$old" != "x$path"; do
4530 eval path="\"$path\""
4532 resolved_dbusservicedir=$path
4535 path=$USER_SESSION_DIR
4536 while test "x$old" != "x$path"; do
4538 eval path="\"$path\""
4540 resolved_USER_SESSION_DIR=$path
4541 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
4545 while test "x$old" != "x$path"; do
4547 eval path="\"$path\""
4549 resolved_datadir=$path
4552 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
4553 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
4554 elif echo "$XDG_DATA_DIRS" | grep -e "$resolved_datadir" >/dev/null 2>/dev/null; then
4555 AC_MSG_NOTICE([installing DBus services in "$resolved_datadir" set in \$XDG_DATA_DIRS. Every user must have \$XDG_DATA_DIRS containing "$resolved_datadir".])
4556 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
4557 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
4562 needs_alert_systemd=0
4563 if test "$have_systemd_user_session" = "yes"; then
4564 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
4565 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
4566 elif echo "$XDG_DATA_DIRS" | grep -e "$base_USER_SESSION_DIR" >/dev/null 2>/dev/null; then
4567 AC_MSG_NOTICE([installing systemd services in "$base_USER_SESSION_DIR" set in \$XDG_DATA_DIRS. Every user must have \$XDG_DATA_DIRS containing "$base_USER_SESSION_DIR".])
4568 elif echo "$XDG_CONFIG_DIRS" | grep -e "$base_USER_SESSION_DIR" >/dev/null 2>/dev/null; then
4569 AC_MSG_NOTICE([installing systemd services in "$base_USER_SESSION_DIR" set in \$XDG_CONFIG_DIRS. Every user must have \$XDG_CONFIG_DIRS containing "$base_USER_SESSION_DIR".])
4570 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
4571 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
4573 needs_alert_systemd=1
4577 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
4578 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
4579 what_alert="dbus and systemd"
4580 elif test $needs_alert_dbus -eq 1; then
4583 what_alert="systemd"
4587 echo "#-------------------------------------------------------------------#"
4588 echo "##==-- ALERT --==##"
4589 echo "#-------------------------------------------------------------------#"
4591 echo " Your installation prefix is *NOT* /usr so this means you need"
4592 echo "to ensure some files are visible to $what_alert otherwise services cannot"
4593 echo "be started when needed. You will need to do the following:"
4594 if test $needs_alert_dbus -eq 1; then
4596 echo "System-wide installation:"
4597 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
4598 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service /usr/share/dbus-1/services/org.enlightenment.Efreet.service"
4600 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
4602 echo "User installation:"
4603 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
4604 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service ~/.local/share/dbus-1/services/org.enlightenment.Efreet.service"
4606 if test $needs_alert_systemd -eq 1; then
4608 echo "System-wide installation:"
4609 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
4610 echo " ln -s ${resolved_USER_SESSION_DIR}/efreet.service /usr/lib/systemd/user/efreet.service"
4612 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
4614 echo "User installation:"
4615 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
4616 echo " ln -s ${resolved_USER_SESSION_DIR}/efreet.service ~/.config/systemd/user/efreet.service"
4619 echo "#-------------------------------------------------------------------#"
4623 if test "x${efl_deprecated_option}" = "xyes"; then
4625 echo "#-------------------------------------------------------------------#"
4626 echo "##==-- ALERT --==##"
4627 echo "#-------------------------------------------------------------------#"
4629 echo " Your build script is using a deprecated option. It will get b0rken"
4630 echo "with the next release of EFL. You better update it now than later."
4632 echo "#-------------------------------------------------------------------#"