1 EFL_VERSION([1], [15], [0], [release])
2 AC_INIT([efl], [efl_version-beta3], [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__ */
18 AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects])
19 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
21 # Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
22 # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
23 AC_USE_SYSTEM_EXTENSIONS
27 #### Apply configuring with legacy api's only, eo api's or both.
29 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
30 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
33 #### For the moment the Eo EFL API is not ready you need to explicitely optin.
34 EFL_ENABLE_EO_API_SUPPORT
35 EFL_ENABLE_BETA_API_SUPPORT
38 [AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
44 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
45 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
54 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
56 *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
59 AC_SUBST(EFL_API_LEGACY_DEF)
60 AC_SUBST(EFL_API_EO_DEF)
62 #### Additional options to configure
64 # string to identify the build
66 [AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
67 @<:@default=none@:>@])],
68 [EFL_BUILD_ID="${withval}"],
69 [EFL_BUILD_ID="none"])
70 AC_SUBST(EFL_BUILD_ID)
73 AC_ARG_WITH([profile],
74 [AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
75 @<:@default=dev@:>@])],
76 [build_profile=${withval}],
77 [build_profile=def_build_profile])
79 case "${build_profile}" in
83 AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
88 case "${build_profile}" in
94 # TODO: add some build "profile" (server, full, etc...)
97 [AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
98 openssl, gnutls or none.
99 @<:@default=openssl@:>@])],
100 [build_crypto=${withval}],
101 [build_crypto=openssl])
103 case "${build_crypto}" in
107 AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
112 [AS_HELP_STRING([--with-tests=none|regular|coverage],[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 AC_ARG_WITH([ecore-con-http-test-url],
140 [AS_HELP_STRING([--with-ecore-con-http-test-url=http://username:password@example.com],[Url of http server for testing with username and password])],[ECORE_CON_HTTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_HTTP_TEST_URL],["$withval"],[Http url for testing])])
142 AC_ARG_WITH([ecore-con-ftp-test-url],
143 [AS_HELP_STRING([--with-ecore-con-ftp-test-url=ftp://username:password@ftp.example.com?file=filename&directory=dir],[Url of ftp server for testing with username, password, complete filepath for upload with optional directory])],[ECORE_CON_FTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_FTP_TEST_URL],["$withval"],[Ftp url for testing])])
145 dbusservicedir="${datadir}/dbus-1/services"
146 AC_ARG_WITH([dbus-services],
147 [AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
148 [dbusservicedir=$withval])
149 AC_SUBST(dbusservicedir)
151 efl_deprecated_option="no"
152 EFL_WITH_BIN([edje], [edje-cc])
153 EFL_WITH_BIN([eolian], [eolian-gen])
154 EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
155 EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
159 requirements_pc_eflall=""
160 requirements_pc_deps_eflall=""
161 requirements_libs_eflall=""
162 requirements_cflags_eflall=""
164 requirements_pc_crypto=""
165 requirements_pc_deps_crypto=""
166 requirements_libs_crypto=""
167 requirements_cflags_crypto=""
171 # TODO: move me to m4 file that setups module/so related variables
174 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
179 MODULE_ARCH="v-v_maj.v_min"
183 MODULE_ARCH="v-v_maj.v_min"
187 MODULE_ARCH="v-v_maj.v_min"
192 EFL_VERSION_MAJOR="v_maj"
193 EFL_VERSION_MINOR="v_min"
194 AC_SUBST(EFL_VERSION_MAJOR)
195 AC_SUBST(EFL_VERSION_MINOR)
197 have_systemd_pkg="no"
206 # TODO: check cygwin* here
209 EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
219 have_systemd_pkg="auto"
223 case "$host_vendor" in
229 AC_SUBST([MODULE_ARCH])
230 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
231 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
232 AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
234 # TODO: move me to m4 file that setups the windows related variables
235 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
236 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
237 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
239 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
240 AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
241 AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
243 #### Checks for programs
247 if test "x${have_windows}" = "xyes" ; then
248 lt_cv_deplibs_check_method='pass_all'
250 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
251 LT_INIT([win32-dll disable-static pic-only])
256 AM_GNU_GETTEXT_VERSION([0.18])
258 m4_ifdef([AC_GNU_GETTEXT], [
259 AC_GNU_GETTEXT([external])
260 po_makefile_in=po/Makefile.in
264 m4_ifdef([AM_GNU_GETTEXT], [
265 AM_GNU_GETTEXT([external])
266 po_makefile_in=po/Makefile.in
273 AC_SUBST([LTLIBINTL])
274 LOCALE_DIR="${localedir}"
277 if test "x${POSUB}" = "x" ; then
281 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
294 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
296 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
297 AC_MSG_ERROR([efl requires a c99-capable compiler])
299 # We should be using ${CXX} here, but there is a bug in
300 # autotools macro and CXX is always set to g++ even if
301 # it's not found. So we are using an internal variable
302 # that does the work for now, may get broken in the future.
303 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
304 AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
312 if test "x${PKG_CONFIG}" = "x" ; then
313 AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
316 # doxygen program for documentation building
318 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
322 if test "${want_coverage}" = "yes" ; then
323 AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
324 if test "x${have_lcov}" = "xyes" ; then
325 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -fprofile-arcs -ftest-coverage"
326 EFLALL_COV_LIBS="${EFLALL_COV_LIBS} -lgcov"
327 if test "x${prefer_assert}" = "xno"; then
328 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
330 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0 -DDEBUG"
333 AC_MSG_ERROR([lcov is not found])
337 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
339 #### Checks for libraries
341 # check unit testing library
343 if test "${want_tests}" = "yes"; then
344 PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
346 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
349 # check for crypto/tls library to use
350 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"])
369 AC_ARG_ENABLE([lua-old],
370 [AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
372 if test "x${enableval}" = "xyes" ; then
380 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
381 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
382 [1], [Use interpreted Lua (5.1 or 5.2)])
383 AC_SUBST([want_lua_old])
387 AC_ARG_ENABLE([liblz4],
388 [AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
390 if test "x${enableval}" = "xyes" ; then
391 # Only ships pc file since r120
392 PKG_CHECK_MODULES([LIBLZ4], [liblz4])
393 EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
394 EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
402 AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
403 AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
404 AC_SUBST([want_liblz4])
405 AC_SUBST([ENABLE_LIBLZ4])
407 #### Checks for header files
409 # Common Checks (keep names sorted for ease of use):
427 #### Checks for types
430 AC_CHECK_SIZEOF([wchar_t])
431 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
432 AC_SUBST([EINA_SIZEOF_WCHAR_T])
434 AC_CHECK_SIZEOF(int, 4)
435 AC_CHECK_SIZEOF(long, 4)
437 AC_CHECK_SIZEOF([uintptr_t])
439 AC_CHECK_TYPES([siginfo_t], [], [],
443 # include <siginfo.h>
447 #### Checks for structures
450 #### Checks for compiler characteristics
454 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
455 EFL_CHECK_LINKER_FLAGS([EFLALL], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries])
456 case "${build_profile}" in
458 dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
459 AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
460 CFLAGS_save="${CFLAGS}"
461 CFLAGS="${CFLAGS} -Werror -Wshadow"
462 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
463 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
464 CFLAGS="${CFLAGS_save}"
475 EFL_ATTRIBUTE_ALWAYS_INLINE
477 EFLALL_LIBS="${EFLALL_LIBS}"
478 EFLALL_CFLAGS="${EFLALL_CFLAGS}"
480 ## CPU architecture specific assembly
484 build_cpu_altivec="no"
488 AC_ARG_ENABLE([neon],
489 [AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
491 if test "x${enableval}" = "xyes"; then
504 AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
506 AC_CHECK_HEADER([immintrin.h],
508 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
511 [build_cpu_sse3="no"])
512 AC_MSG_CHECKING([whether to build SSE3 code])
513 AC_MSG_RESULT([${build_cpu_sse3}])
515 if test "x$build_cpu_sse3" = "xyes" ; then
520 build_cpu_altivec="yes"
521 AC_CHECK_HEADER([altivec.h],
523 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
524 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
525 build_cpu_altivec="yes"
529 save_CPPFLAGS=$CPPFLAGS
530 CFLAGS=$CFLAGS" -maltivec"
531 CPPFLAGS=$CPPFLAGS" -maltivec"
532 unset ac_cv_header_altivec_h
533 AC_CHECK_HEADER([altivec.h],
535 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
536 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
537 build_cpu_altivec="yes"
539 [build_cpu_altivec="no"]
542 CPPFLAGS=$save_CPPFLAGS
545 if test "x${build_cpu_altivec}" = "xyes"; then
546 AC_MSG_CHECKING([whether to use altivec compiler flag])
547 if test "x$GCC" = "xyes"; then
548 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
549 altivec_cflags="-faltivec"
550 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
551 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
552 altivec_cflags="-maltivec"
553 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
556 AC_MSG_RESULT([${altivec_cflags}])
557 CFLAGS="$CFLAGS ${altivec_cflags}"
558 ALTIVEC_CFLAGS="-maltivec"
562 if test "x${want_neon}" = "xyes"; then
564 AC_MSG_CHECKING([whether to use NEON instructions])
565 CFLAGS_save="${CFLAGS}"
566 CFLAGS="${CFLAGS} -mfpu=neon -ftree-vectorize"
567 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
569 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
571 NEON_CFLAGS="-mfpu=neon"
576 CFLAGS="${CFLAGS_save}"
580 if test "x${want_neon}" = "xyes"; then
582 AC_MSG_CHECKING([whether to use NEON instructions])
583 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
585 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
586 AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
596 AC_SUBST([ALTIVEC_CFLAGS])
597 AC_SUBST([SSE3_CFLAGS])
598 AC_SUBST([NEON_CFLAGS])
600 #### Checks for linker characteristics
603 #### Checks for library functions
624 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl])
626 have_atfile_source="${ac_cv_func_fstatat}"
627 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
628 [test "x${have_atfile_source}" = "xyes"],
629 [1], [Use fstatat and other -at file functions])
633 ###################### EFL ######################
636 AC_ARG_ENABLE([libeeze],
637 [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
639 if test "x${enableval}" = "xyes"; then
648 if test "x${want_libeeze}" = "xyes" ; then
649 if test "x${have_linux}" = "xyes" ; then
659 AC_ARG_ENABLE([systemd],
660 [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
662 if test "x${enableval}" = "xyes" ; then
671 systemd_dbus_prefix="# "
672 if test "${want_systemd}" = "yes"; then
673 systemd_dbus_prefix=""
675 AC_SUBST(systemd_dbus_prefix)
677 AC_ARG_WITH([systemdunitdir],
678 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
679 [USER_SESSION_DIR=${withval}])
680 if test "$want_systemd" == "no"; then
681 have_systemd_user_session="no"
682 elif test -n "${USER_SESSION_DIR}"; then
683 have_systemd_user_session="yes"
684 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
686 # Detect systemd user session directory properly
687 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
688 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
690 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
691 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
695 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
696 AC_SUBST([USER_SESSION_DIR])
698 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
699 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 192 libsystemd-journal >= 192],
700 [have_systemd_pkg="yes"],
701 [have_systemd_pkg="no"])
704 PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198],
705 [have_systemd_login=yes], [have_systemd_login=no])
706 AS_IF([test "x$have_systemd_login" = "xyes"],
707 [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
708 AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
710 # check for systemd library if requested
711 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
712 AC_MSG_ERROR([Systemd dependency requested but not found])
715 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
717 #### Platform-dependent
722 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
726 ### Additional options to configure
727 EFL_SELECT_WINDOWS_VERSION
729 ### Checks for programs
731 ### Checks for libraries
733 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
734 EVIL_DLFCN_LIBS="-lpsapi"
736 AC_SUBST([EVIL_DLFCN_LIBS])
738 ### Checks for header files
742 ### Checks for structures
744 ### Checks for compiler characteristics
746 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
747 # TODO: should we have these at EFL (global?)
748 # Note: these warnings should not be used with C++ code
749 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
750 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
752 if test "x${have_win32}" = "xyes" ; then
753 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
754 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
757 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
758 AC_SUBST([EVIL_CFLAGS_WRN])
759 AC_SUBST([EVIL_CXXFLAGS])
761 ### Checks for linker characteristics
763 ### Checks for library functions
765 DL_LIBS="lib/evil/libdl.la"
766 DL_INTERNAL_LIBS="lib/evil/libdl.la"
768 EFL_LIB_END_OPTIONAL([Evil])
770 AC_SUBST([USE_EVIL_CFLAGS])
771 AC_SUBST([USE_EVIL_LIBS])
776 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
778 ### Additional options to configure
782 ### Checks for programs
784 ### Checks for libraries
785 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
787 ### Checks for header files
791 ### Checks for structures
793 ### Checks for compiler characteristics
795 ### Checks for linker characteristics
797 ### Checks for library functions
799 EFL_LIB_END_OPTIONAL([Escape])
802 EFL_CHECK_FUNC([SHM], [shm_open])
803 SHM_LIBS="${requirements_libs_shm}"
807 AC_SUBST([DL_INTERNAL_LIBS])
808 #### End of Platform-dependent
813 EFL_LIB_START([Eina])
817 have_safety_checks="yes"
819 case "${build_profile}" in
821 with_max_log_level=""
822 have_stringshare_usage="no"
824 want_debug_malloc="no"
825 want_debug_threads="no"
826 want_default_mempool="no"
831 with_max_log_level=""
832 have_stringshare_usage="yes"
834 want_debug_malloc="yes"
835 want_debug_threads="yes"
836 want_default_mempool="yes"
841 with_max_log_level="3"
842 have_stringshare_usage="no"
844 want_debug_malloc="no"
845 want_debug_threads="no"
846 want_default_mempool="no"
851 PKG_CHECK_MODULES(UNWIND, [libunwind libunwind-generic],
852 [have_unwind=yes], [have_unwind=no])
853 AS_IF([test "x$have_unwind" = "xyes"],
854 [AC_DEFINE([HAVE_UNWIND], [1], [Have libunwind])])
855 AM_CONDITIONAL(HAVE_UNWIND, test "x$have_unwind" = "xyes")
857 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
858 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
859 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
861 if test -n "${with_max_log_level}"; then
862 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
863 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
866 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
867 [test "x${have_stringshare_usage}" = "xyes"],
868 [1], [Report Eina stringshare usage pattern])
870 ### Additional options to configure
871 AC_ARG_ENABLE([magic-debug],
872 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
874 if test "x${enableval}" = "xyes" ; then
875 have_magic_debug="yes"
877 have_magic_debug="no"
880 [have_magic_debug="yes"])
882 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
884 AC_ARG_WITH([xattr-tests-path],
885 [AS_HELP_STRING([--with-xattr-tests-path=DIR],[path of xattr enabled directory to create test files])],[XATTR_TEST_DIR=${withval}][AC_DEFINE_UNQUOTED([XATTR_TEST_DIR],["$withval"], [xattr enabled directory])])
887 ### Checks for programs
889 ### Checks for libraries
890 EFL_PLATFORM_DEPEND([EINA], [all])
892 EFL_ADD_LIBS([EINA], [-lm])
897 AC_ARG_ENABLE([valgrind],
898 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
900 if test "x${enableval}" = "xyes" ; then
907 if test "${want_valgrind}" = "auto"; then
908 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
910 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
913 if test "${want_valgrind}" = "no"; then
914 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
916 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
917 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
920 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
921 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
922 [1], [Turn on debugging overhead in mempool])
924 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
925 [test "x${want_cow_magic}" = "xyes" ],
926 [1], [Turn on Eina_Magic in Eina_Cow])
928 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd-journal])
930 EFL_EVAL_PKGS([EINA])
936 PKG_CHECK_MODULES([GLIB],
941 if test "x${have_glib}" = "xyes" ; then
942 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
945 ### Checks for header files
947 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
948 CFLAGS_save="${CFLAGS}"
949 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
950 AC_CHECK_HEADERS([sys/mman.h])
951 CFLAGS="${CFLAGS_save}"
953 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
957 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
958 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
959 [1], [Define to 1 if you have a valid <dirent.h> header file.])
961 ### Checks for structures
963 ### Checks for compiler characteristics
964 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
966 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
967 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
968 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
970 ### Checks for linker characteristics
972 ### Checks for library functions
974 AC_CHECK_FUNCS([fchmod])
976 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
979 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
983 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
984 AC_MSG_RESULT([${enable_log}])
986 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
989 if test "x${efl_have_threads}" = "xno"; then
993 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
994 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
996 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
997 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
998 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
999 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
1000 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
1001 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1005 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1006 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1007 EINA_CHECK_MODULE([one-big], [static], [one big])
1009 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1015 EFL_LIB_START([Eina_Cxx])
1017 EFL_CXX_COMPILE_STDCXX_11([ext])
1018 AC_ARG_ENABLE([cxx-bindings],
1019 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1020 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1022 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1028 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1030 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1031 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1032 EFL_EVAL_PKGS([EINA_CXX])
1034 EFL_LIB_END([Eina_Cxx])
1035 #### End of Eina CXX
1043 ### Additional options to configure
1045 ### Checks for programs
1047 ## Compatibility layers
1048 EFL_PLATFORM_DEPEND([EO], [evil])
1050 ### Checks for libraries
1051 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1053 # Example (evas one)
1055 # TODO: add once elementary is merged
1056 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1057 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1059 ### Checks for header files
1061 ### Checks for types
1063 ### Checks for structures
1065 ### Checks for compiler characteristics
1067 ### Checks for linker characteristics
1069 ### Checks for library functions
1070 EFL_CHECK_FUNCS([EO], [dladdr])
1072 ### Check availability
1078 EFL_LIB_START([Eet_Cxx])
1080 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1081 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1083 EFL_EVAL_PKGS([EET_CXX])
1085 EFL_LIB_END([Eet_Cxx])
1090 EFL_LIB_START([Emile])
1094 ### Additional options to configure
1096 ### Checks for programs
1098 ### Checks for libraries
1100 EFL_CHECK_LIBS([EMILE], [libjpeg])
1102 ## Compatibility layers
1103 EFL_PLATFORM_DEPEND([EMILE], [evil])
1105 EFL_ADD_LIBS([EMILE], [-lm])
1107 # Cryptography support
1108 if test "$build_crypto" != "none" ; then
1109 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1110 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1111 EFL_CRYPTO_DEPEND([EMILE])
1114 EFL_CHECK_LIBS([EMILE], [zlib])
1116 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1118 EFL_EVAL_PKGS([EMILE])
1120 ### Checks for header files
1122 ### Checks for types
1124 ### Checks for structures
1126 ### Checks for compiler characteristics
1128 ### Checks for linker characteristics
1130 ### Checks for library functions
1132 ### Check availability
1134 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1136 EFL_LIB_END([Emile])
1142 EFL_LIB_START([Eet])
1146 ### Additional options to configure
1148 ### Checks for programs
1150 ### Checks for libraries
1152 EFL_CHECK_LIBS([EET], [libjpeg])
1154 ## Compatibility layers
1155 EFL_PLATFORM_DEPEND([EET], [evil])
1157 EFL_ADD_LIBS([EET], [-lm])
1159 # Cryptography support
1160 if test "$build_crypto" != "none" ; then
1161 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1162 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1163 EFL_CRYPTO_DEPEND([EET])
1166 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1167 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1169 EFL_EVAL_PKGS([EET])
1171 ### Checks for header files
1173 ### Checks for types
1175 ### Checks for structures
1177 ### Checks for compiler characteristics
1179 ### Checks for linker characteristics
1181 ### Checks for library functions
1183 ### Check availability
1189 EFL_LIB_START([Eo_Cxx])
1191 EFL_EVAL_PKGS([EO_CXX])
1193 EFL_LIB_END([Eo_Cxx])
1198 EFL_LIB_START([Eolian])
1202 ### Additional options to configure
1203 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1205 ### Checks for programs
1207 ## Compatibility layers
1208 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1210 ### Checks for libraries
1211 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1213 ### Checks for header files
1215 ### Checks for types
1217 ### Checks for structures
1219 ### Checks for compiler characteristics
1221 ### Checks for linker characteristics
1223 ### Checks for library functions
1225 ### Check availability
1227 EFL_LIB_END([Eolian])
1230 EFL_LIB_START([Eolian_Cxx])
1233 ### Additional options to configure
1235 ### Checks for programs
1237 ## Compatibility layers
1239 ### Checks for libraries
1240 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1241 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1243 ### Checks for header files
1245 ### Checks for types
1247 ### Checks for structures
1249 ### Checks for compiler characteristics
1251 ### Checks for linker characteristics
1253 ### Checks for library functions
1255 ### Check availability
1256 EFL_LIB_END([Eolian_Cxx])
1260 EFL_LIB_START([Efl])
1262 EFL_PLATFORM_DEPEND([EFL], [evil])
1263 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1264 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1266 EFL_ADD_LIBS([EFL], [-lm])
1273 EFL_LIB_START([Ector])
1278 ### Additional options to configure
1280 ### Checks for programs
1282 ### Checks for libraries
1284 ## Compatibility layers
1286 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1288 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1289 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1290 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1292 EFL_ADD_LIBS([ECTOR], [-lm])
1294 EFL_EVAL_PKGS([ECTOR])
1296 ### Checks for header files
1298 ### Checks for types
1300 ### Checks for structures
1302 ### Checks for compiler characteristics
1304 ### Checks for linker characteristics
1306 ### Checks for library functions
1308 ### Check availability
1310 EFL_LIB_END([ECTOR])
1316 EFL_LIB_START([Evas])
1318 ### Additional options to configure
1322 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1324 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1326 elif test "x${with_x11}" = "x"; then
1334 case "${with_x11}" in
1342 CFOPT_WARNING="xyes"
1348 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1353 AC_ARG_WITH([opengl],
1354 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1356 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1358 elif test "x${with_opengl}" = "x"; then
1362 case "${with_opengl}" in
1366 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1370 want_x11_xlib_opengl="no"
1371 want_x11_xcb_opengl="no"
1372 if test "${with_opengl}" != "none"; then
1373 want_x11_xlib_opengl="${want_x11_xlib}"
1374 want_x11_xcb_opengl="${want_x11_xcb}"
1375 want_x11_any_opengl="${want_x11_any}"
1379 AC_ARG_ENABLE([wayland],
1380 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1382 if test "x${enableval}" = "xyes" ; then
1388 [want_wayland="no"])
1390 if test "${want_wayland}" = "yes"; then
1391 EFL_PKG_CHECK_STRICT([wayland-client >= 1.8.0])
1395 AC_ARG_ENABLE([wayland-ivi-shell],
1396 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1398 if test "x${enableval}" = "xyes" ; then
1399 want_wayland_ivi_shell="yes"
1401 want_wayland_ivi_shell="no"
1404 [want_wayland_ivi_shell="no"])
1408 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1410 if test "x${enableval}" = "xyes" ; then
1419 AC_ARG_ENABLE([eglfs],
1420 [AS_HELP_STRING([--enable-eglfs],[enable hardware accelerated framebuffer access. @<:@default=disabled@:>@])],
1422 if test "x${enableval}" = "xyes" ; then
1432 AC_ARG_ENABLE([sdl],
1433 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1435 if test "x${enableval}" = "xyes" ; then
1443 if test "${want_sdl}" = "yes"; then
1444 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1447 # We only enable SDL with opengl if it is not the full version and not ES
1448 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1449 # versions the SDL_opengles.h has never been released.
1451 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1452 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1454 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1459 AC_ARG_ENABLE([cocoa],
1460 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1462 if test "x${enableval}" = "xyes" ; then
1470 if test "${want_cocoa}" = "yes"; then
1471 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1474 m4_ifdef([AC_PROG_OBJC],
1476 if test "x${have_gnu_objc}" = "xyes" ; then
1477 AC_LANG_PUSH([Objective C])
1479 LIBS="$LIBS -framework Cocoa"
1483 #include <Cocoa/Cocoa.h>
1487 window = [[NSWindow alloc]
1488 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1489 styleMask:(NSTitledWindowMask)
1490 backing:NSBackingStoreBuffered
1497 cocoa_ldflags="-framework Cocoa"
1501 AC_MSG_CHECKING([whether Cocoa framework is supported])
1502 AC_MSG_RESULT([${have_cocoa}])
1503 AC_LANG_POP([Objective C])
1507 AC_SUBST(cocoa_ldflags)
1509 if test "x${want_cocoa}" = "xyes"; then
1510 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1511 cocoa_coreservices_ldflags=""
1512 have_cocoa_coreservices="no"
1513 m4_ifdef([AC_PROG_OBJC],
1515 if test "x${have_gnu_objc}" = "xyes" ; then
1516 AC_LANG_PUSH([Objective C])
1518 LIBS="$LIBS -framework CoreServices"
1522 #include <CoreServices/CoreServices.h>
1525 //test function here
1528 have_cocoa_coreservices="yes"
1529 cocoa_coreservices_ldflags="-framework CoreServices"
1531 [have_cocoa_coreservices="no"])
1533 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1534 AC_MSG_RESULT([${have_cocoa_coreservices}])
1535 AC_LANG_POP([Objective C])
1539 AC_SUBST(cocoa_coreservices_ldflags)
1542 AC_ARG_ENABLE([drm],
1543 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1545 if test "x${enableval}" = "xyes" ; then
1554 AC_ARG_ENABLE([gl-drm],
1555 [AC_HELP_STRING([--enable-gl-drm],
1556 [enable gl drm engine. @<:@default=disabled@:>@])],
1558 if test "x${enableval}" = "xyes" ; then
1566 AC_ARG_ENABLE([fontconfig],
1567 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1569 if test "x${enableval}" = "xyes" ; then
1570 want_fontconfig="yes"
1572 want_fontconfig="no"
1573 CFOPT_WARNING="xyes"
1576 [want_fontconfig="yes"])
1579 AC_ARG_ENABLE([fribidi],
1580 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1582 if test "x${enableval}" = "xyes" ; then
1586 CFOPT_WARNING="xyes"
1589 [want_fribidi="yes"])
1592 AC_ARG_ENABLE([eo_id],
1593 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1595 if test "x${enableval}" = "xyes" ; then
1599 CFOPT_WARNING="xyes"
1605 AC_ARG_ENABLE([harfbuzz],
1606 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1608 if test "x${enableval}" = "xyes" ; then
1614 [want_harfbuzz="no"])
1617 AC_ARG_ENABLE([egl],
1618 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1620 if test "x${enableval}" = "xyes" ; then
1629 AC_ARG_ENABLE([pixman],
1630 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1632 if test "x${enableval}" = "xyes" ; then
1634 CFOPT_WARNING="xyes"
1641 AC_ARG_ENABLE([pixman-font],
1642 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1644 if test "x${enableval}" = "xyes" ; then
1645 have_pixman_font="yes"
1647 have_pixman_font="no"
1650 [have_pixman_font="no"])
1652 AC_ARG_ENABLE([pixman-rect],
1653 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1655 if test "x${enableval}" = "xyes" ; then
1656 have_pixman_rect="yes"
1658 have_pixman_rect="no"
1661 [have_pixman_rect="no"])
1663 AC_ARG_ENABLE([pixman-line],
1664 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1666 if test "x${enableval}" = "xyes" ; then
1667 have_pixman_line="yes"
1669 have_pixman_line="no"
1672 [have_pixman_line="no"])
1674 AC_ARG_ENABLE(pixman-poly,
1675 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1677 if test "x${enableval}" = "xyes" ; then
1678 have_pixman_poly="yes"
1680 have_pixman_poly="no"
1683 [have_pixman_poly="no"])
1685 AC_ARG_ENABLE([pixman-image],
1686 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1688 if test "x${enableval}" = "xyes" ; then
1689 have_pixman_image="yes"
1691 have_pixman_image="no"
1694 [have_pixman_image="no"])
1696 AC_ARG_ENABLE([pixman-image-scale-sample],
1697 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1699 if test "x${enableval}" = "xyes" ; then
1700 have_pixman_image_scale_sample="yes"
1702 have_pixman_image_scale_sample="no"
1705 [have_pixman_image_scale_sample="no"])
1708 AC_ARG_ENABLE([tile-rotate],
1709 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1711 if test "x${enableval}" = "xyes" ; then
1712 have_tile_rotate="yes"
1713 CFOPT_WARNING="xyes"
1715 have_tile_rotate="no"
1718 [have_tile_rotate="no"])
1721 AC_ARG_ENABLE([ecore-buffer],
1722 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
1724 if test "x${enableval}" = "xyes" ; then
1725 want_ecore_buffer="yes"
1727 want_ecore_buffer="no"
1730 [want_ecore_buffer="no"])
1734 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1735 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1736 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1737 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1738 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1739 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1740 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1741 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1742 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1743 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1744 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1745 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1746 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1747 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1748 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1749 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1750 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1754 want_evas_engine_software_gdi="${have_win32}"
1755 want_evas_engine_software_ddraw="${have_win32}"
1756 want_evas_engine_gl_cocoa="${want_cocoa}"
1757 want_evas_engine_wayland_egl="no"
1758 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1759 want_evas_engine_wayland_egl="yes"
1762 if test "${want_lua_old}" = "yes"; then
1763 EFL_CHECK_LUA_OLD([EVAS])
1765 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1768 EFL_ADD_FEATURE([EVAS], [lua-old])
1770 EFL_CHECK_FUNC([EVAS], [dlsym])
1772 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1773 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1776 ### Checks for programs
1778 ### Checks for libraries
1780 ## Compatibility layers
1781 EFL_PLATFORM_DEPEND([EVAS], [all])
1782 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1783 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1784 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1785 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1786 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1787 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1789 EFL_ADD_LIBS([EVAS], [-lm])
1792 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1794 ## optional dependencies
1797 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1798 [FONTCONFIG], [fontconfig >= 2.5.0])
1801 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1802 [FRIBIDI], [fribidi >= 0.19.2])
1805 have_harfbuzz_ft="no"
1806 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1807 [HARFBUZZ], [harfbuzz >= 0.9.0])
1810 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1812 if test "x${have_pixman}" = "xyes" ; then
1813 if test "x${have_pixman_font}" = "xyes" ; then
1814 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1816 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1818 if test "x${have_pixman_rect}" = "xyes" ; then
1819 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1821 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1823 if test "x${have_pixman_line}" = "xyes" ; then
1824 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1826 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1828 if test "x${have_pixman_poly}" = "xyes" ; then
1829 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1831 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1833 if test "x${have_pixman_image}" = "xyes" ; then
1834 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1836 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1838 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1839 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1841 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1846 define([EVAS_ENGINE_DEP_CHECK_FB], [
1847 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1850 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1851 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1854 EVAS_ENGINE([buffer], [static])
1855 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1856 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1859 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1860 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1861 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1862 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1863 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1864 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1865 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1866 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1867 EVAS_CHECK_ENGINE([eglfs], [${want_eglfs}], [no], [OpenGL Fb])
1872 have_evas_engine_software_xcb="no"
1873 if test "${with_x11}" = "xcb" ; then
1874 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1876 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1877 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1880 AC_MSG_CHECKING([whether to build Software XCB Engine])
1881 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1883 # No Software XCB ? Then try Software Xlib
1885 have_evas_engine_software_xlib="no"
1886 if test "x${want_x11_xcb}" = "xno" ; then
1887 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1889 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1890 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1893 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1894 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1896 # If software_x11 is available, define everything needed for X11
1898 have_evas_engine_software_x11="no"
1899 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
1900 have_evas_engine_software_x11="yes"
1901 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1903 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1905 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1906 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1908 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1910 # Needed for evas-software-x11.pc
1912 AC_SUBST([have_evas_engine_software_xlib])
1913 AC_SUBST([have_evas_engine_software_xcb])
1916 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1917 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1921 if test "${with_opengl}" = "es" ; then
1922 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1927 have_evas_engine_gl_xcb="no"
1928 if test "${want_x11_xcb_opengl}" = "yes"; then
1929 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1931 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1932 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1935 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1936 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1938 # No openGL XCB ? Then try OpenGL Xlib
1940 have_evas_engine_gl_xlib="no"
1941 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1942 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1944 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1945 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1948 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1949 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1951 # If opengl_x11 is available, define everything needed for X11
1953 have_evas_engine_gl_x11="no"
1954 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
1955 have_evas_engine_gl_x11="yes"
1956 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1958 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1960 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1961 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1963 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1965 # Needed for evas-opengl-x11.pc
1967 AC_SUBST([have_evas_engine_gl_xlib])
1968 AC_SUBST([have_evas_engine_gl_xcb])
1972 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1973 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1974 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1975 [#include <SDL/SDL_video.h>])
1978 if test "${with_opengl}" = "es"; then
1979 AC_CHECK_DECL([SDL_OPENGLES],
1980 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1981 [#include <SDL/SDL_video.h>])
1985 evas_engine_gl_common_cflags=""
1986 if test "x${have_egl}" = "xyes"; then
1987 evas_engine_gl_common_libs="-lEGL"
1989 evas_engine_gl_common_libs="-lGL"
1992 # The lines below fix compiling/linking of gl_generic on OSX
1993 if test "x${have_darwin}" = "xyes"; then
1994 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1995 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1996 # CFLAGS and LIBS are determined by evas-gl_cocoa.
1997 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1998 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
2000 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
2001 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
2002 # cannot compile (nor link).
2003 evas_engine_gl_common_libs=""
2004 evas_engine_gl_common_cflags=""
2006 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
2007 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
2008 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
2010 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2014 AC_SUBST([evas_engine_gl_common_cflags])
2015 AC_SUBST([evas_engine_gl_common_libs])
2017 have_evas_engine_gl_common="no"
2018 have_static_evas_engine_gl_common="no"
2019 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2020 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2021 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2022 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2023 test "x$have_evas_engine_gl_drm" = "xyes" || \
2024 test "x$have_evas_engine_eglfs" = "xyes" || \
2025 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2026 have_evas_engine_gl_common="yes"
2028 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2029 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2030 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2031 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2032 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2033 test "x$have_evas_engine_eglfs" = "xstatic" || \
2034 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2035 have_evas_engine_gl_common="yes"
2036 have_static_evas_engine_gl_common="yes"
2039 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2040 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2043 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2045 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2046 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2049 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2054 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2055 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2056 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2057 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2058 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2059 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2060 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2061 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2062 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2063 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2064 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2065 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2066 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2067 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2068 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2069 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2070 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2072 EFL_EVAL_PKGS([EVAS])
2074 ### Checks for header files
2076 if test "x$have_harfbuzz" = "xyes" ; then
2078 CPPFLAGS_SAVE="$CPPFLAGS"
2079 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2080 # must have for usage with harfbuzz although harfbuzz may not have it.
2082 AC_CHECK_HEADER([hb-ft.h],
2084 have_harfbuzz_ft="yes"
2085 #Depend on harfbuzz ft for harfbuzz support
2086 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2088 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2090 CPPFLAGS="$CPPFLAGS_SAVE"
2093 ### Checks for types
2095 CPPFLAGS_SAVE="$CPPFLAGS"
2096 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2097 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2098 CPPFLAGS="$CPPFLAGS_SAVE"
2101 if test "x$have_fribidi" = "xyes" ; then
2102 CPPFLAGS_SAVE="$CPPFLAGS"
2103 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2104 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2105 CPPFLAGS="$CPPFLAGS_SAVE"
2108 ### Checks for structures
2110 AC_CHECK_TYPES([struct sigaction], [], [],
2111 [[#include <signal.h>]])
2113 ### Checks for compiler characteristics
2115 ### Checks for linker characteristics
2117 ### Checks for library functions
2119 AC_CHECK_FUNCS([siglongjmp])
2121 AC_CHECK_LIB([m], [lround],
2122 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2123 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2129 AC_ARG_ENABLE([cserve],
2130 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2132 if test "x${enableval}" = "xyes" ; then
2133 want_evas_cserve2="yes"
2135 want_evas_cserve2="no"
2136 CFOPT_WARNING="xyes"
2139 [want_evas_cserve2="yes"])
2141 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2142 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2145 # cserve2 only works on Linux so far.
2147 if test "x${efl_func_shm_open}" = "xno" ; then
2148 want_evas_cserve2="no"
2151 if test "x${want_evas_cserve2}" = "xyes"; then
2152 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
2153 want_evas_cserve2="no"
2155 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2156 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2160 AC_DEFINE_IF([EVAS_CSERVE2],
2161 [test "x${want_evas_cserve2}" = "xyes"],
2162 [1], [Shared cache server.])
2163 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2169 if test "x${have_tile_rotate}" = "xyes" ; then
2170 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2176 AC_ARG_WITH([evas-dither-mask],
2177 [AS_HELP_STRING([--with-evas-dither-mask=TYPE],[use the specified dither mask to convert bitdepths in Evas, one of: big, small, line or none.
2178 @<:@default=big@:>@])],
2179 [build_evas_dither_mask=${withval}],
2180 [build_evas_dither_mask=big])
2182 case "${build_evas_dither_mask}" in
2184 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2187 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2190 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2193 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2196 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2199 EFL_ADD_FEATURE([EVAS], [fontconfig])
2200 EFL_ADD_FEATURE([EVAS], [fribidi])
2201 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2202 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2203 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2204 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2210 EFL_LIB_START([Evas_Cxx])
2212 EFL_EVAL_PKGS([EVAS_CXX])
2214 EFL_LIB_END([Evas_Cxx])
2215 #### End of Edje CXX
2219 EFL_LIB_START([Embryo])
2223 ### Additional options to configure
2225 ### Checks for programs
2227 ### Checks for libraries
2228 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2229 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2231 EFL_ADD_LIBS([EMBRYO], [-lm])
2233 ### Checks for header files
2235 ### Checks for types
2237 ### Checks for structures
2239 ### Checks for compiler characteristics
2241 ### Checks for linker characteristics
2243 ### Checks for library functions
2245 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2246 AC_MSG_ERROR([Cannot find fnmatch()])
2249 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2250 AC_MSG_ERROR([Cannot find gettimeofday()])
2253 ### Check availability
2255 EFL_LIB_END([Embryo])
2261 EFL_LIB_START([Ecore])
2263 ### Additional options to configure
2268 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2270 if test "x${withval}" = "xyes" ; then
2273 if test "x${withval}" = "xalways" ; then
2282 AC_ARG_ENABLE([g-main-loop],
2283 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2285 if test "x${enableval}" = "xyes" ; then
2286 want_g_main_loop="yes"
2287 CFOPT_WARNING="xyes"
2289 want_g_main_loop="no"
2292 [want_g_main_loop="no"])
2294 AC_ARG_ENABLE([gstreamer],
2295 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2297 if test "x${enableval}" = "xyes" ; then
2298 want_gstreamer="yes"
2299 CFOPT_WARNING="xyes"
2304 [want_gstreamer="no"])
2306 AC_ARG_ENABLE([gstreamer1],
2307 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2309 if test "x${enableval}" = "xyes" ; then
2310 want_gstreamer1="yes"
2312 want_gstreamer1="no"
2313 CFOPT_WARNING="xyes"
2316 [want_gstreamer1="yes"])
2318 AC_ARG_ENABLE([tizen],
2319 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2321 if test "x${enableval}" = "xyes" ; then
2329 if test "${want_tizen}" = "yes"; then
2330 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2332 [have_tizen_vconf="yes"],
2333 [have_tizen_vconf="no"])
2334 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2337 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2338 if test "${have_tizen_vconf}" = "yes"; then
2339 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2344 if test "${have_windows}" = "yes"; then
2349 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2353 want_ecore_timer_dump="no"
2354 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2355 want_ecore_timer_dump="yes"
2356 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2359 ### Checks for programs
2361 ### Checks for libraries
2362 EFL_PLATFORM_DEPEND([ECORE], [all])
2363 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2364 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2365 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2367 EFL_ADD_LIBS([ECORE], [-lm])
2371 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2372 if test "x${have_glib}" = "xno"; then
2373 want_g_main_loop="no"
2376 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2378 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2379 EFL_ADD_FEATURE([ECORE], [glib])
2380 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2382 want_glib_integration_always=no
2383 if test "x${with_glib}" = "xalways" ; then
2384 want_glib_integration_always="yes"
2385 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2388 if test "x${want_g_main_loop}" = "xyes" ; then
2389 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2392 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2393 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2394 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2397 if test "${want_gstreamer1}" = "yes"; then
2398 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2400 if test "${want_gstreamer}" = "yes"; then
2401 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2403 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2405 EFL_EVAL_PKGS([ECORE])
2407 ### Checks for header files
2411 AC_CHECK_HEADERS([sys/socket.h])
2413 AC_CHECK_HEADERS([ \
2425 #ifdef HAVE_SYS_SOCKET_H
2426 # include <sys/socket.h>
2430 AC_CHECK_HEADERS([net/if.h], [], [],
2433 # include <stdlib.h>
2434 # include <stddef.h>
2437 # include <stdlib.h>
2440 #if HAVE_SYS_SOCKET_H
2441 # include <sys/socket.h>
2445 ### Checks for types
2447 ### Checks for structures
2449 ### Checks for compiler characteristics
2451 ### Checks for linker characteristics
2453 ### Checks for library functions
2465 int i = isfinite(0);
2468 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2471 [have_isfinite="no"])
2473 AC_MSG_CHECKING([for isfinite])
2474 AC_MSG_RESULT([${have_isfinite}])
2476 # mallinfo, timerfd_create, clock_gettime
2478 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2480 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2481 AC_CHECK_LIB([rt], [clock_gettime],
2483 EFL_ADD_LIBS([ECORE], [-lrt])
2484 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2488 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2490 # coroutine function specific
2495 #include <ucontext.h>
2501 [have_ucontext="yes"],
2502 [have_ucontext="no"])
2504 AC_MSG_CHECKING([for ucontext])
2505 AC_MSG_RESULT([${have_ucontext}])
2516 [have_setjmp="yes"],
2519 AC_MSG_CHECKING([for setjmp])
2520 AC_MSG_RESULT([${have_setjmp}])
2522 if test "X${have_windows}" = "xyes"; then
2523 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2524 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2525 elif test "x${have_ucontext}" = "xyes"; then
2526 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2527 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2528 elif test "x${have_setjmp}" = "xyes"; then
2529 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2530 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2532 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2535 ### Check availability
2537 EFL_LIB_END([Ecore])
2541 EFL_LIB_START([Ecore_Cxx])
2543 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2544 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2545 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2546 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2548 EFL_EVAL_PKGS([ECORE_CXX])
2550 EFL_LIB_END([Ecore_Cxx])
2551 #### End of Ecore CXX
2555 EFL_LIB_START([Ecore_Con])
2559 want_ecore_con_local_sockets="yes"
2560 want_ecore_con_abstract_sockets="yes"
2562 if test "${have_win32}" = "yes"; then
2564 want_ecore_con_abstract_sockets="no"
2565 elif test "${have_darwin}" = "yes"; then
2567 want_ecore_con_abstract_sockets="yes"
2568 elif test "${have_ps3}" = "yes"; then
2570 want_ecore_con_local_sockets="no"
2571 want_ecore_con_abstract_sockets="no"
2576 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2577 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2578 [1], [Have local sockets support])
2579 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2580 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2581 [1], [Have abstract sockets namespace])
2583 ### Checks for programs
2585 ### Checks for libraries
2586 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2587 if test "$build_crypto" != "none" ; then
2588 EFL_CRYPTO_DEPEND([ECORE_CON])
2590 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2591 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2592 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2593 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2594 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2596 EFL_ADD_LIBS([ECORE_CON], [-lm])
2598 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2599 [CARES], [libcares >= 1.6.1])
2600 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2602 if test "x$have_cares" = "xyes" ; then
2603 ecore_con_resolver="cares"
2604 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2605 ecore_con_resolver="dns.c"
2607 ecore_con_resolver="fork"
2610 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2612 EFL_ADD_FEATURE([ECORE_CON], [cares])
2613 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2614 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2615 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2616 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2618 EFL_EVAL_PKGS([ECORE_CON])
2620 ### Checks for header files
2622 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2624 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2625 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2628 ### Checks for types
2631 AC_CHECK_TYPES([struct ipv6_mreq],
2635 #include <netinet/in.h>
2636 #ifdef HAVE_WS2TCPIP_H
2637 # include <ws2tcpip.h>
2641 AC_DEFINE_IF([HAVE_IPV6],
2642 [test "x${have_ipv6}" = "xyes"],
2643 [1], [Define if IPV6 is supported])
2644 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2646 ### Checks for structures
2648 ### Checks for compiler characteristics
2650 ### Checks for linker characteristics
2652 ### Checks for library functions
2654 EFL_LIB_END([Ecore_Con])
2655 #### End of Ecore_Con
2660 EFL_LIB_START([Ecore_Ipc])
2664 ### Additional options to configure
2666 ### Checks for programs
2668 ## Compatibility layers
2669 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2671 ### Checks for libraries
2672 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2673 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2674 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2675 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2677 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2679 ### Checks for header files
2681 AC_CHECK_HEADERS([winsock2.h])
2683 ### Checks for types
2685 ### Checks for structures
2687 ### Checks for compiler characteristics
2689 ### Checks for linker characteristics
2691 ### Checks for library functions
2693 EFL_LIB_END([Ecore_Ipc])
2694 #### End of Ecore_Ipc
2699 EFL_LIB_START([Ecore_File])
2701 ### Additional options to configure
2705 ### Checks for programs
2707 ## Compatibility layers
2708 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2710 ### Checks for libraries
2711 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2712 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2713 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2714 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2715 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2717 ### Checks for header files
2719 ### Checks for types
2721 ### Checks for structures
2723 ### Checks for compiler characteristics
2725 ### Checks for linker characteristics
2727 ### Checks for library functions
2729 EFL_LIB_END([Ecore_File])
2730 #### End of Ecore_File
2734 EFL_LIB_START([Ecore_Input])
2736 ### Additional options to configure
2740 ### Checks for programs
2742 ## Compatibility layers
2743 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2745 ### Checks for libraries
2746 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2747 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2748 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2750 ### Checks for header files
2752 ### Checks for types
2754 ### Checks for structures
2756 ### Checks for compiler characteristics
2758 ### Checks for linker characteristics
2760 ### Checks for library functions
2762 EFL_LIB_END([Ecore_Input])
2763 #### End of Ecore_Input
2766 #### Ecore_Input_Evas
2767 EFL_LIB_START([Ecore_Input_Evas])
2769 ### Additional options to configure
2773 ### Checks for programs
2775 ## Compatibility layers
2776 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2778 ### Checks for libraries
2779 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2780 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2781 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2782 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2783 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2784 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2785 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2787 ### Checks for header files
2789 ### Checks for types
2791 ### Checks for structures
2793 ### Checks for compiler characteristics
2795 ### Checks for linker characteristics
2797 ### Checks for library functions
2799 EFL_LIB_END([Ecore_Input_Evas])
2800 #### End of Ecore_Input_Evas
2804 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2806 ### Additional options to configure
2810 ### Checks for programs
2812 ### Checks for libraries
2813 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2814 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2815 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2816 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2818 ### Checks for header files
2820 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2822 ### Checks for types
2824 ### Checks for structures
2826 ### Checks for compiler characteristics
2828 ### Checks for linker characteristics
2830 ### Checks for library functions
2832 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2833 #### End of Ecore_Cocoa
2837 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2839 ### Additional options to configure
2840 AC_ARG_ENABLE([tslib],
2841 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2843 if test "x${enableval}" = "xyes" ; then
2848 ], [want_tslib="yes"])
2852 ### Checks for programs
2854 ### Checks for libraries
2855 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2856 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2857 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2858 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2860 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2861 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2863 EFL_EVAL_PKGS([ECORE_FB])
2865 ### Checks for header files
2868 AC_CHECK_HEADER([linux/fb.h],
2869 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2870 if test "${have_ecore_fb}" = "no"; then
2871 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2874 ### Checks for types
2876 ### Checks for structures
2878 ### Checks for compiler characteristics
2880 ### Checks for linker characteristics
2882 ### Checks for library functions
2884 EFL_LIB_END_OPTIONAL([Ecore_FB])
2885 #### End of Ecore_FB
2889 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2891 ### Additional options to configure
2895 ### Checks for programs
2897 ### Checks for libraries
2898 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2900 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2901 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2902 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2903 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2905 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2907 ### Checks for header files
2909 ### Checks for types
2911 ### Checks for structures
2913 ### Checks for compiler characteristics
2915 ### Checks for linker characteristics
2917 ### Checks for library functions
2919 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2920 #### End of Ecore_Psl1ght
2924 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2926 ### Additional options to configure
2930 ### Checks for programs
2932 ### Checks for libraries
2933 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2934 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2935 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2936 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2937 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2939 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2941 EFL_EVAL_PKGS([ECORE_SDL])
2943 ### Checks for header files
2945 ### Checks for types
2947 ### Checks for structures
2949 ### Checks for compiler characteristics
2951 ### Checks for linker characteristics
2953 ### Checks for library functions
2955 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2956 #### End of Ecore_SDL
2960 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2962 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2963 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2966 ### Additional options to configure
2970 ### Checks for programs
2972 ### Checks for libraries
2973 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2974 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2975 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2976 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2978 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2979 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0])
2981 EFL_EVAL_PKGS([ECORE_WAYLAND])
2983 ### Checks for header files
2985 ### Checks for types
2987 ### Checks for structures
2989 ### Checks for compiler characteristics
2991 ### Checks for linker characteristics
2993 ### Checks for library functions
2995 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2996 #### End of Ecore_Wayland
2999 EFL_LIB_START([Eldbus])
3001 ### Additional options to configure
3005 ### Checks for programs
3007 ## Compatibility layers
3008 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3010 ### Checks for libraries
3011 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3012 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3013 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3015 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3017 EFL_EVAL_PKGS([ELDBUS])
3019 ### Checks for header files
3021 ### Checks for types
3023 ### Checks for structures
3025 ### Checks for compiler characteristics
3027 ### Checks for linker characteristics
3029 ### Checks for library functions
3031 EFL_LIB_END([Eldbus])
3036 have_libmount_new="no"
3037 have_libmount_old="no"
3038 have_eeze_mount="no"
3040 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3042 ### Additional options to configure
3043 AC_ARG_WITH([mount],
3044 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3045 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3046 AC_ARG_WITH([umount],
3047 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3048 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3049 AC_ARG_WITH([eject],
3050 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3051 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3055 ### Checks for programs
3057 ### Checks for libraries
3058 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3059 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3060 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3061 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3062 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3063 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3064 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3066 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3068 AC_ARG_ENABLE([libmount],
3069 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3071 if test "x${enableval}" = "xyes" ; then
3075 CFOPT_WARNING="xyes"
3078 [want_libmount="yes"])
3080 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3081 [EEZE_MOUNT], [mount >= 2.18.0])
3082 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3084 PKG_CHECK_EXISTS([libudev < 199],
3085 [have_libudev_old="yes"],
3086 [have_libudev_old="no"])
3087 AC_MSG_CHECKING([Use old libudev API (before 199)])
3088 AC_MSG_RESULT([${have_libudev_old}])
3090 PKG_CHECK_EXISTS([mount < 2.19.0],
3091 [have_libmount_old="yes"],
3092 [have_libmount_old="no"])
3093 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3094 AC_MSG_RESULT([${have_libmount_old}])
3096 PKG_CHECK_EXISTS([mount == 2.19.0],
3097 [have_libmount_219="yes"],
3098 [have_libmount_219="no"])
3099 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3100 AC_MSG_RESULT([${have_libmount_219}])
3102 PKG_CHECK_EXISTS([mount > 2.19.0],
3103 [have_libmount_new="yes"],
3104 [have_libmount_new="no"])
3105 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3106 AC_MSG_RESULT([${have_libmount_new}])
3108 if test "x${have_libudev_old}" = "xyes"; then
3109 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3112 if test "x${have_libmount_old}" = "xyes"; then
3113 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3117 if test "${want_tizen}" = "yes"; then
3118 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3120 EFL_ADD_FEATURE([EEZE], [tizen])
3122 EFL_EVAL_PKGS([EEZE])
3124 ### Checks for header files
3126 ### Checks for types
3128 ### Checks for structures
3130 ### Checks for compiler characteristics
3132 ### Checks for linker characteristics
3134 ### Checks for library functions
3136 ### Checks for binaries
3137 if test "x$with_eeze_mount" = "xdetect"; then
3138 AC_PATH_PROG([with_eeze_mount], [mount], [])
3140 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3142 if test "x$with_eeze_umount" = "xdetect";then
3143 AC_PATH_PROG([with_eeze_umount], [umount], [])
3145 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3147 if test "x$with_eeze_eject" = "xdetect";then
3148 AC_PATH_PROG([with_eeze_eject], [eject], [])
3150 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3152 EFL_LIB_END_OPTIONAL([Eeze])
3154 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3155 [test "x${have_libmount_new}" = "xyes"])
3156 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3157 [test "x${have_libmount_old}" = "xyes"])
3158 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3159 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3164 have_libinput_new="no"
3165 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3167 ### Additional options to configure
3170 AC_SUBST([SUID_CFLAGS])
3171 AC_SUBST([SUID_LDFLAGS])
3175 ### Checks for programs
3177 ### Checks for libraries
3178 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3179 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3180 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3181 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3182 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3183 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3185 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3186 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3188 # API change from 0.7 to 0.8. So we define this to support both for now.
3189 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3190 [have_libinput_new="yes"],
3191 [have_libinput_new="no"])
3192 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3193 AC_MSG_RESULT([${have_libinput_new}])
3194 if test "x${have_libinput_new}" = "xyes";then
3195 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3197 if test "x${have_libinput_new}" = "xno";then
3198 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3202 EFL_EVAL_PKGS([ECORE_DRM])
3204 ### Checks for header files
3206 ### Checks for types
3208 ### Checks for structures
3210 ### Checks for compiler characteristics
3212 ### Checks for linker characteristics
3214 ### Checks for library functions
3216 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3217 #### End of Ecore_Drm
3222 AC_ARG_ENABLE([audio],
3223 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3225 if test "x${enableval}" = "xyes" ; then
3229 CFOPT_WARNING="xyes"
3234 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3236 ### Additional options to configure
3238 # ALSA support is still not there, thus no option for it yet.
3241 # sndfile is mandatory otherwise it won't read from/write to files.
3242 # TODO: if confirmed sndfile is mandatory, remove this variable
3243 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3246 AC_ARG_ENABLE([pulseaudio],
3247 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3249 if test "x${enableval}" = "xyes" ; then
3250 want_pulseaudio="yes"
3252 want_pulseaudio="no"
3253 CFOPT_WARNING="xyes"
3256 [want_pulseaudio="yes"])
3258 if test "x${have_darwin}" = "xyes"; then
3259 want_pulseaudio="no"
3261 want_coreaudio="yes"
3268 if test "x${want_coreaudio}" = "xyes"; then
3269 coreaudio_ldflags=""
3272 LIBS="$LIBS -framework CoreAudio"
3276 #include <CoreAudio/CoreAudio.h>
3280 AudioDeviceID dev_id;
3281 AudioObjectPropertyAddress prop = {
3282 kAudioHardwarePropertyDefaultOutputDevice,
3283 kAudioObjectPropertyScopeGlobal,
3284 kAudioObjectPropertyElementMaster
3286 size = sizeof(AudioDeviceID);
3287 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3291 have_coreaudio="yes"
3292 coreaudio_ldflags="-framework CoreAudio"
3294 [have_coreaudio="no"])
3296 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3297 AC_MSG_RESULT([${have_coreaudio}])
3299 AC_SUBST(coreaudio_ldflags)
3300 if test "x${have_coreaudio}" = "xyes"; then
3301 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3303 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3309 ### Checks for programs
3311 ## Compatibility layers
3312 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3314 ### Checks for libraries
3315 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3316 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3317 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3318 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3319 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3321 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3323 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3324 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3325 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3327 EFL_EVAL_PKGS([ECORE_AUDIO])
3329 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3330 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3331 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3332 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3334 ### Checks for header files
3336 ### Checks for types
3338 ### Checks for structures
3340 ### Checks for compiler characteristics
3342 ### Checks for linker characteristics
3344 ### Checks for library functions
3346 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3347 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3348 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3349 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3351 #### End of Ecore_Audio
3353 #### Ecore Audio CXX
3354 EFL_LIB_START([Ecore_Audio_Cxx])
3356 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3358 EFL_LIB_END([Ecore_Audio_Cxx])
3359 #### End of Ecore Audio CXX
3362 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3364 ### Additional options to configure
3368 ### Checks for programs
3370 ### Checks for libraries
3371 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3372 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3373 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3374 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3375 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3377 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3378 AC_SUBST([ECORE_WIN32_LIBS])
3380 ### Checks for header files
3382 ### Checks for types
3384 ### Checks for structures
3386 ### Checks for compiler characteristics
3388 ### Checks for linker characteristics
3390 ### Checks for library functions
3392 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3393 #### End of Ecore_Win32
3397 EFL_LIB_START([Ecore_Avahi])
3401 ### Additional options to configure
3405 AC_ARG_ENABLE([avahi],
3406 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3408 if test "x${enableval}" = "xyes" ; then
3417 ### Checks for programs
3419 ## Compatibility layers
3420 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3422 ### Checks for libraries
3423 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3424 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3425 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3427 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3429 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3431 # Needed bu example as they use avahi directly in that case
3432 if test "x${have_avahi}" = "xyes"; then
3433 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3436 EFL_EVAL_PKGS([ECORE_AVAHI])
3438 ### Checks for header files
3440 ### Checks for types
3442 ### Checks for structures
3444 ### Checks for compiler characteristics
3446 ### Checks for linker characteristics
3448 ### Checks for library functions
3450 EFL_LIB_END([Ecore_Avahi])
3452 #### End of Ecore_Avahi
3456 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3458 ### Additional options to configure
3460 AC_ARG_ENABLE([gesture],
3461 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3463 if test "x${enableval}" = "xyes" ; then
3469 [want_gesture="no"])
3471 AC_ARG_ENABLE([xpresent],
3472 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3474 if test "x${enableval}" = "xyes" ; then
3480 [want_xpresent="no"])
3482 AC_ARG_ENABLE([xinput2],
3483 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3485 if test "x${enableval}" = "xyes" ; then
3489 CFOPT_WARNING="xyes"
3492 [want_xinput2="yes"])
3494 AC_ARG_ENABLE([xinput22],
3495 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3497 if test "x${enableval}" = "xyes" ; then
3503 [want_xinput22="no"])
3505 AC_ARG_ENABLE([xim],
3506 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3508 if test "x${enableval}" = "xyes" ; then
3512 CFOPT_WARNING="xyes"
3517 AC_ARG_ENABLE([scim],
3518 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3520 if test "x${enableval}" = "xyes" ; then
3524 CFOPT_WARNING="xyes"
3529 AC_ARG_ENABLE([ibus],
3530 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3532 if test "x${enableval}" = "xyes" ; then
3542 ### Checks for programs
3544 ### Checks for libraries
3545 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3546 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3547 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3548 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3554 ### Checks for header files
3556 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3558 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3559 FOUND_MAXHOSTNAMELEN="not found"
3565 #include <sys/param.h>
3568 int h = MAXHOSTNAMELEN;
3572 FOUND_MAXHOSTNAMELEN="sys/param.h"
3573 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3583 int h = MAXHOSTNAMELEN;
3587 FOUND_MAXHOSTNAMELEN="netdb.h"
3588 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3591 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3592 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3596 if test "x${want_x11_xcb}" = "xyes" ; then
3597 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3598 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3600 if test -f "$KEYSYMDEFDIR/$i"; then
3601 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3602 elif test "x$i" = "xkeysymdef.h"; then
3603 AC_MSG_ERROR([Cannot find keysymdef.h])
3606 AC_MSG_CHECKING([keysym definitions])
3607 AC_MSG_RESULT([$KEYSYMDEFS])
3608 AC_SUBST([KEYSYMDEFS])
3611 ### Checks for types
3613 ### Checks for structures
3615 ### Checks for compiler characteristics
3617 ### Checks for linker characteristics
3619 ### Checks for library functions
3622 if test "x${want_x11_xlib}" = "xyes"; then
3623 EFL_FIND_X(ECORE_X_XLIB,
3624 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3625 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3628 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3629 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3630 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3632 AC_MSG_ERROR([Xcursor is missing])
3636 if test "x${want_x11_xlib}" = "xyes" ; then
3637 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3638 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3639 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3640 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3641 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3642 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3643 ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
3644 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3645 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3646 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3647 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3649 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3651 if test "${want_xpresent}" = "yes"; then
3652 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3654 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3656 if test "${want_gesture}" = "yes"; then
3657 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3659 EFL_ADD_FEATURE([ECORE_X], [gesture])
3661 if test "${want_xinput2}" = "yes"; then
3662 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3664 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3666 if test "${want_xinput22}" = "yes"; then
3667 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3669 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3671 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3672 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3674 EFL_EVAL_PKGS([ECORE_X])
3675 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3680 if test "${want_x11_xcb}" = "yes"; then
3681 dnl note: added pixman-1 as ecore_xcb_region uses that
3682 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3683 [x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8 xcb-composite xcb-present xcb-damage xcb-dpms xcb-randr xcb-render xcb-screensaver xcb-shape xcb-sync xcb-xfixes xcb-xinerama xcb-xtest xcb-renderutil pixman-1])
3685 dnl TODO: remove these ifdefs from code!
3686 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3687 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3688 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3689 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3690 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3691 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3692 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3693 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3694 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3695 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3696 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3697 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3699 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3701 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3702 [1], [Build support for XCB Present])
3703 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3705 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3707 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3708 [1], [Build support for XCB xgesture])
3710 EFL_ADD_FEATURE([ECORE_X], [gesture])
3712 dnl input extension disabled currently in xcb as xcb-input has some issues
3713 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3714 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3716 dnl dri extension disabled currently in xcb
3717 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3718 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3720 EFL_EVAL_PKGS([ECORE_X])
3721 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3723 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3726 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3728 AC_SUBST([HAVE_ECORE_X_BACKEND])
3730 EFL_LIB_END_OPTIONAL([Ecore_X])
3732 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3733 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3738 EFL_LIB_START([Ecore_Imf])
3740 ### Additional options to configure
3744 want_ecore_imf="yes"
3745 want_ecore_imf_xim="no"
3746 want_ecore_imf_scim="no"
3747 want_ecore_imf_ibus="no"
3748 want_ecore_imf_wayland="no"
3749 want_ecore_imf="yes"
3751 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3752 want_ecore_imf="yes"
3753 want_ecore_imf_xim="yes"
3754 want_ecore_imf_scim="yes"
3755 want_ecore_imf_ibus="yes"
3756 if test "${want_wayland}" = "yes"; then
3757 want_ecore_imf_wayland="yes"
3761 ### Checks for programs
3763 ## Compatibility layers
3764 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3766 ### Checks for libraries
3767 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3768 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3769 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3770 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3771 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3773 if test "x${want_ecore_imf}" = "xyes" ; then
3774 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3781 have_ecore_imf_ibus="no"
3782 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3783 PKG_CHECK_MODULES([IBUS],
3784 [ibus-1.0 >= 1.4 glib-2.0],
3786 have_ecore_imf_ibus="yes"
3787 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3789 [have_ecore_imf_ibus="no"])
3792 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3793 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3797 have_ecore_imf_scim="no"
3798 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3799 PKG_CHECK_MODULES([SCIM],
3802 have_ecore_imf_scim="yes"
3803 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3805 [have_ecore_imf_scim="no"])
3808 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3809 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3813 have_ecore_imf_xim="no"
3814 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3816 EFL_FIND_X(ecore_imf_xim,
3820 have_ecore_imf_xim=yes
3821 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3825 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3826 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3829 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3830 PKG_CHECK_MODULES([WAYLAND],
3831 [wayland-client >= 1.8.0],
3833 have_ecore_imf_wayland="yes"
3834 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3836 [have_ecore_imf_wayland="no"])
3839 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3840 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3842 ### Checks for header files
3844 ### Checks for types
3846 ### Checks for structures
3848 ### Checks for compiler characteristics
3850 ### Checks for linker characteristics
3852 ### Checks for library functions
3854 EFL_LIB_END([Ecore_Imf])
3855 #### End of Ecore_Imf
3859 EFL_LIB_START([Ecore_Imf_Evas])
3861 ### Additional options to configure
3865 ### Checks for programs
3867 ## Compatibility layers
3868 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3870 ### Checks for libraries
3871 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3872 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3873 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3874 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3875 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3876 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3877 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3878 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3880 ### Checks for header files
3882 ### Checks for types
3884 ### Checks for structures
3886 ### Checks for compiler characteristics
3888 ### Checks for linker characteristics
3890 ### Checks for library functions
3892 EFL_LIB_END([Ecore_Imf_Evas])
3893 #### End of Ecore_Imf_Evas
3897 EFL_LIB_START([Ecore_Evas])
3899 ### Additional options to configure
3903 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3904 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3905 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3906 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3907 want_ecore_evas_extn="yes"
3908 want_ecore_evas_drm="${have_evas_engine_drm}"
3909 want_ecore_evas_eglfs="${have_evas_engine_eglfs}"
3911 if test "x${have_ecore_ipc}" = "xno" || \
3912 test "x${efl_func_shm_open}" = "xno" || \
3913 test "x${have_windows}" = "xyes" ; then
3914 want_ecore_evas_extn="no"
3917 ### Checks for programs
3919 ## Compatibility layers
3920 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3922 ### Checks for libraries
3923 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3924 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3925 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3926 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3927 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3928 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3929 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3930 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3931 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3934 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3935 ECORE_EVAS_MODULE([ews], [yes])
3936 ECORE_EVAS_MODULE([fb], [${want_fb}])
3937 ECORE_EVAS_MODULE([eglfs], [${want_eglfs}])
3938 ECORE_EVAS_MODULE([drm], [${want_drm}],
3939 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3940 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3941 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3942 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3944 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3946 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3947 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3949 build_ecore_evas_sdl="no"
3950 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3951 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3952 build_ecore_evas_sdl="yes"
3953 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3955 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3956 [test "${build_ecore_evas_sdl}" = "yes"])
3958 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3959 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3961 build_ecore_evas_wayland="no"
3962 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3963 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3964 build_ecore_evas_wayland="yes"
3965 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3967 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3968 [test "${build_ecore_evas_wayland}" = "yes"])
3970 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3971 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3973 build_ecore_evas_win32="no"
3974 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3975 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3976 build_ecore_evas_win32="yes"
3977 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3979 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3980 [test "${build_ecore_evas_win32}" = "yes"])
3983 # XXX TODO: ecore_evas_x11
3985 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3987 have_ecore_evas_software_xlib="no"
3988 have_ecore_evas_software_xcb="no"
3989 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3990 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3991 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3992 have_ecore_evas_software_xlib="yes"
3994 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3995 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3997 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3998 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3999 have_ecore_evas_software_xcb="yes"
4001 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
4002 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
4006 # XXX TODO: ecore_evas_opengl_x11
4008 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
4010 have_ecore_evas_opengl_xlib="no"
4011 have_ecore_evas_opengl_xcb="no"
4012 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
4013 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
4014 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
4015 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4018 # opengl does not work with xcb (yet)
4019 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
4020 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
4021 have_ecore_evas_opengl_xcb="yes"
4023 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4024 PKG_CHECK_MODULES([XCB_X11],
4027 have_ecore_x_opengl_xcb="yes"
4028 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4029 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4030 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4032 [have_ecore_x_opengl_xcb="no"])
4034 have_ecore_x_opengl_xcb="no"
4035 AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
4039 build_ecore_evas_x11="no"
4040 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4041 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4042 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4043 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4044 build_ecore_evas_x11="yes"
4046 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4048 EFL_EVAL_PKGS([ECORE_EVAS])
4050 ### Checks for header files
4052 ### Checks for types
4054 ### Checks for structures
4056 ### Checks for compiler characteristics
4058 ### Checks for linker characteristics
4060 ### Checks for library functions
4062 EFL_LIB_END([Ecore_Evas])
4063 #### End of Ecore_Evas
4066 EFL_LIB_START([Eio])
4068 ### Additional options to configure
4072 ### Checks for programs
4074 ## Compatibility layers
4075 EFL_PLATFORM_DEPEND([EIO], [evil])
4077 ### Checks for libraries
4078 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4079 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4080 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4081 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4082 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4084 EFL_ADD_LIBS([EIO], [-lm])
4086 ### Checks for header files
4088 ### Checks for types
4090 ### Checks for structures
4092 ### Checks for compiler characteristics
4094 ### Checks for linker characteristics
4096 ### Checks for library functions
4097 have_inotify="${ac_cv_header_sys_inotify_h}"
4098 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4100 have_notify_win32="${have_win32}"
4101 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4102 [test "x${have_notify_win32}" = "xyes"], [1],
4103 [File monitoring with Windows notification])
4104 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4106 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4107 [test "x${have_darwin}" = "xyes"], [1],
4108 [File monitoring with fsevent notification])
4109 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4113 dnl TODO: remove these ifdefs from code!
4114 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4118 if test "x${want_eo_id}" = "xyes" ; then
4119 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4124 EFL_LIB_START([Efreet])
4126 ### Additional options to configure
4130 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4132 ### Checks for programs
4134 ## Compatibility layers
4135 EFL_PLATFORM_DEPEND([EFREET], [evil])
4137 ### Checks for libraries
4138 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4139 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4140 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4141 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4142 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4143 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4144 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4146 ### Checks for header files
4148 ### Checks for types
4150 ### Checks for structures
4152 ### Checks for compiler characteristics
4154 ### Checks for linker characteristics
4156 ### Checks for library functions
4158 EFL_LIB_END([Efreet])
4163 AC_ARG_ENABLE([physics],
4164 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4166 if test "x${enableval}" = "xyes" ; then
4169 CFOPT_WARNING="xyes"
4173 [want_physics="yes"])
4175 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4177 ### Additional options to configure
4181 ### Checks for programs
4183 ### Checks for libraries
4184 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4186 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4187 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4188 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4189 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4190 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4191 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4193 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4195 EFL_EVAL_PKGS([EPHYSICS])
4197 ### Checks for header files
4199 ### Checks for types
4201 ### Checks for structures
4203 ### Checks for compiler characteristics
4205 ### Checks for linker characteristics
4207 ### Checks for library functions
4209 EFL_LIB_END_OPTIONAL([EPhysics])
4210 #### End of EPhysics
4214 EFL_LIB_START([Edje])
4216 ### Additional options to configure
4220 AC_ARG_ENABLE([multisense],
4221 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=enabled@:>@])],
4223 if test "x${enableval}" = "xyes" ; then
4224 want_multisense="yes"
4226 want_multisense="no"
4227 CFOPT_WARNING="xyes"
4231 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4232 want_multisense="yes"
4234 want_multisense="no"
4238 # TODO: should we keep or remove these?
4239 want_edje_program_cache="no"
4240 want_edje_calc_cache="yes"
4241 want_fixed_point="no"
4243 ### Checks for programs
4245 ### Checks for libraries
4246 EFL_PLATFORM_DEPEND([EDJE], [evil])
4248 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4249 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4250 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4251 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4252 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4253 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4254 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4255 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4256 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4257 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4258 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4259 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4260 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4261 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4262 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4264 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4265 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4267 EFL_ADD_FEATURE([EDJE], [physics])
4268 EFL_ADD_FEATURE([EDJE], [multisense])
4269 EFL_ADD_FEATURE([EDJE], [lua-old])
4271 if test "${want_lua_old}" = "yes"; then
4272 EFL_CHECK_LUA_OLD([EDJE])
4274 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4277 EFL_ADD_LIBS([EDJE], [-lm])
4279 EFL_EVAL_PKGS([EDJE])
4281 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4282 [1], [Cache result of program glob matches])
4283 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4284 [1], [Cache result of calc glob matches])
4285 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4286 [1], [Use Fixed Point instead of FPU])
4288 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4289 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4290 [1], [Use Multisense])
4291 AC_SUBST([want_multisense])
4292 AC_SUBST([want_physics])
4294 ### Checks for header files
4296 AC_CHECK_HEADERS([ \
4300 ### Checks for types
4302 ### Checks for structures
4304 ### Checks for compiler characteristics
4306 ### Checks for linker characteristics
4308 ### Checks for library functions
4314 EFL_LIB_START([Edje_Cxx])
4316 EFL_EVAL_PKGS([EDJE_CXX])
4318 EFL_LIB_END([Edje_Cxx])
4319 #### End of Edje CXX
4322 EFL_LIB_START([Emotion])
4324 ## Compatibility layers
4325 EFL_PLATFORM_DEPEND([Emotion], [evil])
4328 if test "${efl_func_shm_open}" = "yes"; then
4329 want_emotion_generic="static"
4331 want_emotion_generic="no"
4334 ### Additional options to configure
4335 AC_ARG_ENABLE([xine],
4336 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4338 if test "x${enableval}" = "xyes" ; then
4346 AC_ARG_ENABLE([v4l2],
4347 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4349 if test "x${enableval}" = "xyes" ; then
4355 [want_v4l2="${efl_lib_optional_eeze}"])
4357 ### Checks for programs
4359 ### Checks for libraries
4360 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4361 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4362 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4363 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4364 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4365 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4366 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4367 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4369 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4370 EFL_ADD_FEATURE([EMOTION], [v4l2])
4374 have_gst_xoverlay="no"
4376 EMOTION_MODULE([xine], [${want_xine}])
4377 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4378 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4379 EMOTION_MODULE([generic], [${want_emotion_generic}])
4381 EFL_ADD_FEATURE([EMOTION], [xine])
4382 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4383 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4384 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4386 EFL_EVAL_PKGS([EMOTION])
4388 ### Checks for header files
4390 ### Checks for types
4392 ### Checks for structures
4394 ### Checks for compiler characteristics
4396 ### Checks for linker characteristics
4398 ### Checks for library functions
4400 if test "${want_v4l2}" = "yes"; then
4401 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4402 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4403 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4404 [#include <linux/videodev2.h>])
4407 ### Check availability
4409 EFL_LIB_END([Emotion])
4414 EFL_LIB_START([Ethumb])
4418 ### Additional options to configure
4420 ### Checks for programs
4422 ## Compatibility layers
4423 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4425 ### Checks for libraries
4426 EFL_PLATFORM_DEPEND([EINA], [evil])
4428 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4429 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4430 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4431 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4432 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4433 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4434 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4435 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4436 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4437 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4438 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4442 EFL_EVAL_PKGS([ETHUMB])
4444 ### Checks for header files
4446 ### Checks for types
4448 ### Checks for structures
4450 ### Checks for compiler characteristics
4452 ### Checks for linker characteristics
4454 ### Checks for library functions
4456 ### Check availability
4458 EFL_LIB_END([Ethumb])
4462 EFL_LIB_START([Ethumb_Client])
4466 ### Additional options to configure
4468 ### Checks for programs
4470 ## Compatibility layers
4471 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4473 ### Checks for libraries
4474 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4475 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4476 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4477 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4478 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4479 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4480 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4481 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4482 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4483 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4484 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4486 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4488 ### Checks for header files
4490 ### Checks for types
4492 ### Checks for structures
4494 ### Checks for compiler characteristics
4496 ### Checks for linker characteristics
4498 ### Checks for library functions
4500 ### Check availability
4502 EFL_LIB_END([Ethumb_Client])
4503 #### End of Ethumb_Client
4508 if test "${want_lua_old}" = "yes"; then
4512 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4516 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4518 ### Additional options to configure
4520 ### Checks for programs
4522 ## Compatibility layers
4523 EFL_PLATFORM_DEPEND([ELUA], [evil])
4525 ### Checks for libraries
4526 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4527 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4528 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4530 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4532 EFL_EVAL_PKGS([ELUA])
4534 ### Checks for header files
4536 ### Checks for types
4538 ### Checks for structures
4540 ### Checks for compiler characteristics
4542 ### Checks for linker characteristics
4544 ### Checks for library functions
4546 ### Check availability
4548 EFL_LIB_END_OPTIONAL([Elua])
4553 EFL_LIB_START([Elocation])
4557 ### Additional options to configure
4559 ### Checks for programs
4561 ### Checks for libraries
4562 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4563 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4564 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4565 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4566 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4568 EFL_ADD_LIBS([ELOCATION], [-lm])
4570 ### Checks for header files
4572 ### Checks for types
4574 ### Checks for structures
4576 ### Checks for compiler characteristics
4578 ### Checks for linker characteristics
4580 ### Checks for library functions
4582 ### Check availability
4584 EFL_LIB_END([Elocation])
4585 #### End of Elocation
4587 ### Add Wayland server library if test is enabled
4588 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4589 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.8.0])
4590 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4593 AC_ARG_ENABLE([always-build-examples],
4594 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4596 if test "x${enableval}" = "xyes" ; then
4597 want_always_build_examples="yes"
4599 want_always_build_examples="no"
4602 [want_always_build_examples="no"])
4603 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4607 AC_ARG_ENABLE([i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba],
4608 [ You will be told when this is needed ],
4610 if test "x${enableval}" = "xyes" ; then
4619 build_ecore_buffer_x11_dri2="no"
4620 build_ecore_buffer_x11_dri3="no"
4621 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
4622 ### Checks for libraries
4623 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
4624 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
4625 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
4626 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
4627 [wayland-server >= 1.5.0 wayland-client >= 1.5.0])
4629 PKG_CHECK_MODULES([X11_DRI_COMMON],
4634 [have_x11_dri_common_pkgs="yes"],
4635 [have_x11_dri_common_pkgs="no"]
4638 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
4639 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
4641 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
4642 [have_x11_dri2_pkgs="yes"],
4643 [have_x11_dri2_pkgs="no"])
4644 PKG_CHECK_MODULES([X11_DRI3],
4652 [have_x11_dri3_pkgs="yes"],
4653 [have_x11_dri3_pkgs="no"])
4656 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
4657 build_ecore_buffer_x11_dri2="yes"
4658 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
4661 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
4662 build_ecore_buffer_x11_dri3="yes"
4663 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
4665 EFL_EVAL_PKGS([ECORE_BUFFER])
4667 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
4668 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
4669 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
4671 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
4673 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
4674 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
4676 #### End of Ecore_Buffer
4683 doc/previews/Makefile
4685 src/benchmarks/eina/Makefile
4686 src/benchmarks/eo/Makefile
4687 src/benchmarks/evas/Makefile
4688 src/examples/eina/Makefile
4689 src/examples/eina_cxx/Makefile
4690 src/examples/eet/Makefile
4691 src/examples/eo/Makefile
4692 src/examples/evas/Makefile
4693 src/examples/ecore/Makefile
4694 src/examples/ecore_avahi/Makefile
4695 src/examples/eio/Makefile
4696 src/examples/eldbus/Makefile
4697 src/examples/ephysics/Makefile
4698 src/examples/edje/Makefile
4699 src/examples/emotion/Makefile
4700 src/examples/ethumb_client/Makefile
4701 src/examples/elua/Makefile
4702 src/examples/eolian_cxx/Makefile
4703 src/examples/elocation/Makefile
4704 src/lib/eina/eina_config.h
4705 src/lib/ecore_x/ecore_x_version.h
4706 src/lib/efl/Efl_Config.h
4723 pc/evas-opengl-x11.pc
4724 pc/evas-opengl-sdl.pc
4725 pc/evas-opengl-cocoa.pc
4727 pc/evas-software-buffer.pc
4728 pc/evas-software-x11.pc
4729 pc/evas-software-gdi.pc
4730 pc/evas-software-ddraw.pc
4731 pc/evas-software-sdl.pc
4732 pc/evas-wayland-shm.pc
4733 pc/evas-wayland-egl.pc
4743 pc/ecore-input-evas.pc
4754 pc/ecore-imf-evas.pc
4756 pc/ecore-audio-cxx.pc
4776 dbus-services/org.enlightenment.Ethumb.service
4777 systemd-services/ethumb.service
4779 cmakeconfig/EflConfig.cmake
4780 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4781 cmakeconfig/EinaConfig.cmake
4782 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4783 cmakeconfig/EioConfig.cmake
4784 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4785 cmakeconfig/EezeConfig.cmake
4786 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4787 cmakeconfig/EoConfig.cmake
4788 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4789 cmakeconfig/EolianConfig.cmake
4790 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4791 cmakeconfig/EolianCxxConfig.cmake
4792 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4793 cmakeconfig/EinaCxxConfig.cmake
4794 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4795 cmakeconfig/EoCxxConfig.cmake
4796 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4797 cmakeconfig/EcoreCxxConfig.cmake
4798 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4799 cmakeconfig/EvasCxxConfig.cmake
4800 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4801 cmakeconfig/EetCxxConfig.cmake
4802 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4803 cmakeconfig/EetConfig.cmake
4804 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4805 cmakeconfig/EvasConfig.cmake
4806 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4807 cmakeconfig/EcoreConfig.cmake
4808 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4809 cmakeconfig/EdjeConfig.cmake
4810 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4811 cmakeconfig/EldbusConfig.cmake
4812 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4813 cmakeconfig/EfreetConfig.cmake
4814 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4815 cmakeconfig/EthumbConfig.cmake
4816 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4817 cmakeconfig/EthumbClientConfig.cmake
4818 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4819 cmakeconfig/EmotionConfig.cmake
4820 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4821 cmakeconfig/EluaConfig.cmake
4822 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4823 cmakeconfig/EmileConfig.cmake
4824 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4829 #### Work around bug in automake check macro
4830 ## yes it is hugly, but no choice here for now.
4831 $SED -i "s/am__is_gnu_make = test -n '\$(MAKEFILE_LIST)' && test -n '\$(MAKELEVEL)'/ifdef MAKEFILE_LIST\nifdef MAKELEVEL\nam__is_gnu_make = true\nelse\nam__is_gnu_make = false\nendif\nelse\nam__is_gnu_make = false\nendif/" src/Makefile
4833 if test -f $srcdir/config.status; then
4834 TO="$SED -i \"s/am__is_gnu_make = test -n '\\\\\$(MAKEFILE_LIST)' \&\& test -n '\\\\\$(MAKELEVEL)'/ifdef MAKEFILE_LIST\\\nifdef MAKELEVEL\\\nam__is_gnu_make = true\\\nelse\\\nam__is_gnu_make = false\\\nendif\\\nelse\\\nam__is_gnu_make = false\\\nendif/\" src/Makefile\nas_fn_exit 0"
4835 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4840 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4844 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4845 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4848 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4851 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4854 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4858 if test "${have_linux}" = "yes"; then
4859 EFL_ADD_FEATURE([system], [inotify])
4860 EFL_ADD_FEATURE([system], [atfile_source])
4861 elif test "${have_windows}" = "yes"; then
4862 EFL_ADD_FEATURE([system], [notify_win32])
4864 EFL_ADD_FEATURE([system], [ipv6])
4866 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4867 efl_have_spinlock="yes"
4869 efl_have_spinlock="no"
4871 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4872 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4873 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4878 echo "------------------------------------------------------------------------"
4879 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4880 echo "------------------------------------------------------------------------"
4883 if test "x${have_windows}" = "xyes" ; then
4884 osname="${host_os}(${_efl_windows_version})"
4889 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4890 echo " EFL API Set...: ${efl_api}"
4891 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4892 echo " System Feature: ${features_system}"
4893 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4894 echo " Cryptography..: ${build_crypto}"
4895 echo " X11...........: ${with_x11}"
4896 echo " OpenGL........: ${with_opengl}"
4897 echo " C++11.........: ${have_cxx11}"
4898 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
4899 echo "Eo..............: yes (${features_eo})"
4900 echo "Eolian..........: yes (${features_eolian})"
4901 echo "Emile...........: yes (${features_emile})"
4902 echo "Eet.............: yes"
4903 echo "Evas............: yes (${features_evas})"
4904 echo " Engines.......: ${features_evas_engine}"
4905 echo " Image Loaders.: ${features_evas_loader}"
4906 if test "x${have_pixman}" = "xyes" ; then
4907 echo " Pixman........: ${features_evas_pixman}"
4909 echo "Ecore...........: yes (${features_ecore})"
4910 echo "Ecore_Con.......: yes (${features_ecore_con})"
4911 echo "Ecore_File......: yes"
4912 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4913 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4914 echo "Ecore_SDL.......: $want_sdl"
4915 echo "Ecore_Wayland...: $want_wayland"
4916 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4917 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
4918 if test "${have_linux}" = "yes"; then
4919 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4920 elif test "${have_ps3}" = "yes"; then
4921 echo "Ecore_PSL1GHT...: $have_ps3"
4922 elif test "${have_darwin}" = "yes"; then
4923 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4924 elif test "${have_windows}" = "yes"; then
4925 echo "Ecore_Win32.....: $have_win32"
4927 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4928 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4929 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4930 echo "Ector...........: yes"
4931 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4932 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4933 echo "Edje............: yes (${features_edje})"
4934 echo "Emotion.........: yes (${features_emotion})"
4935 echo "Ethumb..........: yes"
4936 echo "Ethumb_Client...: yes"
4937 echo "Elua............: $have_elua"
4938 if test "${build_tests}" = "none"; then
4939 echo "Tests...........: no"
4940 elif test "${build_tests}" = "auto"; then
4941 echo "Tests...........: make check (inexplicitly enabled)"
4942 elif test "${build_tests}" = "regular"; then
4943 echo "Tests...........: make check"
4944 elif test "${build_tests}" = "coverage"; then
4945 echo "Tests...........: make lcov-check"
4947 echo "Examples........: make examples (make install-examples)"
4948 if test "x${build_doc}" = "xyes"; then
4949 echo "Documentation...: make doc"
4951 echo "Documentation...: no"
4953 echo "Compilation.....: make (or gmake)"
4954 echo " CPPFLAGS......: $CPPFLAGS"
4955 echo " CFLAGS........: $CFLAGS"
4956 echo " CXXFLAGS......: $CXXFLAGS"
4957 echo " LDFLAGS.......: $LDFLAGS"
4959 if test "x${with_binary_edje_cc}" != "x"; then
4960 echo " edje_cc.......: ${with_binary_edje_cc}"
4963 if test "x${with_binary_eolian_gen}" != "x"; then
4964 echo " eolian_gen....: ${with_binary_eolian_gen}"
4967 if test "x${with_binary_eolian_cxx}" != "x"; then
4968 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
4971 if test "x${with_binary_elua_bin}" != "x"; then
4972 echo " elua..........: ${with_binary_elua_bin}"
4976 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4977 echo " prefix........: $prefix"
4978 echo " dbus units....: $dbusservicedir"
4979 if test "${have_systemd_user_session}" = "yes"; then
4980 echo " systemd units.: $USER_SESSION_DIR"
4984 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4985 echo " _________________________________________"
4986 echo "/ Systemd dependency is available on your \\"
4987 echo "| system, but you are building without |"
4988 echo "| systemd support. Don't forget to |"
4989 echo "| --enable-systemd if you want systemd |"
4990 echo "\\ integration for EFL. /"
4991 echo " -----------------------------------------"
4993 echo " \\ (oo)\\_______"
4994 echo " (__)\\ )\\/\\"
4999 if test -n "$CFOPT_WARNING"; then
5000 echo "_____________________________________________________________________"
5002 echo "==-- WARNING --=="
5004 echo "_____________________________________________________________________"
5005 if test "x${with_x11}" = "xxcb"; then
5006 echo "_____________________________________________________________________"
5007 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
5008 echo "is amazingly faster than Xlib (when used sensibly). It can be"
5009 echo "faster in a few corner cases on startup of an app, but it comes"
5010 echo "with many downsides. One of those is more complex code inside"
5011 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
5012 echo "the big catch is that OpenGL support basically requires Xlib anyway"
5013 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
5014 echo "gain nothing really in terms of speed and no savings in memory"
5015 echo "because Xlib is still linked, loaded and used, BUT instead you"
5016 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
5017 echo "toolkit and this is basically never tested by anyone working on"
5018 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
5019 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
5020 echo "off the memory footprint of a whole system and live with less"
5021 echo "tested code, and possibly unimplemented features in ecore_x. To"
5022 echo "remove the XCB setup, remove the --with-x11=xcb option to"
5024 echo "_____________________________________________________________________"
5026 if test "x${want_physics}" = "xno"; then
5027 echo "_____________________________________________________________________"
5028 echo "You have chosen to disable physics support. This disables lots of"
5029 echo "core functionality and is effectively never tested. You are going"
5030 echo "to find features that suddenly don't work and as a result cause"
5031 echo "a series of breakages. This is simply not tested so you are on"
5032 echo "your own in terms of ensuring everything works if you do this"
5033 echo "_____________________________________________________________________"
5035 if test "x${efl_have_threads}" = "xno"; then
5036 echo "_____________________________________________________________________"
5037 echo "You have disabled threading support. A lot of code is literally"
5038 echo "written to need threading. We never test or even build with"
5039 echo "threading disabled, so doing this is entering uncharted territory."
5040 echo "There is a very good chance things may not compile at all, or if"
5041 echo "the do, they will break at runtime in weird and wonderful ways."
5042 echo "Highly reconsider what you are doing here, or be prepared to deal"
5043 echo "with the fallout yourself."
5044 echo "_____________________________________________________________________"
5046 if test "x${want_fontconfig}" = "xno"; then
5047 echo "_____________________________________________________________________"
5048 echo "You have disabled fontconfig. This is going to make general font"
5049 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5050 echo "will work alongside some old-school ttf file path searching. This"
5051 echo "is very likely not what you want, so highly reconsider turning"
5052 echo "fontconfig off. Having it off will lead to visual problems like"
5053 echo "missing text in many UI areas etc."
5054 echo "_____________________________________________________________________"
5056 if test "x${want_fribidi}" = "xno"; then
5057 echo "_____________________________________________________________________"
5058 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5059 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5060 echo "you want to disable unless you know for absolute certain you"
5061 echo "will never encounter and have to display such scripts. Also"
5062 echo "note that we don't test with fribidi disabled so you may also"
5063 echo "trigger code paths with bugs that are never normally used."
5064 echo "_____________________________________________________________________"
5066 if test "x${want_pixman}" = "xyes"; then
5067 echo "_____________________________________________________________________"
5068 echo "Pixman allows you to replace some rendering paths in Evas with"
5069 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5070 echo "the rendering paths with Pixman enabled are not tested often so"
5071 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5072 echo "you wish to deal with these bugs."
5073 echo "_____________________________________________________________________"
5075 if test "x${have_tile_rotate}" = "xyes"; then
5076 echo "_____________________________________________________________________"
5077 echo "Tiled rotation code is not tested much, so be aware that you"
5078 echo "may introduce bugs by enabling this."
5079 echo "_____________________________________________________________________"
5081 if test "x${want_g_main_loop}" = "xyes"; then
5082 echo "_____________________________________________________________________"
5083 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5084 echo "regularly, but the glib mainloop integration (on by default) is."
5085 echo "You can use apps that use glib mainloop constructs by default"
5086 echo "this way, but the Ecore mainloop is not built on top of glib."
5087 echo "You have enabled ecore to be built on top of glib and thus you"
5088 echo "may experience bugs that normally would not be there. Be prepared"
5089 echo "to fix these if they arise."
5090 echo "_____________________________________________________________________"
5092 if test "x${want_gstreamer}" = "xyes"; then
5093 echo "_____________________________________________________________________"
5094 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5095 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5096 echo "and will eventually be removed entirely. Don't enable the old"
5097 echo "Gstreamer support unless you want to deal with the issues yourself."
5098 echo "_____________________________________________________________________"
5100 if test "x${want_gstreamer1}" = "xno"; then
5101 echo "_____________________________________________________________________"
5102 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5103 echo "this as it will heavily limit your media support options and render"
5104 echo "some functionality as useless, leading to visible application bugs."
5105 echo "_____________________________________________________________________"
5107 if test "x${want_eo_id}" = "xno"; then
5108 echo "_____________________________________________________________________"
5109 echo "Eo's ID abstraction interface is a major safety system that"
5110 echo "protects code from crashing or misbehaving in many cases. It does"
5111 echo "come at a slight cost, but the safety and protection is worth it."
5112 echo "Also by disabling this, you may also introduce security holes in"
5113 echo "EFL as well as cause all sorts of previously non-existant crashes."
5114 echo "Seriously reconsider disabling EO ID."
5115 echo "_____________________________________________________________________"
5117 if test "x${want_evas_cserve2}" = "xno"; then
5118 echo "_____________________________________________________________________"
5119 echo "Evas Cserve is built and on by default and no testing is done"
5120 echo "for the old non-cserve2 code paths, so by disabling this you"
5121 echo "may be introducing bugs. Be aware of this and be prepared to"
5122 echo "deal with the bugs as a result of this."
5123 echo "_____________________________________________________________________"
5125 if test "x${want_audio}" = "xno"; then
5126 echo "_____________________________________________________________________"
5127 echo "You disabled audio support in Ecore. This is not tested and may"
5128 echo "Create bugs for you due to it creating untested code paths."
5129 echo "Reconsider disabling audio."
5130 echo "_____________________________________________________________________"
5132 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5133 echo "_____________________________________________________________________"
5134 echo "The only audio output method supported by Ecore right now on your"
5135 echo "system is via Pulseaudio. You have disabled that and likely have"
5136 echo "broken a whole bunch of things in the process. Reconsider your"
5137 echo "configure options."
5138 echo "_____________________________________________________________________"
5140 if test "x${want_xinput2}" = "xno"; then
5141 echo "_____________________________________________________________________"
5142 echo "You have disabled xinput2 support. This means a whole lot of input"
5143 echo "devices in X11 will not work correctly. You likely do not want to"
5145 echo "_____________________________________________________________________"
5147 if test "x${want_xim}" = "xno"; then
5148 echo "_____________________________________________________________________"
5149 echo "You disabled XIM input method support. This is the most basic and"
5150 echo "core input method protocol supported in X11 and you almost certainly"
5151 echo "want the support for it. Input methods allow for complex text input"
5152 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5153 echo "on touch/mobile devices."
5154 echo "_____________________________________________________________________"
5156 if test "x${want_scim}" = "xno"; then
5157 echo "_____________________________________________________________________"
5158 echo "SCIM is a modern and very common input method framework and you"
5159 echo "disabled support for it. You very likely want the support for"
5160 echo "complex language input, so please reconsider this. Input methods"
5161 echo "allow for complex text input like for Chinese, Japanese and Korean"
5162 echo "as well as virtual keyboards on touch/mobile devices."
5163 echo "_____________________________________________________________________"
5165 if test "x${want_libmount}" = "xno"; then
5166 echo "_____________________________________________________________________"
5167 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5168 echo "for support of removable devices etc. and disabling this will"
5169 echo "hurt support for Enlightenment and its filemanager."
5170 echo "_____________________________________________________________________"
5172 if test "x${want_multisense}" = "xno"; then
5173 echo "_____________________________________________________________________"
5174 echo "Multisense has been disabled. This causes Edje audio suport to"
5175 echo "Simply not work, and will break applications and libraries"
5176 echo "that rely on it with users then reporting bugs."
5177 echo "If you want to mute audio, there are APIs and policies to do"
5178 echo "that, as opposed to compiling it out."
5179 echo "_____________________________________________________________________"
5181 if test "x${efl_api}" = "xeo"; then
5182 echo "_____________________________________________________________________"
5183 echo "Using the EO based EFL API only does not work at the moment. We still"
5184 echo "have a lot code that depends on the legacy interfaces. We provide"
5185 echo "this option for testing once we are able to migrate to the EO based"
5187 echo "If you are not working on this migration please leave the option set"
5188 echo "to both as it will break your build if set to eo."
5189 echo "_____________________________________________________________________"
5191 if test "x${want_libeeze}" = "xno"; then
5192 echo "_____________________________________________________________________"
5193 echo "Libeeze has been disabled, and it is used heavily for support of"
5194 echo "removable devices etc. and disabling this will hurt support for"
5195 echo "Enlightenment and its filemanager."
5196 echo "_____________________________________________________________________"
5198 echo "_____________________________________________________________________"
5200 echo "==-- WARNING --=="
5202 echo "_____________________________________________________________________"
5203 if test -n "$BARF_OK"; then
5204 echo "Please add the following option to acknowledge this:"
5205 echo " --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba"
5206 echo "_____________________________________________________________________"
5213 if test "x$prefix" != "x/usr"; then
5215 path=$dbusservicedir
5216 while test "x$old" != "x$path"; do
5218 eval path="\"$path\""
5220 resolved_dbusservicedir=$path
5223 path=$USER_SESSION_DIR
5224 while test "x$old" != "x$path"; do
5226 eval path="\"$path\""
5228 resolved_USER_SESSION_DIR=$path
5229 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5233 while test "x$old" != "x$path"; do
5235 eval path="\"$path\""
5237 resolved_datadir=$path
5240 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5241 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5242 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5243 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5248 needs_alert_systemd=0
5249 if test "$have_systemd_user_session" = "yes"; then
5250 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5251 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5252 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5253 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5255 needs_alert_systemd=1
5259 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5260 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5261 what_alert="dbus and systemd"
5262 elif test $needs_alert_dbus -eq 1; then
5265 what_alert="systemd"
5269 echo "#-------------------------------------------------------------------#"
5270 echo "##==-- ALERT --==##"
5271 echo "#-------------------------------------------------------------------#"
5273 echo " Your installation prefix is *NOT* /usr so this means you need"
5274 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5275 echo "be started when needed. You will need to do the following:"
5276 if test $needs_alert_dbus -eq 1; then
5278 echo "System-wide installation:"
5279 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5281 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5283 echo "User installation:"
5284 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5286 if test $needs_alert_systemd -eq 1; then
5288 echo "System-wide installation:"
5289 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5291 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5293 echo "User installation:"
5294 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5297 echo "#-------------------------------------------------------------------#"
5301 if test "x${efl_deprecated_option}" = "xyes"; then
5303 echo "#-------------------------------------------------------------------#"
5304 echo "##==-- ALERT --==##"
5305 echo "#-------------------------------------------------------------------#"
5307 echo " Your build script is using a deprecated option. It will get b0rken"
5308 echo "with the next release of EFL. You better update it now than later."
5310 echo "#-------------------------------------------------------------------#"