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([sdl],
1420 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1422 if test "x${enableval}" = "xyes" ; then
1430 if test "${want_sdl}" = "yes"; then
1431 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1434 # We only enable SDL with opengl if it is not the full version and not ES
1435 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1436 # versions the SDL_opengles.h has never been released.
1438 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1439 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1441 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1446 AC_ARG_ENABLE([cocoa],
1447 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1449 if test "x${enableval}" = "xyes" ; then
1457 if test "${want_cocoa}" = "yes"; then
1458 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1461 m4_ifdef([AC_PROG_OBJC],
1463 if test "x${have_gnu_objc}" = "xyes" ; then
1464 AC_LANG_PUSH([Objective C])
1466 LIBS="$LIBS -framework Cocoa"
1470 #include <Cocoa/Cocoa.h>
1474 window = [[NSWindow alloc]
1475 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1476 styleMask:(NSTitledWindowMask)
1477 backing:NSBackingStoreBuffered
1484 cocoa_ldflags="-framework Cocoa"
1488 AC_MSG_CHECKING([whether Cocoa framework is supported])
1489 AC_MSG_RESULT([${have_cocoa}])
1490 AC_LANG_POP([Objective C])
1494 AC_SUBST(cocoa_ldflags)
1496 if test "x${want_cocoa}" = "xyes"; then
1497 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1498 cocoa_coreservices_ldflags=""
1499 have_cocoa_coreservices="no"
1500 m4_ifdef([AC_PROG_OBJC],
1502 if test "x${have_gnu_objc}" = "xyes" ; then
1503 AC_LANG_PUSH([Objective C])
1505 LIBS="$LIBS -framework CoreServices"
1509 #include <CoreServices/CoreServices.h>
1512 //test function here
1515 have_cocoa_coreservices="yes"
1516 cocoa_coreservices_ldflags="-framework CoreServices"
1518 [have_cocoa_coreservices="no"])
1520 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1521 AC_MSG_RESULT([${have_cocoa_coreservices}])
1522 AC_LANG_POP([Objective C])
1526 AC_SUBST(cocoa_coreservices_ldflags)
1529 AC_ARG_ENABLE([drm],
1530 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1532 if test "x${enableval}" = "xyes" ; then
1541 AC_ARG_ENABLE([gl-drm],
1542 [AC_HELP_STRING([--enable-gl-drm],
1543 [enable gl drm engine. @<:@default=disabled@:>@])],
1545 if test "x${enableval}" = "xyes" ; then
1553 AC_ARG_ENABLE([fontconfig],
1554 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1556 if test "x${enableval}" = "xyes" ; then
1557 want_fontconfig="yes"
1559 want_fontconfig="no"
1560 CFOPT_WARNING="xyes"
1563 [want_fontconfig="yes"])
1566 AC_ARG_ENABLE([fribidi],
1567 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1569 if test "x${enableval}" = "xyes" ; then
1573 CFOPT_WARNING="xyes"
1576 [want_fribidi="yes"])
1579 AC_ARG_ENABLE([eo_id],
1580 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1582 if test "x${enableval}" = "xyes" ; then
1586 CFOPT_WARNING="xyes"
1592 AC_ARG_ENABLE([harfbuzz],
1593 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1595 if test "x${enableval}" = "xyes" ; then
1601 [want_harfbuzz="no"])
1604 AC_ARG_ENABLE([egl],
1605 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1607 if test "x${enableval}" = "xyes" ; then
1616 AC_ARG_ENABLE([pixman],
1617 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1619 if test "x${enableval}" = "xyes" ; then
1621 CFOPT_WARNING="xyes"
1628 AC_ARG_ENABLE([pixman-font],
1629 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1631 if test "x${enableval}" = "xyes" ; then
1632 have_pixman_font="yes"
1634 have_pixman_font="no"
1637 [have_pixman_font="no"])
1639 AC_ARG_ENABLE([pixman-rect],
1640 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1642 if test "x${enableval}" = "xyes" ; then
1643 have_pixman_rect="yes"
1645 have_pixman_rect="no"
1648 [have_pixman_rect="no"])
1650 AC_ARG_ENABLE([pixman-line],
1651 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1653 if test "x${enableval}" = "xyes" ; then
1654 have_pixman_line="yes"
1656 have_pixman_line="no"
1659 [have_pixman_line="no"])
1661 AC_ARG_ENABLE(pixman-poly,
1662 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1664 if test "x${enableval}" = "xyes" ; then
1665 have_pixman_poly="yes"
1667 have_pixman_poly="no"
1670 [have_pixman_poly="no"])
1672 AC_ARG_ENABLE([pixman-image],
1673 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1675 if test "x${enableval}" = "xyes" ; then
1676 have_pixman_image="yes"
1678 have_pixman_image="no"
1681 [have_pixman_image="no"])
1683 AC_ARG_ENABLE([pixman-image-scale-sample],
1684 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1686 if test "x${enableval}" = "xyes" ; then
1687 have_pixman_image_scale_sample="yes"
1689 have_pixman_image_scale_sample="no"
1692 [have_pixman_image_scale_sample="no"])
1695 AC_ARG_ENABLE([tile-rotate],
1696 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1698 if test "x${enableval}" = "xyes" ; then
1699 have_tile_rotate="yes"
1700 CFOPT_WARNING="xyes"
1702 have_tile_rotate="no"
1705 [have_tile_rotate="no"])
1708 AC_ARG_ENABLE([ecore-buffer],
1709 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
1711 if test "x${enableval}" = "xyes" ; then
1712 want_ecore_buffer="yes"
1714 want_ecore_buffer="no"
1717 [want_ecore_buffer="no"])
1721 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1722 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1723 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1724 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1725 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1726 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1727 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1728 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1729 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1730 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1731 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1732 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1733 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1734 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1735 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1736 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1737 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1741 want_evas_engine_software_gdi="${have_win32}"
1742 want_evas_engine_software_ddraw="${have_win32}"
1743 want_evas_engine_gl_cocoa="${want_cocoa}"
1744 want_evas_engine_wayland_egl="no"
1745 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1746 want_evas_engine_wayland_egl="yes"
1749 if test "${want_lua_old}" = "yes"; then
1750 EFL_CHECK_LUA_OLD([EVAS])
1752 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1755 EFL_ADD_FEATURE([EVAS], [lua-old])
1757 EFL_CHECK_FUNC([EVAS], [dlsym])
1759 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1760 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1763 ### Checks for programs
1765 ### Checks for libraries
1767 ## Compatibility layers
1768 EFL_PLATFORM_DEPEND([EVAS], [all])
1769 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1770 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1771 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1772 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1773 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1774 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1776 EFL_ADD_LIBS([EVAS], [-lm])
1779 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1781 ## optional dependencies
1784 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1785 [FONTCONFIG], [fontconfig >= 2.5.0])
1788 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1789 [FRIBIDI], [fribidi >= 0.19.2])
1792 have_harfbuzz_ft="no"
1793 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1794 [HARFBUZZ], [harfbuzz >= 0.9.0])
1797 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1799 if test "x${have_pixman}" = "xyes" ; then
1800 if test "x${have_pixman_font}" = "xyes" ; then
1801 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1803 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1805 if test "x${have_pixman_rect}" = "xyes" ; then
1806 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1808 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1810 if test "x${have_pixman_line}" = "xyes" ; then
1811 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1813 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1815 if test "x${have_pixman_poly}" = "xyes" ; then
1816 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1818 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1820 if test "x${have_pixman_image}" = "xyes" ; then
1821 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1823 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1825 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1826 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1828 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1833 define([EVAS_ENGINE_DEP_CHECK_FB], [
1834 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1837 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1838 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1841 EVAS_ENGINE([buffer], [static])
1842 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1843 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1846 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1847 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1848 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1849 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1850 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1851 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1852 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1853 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1858 have_evas_engine_software_xcb="no"
1859 if test "${with_x11}" = "xcb" ; then
1860 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1862 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1863 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1866 AC_MSG_CHECKING([whether to build Software XCB Engine])
1867 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1869 # No Software XCB ? Then try Software Xlib
1871 have_evas_engine_software_xlib="no"
1872 if test "x${want_x11_xcb}" = "xno" ; then
1873 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1875 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1876 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1879 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1880 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1882 # If software_x11 is available, define everything needed for X11
1884 have_evas_engine_software_x11="no"
1885 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
1886 have_evas_engine_software_x11="yes"
1887 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1889 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1891 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1892 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1894 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1896 # Needed for evas-software-x11.pc
1898 AC_SUBST([have_evas_engine_software_xlib])
1899 AC_SUBST([have_evas_engine_software_xcb])
1902 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1903 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1907 if test "${with_opengl}" = "es" ; then
1908 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1913 have_evas_engine_gl_xcb="no"
1914 if test "${want_x11_xcb_opengl}" = "yes"; then
1915 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1917 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1918 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1921 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1922 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1924 # No openGL XCB ? Then try OpenGL Xlib
1926 have_evas_engine_gl_xlib="no"
1927 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1928 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1930 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1931 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1934 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1935 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1937 # If opengl_x11 is available, define everything needed for X11
1939 have_evas_engine_gl_x11="no"
1940 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
1941 have_evas_engine_gl_x11="yes"
1942 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1944 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1946 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1947 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1949 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1951 # Needed for evas-opengl-x11.pc
1953 AC_SUBST([have_evas_engine_gl_xlib])
1954 AC_SUBST([have_evas_engine_gl_xcb])
1958 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1959 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1960 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1961 [#include <SDL/SDL_video.h>])
1964 if test "${with_opengl}" = "es"; then
1965 AC_CHECK_DECL([SDL_OPENGLES],
1966 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1967 [#include <SDL/SDL_video.h>])
1971 evas_engine_gl_common_cflags=""
1972 if test "x${have_egl}" = "xyes"; then
1973 evas_engine_gl_common_libs="-lEGL"
1975 evas_engine_gl_common_libs="-lEGL"
1978 # The lines below fix compiling/linking of gl_generic on OSX
1979 if test "x${have_darwin}" = "xyes"; then
1980 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1981 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1982 # CFLAGS and LIBS are determined by evas-gl_cocoa.
1983 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1984 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
1986 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
1987 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
1988 # cannot compile (nor link).
1989 evas_engine_gl_common_libs=""
1990 evas_engine_gl_common_cflags=""
1992 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
1993 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
1994 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
1996 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2000 AC_SUBST([evas_engine_gl_common_cflags])
2001 AC_SUBST([evas_engine_gl_common_libs])
2003 have_evas_engine_gl_common="no"
2004 have_static_evas_engine_gl_common="no"
2005 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2006 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2007 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2008 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2009 test "x$have_evas_engine_gl_drm" = "xyes" || \
2010 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2011 have_evas_engine_gl_common="yes"
2013 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2014 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2015 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2016 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2017 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2018 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2019 have_evas_engine_gl_common="yes"
2020 have_static_evas_engine_gl_common="yes"
2023 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2024 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2027 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2029 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2030 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2033 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2038 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2039 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2040 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2041 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2042 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2043 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2044 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2045 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2046 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2047 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2048 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2049 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2050 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2051 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2052 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2053 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2054 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2056 EFL_EVAL_PKGS([EVAS])
2058 ### Checks for header files
2060 if test "x$have_harfbuzz" = "xyes" ; then
2062 CPPFLAGS_SAVE="$CPPFLAGS"
2063 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2064 # must have for usage with harfbuzz although harfbuzz may not have it.
2066 AC_CHECK_HEADER([hb-ft.h],
2068 have_harfbuzz_ft="yes"
2069 #Depend on harfbuzz ft for harfbuzz support
2070 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2072 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2074 CPPFLAGS="$CPPFLAGS_SAVE"
2077 ### Checks for types
2079 CPPFLAGS_SAVE="$CPPFLAGS"
2080 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2081 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2082 CPPFLAGS="$CPPFLAGS_SAVE"
2085 if test "x$have_fribidi" = "xyes" ; then
2086 CPPFLAGS_SAVE="$CPPFLAGS"
2087 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2088 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2089 CPPFLAGS="$CPPFLAGS_SAVE"
2092 ### Checks for structures
2094 AC_CHECK_TYPES([struct sigaction], [], [],
2095 [[#include <signal.h>]])
2097 ### Checks for compiler characteristics
2099 ### Checks for linker characteristics
2101 ### Checks for library functions
2103 AC_CHECK_FUNCS([siglongjmp])
2105 AC_CHECK_LIB([m], [lround],
2106 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2107 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2113 AC_ARG_ENABLE([cserve],
2114 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2116 if test "x${enableval}" = "xyes" ; then
2117 want_evas_cserve2="yes"
2119 want_evas_cserve2="no"
2120 CFOPT_WARNING="xyes"
2123 [want_evas_cserve2="yes"])
2125 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2126 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2129 # cserve2 only works on Linux so far.
2131 if test "x${efl_func_shm_open}" = "xno" ; then
2132 want_evas_cserve2="no"
2135 if test "x${want_evas_cserve2}" = "xyes"; then
2136 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
2137 want_evas_cserve2="no"
2139 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2140 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2144 AC_DEFINE_IF([EVAS_CSERVE2],
2145 [test "x${want_evas_cserve2}" = "xyes"],
2146 [1], [Shared cache server.])
2147 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2153 if test "x${have_tile_rotate}" = "xyes" ; then
2154 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2160 AC_ARG_WITH([evas-dither-mask],
2161 [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.
2162 @<:@default=big@:>@])],
2163 [build_evas_dither_mask=${withval}],
2164 [build_evas_dither_mask=big])
2166 case "${build_evas_dither_mask}" in
2168 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2171 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2174 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2177 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2180 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2183 EFL_ADD_FEATURE([EVAS], [fontconfig])
2184 EFL_ADD_FEATURE([EVAS], [fribidi])
2185 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2186 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2187 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2188 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2194 EFL_LIB_START([Evas_Cxx])
2196 EFL_EVAL_PKGS([EVAS_CXX])
2198 EFL_LIB_END([Evas_Cxx])
2199 #### End of Edje CXX
2203 EFL_LIB_START([Embryo])
2207 ### Additional options to configure
2209 ### Checks for programs
2211 ### Checks for libraries
2212 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2213 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2215 EFL_ADD_LIBS([EMBRYO], [-lm])
2217 ### Checks for header files
2219 ### Checks for types
2221 ### Checks for structures
2223 ### Checks for compiler characteristics
2225 ### Checks for linker characteristics
2227 ### Checks for library functions
2229 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2230 AC_MSG_ERROR([Cannot find fnmatch()])
2233 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2234 AC_MSG_ERROR([Cannot find gettimeofday()])
2237 ### Check availability
2239 EFL_LIB_END([Embryo])
2245 EFL_LIB_START([Ecore])
2247 ### Additional options to configure
2252 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2254 if test "x${withval}" = "xyes" ; then
2257 if test "x${withval}" = "xalways" ; then
2266 AC_ARG_ENABLE([g-main-loop],
2267 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2269 if test "x${enableval}" = "xyes" ; then
2270 want_g_main_loop="yes"
2271 CFOPT_WARNING="xyes"
2273 want_g_main_loop="no"
2276 [want_g_main_loop="no"])
2278 AC_ARG_ENABLE([gstreamer],
2279 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2281 if test "x${enableval}" = "xyes" ; then
2282 want_gstreamer="yes"
2283 CFOPT_WARNING="xyes"
2288 [want_gstreamer="no"])
2290 AC_ARG_ENABLE([gstreamer1],
2291 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2293 if test "x${enableval}" = "xyes" ; then
2294 want_gstreamer1="yes"
2296 want_gstreamer1="no"
2297 CFOPT_WARNING="xyes"
2300 [want_gstreamer1="yes"])
2302 AC_ARG_ENABLE([tizen],
2303 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2305 if test "x${enableval}" = "xyes" ; then
2313 if test "${want_tizen}" = "yes"; then
2314 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2316 [have_tizen_vconf="yes"],
2317 [have_tizen_vconf="no"])
2318 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2321 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2322 if test "${have_tizen_vconf}" = "yes"; then
2323 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2328 if test "${have_windows}" = "yes"; then
2333 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2337 want_ecore_timer_dump="no"
2338 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2339 want_ecore_timer_dump="yes"
2340 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2343 ### Checks for programs
2345 ### Checks for libraries
2346 EFL_PLATFORM_DEPEND([ECORE], [all])
2347 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2348 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2349 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2351 EFL_ADD_LIBS([ECORE], [-lm])
2355 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2356 if test "x${have_glib}" = "xno"; then
2357 want_g_main_loop="no"
2360 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2362 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2363 EFL_ADD_FEATURE([ECORE], [glib])
2364 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2366 want_glib_integration_always=no
2367 if test "x${with_glib}" = "xalways" ; then
2368 want_glib_integration_always="yes"
2369 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2372 if test "x${want_g_main_loop}" = "xyes" ; then
2373 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2376 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2377 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2378 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2381 if test "${want_gstreamer1}" = "yes"; then
2382 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2384 if test "${want_gstreamer}" = "yes"; then
2385 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2387 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2389 EFL_EVAL_PKGS([ECORE])
2391 ### Checks for header files
2395 AC_CHECK_HEADERS([sys/socket.h])
2397 AC_CHECK_HEADERS([ \
2409 #ifdef HAVE_SYS_SOCKET_H
2410 # include <sys/socket.h>
2414 AC_CHECK_HEADERS([net/if.h], [], [],
2417 # include <stdlib.h>
2418 # include <stddef.h>
2421 # include <stdlib.h>
2424 #if HAVE_SYS_SOCKET_H
2425 # include <sys/socket.h>
2429 ### Checks for types
2431 ### Checks for structures
2433 ### Checks for compiler characteristics
2435 ### Checks for linker characteristics
2437 ### Checks for library functions
2449 int i = isfinite(0);
2452 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2455 [have_isfinite="no"])
2457 AC_MSG_CHECKING([for isfinite])
2458 AC_MSG_RESULT([${have_isfinite}])
2460 # mallinfo, timerfd_create, clock_gettime
2462 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2464 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2465 AC_CHECK_LIB([rt], [clock_gettime],
2467 EFL_ADD_LIBS([ECORE], [-lrt])
2468 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2472 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2474 # coroutine function specific
2479 #include <ucontext.h>
2485 [have_ucontext="yes"],
2486 [have_ucontext="no"])
2488 AC_MSG_CHECKING([for ucontext])
2489 AC_MSG_RESULT([${have_ucontext}])
2500 [have_setjmp="yes"],
2503 AC_MSG_CHECKING([for setjmp])
2504 AC_MSG_RESULT([${have_setjmp}])
2506 if test "X${have_windows}" = "xyes"; then
2507 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2508 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2509 elif test "x${have_ucontext}" = "xyes"; then
2510 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2511 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2512 elif test "x${have_setjmp}" = "xyes"; then
2513 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2514 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2516 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2519 ### Check availability
2521 EFL_LIB_END([Ecore])
2525 EFL_LIB_START([Ecore_Cxx])
2527 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2528 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2529 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2530 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2532 EFL_EVAL_PKGS([ECORE_CXX])
2534 EFL_LIB_END([Ecore_Cxx])
2535 #### End of Ecore CXX
2539 EFL_LIB_START([Ecore_Con])
2543 want_ecore_con_local_sockets="yes"
2544 want_ecore_con_abstract_sockets="yes"
2546 if test "${have_win32}" = "yes"; then
2548 want_ecore_con_abstract_sockets="no"
2549 elif test "${have_darwin}" = "yes"; then
2551 want_ecore_con_abstract_sockets="yes"
2552 elif test "${have_ps3}" = "yes"; then
2554 want_ecore_con_local_sockets="no"
2555 want_ecore_con_abstract_sockets="no"
2560 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2561 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2562 [1], [Have local sockets support])
2563 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2564 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2565 [1], [Have abstract sockets namespace])
2567 ### Checks for programs
2569 ### Checks for libraries
2570 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2571 if test "$build_crypto" != "none" ; then
2572 EFL_CRYPTO_DEPEND([ECORE_CON])
2574 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2575 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2576 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2577 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2578 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2580 EFL_ADD_LIBS([ECORE_CON], [-lm])
2582 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2583 [CARES], [libcares >= 1.6.1])
2584 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2586 if test "x$have_cares" = "xyes" ; then
2587 ecore_con_resolver="cares"
2588 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2589 ecore_con_resolver="dns.c"
2591 ecore_con_resolver="fork"
2594 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2596 EFL_ADD_FEATURE([ECORE_CON], [cares])
2597 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2598 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2599 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2600 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2602 EFL_EVAL_PKGS([ECORE_CON])
2604 ### Checks for header files
2606 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2608 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2609 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2612 ### Checks for types
2615 AC_CHECK_TYPES([struct ipv6_mreq],
2619 #include <netinet/in.h>
2620 #ifdef HAVE_WS2TCPIP_H
2621 # include <ws2tcpip.h>
2625 AC_DEFINE_IF([HAVE_IPV6],
2626 [test "x${have_ipv6}" = "xyes"],
2627 [1], [Define if IPV6 is supported])
2628 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2630 ### Checks for structures
2632 ### Checks for compiler characteristics
2634 ### Checks for linker characteristics
2636 ### Checks for library functions
2638 EFL_LIB_END([Ecore_Con])
2639 #### End of Ecore_Con
2644 EFL_LIB_START([Ecore_Ipc])
2648 ### Additional options to configure
2650 ### Checks for programs
2652 ## Compatibility layers
2653 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2655 ### Checks for libraries
2656 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2657 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2658 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2659 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2661 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2663 ### Checks for header files
2665 AC_CHECK_HEADERS([winsock2.h])
2667 ### Checks for types
2669 ### Checks for structures
2671 ### Checks for compiler characteristics
2673 ### Checks for linker characteristics
2675 ### Checks for library functions
2677 EFL_LIB_END([Ecore_Ipc])
2678 #### End of Ecore_Ipc
2683 EFL_LIB_START([Ecore_File])
2685 ### Additional options to configure
2689 ### Checks for programs
2691 ## Compatibility layers
2692 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2694 ### Checks for libraries
2695 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2696 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2697 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2698 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2699 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2701 ### Checks for header files
2703 ### Checks for types
2705 ### Checks for structures
2707 ### Checks for compiler characteristics
2709 ### Checks for linker characteristics
2711 ### Checks for library functions
2713 EFL_LIB_END([Ecore_File])
2714 #### End of Ecore_File
2718 EFL_LIB_START([Ecore_Input])
2720 ### Additional options to configure
2724 ### Checks for programs
2726 ## Compatibility layers
2727 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2729 ### Checks for libraries
2730 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2731 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2732 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2734 ### Checks for header files
2736 ### Checks for types
2738 ### Checks for structures
2740 ### Checks for compiler characteristics
2742 ### Checks for linker characteristics
2744 ### Checks for library functions
2746 EFL_LIB_END([Ecore_Input])
2747 #### End of Ecore_Input
2750 #### Ecore_Input_Evas
2751 EFL_LIB_START([Ecore_Input_Evas])
2753 ### Additional options to configure
2757 ### Checks for programs
2759 ## Compatibility layers
2760 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2762 ### Checks for libraries
2763 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2764 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2765 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2766 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2767 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2768 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2769 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2771 ### Checks for header files
2773 ### Checks for types
2775 ### Checks for structures
2777 ### Checks for compiler characteristics
2779 ### Checks for linker characteristics
2781 ### Checks for library functions
2783 EFL_LIB_END([Ecore_Input_Evas])
2784 #### End of Ecore_Input_Evas
2788 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2790 ### Additional options to configure
2794 ### Checks for programs
2796 ### Checks for libraries
2797 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2798 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2799 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2800 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2802 ### Checks for header files
2804 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2806 ### Checks for types
2808 ### Checks for structures
2810 ### Checks for compiler characteristics
2812 ### Checks for linker characteristics
2814 ### Checks for library functions
2816 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2817 #### End of Ecore_Cocoa
2821 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2823 ### Additional options to configure
2824 AC_ARG_ENABLE([tslib],
2825 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2827 if test "x${enableval}" = "xyes" ; then
2832 ], [want_tslib="yes"])
2836 ### Checks for programs
2838 ### Checks for libraries
2839 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2840 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2841 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2842 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2844 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2845 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2847 EFL_EVAL_PKGS([ECORE_FB])
2849 ### Checks for header files
2852 AC_CHECK_HEADER([linux/fb.h],
2853 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2854 if test "${have_ecore_fb}" = "no"; then
2855 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2858 ### Checks for types
2860 ### Checks for structures
2862 ### Checks for compiler characteristics
2864 ### Checks for linker characteristics
2866 ### Checks for library functions
2868 EFL_LIB_END_OPTIONAL([Ecore_FB])
2869 #### End of Ecore_FB
2873 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2875 ### Additional options to configure
2879 ### Checks for programs
2881 ### Checks for libraries
2882 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2884 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2885 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2886 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2887 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2889 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2891 ### Checks for header files
2893 ### Checks for types
2895 ### Checks for structures
2897 ### Checks for compiler characteristics
2899 ### Checks for linker characteristics
2901 ### Checks for library functions
2903 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2904 #### End of Ecore_Psl1ght
2908 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2910 ### Additional options to configure
2914 ### Checks for programs
2916 ### Checks for libraries
2917 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2918 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2919 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2920 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2921 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2923 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2925 EFL_EVAL_PKGS([ECORE_SDL])
2927 ### Checks for header files
2929 ### Checks for types
2931 ### Checks for structures
2933 ### Checks for compiler characteristics
2935 ### Checks for linker characteristics
2937 ### Checks for library functions
2939 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2940 #### End of Ecore_SDL
2944 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2946 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2947 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2950 ### Additional options to configure
2954 ### Checks for programs
2956 ### Checks for libraries
2957 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2958 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2959 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2960 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2962 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2963 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0])
2965 EFL_EVAL_PKGS([ECORE_WAYLAND])
2967 ### Checks for header files
2969 ### Checks for types
2971 ### Checks for structures
2973 ### Checks for compiler characteristics
2975 ### Checks for linker characteristics
2977 ### Checks for library functions
2979 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2980 #### End of Ecore_Wayland
2983 EFL_LIB_START([Eldbus])
2985 ### Additional options to configure
2989 ### Checks for programs
2991 ## Compatibility layers
2992 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
2994 ### Checks for libraries
2995 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
2996 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
2997 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
2999 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3001 EFL_EVAL_PKGS([ELDBUS])
3003 ### Checks for header files
3005 ### Checks for types
3007 ### Checks for structures
3009 ### Checks for compiler characteristics
3011 ### Checks for linker characteristics
3013 ### Checks for library functions
3015 EFL_LIB_END([Eldbus])
3020 have_libmount_new="no"
3021 have_libmount_old="no"
3022 have_eeze_mount="no"
3024 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3026 ### Additional options to configure
3027 AC_ARG_WITH([mount],
3028 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3029 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3030 AC_ARG_WITH([umount],
3031 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3032 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3033 AC_ARG_WITH([eject],
3034 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3035 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3039 ### Checks for programs
3041 ### Checks for libraries
3042 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3043 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3044 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3045 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3046 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3047 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3048 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3050 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3052 AC_ARG_ENABLE([libmount],
3053 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3055 if test "x${enableval}" = "xyes" ; then
3059 CFOPT_WARNING="xyes"
3062 [want_libmount="yes"])
3064 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3065 [EEZE_MOUNT], [mount >= 2.18.0])
3066 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3068 PKG_CHECK_EXISTS([libudev < 199],
3069 [have_libudev_old="yes"],
3070 [have_libudev_old="no"])
3071 AC_MSG_CHECKING([Use old libudev API (before 199)])
3072 AC_MSG_RESULT([${have_libudev_old}])
3074 PKG_CHECK_EXISTS([mount < 2.19.0],
3075 [have_libmount_old="yes"],
3076 [have_libmount_old="no"])
3077 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3078 AC_MSG_RESULT([${have_libmount_old}])
3080 PKG_CHECK_EXISTS([mount == 2.19.0],
3081 [have_libmount_219="yes"],
3082 [have_libmount_219="no"])
3083 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3084 AC_MSG_RESULT([${have_libmount_219}])
3086 PKG_CHECK_EXISTS([mount > 2.19.0],
3087 [have_libmount_new="yes"],
3088 [have_libmount_new="no"])
3089 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3090 AC_MSG_RESULT([${have_libmount_new}])
3092 if test "x${have_libudev_old}" = "xyes"; then
3093 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3096 if test "x${have_libmount_old}" = "xyes"; then
3097 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3101 if test "${want_tizen}" = "yes"; then
3102 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3104 EFL_ADD_FEATURE([EEZE], [tizen])
3106 EFL_EVAL_PKGS([EEZE])
3108 ### Checks for header files
3110 ### Checks for types
3112 ### Checks for structures
3114 ### Checks for compiler characteristics
3116 ### Checks for linker characteristics
3118 ### Checks for library functions
3120 ### Checks for binaries
3121 if test "x$with_eeze_mount" = "xdetect"; then
3122 AC_PATH_PROG([with_eeze_mount], [mount], [])
3124 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3126 if test "x$with_eeze_umount" = "xdetect";then
3127 AC_PATH_PROG([with_eeze_umount], [umount], [])
3129 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3131 if test "x$with_eeze_eject" = "xdetect";then
3132 AC_PATH_PROG([with_eeze_eject], [eject], [])
3134 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3136 EFL_LIB_END_OPTIONAL([Eeze])
3138 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3139 [test "x${have_libmount_new}" = "xyes"])
3140 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3141 [test "x${have_libmount_old}" = "xyes"])
3142 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3143 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3148 have_libinput_new="no"
3149 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3151 ### Additional options to configure
3154 AC_SUBST([SUID_CFLAGS])
3155 AC_SUBST([SUID_LDFLAGS])
3159 ### Checks for programs
3161 ### Checks for libraries
3162 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3163 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3164 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3165 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3166 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3167 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3169 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3170 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3172 # API change from 0.7 to 0.8. So we define this to support both for now.
3173 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3174 [have_libinput_new="yes"],
3175 [have_libinput_new="no"])
3176 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3177 AC_MSG_RESULT([${have_libinput_new}])
3178 if test "x${have_libinput_new}" = "xyes";then
3179 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3181 if test "x${have_libinput_new}" = "xno";then
3182 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3186 EFL_EVAL_PKGS([ECORE_DRM])
3188 ### Checks for header files
3190 ### Checks for types
3192 ### Checks for structures
3194 ### Checks for compiler characteristics
3196 ### Checks for linker characteristics
3198 ### Checks for library functions
3200 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3201 #### End of Ecore_Drm
3206 AC_ARG_ENABLE([audio],
3207 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3209 if test "x${enableval}" = "xyes" ; then
3213 CFOPT_WARNING="xyes"
3218 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3220 ### Additional options to configure
3222 # ALSA support is still not there, thus no option for it yet.
3225 # sndfile is mandatory otherwise it won't read from/write to files.
3226 # TODO: if confirmed sndfile is mandatory, remove this variable
3227 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3230 AC_ARG_ENABLE([pulseaudio],
3231 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3233 if test "x${enableval}" = "xyes" ; then
3234 want_pulseaudio="yes"
3236 want_pulseaudio="no"
3237 CFOPT_WARNING="xyes"
3240 [want_pulseaudio="yes"])
3242 if test "x${have_darwin}" = "xyes"; then
3243 want_pulseaudio="no"
3245 want_coreaudio="yes"
3252 if test "x${want_coreaudio}" = "xyes"; then
3253 coreaudio_ldflags=""
3256 LIBS="$LIBS -framework CoreAudio"
3260 #include <CoreAudio/CoreAudio.h>
3264 AudioDeviceID dev_id;
3265 AudioObjectPropertyAddress prop = {
3266 kAudioHardwarePropertyDefaultOutputDevice,
3267 kAudioObjectPropertyScopeGlobal,
3268 kAudioObjectPropertyElementMaster
3270 size = sizeof(AudioDeviceID);
3271 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3275 have_coreaudio="yes"
3276 coreaudio_ldflags="-framework CoreAudio"
3278 [have_coreaudio="no"])
3280 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3281 AC_MSG_RESULT([${have_coreaudio}])
3283 AC_SUBST(coreaudio_ldflags)
3284 if test "x${have_coreaudio}" = "xyes"; then
3285 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3287 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3293 ### Checks for programs
3295 ## Compatibility layers
3296 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3298 ### Checks for libraries
3299 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3300 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3301 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3302 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3303 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3305 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3307 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3308 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3309 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3311 EFL_EVAL_PKGS([ECORE_AUDIO])
3313 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3314 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3315 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3316 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3318 ### Checks for header files
3320 ### Checks for types
3322 ### Checks for structures
3324 ### Checks for compiler characteristics
3326 ### Checks for linker characteristics
3328 ### Checks for library functions
3330 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3331 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3332 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3333 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3335 #### End of Ecore_Audio
3337 #### Ecore Audio CXX
3338 EFL_LIB_START([Ecore_Audio_Cxx])
3340 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3342 EFL_LIB_END([Ecore_Audio_Cxx])
3343 #### End of Ecore Audio CXX
3346 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3348 ### Additional options to configure
3352 ### Checks for programs
3354 ### Checks for libraries
3355 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3356 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3357 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3358 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3359 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3361 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3362 AC_SUBST([ECORE_WIN32_LIBS])
3364 ### Checks for header files
3366 ### Checks for types
3368 ### Checks for structures
3370 ### Checks for compiler characteristics
3372 ### Checks for linker characteristics
3374 ### Checks for library functions
3376 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3377 #### End of Ecore_Win32
3381 EFL_LIB_START([Ecore_Avahi])
3385 ### Additional options to configure
3389 AC_ARG_ENABLE([avahi],
3390 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3392 if test "x${enableval}" = "xyes" ; then
3401 ### Checks for programs
3403 ## Compatibility layers
3404 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3406 ### Checks for libraries
3407 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3408 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3409 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3411 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3413 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3415 # Needed bu example as they use avahi directly in that case
3416 if test "x${have_avahi}" = "xyes"; then
3417 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3420 EFL_EVAL_PKGS([ECORE_AVAHI])
3422 ### Checks for header files
3424 ### Checks for types
3426 ### Checks for structures
3428 ### Checks for compiler characteristics
3430 ### Checks for linker characteristics
3432 ### Checks for library functions
3434 EFL_LIB_END([Ecore_Avahi])
3436 #### End of Ecore_Avahi
3440 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3442 ### Additional options to configure
3444 AC_ARG_ENABLE([gesture],
3445 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3447 if test "x${enableval}" = "xyes" ; then
3453 [want_gesture="no"])
3455 AC_ARG_ENABLE([xpresent],
3456 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3458 if test "x${enableval}" = "xyes" ; then
3464 [want_xpresent="no"])
3466 AC_ARG_ENABLE([xinput2],
3467 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3469 if test "x${enableval}" = "xyes" ; then
3473 CFOPT_WARNING="xyes"
3476 [want_xinput2="yes"])
3478 AC_ARG_ENABLE([xinput22],
3479 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3481 if test "x${enableval}" = "xyes" ; then
3487 [want_xinput22="no"])
3489 AC_ARG_ENABLE([xim],
3490 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3492 if test "x${enableval}" = "xyes" ; then
3496 CFOPT_WARNING="xyes"
3501 AC_ARG_ENABLE([scim],
3502 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3504 if test "x${enableval}" = "xyes" ; then
3508 CFOPT_WARNING="xyes"
3513 AC_ARG_ENABLE([ibus],
3514 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3516 if test "x${enableval}" = "xyes" ; then
3526 ### Checks for programs
3528 ### Checks for libraries
3529 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3530 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3531 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3532 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3538 ### Checks for header files
3540 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3542 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3543 FOUND_MAXHOSTNAMELEN="not found"
3549 #include <sys/param.h>
3552 int h = MAXHOSTNAMELEN;
3556 FOUND_MAXHOSTNAMELEN="sys/param.h"
3557 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3567 int h = MAXHOSTNAMELEN;
3571 FOUND_MAXHOSTNAMELEN="netdb.h"
3572 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3575 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3576 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3580 if test "x${want_x11_xcb}" = "xyes" ; then
3581 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3582 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3584 if test -f "$KEYSYMDEFDIR/$i"; then
3585 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3586 elif test "x$i" = "xkeysymdef.h"; then
3587 AC_MSG_ERROR([Cannot find keysymdef.h])
3590 AC_MSG_CHECKING([keysym definitions])
3591 AC_MSG_RESULT([$KEYSYMDEFS])
3592 AC_SUBST([KEYSYMDEFS])
3595 ### Checks for types
3597 ### Checks for structures
3599 ### Checks for compiler characteristics
3601 ### Checks for linker characteristics
3603 ### Checks for library functions
3606 if test "x${want_x11_xlib}" = "xyes"; then
3607 EFL_FIND_X(ECORE_X_XLIB,
3608 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3609 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3612 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3613 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3614 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3616 AC_MSG_ERROR([Xcursor is missing])
3620 if test "x${want_x11_xlib}" = "xyes" ; then
3621 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3622 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3623 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3624 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3625 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3626 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3627 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3628 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3629 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3630 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3632 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3634 if test "${want_xpresent}" = "yes"; then
3635 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3637 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3639 if test "${want_gesture}" = "yes"; then
3640 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3642 EFL_ADD_FEATURE([ECORE_X], [gesture])
3644 if test "${want_xinput2}" = "yes"; then
3645 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3647 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3649 if test "${want_xinput22}" = "yes"; then
3650 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3652 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3654 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3655 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3657 EFL_EVAL_PKGS([ECORE_X])
3658 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3663 if test "${want_x11_xcb}" = "yes"; then
3664 dnl note: added pixman-1 as ecore_xcb_region uses that
3665 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3666 [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])
3668 dnl TODO: remove these ifdefs from code!
3669 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3670 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3671 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3672 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3673 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3674 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3675 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3676 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3677 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3678 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3679 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3680 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3682 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3684 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3685 [1], [Build support for XCB Present])
3686 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3688 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3690 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3691 [1], [Build support for XCB xgesture])
3693 EFL_ADD_FEATURE([ECORE_X], [gesture])
3695 dnl input extension disabled currently in xcb as xcb-input has some issues
3696 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3697 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3699 dnl dri extension disabled currently in xcb
3700 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3701 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3703 EFL_EVAL_PKGS([ECORE_X])
3704 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3706 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3709 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3711 AC_SUBST([HAVE_ECORE_X_BACKEND])
3713 EFL_LIB_END_OPTIONAL([Ecore_X])
3715 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3716 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3721 EFL_LIB_START([Ecore_Imf])
3723 ### Additional options to configure
3727 want_ecore_imf="yes"
3728 want_ecore_imf_xim="no"
3729 want_ecore_imf_scim="no"
3730 want_ecore_imf_ibus="no"
3731 want_ecore_imf_wayland="no"
3732 want_ecore_imf="yes"
3734 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3735 want_ecore_imf="yes"
3736 want_ecore_imf_xim="yes"
3737 want_ecore_imf_scim="yes"
3738 want_ecore_imf_ibus="yes"
3739 if test "${want_wayland}" = "yes"; then
3740 want_ecore_imf_wayland="yes"
3744 ### Checks for programs
3746 ## Compatibility layers
3747 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3749 ### Checks for libraries
3750 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3751 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3752 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3753 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3754 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3756 if test "x${want_ecore_imf}" = "xyes" ; then
3757 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3764 have_ecore_imf_ibus="no"
3765 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3766 PKG_CHECK_MODULES([IBUS],
3767 [ibus-1.0 >= 1.4 glib-2.0],
3769 have_ecore_imf_ibus="yes"
3770 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3772 [have_ecore_imf_ibus="no"])
3775 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3776 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3780 have_ecore_imf_scim="no"
3781 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3782 PKG_CHECK_MODULES([SCIM],
3785 have_ecore_imf_scim="yes"
3786 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3788 [have_ecore_imf_scim="no"])
3791 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3792 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3796 have_ecore_imf_xim="no"
3797 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3799 EFL_FIND_X(ecore_imf_xim,
3803 have_ecore_imf_xim=yes
3804 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3808 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3809 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3812 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3813 PKG_CHECK_MODULES([WAYLAND],
3814 [wayland-client >= 1.8.0],
3816 have_ecore_imf_wayland="yes"
3817 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3819 [have_ecore_imf_wayland="no"])
3822 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3823 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3825 ### Checks for header files
3827 ### Checks for types
3829 ### Checks for structures
3831 ### Checks for compiler characteristics
3833 ### Checks for linker characteristics
3835 ### Checks for library functions
3837 EFL_LIB_END([Ecore_Imf])
3838 #### End of Ecore_Imf
3842 EFL_LIB_START([Ecore_Imf_Evas])
3844 ### Additional options to configure
3848 ### Checks for programs
3850 ## Compatibility layers
3851 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3853 ### Checks for libraries
3854 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3855 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3856 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3857 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3858 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3859 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3860 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3861 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3863 ### Checks for header files
3865 ### Checks for types
3867 ### Checks for structures
3869 ### Checks for compiler characteristics
3871 ### Checks for linker characteristics
3873 ### Checks for library functions
3875 EFL_LIB_END([Ecore_Imf_Evas])
3876 #### End of Ecore_Imf_Evas
3880 EFL_LIB_START([Ecore_Evas])
3882 ### Additional options to configure
3886 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3887 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3888 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3889 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3890 want_ecore_evas_extn="yes"
3891 want_ecore_evas_drm="${have_evas_engine_drm}"
3893 if test "x${have_ecore_ipc}" = "xno" || \
3894 test "x${efl_func_shm_open}" = "xno" || \
3895 test "x${have_windows}" = "xyes" ; then
3896 want_ecore_evas_extn="no"
3899 ### Checks for programs
3901 ## Compatibility layers
3902 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3904 ### Checks for libraries
3905 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3906 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3907 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3908 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3909 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3910 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3911 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3912 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3913 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3916 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3917 ECORE_EVAS_MODULE([ews], [yes])
3918 ECORE_EVAS_MODULE([fb], [${want_fb}])
3919 ECORE_EVAS_MODULE([drm], [${want_drm}],
3920 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3921 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3922 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3923 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3925 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3927 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3928 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3930 build_ecore_evas_sdl="no"
3931 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3932 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3933 build_ecore_evas_sdl="yes"
3934 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3936 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3937 [test "${build_ecore_evas_sdl}" = "yes"])
3939 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3940 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3942 build_ecore_evas_wayland="no"
3943 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3944 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3945 build_ecore_evas_wayland="yes"
3946 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3948 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3949 [test "${build_ecore_evas_wayland}" = "yes"])
3951 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3952 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3954 build_ecore_evas_win32="no"
3955 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3956 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3957 build_ecore_evas_win32="yes"
3958 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3960 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3961 [test "${build_ecore_evas_win32}" = "yes"])
3964 # XXX TODO: ecore_evas_x11
3966 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3968 have_ecore_evas_software_xlib="no"
3969 have_ecore_evas_software_xcb="no"
3970 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3971 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3972 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3973 have_ecore_evas_software_xlib="yes"
3975 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3976 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3978 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3979 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3980 have_ecore_evas_software_xcb="yes"
3982 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3983 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3987 # XXX TODO: ecore_evas_opengl_x11
3989 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
3991 have_ecore_evas_opengl_xlib="no"
3992 have_ecore_evas_opengl_xcb="no"
3993 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
3994 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
3995 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
3996 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
3999 # opengl does not work with xcb (yet)
4000 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
4001 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
4002 have_ecore_evas_opengl_xcb="yes"
4004 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4005 PKG_CHECK_MODULES([XCB_X11],
4008 have_ecore_x_opengl_xcb="yes"
4009 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4010 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4011 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4013 [have_ecore_x_opengl_xcb="no"])
4015 have_ecore_x_opengl_xcb="no"
4016 AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
4020 build_ecore_evas_x11="no"
4021 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4022 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4023 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4024 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4025 build_ecore_evas_x11="yes"
4027 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4029 EFL_EVAL_PKGS([ECORE_EVAS])
4031 ### Checks for header files
4033 ### Checks for types
4035 ### Checks for structures
4037 ### Checks for compiler characteristics
4039 ### Checks for linker characteristics
4041 ### Checks for library functions
4043 EFL_LIB_END([Ecore_Evas])
4044 #### End of Ecore_Evas
4047 EFL_LIB_START([Eio])
4049 ### Additional options to configure
4053 ### Checks for programs
4055 ## Compatibility layers
4056 EFL_PLATFORM_DEPEND([EIO], [evil])
4058 ### Checks for libraries
4059 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4060 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4061 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4062 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4063 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4065 EFL_ADD_LIBS([EIO], [-lm])
4067 ### Checks for header files
4069 ### Checks for types
4071 ### Checks for structures
4073 ### Checks for compiler characteristics
4075 ### Checks for linker characteristics
4077 ### Checks for library functions
4078 have_inotify="${ac_cv_header_sys_inotify_h}"
4079 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4081 have_notify_win32="${have_win32}"
4082 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4083 [test "x${have_notify_win32}" = "xyes"], [1],
4084 [File monitoring with Windows notification])
4085 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4087 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4088 [test "x${have_darwin}" = "xyes"], [1],
4089 [File monitoring with fsevent notification])
4090 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4094 dnl TODO: remove these ifdefs from code!
4095 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4099 if test "x${want_eo_id}" = "xyes" ; then
4100 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4105 EFL_LIB_START([Efreet])
4107 ### Additional options to configure
4111 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4113 ### Checks for programs
4115 ## Compatibility layers
4116 EFL_PLATFORM_DEPEND([EFREET], [evil])
4118 ### Checks for libraries
4119 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4120 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4121 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4122 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4123 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4124 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4125 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4127 ### Checks for header files
4129 ### Checks for types
4131 ### Checks for structures
4133 ### Checks for compiler characteristics
4135 ### Checks for linker characteristics
4137 ### Checks for library functions
4139 EFL_LIB_END([Efreet])
4144 AC_ARG_ENABLE([physics],
4145 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4147 if test "x${enableval}" = "xyes" ; then
4150 CFOPT_WARNING="xyes"
4154 [want_physics="yes"])
4156 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4158 ### Additional options to configure
4162 ### Checks for programs
4164 ### Checks for libraries
4165 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4167 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4168 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4169 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4170 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4171 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4172 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4174 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4176 EFL_EVAL_PKGS([EPHYSICS])
4178 ### Checks for header files
4180 ### Checks for types
4182 ### Checks for structures
4184 ### Checks for compiler characteristics
4186 ### Checks for linker characteristics
4188 ### Checks for library functions
4190 EFL_LIB_END_OPTIONAL([EPhysics])
4191 #### End of EPhysics
4195 EFL_LIB_START([Edje])
4197 ### Additional options to configure
4201 AC_ARG_ENABLE([multisense],
4202 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=enabled@:>@])],
4204 if test "x${enableval}" = "xyes" ; then
4205 want_multisense="yes"
4207 want_multisense="no"
4208 CFOPT_WARNING="xyes"
4212 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4213 want_multisense="yes"
4215 want_multisense="no"
4219 # TODO: should we keep or remove these?
4220 want_edje_program_cache="no"
4221 want_edje_calc_cache="yes"
4222 want_fixed_point="no"
4224 ### Checks for programs
4226 ### Checks for libraries
4227 EFL_PLATFORM_DEPEND([EDJE], [evil])
4229 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4230 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4231 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4232 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4233 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4234 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4235 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4236 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4237 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4238 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4239 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4240 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4241 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4242 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4243 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4245 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4246 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4248 EFL_ADD_FEATURE([EDJE], [physics])
4249 EFL_ADD_FEATURE([EDJE], [multisense])
4250 EFL_ADD_FEATURE([EDJE], [lua-old])
4252 if test "${want_lua_old}" = "yes"; then
4253 EFL_CHECK_LUA_OLD([EDJE])
4255 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4258 EFL_ADD_LIBS([EDJE], [-lm])
4260 EFL_EVAL_PKGS([EDJE])
4262 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4263 [1], [Cache result of program glob matches])
4264 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4265 [1], [Cache result of calc glob matches])
4266 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4267 [1], [Use Fixed Point instead of FPU])
4269 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4270 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4271 [1], [Use Multisense])
4272 AC_SUBST([want_multisense])
4273 AC_SUBST([want_physics])
4275 ### Checks for header files
4277 AC_CHECK_HEADERS([ \
4281 ### Checks for types
4283 ### Checks for structures
4285 ### Checks for compiler characteristics
4287 ### Checks for linker characteristics
4289 ### Checks for library functions
4295 EFL_LIB_START([Edje_Cxx])
4297 EFL_EVAL_PKGS([EDJE_CXX])
4299 EFL_LIB_END([Edje_Cxx])
4300 #### End of Edje CXX
4303 EFL_LIB_START([Emotion])
4305 ## Compatibility layers
4306 EFL_PLATFORM_DEPEND([Emotion], [evil])
4309 if test "${efl_func_shm_open}" = "yes"; then
4310 want_emotion_generic="static"
4312 want_emotion_generic="no"
4315 ### Additional options to configure
4316 AC_ARG_ENABLE([xine],
4317 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4319 if test "x${enableval}" = "xyes" ; then
4327 AC_ARG_ENABLE([v4l2],
4328 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4330 if test "x${enableval}" = "xyes" ; then
4336 [want_v4l2="${efl_lib_optional_eeze}"])
4338 ### Checks for programs
4340 ### Checks for libraries
4341 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4342 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4343 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4344 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4345 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4346 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4347 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4348 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4350 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4351 EFL_ADD_FEATURE([EMOTION], [v4l2])
4355 have_gst_xoverlay="no"
4357 EMOTION_MODULE([xine], [${want_xine}])
4358 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4359 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4360 EMOTION_MODULE([generic], [${want_emotion_generic}])
4362 EFL_ADD_FEATURE([EMOTION], [xine])
4363 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4364 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4365 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4367 EFL_EVAL_PKGS([EMOTION])
4369 ### Checks for header files
4371 ### Checks for types
4373 ### Checks for structures
4375 ### Checks for compiler characteristics
4377 ### Checks for linker characteristics
4379 ### Checks for library functions
4381 if test "${want_v4l2}" = "yes"; then
4382 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4383 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4384 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4385 [#include <linux/videodev2.h>])
4388 ### Check availability
4390 EFL_LIB_END([Emotion])
4395 EFL_LIB_START([Ethumb])
4399 ### Additional options to configure
4401 ### Checks for programs
4403 ## Compatibility layers
4404 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4406 ### Checks for libraries
4407 EFL_PLATFORM_DEPEND([EINA], [evil])
4409 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4410 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4411 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4412 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4413 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4414 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4415 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4416 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4417 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4418 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4419 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4423 EFL_EVAL_PKGS([ETHUMB])
4425 ### Checks for header files
4427 ### Checks for types
4429 ### Checks for structures
4431 ### Checks for compiler characteristics
4433 ### Checks for linker characteristics
4435 ### Checks for library functions
4437 ### Check availability
4439 EFL_LIB_END([Ethumb])
4443 EFL_LIB_START([Ethumb_Client])
4447 ### Additional options to configure
4449 ### Checks for programs
4451 ## Compatibility layers
4452 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4454 ### Checks for libraries
4455 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4456 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4457 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4458 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4459 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4460 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4461 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4462 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4463 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4464 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4465 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4467 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4469 ### Checks for header files
4471 ### Checks for types
4473 ### Checks for structures
4475 ### Checks for compiler characteristics
4477 ### Checks for linker characteristics
4479 ### Checks for library functions
4481 ### Check availability
4483 EFL_LIB_END([Ethumb_Client])
4484 #### End of Ethumb_Client
4489 if test "${want_lua_old}" = "yes"; then
4493 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4497 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4499 ### Additional options to configure
4501 ### Checks for programs
4503 ## Compatibility layers
4504 EFL_PLATFORM_DEPEND([ELUA], [evil])
4506 ### Checks for libraries
4507 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4508 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4509 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4511 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4513 EFL_EVAL_PKGS([ELUA])
4515 ### Checks for header files
4517 ### Checks for types
4519 ### Checks for structures
4521 ### Checks for compiler characteristics
4523 ### Checks for linker characteristics
4525 ### Checks for library functions
4527 ### Check availability
4529 EFL_LIB_END_OPTIONAL([Elua])
4534 EFL_LIB_START([Elocation])
4538 ### Additional options to configure
4540 ### Checks for programs
4542 ### Checks for libraries
4543 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4544 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4545 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4546 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4547 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4549 EFL_ADD_LIBS([ELOCATION], [-lm])
4551 ### Checks for header files
4553 ### Checks for types
4555 ### Checks for structures
4557 ### Checks for compiler characteristics
4559 ### Checks for linker characteristics
4561 ### Checks for library functions
4563 ### Check availability
4565 EFL_LIB_END([Elocation])
4566 #### End of Elocation
4568 ### Add Wayland server library if test is enabled
4569 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4570 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.8.0])
4571 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4574 AC_ARG_ENABLE([always-build-examples],
4575 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4577 if test "x${enableval}" = "xyes" ; then
4578 want_always_build_examples="yes"
4580 want_always_build_examples="no"
4583 [want_always_build_examples="no"])
4584 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4588 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],
4589 [ You will be told when this is needed ],
4591 if test "x${enableval}" = "xyes" ; then
4600 build_ecore_buffer_x11_dri2="no"
4601 build_ecore_buffer_x11_dri3="no"
4602 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
4603 ### Checks for libraries
4604 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
4605 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
4606 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
4607 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
4608 [wayland-server >= 1.5.0 wayland-client >= 1.5.0])
4610 PKG_CHECK_MODULES([X11_DRI_COMMON],
4615 [have_x11_dri_common_pkgs="yes"],
4616 [have_x11_dri_common_pkgs="no"]
4619 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
4620 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
4622 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
4623 [have_x11_dri2_pkgs="yes"],
4624 [have_x11_dri2_pkgs="no"])
4625 PKG_CHECK_MODULES([X11_DRI3],
4633 [have_x11_dri3_pkgs="yes"],
4634 [have_x11_dri3_pkgs="no"])
4637 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
4638 build_ecore_buffer_x11_dri2="yes"
4639 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
4642 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
4643 build_ecore_buffer_x11_dri3="yes"
4644 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
4646 EFL_EVAL_PKGS([ECORE_BUFFER])
4648 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
4649 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
4650 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
4652 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
4654 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
4655 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
4657 #### End of Ecore_Buffer
4664 doc/previews/Makefile
4666 src/benchmarks/eina/Makefile
4667 src/benchmarks/eo/Makefile
4668 src/benchmarks/evas/Makefile
4669 src/examples/eina/Makefile
4670 src/examples/eina_cxx/Makefile
4671 src/examples/eet/Makefile
4672 src/examples/eo/Makefile
4673 src/examples/evas/Makefile
4674 src/examples/ecore/Makefile
4675 src/examples/ecore_avahi/Makefile
4676 src/examples/eio/Makefile
4677 src/examples/eldbus/Makefile
4678 src/examples/ephysics/Makefile
4679 src/examples/edje/Makefile
4680 src/examples/emotion/Makefile
4681 src/examples/ethumb_client/Makefile
4682 src/examples/elua/Makefile
4683 src/examples/eolian_cxx/Makefile
4684 src/examples/elocation/Makefile
4685 src/lib/eina/eina_config.h
4686 src/lib/ecore_x/ecore_x_version.h
4687 src/lib/efl/Efl_Config.h
4703 pc/evas-opengl-x11.pc
4704 pc/evas-opengl-sdl.pc
4705 pc/evas-opengl-cocoa.pc
4707 pc/evas-software-buffer.pc
4708 pc/evas-software-x11.pc
4709 pc/evas-software-gdi.pc
4710 pc/evas-software-ddraw.pc
4711 pc/evas-software-sdl.pc
4712 pc/evas-wayland-shm.pc
4713 pc/evas-wayland-egl.pc
4723 pc/ecore-input-evas.pc
4734 pc/ecore-imf-evas.pc
4736 pc/ecore-audio-cxx.pc
4756 dbus-services/org.enlightenment.Ethumb.service
4757 systemd-services/ethumb.service
4759 cmakeconfig/EflConfig.cmake
4760 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4761 cmakeconfig/EinaConfig.cmake
4762 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4763 cmakeconfig/EioConfig.cmake
4764 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4765 cmakeconfig/EezeConfig.cmake
4766 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4767 cmakeconfig/EoConfig.cmake
4768 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4769 cmakeconfig/EolianConfig.cmake
4770 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4771 cmakeconfig/EolianCxxConfig.cmake
4772 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4773 cmakeconfig/EinaCxxConfig.cmake
4774 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4775 cmakeconfig/EoCxxConfig.cmake
4776 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4777 cmakeconfig/EcoreCxxConfig.cmake
4778 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4779 cmakeconfig/EvasCxxConfig.cmake
4780 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4781 cmakeconfig/EetCxxConfig.cmake
4782 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4783 cmakeconfig/EetConfig.cmake
4784 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4785 cmakeconfig/EvasConfig.cmake
4786 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4787 cmakeconfig/EcoreConfig.cmake
4788 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4789 cmakeconfig/EdjeConfig.cmake
4790 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4791 cmakeconfig/EldbusConfig.cmake
4792 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4793 cmakeconfig/EfreetConfig.cmake
4794 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4795 cmakeconfig/EthumbConfig.cmake
4796 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4797 cmakeconfig/EthumbClientConfig.cmake
4798 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4799 cmakeconfig/EmotionConfig.cmake
4800 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4801 cmakeconfig/EluaConfig.cmake
4802 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4803 cmakeconfig/EmileConfig.cmake
4804 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4809 #### Work around bug in automake check macro
4810 ## yes it is hugly, but no choice here for now.
4811 $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
4813 if test -f $srcdir/config.status; then
4814 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"
4815 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4820 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4824 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4825 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4828 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4831 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4834 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4838 if test "${have_linux}" = "yes"; then
4839 EFL_ADD_FEATURE([system], [inotify])
4840 EFL_ADD_FEATURE([system], [atfile_source])
4841 elif test "${have_windows}" = "yes"; then
4842 EFL_ADD_FEATURE([system], [notify_win32])
4844 EFL_ADD_FEATURE([system], [ipv6])
4846 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4847 efl_have_spinlock="yes"
4849 efl_have_spinlock="no"
4851 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4852 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4853 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4858 echo "------------------------------------------------------------------------"
4859 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4860 echo "------------------------------------------------------------------------"
4863 if test "x${have_windows}" = "xyes" ; then
4864 osname="${host_os}(${_efl_windows_version})"
4869 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4870 echo " EFL API Set...: ${efl_api}"
4871 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4872 echo " System Feature: ${features_system}"
4873 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4874 echo " Cryptography..: ${build_crypto}"
4875 echo " X11...........: ${with_x11}"
4876 echo " OpenGL........: ${with_opengl}"
4877 echo " C++11.........: ${have_cxx11}"
4878 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
4879 echo "Eo..............: yes (${features_eo})"
4880 echo "Eolian..........: yes (${features_eolian})"
4881 echo "Emile...........: yes (${features_emile})"
4882 echo "Eet.............: yes"
4883 echo "Evas............: yes (${features_evas})"
4884 echo " Engines.......: ${features_evas_engine}"
4885 echo " Image Loaders.: ${features_evas_loader}"
4886 if test "x${have_pixman}" = "xyes" ; then
4887 echo " Pixman........: ${features_evas_pixman}"
4889 echo "Ecore...........: yes (${features_ecore})"
4890 echo "Ecore_Con.......: yes (${features_ecore_con})"
4891 echo "Ecore_File......: yes"
4892 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4893 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4894 echo "Ecore_SDL.......: $want_sdl"
4895 echo "Ecore_Wayland...: $want_wayland"
4896 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4897 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
4898 if test "${have_linux}" = "yes"; then
4899 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4900 elif test "${have_ps3}" = "yes"; then
4901 echo "Ecore_PSL1GHT...: $have_ps3"
4902 elif test "${have_darwin}" = "yes"; then
4903 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4904 elif test "${have_windows}" = "yes"; then
4905 echo "Ecore_Win32.....: $have_win32"
4907 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4908 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4909 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4910 echo "Ector...........: yes"
4911 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4912 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4913 echo "Edje............: yes (${features_edje})"
4914 echo "Emotion.........: yes (${features_emotion})"
4915 echo "Ethumb..........: yes"
4916 echo "Ethumb_Client...: yes"
4917 echo "Elua............: $have_elua"
4918 if test "${build_tests}" = "none"; then
4919 echo "Tests...........: no"
4920 elif test "${build_tests}" = "auto"; then
4921 echo "Tests...........: make check (inexplicitly enabled)"
4922 elif test "${build_tests}" = "regular"; then
4923 echo "Tests...........: make check"
4924 elif test "${build_tests}" = "coverage"; then
4925 echo "Tests...........: make lcov-check"
4927 echo "Examples........: make examples (make install-examples)"
4928 if test "x${build_doc}" = "xyes"; then
4929 echo "Documentation...: make doc"
4931 echo "Documentation...: no"
4933 echo "Compilation.....: make (or gmake)"
4934 echo " CPPFLAGS......: $CPPFLAGS"
4935 echo " CFLAGS........: $CFLAGS"
4936 echo " CXXFLAGS......: $CXXFLAGS"
4937 echo " LDFLAGS.......: $LDFLAGS"
4939 if test "x${with_binary_edje_cc}" != "x"; then
4940 echo " edje_cc.......: ${with_binary_edje_cc}"
4943 if test "x${with_binary_eolian_gen}" != "x"; then
4944 echo " eolian_gen....: ${with_binary_eolian_gen}"
4947 if test "x${with_binary_eolian_cxx}" != "x"; then
4948 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
4951 if test "x${with_binary_elua_bin}" != "x"; then
4952 echo " elua..........: ${with_binary_elua_bin}"
4956 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4957 echo " prefix........: $prefix"
4958 echo " dbus units....: $dbusservicedir"
4959 if test "${have_systemd_user_session}" = "yes"; then
4960 echo " systemd units.: $USER_SESSION_DIR"
4964 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4965 echo " _________________________________________"
4966 echo "/ Systemd dependency is available on your \\"
4967 echo "| system, but you are building without |"
4968 echo "| systemd support. Don't forget to |"
4969 echo "| --enable-systemd if you want systemd |"
4970 echo "\\ integration for EFL. /"
4971 echo " -----------------------------------------"
4973 echo " \\ (oo)\\_______"
4974 echo " (__)\\ )\\/\\"
4979 if test -n "$CFOPT_WARNING"; then
4980 echo "_____________________________________________________________________"
4982 echo "==-- WARNING --=="
4984 echo "_____________________________________________________________________"
4985 if test "x${with_x11}" = "xxcb"; then
4986 echo "_____________________________________________________________________"
4987 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
4988 echo "is amazingly faster than Xlib (when used sensibly). It can be"
4989 echo "faster in a few corner cases on startup of an app, but it comes"
4990 echo "with many downsides. One of those is more complex code inside"
4991 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
4992 echo "the big catch is that OpenGL support basically requires Xlib anyway"
4993 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
4994 echo "gain nothing really in terms of speed and no savings in memory"
4995 echo "because Xlib is still linked, loaded and used, BUT instead you"
4996 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
4997 echo "toolkit and this is basically never tested by anyone working on"
4998 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
4999 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
5000 echo "off the memory footprint of a whole system and live with less"
5001 echo "tested code, and possibly unimplemented features in ecore_x. To"
5002 echo "remove the XCB setup, remove the --with-x11=xcb option to"
5004 echo "_____________________________________________________________________"
5006 if test "x${want_physics}" = "xno"; then
5007 echo "_____________________________________________________________________"
5008 echo "You have chosen to disable physics support. This disables lots of"
5009 echo "core functionality and is effectively never tested. You are going"
5010 echo "to find features that suddenly don't work and as a result cause"
5011 echo "a series of breakages. This is simply not tested so you are on"
5012 echo "your own in terms of ensuring everything works if you do this"
5013 echo "_____________________________________________________________________"
5015 if test "x${efl_have_threads}" = "xno"; then
5016 echo "_____________________________________________________________________"
5017 echo "You have disabled threading support. A lot of code is literally"
5018 echo "written to need threading. We never test or even build with"
5019 echo "threading disabled, so doing this is entering uncharted territory."
5020 echo "There is a very good chance things may not compile at all, or if"
5021 echo "the do, they will break at runtime in weird and wonderful ways."
5022 echo "Highly reconsider what you are doing here, or be prepared to deal"
5023 echo "with the fallout yourself."
5024 echo "_____________________________________________________________________"
5026 if test "x${want_fontconfig}" = "xno"; then
5027 echo "_____________________________________________________________________"
5028 echo "You have disabled fontconfig. This is going to make general font"
5029 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5030 echo "will work alongside some old-school ttf file path searching. This"
5031 echo "is very likely not what you want, so highly reconsider turning"
5032 echo "fontconfig off. Having it off will lead to visual problems like"
5033 echo "missing text in many UI areas etc."
5034 echo "_____________________________________________________________________"
5036 if test "x${want_fribidi}" = "xno"; then
5037 echo "_____________________________________________________________________"
5038 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5039 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5040 echo "you want to disable unless you know for absolute certain you"
5041 echo "will never encounter and have to display such scripts. Also"
5042 echo "note that we don't test with fribidi disabled so you may also"
5043 echo "trigger code paths with bugs that are never normally used."
5044 echo "_____________________________________________________________________"
5046 if test "x${want_pixman}" = "xyes"; then
5047 echo "_____________________________________________________________________"
5048 echo "Pixman allows you to replace some rendering paths in Evas with"
5049 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5050 echo "the rendering paths with Pixman enabled are not tested often so"
5051 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5052 echo "you wish to deal with these bugs."
5053 echo "_____________________________________________________________________"
5055 if test "x${have_tile_rotate}" = "xyes"; then
5056 echo "_____________________________________________________________________"
5057 echo "Tiled rotation code is not tested much, so be aware that you"
5058 echo "may introduce bugs by enabling this."
5059 echo "_____________________________________________________________________"
5061 if test "x${want_g_main_loop}" = "xyes"; then
5062 echo "_____________________________________________________________________"
5063 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5064 echo "regularly, but the glib mainloop integration (on by default) is."
5065 echo "You can use apps that use glib mainloop constructs by default"
5066 echo "this way, but the Ecore mainloop is not built on top of glib."
5067 echo "You have enabled ecore to be built on top of glib and thus you"
5068 echo "may experience bugs that normally would not be there. Be prepared"
5069 echo "to fix these if they arise."
5070 echo "_____________________________________________________________________"
5072 if test "x${want_gstreamer}" = "xyes"; then
5073 echo "_____________________________________________________________________"
5074 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5075 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5076 echo "and will eventually be removed entirely. Don't enable the old"
5077 echo "Gstreamer support unless you want to deal with the issues yourself."
5078 echo "_____________________________________________________________________"
5080 if test "x${want_gstreamer1}" = "xno"; then
5081 echo "_____________________________________________________________________"
5082 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5083 echo "this as it will heavily limit your media support options and render"
5084 echo "some functionality as useless, leading to visible application bugs."
5085 echo "_____________________________________________________________________"
5087 if test "x${want_eo_id}" = "xno"; then
5088 echo "_____________________________________________________________________"
5089 echo "Eo's ID abstraction interface is a major safety system that"
5090 echo "protects code from crashing or misbehaving in many cases. It does"
5091 echo "come at a slight cost, but the safety and protection is worth it."
5092 echo "Also by disabling this, you may also introduce security holes in"
5093 echo "EFL as well as cause all sorts of previously non-existant crashes."
5094 echo "Seriously reconsider disabling EO ID."
5095 echo "_____________________________________________________________________"
5097 if test "x${want_evas_cserve2}" = "xno"; then
5098 echo "_____________________________________________________________________"
5099 echo "Evas Cserve is built and on by default and no testing is done"
5100 echo "for the old non-cserve2 code paths, so by disabling this you"
5101 echo "may be introducing bugs. Be aware of this and be prepared to"
5102 echo "deal with the bugs as a result of this."
5103 echo "_____________________________________________________________________"
5105 if test "x${want_audio}" = "xno"; then
5106 echo "_____________________________________________________________________"
5107 echo "You disabled audio support in Ecore. This is not tested and may"
5108 echo "Create bugs for you due to it creating untested code paths."
5109 echo "Reconsider disabling audio."
5110 echo "_____________________________________________________________________"
5112 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5113 echo "_____________________________________________________________________"
5114 echo "The only audio output method supported by Ecore right now on your"
5115 echo "system is via Pulseaudio. You have disabled that and likely have"
5116 echo "broken a whole bunch of things in the process. Reconsider your"
5117 echo "configure options."
5118 echo "_____________________________________________________________________"
5120 if test "x${want_xinput2}" = "xno"; then
5121 echo "_____________________________________________________________________"
5122 echo "You have disabled xinput2 support. This means a whole lot of input"
5123 echo "devices in X11 will not work correctly. You likely do not want to"
5125 echo "_____________________________________________________________________"
5127 if test "x${want_xim}" = "xno"; then
5128 echo "_____________________________________________________________________"
5129 echo "You disabled XIM input method support. This is the most basic and"
5130 echo "core input method protocol supported in X11 and you almost certainly"
5131 echo "want the support for it. Input methods allow for complex text input"
5132 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5133 echo "on touch/mobile devices."
5134 echo "_____________________________________________________________________"
5136 if test "x${want_scim}" = "xno"; then
5137 echo "_____________________________________________________________________"
5138 echo "SCIM is a modern and very common input method framework and you"
5139 echo "disabled support for it. You very likely want the support for"
5140 echo "complex language input, so please reconsider this. Input methods"
5141 echo "allow for complex text input like for Chinese, Japanese and Korean"
5142 echo "as well as virtual keyboards on touch/mobile devices."
5143 echo "_____________________________________________________________________"
5145 if test "x${want_libmount}" = "xno"; then
5146 echo "_____________________________________________________________________"
5147 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5148 echo "for support of removable devices etc. and disabling this will"
5149 echo "hurt support for Enlightenment and its filemanager."
5150 echo "_____________________________________________________________________"
5152 if test "x${want_multisense}" = "xno"; then
5153 echo "_____________________________________________________________________"
5154 echo "Multisense has been disabled. This causes Edje audio suport to"
5155 echo "Simply not work, and will break applications and libraries"
5156 echo "that rely on it with users then reporting bugs."
5157 echo "If you want to mute audio, there are APIs and policies to do"
5158 echo "that, as opposed to compiling it out."
5159 echo "_____________________________________________________________________"
5161 if test "x${efl_api}" = "xeo"; then
5162 echo "_____________________________________________________________________"
5163 echo "Using the EO based EFL API only does not work at the moment. We still"
5164 echo "have a lot code that depends on the legacy interfaces. We provide"
5165 echo "this option for testing once we are able to migrate to the EO based"
5167 echo "If you are not working on this migration please leave the option set"
5168 echo "to both as it will break your build if set to eo."
5169 echo "_____________________________________________________________________"
5171 if test "x${want_libeeze}" = "xno"; then
5172 echo "_____________________________________________________________________"
5173 echo "Libeeze has been disabled, and it is used heavily for support of"
5174 echo "removable devices etc. and disabling this will hurt support for"
5175 echo "Enlightenment and its filemanager."
5176 echo "_____________________________________________________________________"
5178 echo "_____________________________________________________________________"
5180 echo "==-- WARNING --=="
5182 echo "_____________________________________________________________________"
5183 if test -n "$BARF_OK"; then
5184 echo "Please add the following option to acknowledge this:"
5185 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"
5186 echo "_____________________________________________________________________"
5193 if test "x$prefix" != "x/usr"; then
5195 path=$dbusservicedir
5196 while test "x$old" != "x$path"; do
5198 eval path="\"$path\""
5200 resolved_dbusservicedir=$path
5203 path=$USER_SESSION_DIR
5204 while test "x$old" != "x$path"; do
5206 eval path="\"$path\""
5208 resolved_USER_SESSION_DIR=$path
5209 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5213 while test "x$old" != "x$path"; do
5215 eval path="\"$path\""
5217 resolved_datadir=$path
5220 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5221 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5222 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5223 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5228 needs_alert_systemd=0
5229 if test "$have_systemd_user_session" = "yes"; then
5230 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5231 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5232 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5233 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5235 needs_alert_systemd=1
5239 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5240 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5241 what_alert="dbus and systemd"
5242 elif test $needs_alert_dbus -eq 1; then
5245 what_alert="systemd"
5249 echo "#-------------------------------------------------------------------#"
5250 echo "##==-- ALERT --==##"
5251 echo "#-------------------------------------------------------------------#"
5253 echo " Your installation prefix is *NOT* /usr so this means you need"
5254 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5255 echo "be started when needed. You will need to do the following:"
5256 if test $needs_alert_dbus -eq 1; then
5258 echo "System-wide installation:"
5259 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5261 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5263 echo "User installation:"
5264 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5266 if test $needs_alert_systemd -eq 1; then
5268 echo "System-wide installation:"
5269 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5271 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5273 echo "User installation:"
5274 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5277 echo "#-------------------------------------------------------------------#"
5281 if test "x${efl_deprecated_option}" = "xyes"; then
5283 echo "#-------------------------------------------------------------------#"
5284 echo "##==-- ALERT --==##"
5285 echo "#-------------------------------------------------------------------#"
5287 echo " Your build script is using a deprecated option. It will get b0rken"
5288 echo "with the next release of EFL. You better update it now than later."
5290 echo "#-------------------------------------------------------------------#"