1 EFL_VERSION([1], [14], [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}"
581 AC_SUBST([ALTIVEC_CFLAGS])
582 AC_SUBST([SSE3_CFLAGS])
583 AC_SUBST([NEON_CFLAGS])
585 #### Checks for linker characteristics
588 #### Checks for library functions
609 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl])
611 have_atfile_source="${ac_cv_func_fstatat}"
612 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
613 [test "x${have_atfile_source}" = "xyes"],
614 [1], [Use fstatat and other -at file functions])
618 ###################### EFL ######################
621 AC_ARG_ENABLE([libeeze],
622 [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
624 if test "x${enableval}" = "xyes"; then
633 if test "x${want_libeeze}" = "xyes" ; then
634 if test "x${have_linux}" = "xyes" ; then
645 AC_ARG_ENABLE([systemd],
646 [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
648 if test "x${enableval}" = "xyes" ; then
657 systemd_dbus_prefix="# "
658 if test "${want_systemd}" = "yes"; then
659 systemd_dbus_prefix=""
661 AC_SUBST(systemd_dbus_prefix)
663 AC_ARG_WITH([systemdunitdir],
664 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
665 [USER_SESSION_DIR=${withval}])
666 if test "$want_systemd" == "no"; then
667 have_systemd_user_session="no"
668 elif test -n "${USER_SESSION_DIR}"; then
669 have_systemd_user_session="yes"
670 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
672 # Detect systemd user session directory properly
673 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
674 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
676 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
677 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
681 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
682 AC_SUBST([USER_SESSION_DIR])
684 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
685 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 192 libsystemd-journal >= 192],
686 [have_systemd_pkg="yes"],
687 [have_systemd_pkg="no"])
690 PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198],
691 [have_systemd_login=yes], [have_systemd_login=no])
692 AS_IF([test "x$have_systemd_login" = "xyes"],
693 [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
694 AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
696 # check for systemd library if requested
697 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
698 AC_MSG_ERROR([Systemd dependency requested but not found])
701 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
703 #### Platform-dependent
708 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
712 ### Additional options to configure
713 EFL_SELECT_WINDOWS_VERSION
715 ### Checks for programs
717 ### Checks for libraries
719 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
720 EVIL_DLFCN_LIBS="-lpsapi"
722 AC_SUBST([EVIL_DLFCN_LIBS])
724 ### Checks for header files
728 ### Checks for structures
730 ### Checks for compiler characteristics
732 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
733 # TODO: should we have these at EFL (global?)
734 # Note: these warnings should not be used with C++ code
735 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
736 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
738 if test "x${have_win32}" = "xyes" ; then
739 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
740 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
743 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
744 AC_SUBST([EVIL_CFLAGS_WRN])
745 AC_SUBST([EVIL_CXXFLAGS])
747 ### Checks for linker characteristics
749 ### Checks for library functions
751 DL_LIBS="lib/evil/libdl.la"
752 DL_INTERNAL_LIBS="lib/evil/libdl.la"
754 EFL_LIB_END_OPTIONAL([Evil])
756 AC_SUBST([USE_EVIL_CFLAGS])
757 AC_SUBST([USE_EVIL_LIBS])
762 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
764 ### Additional options to configure
768 ### Checks for programs
770 ### Checks for libraries
771 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
773 ### Checks for header files
777 ### Checks for structures
779 ### Checks for compiler characteristics
781 ### Checks for linker characteristics
783 ### Checks for library functions
785 EFL_LIB_END_OPTIONAL([Escape])
788 EFL_CHECK_FUNC([SHM], [shm_open])
789 SHM_LIBS="${requirements_libs_shm}"
793 AC_SUBST([DL_INTERNAL_LIBS])
794 #### End of Platform-dependent
799 EFL_LIB_START([Eina])
803 have_safety_checks="yes"
805 case "${build_profile}" in
807 with_max_log_level=""
808 have_stringshare_usage="no"
810 want_debug_malloc="no"
811 want_debug_threads="no"
812 want_default_mempool="no"
817 with_max_log_level=""
818 have_stringshare_usage="yes"
820 want_debug_malloc="yes"
821 want_debug_threads="yes"
822 want_default_mempool="yes"
827 with_max_log_level="3"
828 have_stringshare_usage="no"
830 want_debug_malloc="no"
831 want_debug_threads="no"
832 want_default_mempool="no"
837 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
838 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
839 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
841 if test -n "${with_max_log_level}"; then
842 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
843 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
846 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
847 [test "x${have_stringshare_usage}" = "xyes"],
848 [1], [Report Eina stringshare usage pattern])
850 ### Additional options to configure
851 AC_ARG_ENABLE([magic-debug],
852 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
854 if test "x${enableval}" = "xyes" ; then
855 have_magic_debug="yes"
857 have_magic_debug="no"
860 [have_magic_debug="yes"])
862 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
864 AC_ARG_WITH([xattr-tests-path],
865 [AS_HELP_STRING([--with-xattr-tests-path=DIR],[path of xattr enabled directory to create test files])],[XATTR_TEST_DIR=${withval}][AC_DEFINE_UNQUOTED([XATTR_TEST_DIR],["$withval"], [xattr enabled directory])])
867 ### Checks for programs
869 ### Checks for libraries
870 EFL_PLATFORM_DEPEND([EINA], [all])
872 EFL_ADD_LIBS([EINA], [-lm])
877 AC_ARG_ENABLE([valgrind],
878 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
880 if test "x${enableval}" = "xyes" ; then
887 if test "${want_valgrind}" = "auto"; then
888 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
890 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
893 if test "${want_valgrind}" = "no"; then
894 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
896 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
897 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
900 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
901 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
902 [1], [Turn on debugging overhead in mempool])
904 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
905 [test "x${want_cow_magic}" = "xyes" ],
906 [1], [Turn on Eina_Magic in Eina_Cow])
908 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd-journal])
910 EFL_EVAL_PKGS([EINA])
916 PKG_CHECK_MODULES([GLIB],
921 if test "x${have_glib}" = "xyes" ; then
922 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
925 ### Checks for header files
927 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
928 CFLAGS_save="${CFLAGS}"
929 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
930 AC_CHECK_HEADERS([sys/mman.h])
931 CFLAGS="${CFLAGS_save}"
933 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
937 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
938 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
939 [1], [Define to 1 if you have a valid <dirent.h> header file.])
941 ### Checks for structures
943 ### Checks for compiler characteristics
944 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
946 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
947 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
948 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
950 ### Checks for linker characteristics
952 ### Checks for library functions
954 AC_CHECK_FUNCS([fchmod])
956 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
959 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
963 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
964 AC_MSG_RESULT([${enable_log}])
966 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
969 if test "x${efl_have_threads}" = "xno"; then
973 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
974 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
976 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
977 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
978 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
979 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
980 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
981 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
985 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
986 EINA_CHECK_MODULE([pass-through], [static], [pass through])
987 EINA_CHECK_MODULE([one-big], [static], [one big])
989 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
995 EFL_LIB_START([Eina_Cxx])
997 EFL_CXX_COMPILE_STDCXX_11([ext])
998 AC_ARG_ENABLE([cxx-bindings],
999 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1000 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1002 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1008 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1010 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1011 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1012 EFL_EVAL_PKGS([EINA_CXX])
1014 EFL_LIB_END([Eina_Cxx])
1015 #### End of Eina CXX
1023 ### Additional options to configure
1025 ### Checks for programs
1027 ## Compatibility layers
1028 EFL_PLATFORM_DEPEND([EO], [evil])
1030 ### Checks for libraries
1031 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1033 # Example (evas one)
1035 # TODO: add once elementary is merged
1036 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1037 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1039 ### Checks for header files
1041 ### Checks for types
1043 ### Checks for structures
1045 ### Checks for compiler characteristics
1047 ### Checks for linker characteristics
1049 ### Checks for library functions
1050 EFL_CHECK_FUNCS([EO], [dladdr])
1052 ### Check availability
1058 EFL_LIB_START([Eet_Cxx])
1060 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1061 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1063 EFL_EVAL_PKGS([EET_CXX])
1065 EFL_LIB_END([Eet_Cxx])
1070 EFL_LIB_START([Emile])
1074 ### Additional options to configure
1076 ### Checks for programs
1078 ### Checks for libraries
1080 EFL_CHECK_LIBS([EMILE], [libjpeg])
1082 ## Compatibility layers
1083 EFL_PLATFORM_DEPEND([EMILE], [evil])
1085 EFL_ADD_LIBS([EMILE], [-lm])
1087 # Cryptography support
1088 if test "$build_crypto" != "none" ; then
1089 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1090 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1091 EFL_CRYPTO_DEPEND([EMILE])
1094 EFL_CHECK_LIBS([EMILE], [zlib])
1096 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1098 EFL_EVAL_PKGS([EMILE])
1100 ### Checks for header files
1102 ### Checks for types
1104 ### Checks for structures
1106 ### Checks for compiler characteristics
1108 ### Checks for linker characteristics
1110 ### Checks for library functions
1112 ### Check availability
1114 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1116 EFL_LIB_END([Emile])
1122 EFL_LIB_START([Eet])
1126 ### Additional options to configure
1128 ### Checks for programs
1130 ### Checks for libraries
1132 EFL_CHECK_LIBS([EET], [libjpeg])
1134 ## Compatibility layers
1135 EFL_PLATFORM_DEPEND([EET], [evil])
1137 EFL_ADD_LIBS([EET], [-lm])
1139 # Cryptography support
1140 if test "$build_crypto" != "none" ; then
1141 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1142 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1143 EFL_CRYPTO_DEPEND([EET])
1146 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1147 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1149 EFL_EVAL_PKGS([EET])
1151 ### Checks for header files
1153 ### Checks for types
1155 ### Checks for structures
1157 ### Checks for compiler characteristics
1159 ### Checks for linker characteristics
1161 ### Checks for library functions
1163 ### Check availability
1169 EFL_LIB_START([Eo_Cxx])
1171 EFL_EVAL_PKGS([EO_CXX])
1173 EFL_LIB_END([Eo_Cxx])
1178 EFL_LIB_START([Eolian])
1182 ### Additional options to configure
1183 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1185 ### Checks for programs
1187 ## Compatibility layers
1188 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1190 ### Checks for libraries
1191 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1193 ### Checks for header files
1195 ### Checks for types
1197 ### Checks for structures
1199 ### Checks for compiler characteristics
1201 ### Checks for linker characteristics
1203 ### Checks for library functions
1205 ### Check availability
1207 EFL_LIB_END([Eolian])
1210 EFL_LIB_START([Eolian_Cxx])
1213 ### Additional options to configure
1215 ### Checks for programs
1217 ## Compatibility layers
1219 ### Checks for libraries
1220 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1221 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1223 ### Checks for header files
1225 ### Checks for types
1227 ### Checks for structures
1229 ### Checks for compiler characteristics
1231 ### Checks for linker characteristics
1233 ### Checks for library functions
1235 ### Check availability
1236 EFL_LIB_END([Eolian_Cxx])
1240 EFL_LIB_START([Efl])
1242 EFL_PLATFORM_DEPEND([EFL], [evil])
1243 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1244 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1246 EFL_ADD_LIBS([EFL], [-lm])
1253 EFL_LIB_START([Ector])
1258 ### Additional options to configure
1260 ### Checks for programs
1262 ### Checks for libraries
1264 ## Compatibility layers
1266 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1268 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1269 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1270 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1272 EFL_ADD_LIBS([ECTOR], [-lm])
1274 EFL_EVAL_PKGS([ECTOR])
1276 ### Checks for header files
1278 ### Checks for types
1280 ### Checks for structures
1282 ### Checks for compiler characteristics
1284 ### Checks for linker characteristics
1286 ### Checks for library functions
1288 ### Check availability
1290 EFL_LIB_END([ECTOR])
1296 EFL_LIB_START([Evas])
1298 ### Additional options to configure
1302 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1304 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1306 elif test "x${with_x11}" = "x"; then
1314 case "${with_x11}" in
1322 CFOPT_WARNING="xyes"
1328 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1333 AC_ARG_WITH([opengl],
1334 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1336 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1338 elif test "x${with_opengl}" = "x"; then
1342 case "${with_opengl}" in
1346 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1350 want_x11_xlib_opengl="no"
1351 want_x11_xcb_opengl="no"
1352 if test "${with_opengl}" != "none"; then
1353 want_x11_xlib_opengl="${want_x11_xlib}"
1354 want_x11_xcb_opengl="${want_x11_xcb}"
1355 want_x11_any_opengl="${want_x11_any}"
1359 AC_ARG_ENABLE([wayland],
1360 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1362 if test "x${enableval}" = "xyes" ; then
1368 [want_wayland="no"])
1370 if test "${want_wayland}" = "yes"; then
1371 EFL_PKG_CHECK_STRICT([wayland-client >= 1.3.0])
1375 AC_ARG_ENABLE([wayland-ivi-shell],
1376 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1378 if test "x${enableval}" = "xyes" ; then
1379 want_wayland_ivi_shell="yes"
1381 want_wayland_ivi_shell="no"
1384 [want_wayland_ivi_shell="no"])
1388 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1390 if test "x${enableval}" = "xyes" ; then
1399 AC_ARG_ENABLE([sdl],
1400 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1402 if test "x${enableval}" = "xyes" ; then
1410 if test "${want_sdl}" = "yes"; then
1411 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1414 # We only enable SDL with opengl if it is not the full version and not ES
1415 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1416 # versions the SDL_opengles.h has never been released.
1418 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1419 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1421 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1426 AC_ARG_ENABLE([cocoa],
1427 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1429 if test "x${enableval}" = "xyes" ; then
1437 if test "${want_cocoa}" = "yes"; then
1438 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1441 m4_ifdef([AC_PROG_OBJC],
1443 if test "x${have_gnu_objc}" = "xyes" ; then
1444 AC_LANG_PUSH([Objective C])
1446 LIBS="$LIBS -framework Cocoa"
1450 #include <Cocoa/Cocoa.h>
1454 window = [[NSWindow alloc]
1455 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1456 styleMask:(NSTitledWindowMask)
1457 backing:NSBackingStoreBuffered
1464 cocoa_ldflags="-framework Cocoa"
1468 AC_MSG_CHECKING([whether Cocoa framework is supported])
1469 AC_MSG_RESULT([${have_cocoa}])
1470 AC_LANG_POP([Objective C])
1474 AC_SUBST(cocoa_ldflags)
1476 if test "x${want_cocoa}" = "xyes"; then
1477 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1478 cocoa_coreservices_ldflags=""
1479 have_cocoa_coreservices="no"
1480 m4_ifdef([AC_PROG_OBJC],
1482 if test "x${have_gnu_objc}" = "xyes" ; then
1483 AC_LANG_PUSH([Objective C])
1485 LIBS="$LIBS -framework CoreServices"
1489 #include <CoreServices/CoreServices.h>
1492 //test function here
1495 have_cocoa_coreservices="yes"
1496 cocoa_coreservices_ldflags="-framework CoreServices"
1498 [have_cocoa_coreservices="no"])
1500 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1501 AC_MSG_RESULT([${have_cocoa_coreservices}])
1502 AC_LANG_POP([Objective C])
1506 AC_SUBST(cocoa_coreservices_ldflags)
1509 AC_ARG_ENABLE([drm],
1510 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1512 if test "x${enableval}" = "xyes" ; then
1521 AC_ARG_ENABLE([gl-drm],
1522 [AC_HELP_STRING([--enable-gl-drm],
1523 [enable gl drm engine. @<:@default=disabled@:>@])],
1525 if test "x${enableval}" = "xyes" ; then
1533 AC_ARG_ENABLE([fontconfig],
1534 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1536 if test "x${enableval}" = "xyes" ; then
1537 want_fontconfig="yes"
1539 want_fontconfig="no"
1540 CFOPT_WARNING="xyes"
1543 [want_fontconfig="yes"])
1546 AC_ARG_ENABLE([fribidi],
1547 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1549 if test "x${enableval}" = "xyes" ; then
1553 CFOPT_WARNING="xyes"
1556 [want_fribidi="yes"])
1559 AC_ARG_ENABLE([eo_id],
1560 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1562 if test "x${enableval}" = "xyes" ; then
1566 CFOPT_WARNING="xyes"
1572 AC_ARG_ENABLE([harfbuzz],
1573 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1575 if test "x${enableval}" = "xyes" ; then
1581 [want_harfbuzz="no"])
1584 AC_ARG_ENABLE([egl],
1585 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1587 if test "x${enableval}" = "xyes" ; then
1596 AC_ARG_ENABLE([pixman],
1597 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1599 if test "x${enableval}" = "xyes" ; then
1601 CFOPT_WARNING="xyes"
1608 AC_ARG_ENABLE([pixman-font],
1609 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1611 if test "x${enableval}" = "xyes" ; then
1612 have_pixman_font="yes"
1614 have_pixman_font="no"
1617 [have_pixman_font="no"])
1619 AC_ARG_ENABLE([pixman-rect],
1620 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1622 if test "x${enableval}" = "xyes" ; then
1623 have_pixman_rect="yes"
1625 have_pixman_rect="no"
1628 [have_pixman_rect="no"])
1630 AC_ARG_ENABLE([pixman-line],
1631 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1633 if test "x${enableval}" = "xyes" ; then
1634 have_pixman_line="yes"
1636 have_pixman_line="no"
1639 [have_pixman_line="no"])
1641 AC_ARG_ENABLE(pixman-poly,
1642 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1644 if test "x${enableval}" = "xyes" ; then
1645 have_pixman_poly="yes"
1647 have_pixman_poly="no"
1650 [have_pixman_poly="no"])
1652 AC_ARG_ENABLE([pixman-image],
1653 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1655 if test "x${enableval}" = "xyes" ; then
1656 have_pixman_image="yes"
1658 have_pixman_image="no"
1661 [have_pixman_image="no"])
1663 AC_ARG_ENABLE([pixman-image-scale-sample],
1664 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1666 if test "x${enableval}" = "xyes" ; then
1667 have_pixman_image_scale_sample="yes"
1669 have_pixman_image_scale_sample="no"
1672 [have_pixman_image_scale_sample="no"])
1675 AC_ARG_ENABLE([tile-rotate],
1676 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1678 if test "x${enableval}" = "xyes" ; then
1679 have_tile_rotate="yes"
1680 CFOPT_WARNING="xyes"
1682 have_tile_rotate="no"
1685 [have_tile_rotate="no"])
1690 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1691 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1692 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1693 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1694 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1695 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1696 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1697 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1698 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1699 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1700 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1701 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1702 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1703 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1704 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1705 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1706 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1710 want_evas_engine_software_gdi="${have_win32}"
1711 want_evas_engine_software_ddraw="${have_win32}"
1712 want_evas_engine_gl_cocoa="${want_cocoa}"
1713 want_evas_engine_wayland_egl="no"
1714 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1715 want_evas_engine_wayland_egl="yes"
1718 if test "${want_lua_old}" = "yes"; then
1719 EFL_CHECK_LUA_OLD([EVAS])
1721 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1724 EFL_ADD_FEATURE([EVAS], [lua-old])
1726 EFL_CHECK_FUNC([EVAS], [dlsym])
1728 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1729 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1732 ### Checks for programs
1734 ### Checks for libraries
1736 ## Compatibility layers
1737 EFL_PLATFORM_DEPEND([EVAS], [all])
1738 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1739 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1740 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1741 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1742 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1743 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1745 EFL_ADD_LIBS([EVAS], [-lm])
1748 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1750 ## optional dependencies
1753 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1754 [FONTCONFIG], [fontconfig >= 2.5.0])
1757 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1758 [FRIBIDI], [fribidi >= 0.19.2])
1761 have_harfbuzz_ft="no"
1762 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1763 [HARFBUZZ], [harfbuzz >= 0.9.0])
1766 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1768 if test "x${have_pixman}" = "xyes" ; then
1769 if test "x${have_pixman_font}" = "xyes" ; then
1770 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1772 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1774 if test "x${have_pixman_rect}" = "xyes" ; then
1775 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1777 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1779 if test "x${have_pixman_line}" = "xyes" ; then
1780 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1782 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1784 if test "x${have_pixman_poly}" = "xyes" ; then
1785 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1787 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1789 if test "x${have_pixman_image}" = "xyes" ; then
1790 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1792 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1794 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1795 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1797 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1802 define([EVAS_ENGINE_DEP_CHECK_FB], [
1803 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1806 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1807 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1810 EVAS_ENGINE([buffer], [static])
1811 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1812 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1815 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1816 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1817 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1818 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1819 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1820 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1821 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1822 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1827 have_evas_engine_software_xcb="no"
1828 if test "${with_x11}" = "xcb" ; then
1829 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1831 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1832 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1835 AC_MSG_CHECKING([whether to build Software XCB Engine])
1836 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1838 # No Software XCB ? Then try Software Xlib
1840 have_evas_engine_software_xlib="no"
1841 if test "x${want_x11_xcb}" = "xno" ; then
1842 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1844 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1845 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1848 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1849 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1851 # If software_x11 is available, define everything needed for X11
1853 have_evas_engine_software_x11="no"
1854 if test "x${have_evas_engine_software_xlib}" = "xyes" || test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xyes" || test "x${have_evas_engine_software_xcb}" = "xstatic" ; then
1855 have_evas_engine_software_x11="yes"
1856 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1858 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1860 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1861 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1863 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1865 # Needed for evas-software-x11.pc
1867 AC_SUBST([have_evas_engine_software_xlib])
1868 AC_SUBST([have_evas_engine_software_xcb])
1871 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1872 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1876 if test "${with_opengl}" = "es" ; then
1877 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1882 have_evas_engine_gl_xcb="no"
1883 if test "${want_x11_xcb_opengl}" = "yes"; then
1884 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1886 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1887 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1890 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1891 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1893 # No openGL XCB ? Then try OpenGL Xlib
1895 have_evas_engine_gl_xlib="no"
1896 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1897 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1899 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1900 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1903 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1904 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1906 # If opengl_x11 is available, define everything needed for X11
1908 have_evas_engine_gl_x11="no"
1909 if test "x${have_evas_engine_gl_xlib}" = "xyes" || test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xyes" || test "x${have_evas_engine_gl_xcb}" = "xstatic" ; then
1910 have_evas_engine_gl_x11="yes"
1911 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1913 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1915 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1916 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1918 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1920 # Needed for evas-opengl-x11.pc
1922 AC_SUBST([have_evas_engine_gl_xlib])
1923 AC_SUBST([have_evas_engine_gl_xcb])
1927 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1928 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1929 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1930 [#include <SDL/SDL_video.h>])
1933 if test "${with_opengl}" = "es"; then
1934 AC_CHECK_DECL([SDL_OPENGLES],
1935 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1936 [#include <SDL/SDL_video.h>])
1940 evas_engine_gl_common_cflags=""
1941 if test "x${have_egl}" = "xyes"; then
1942 evas_engine_gl_common_libs="-lEGL"
1944 evas_engine_gl_common_libs="-lGL"
1947 # The lines below fix compiling/linking of gl_generic on OSX
1948 if test "x${have_darwin}" = "xyes"; then
1949 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1950 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1951 # CFLAGS and LIBS are determined by evas-gl_cocoa.
1952 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1953 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
1955 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
1956 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
1957 # cannot compile (nor link).
1958 evas_engine_gl_common_libs=""
1959 evas_engine_gl_common_cflags=""
1961 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
1962 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
1963 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
1965 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
1969 AC_SUBST([evas_engine_gl_common_cflags])
1970 AC_SUBST([evas_engine_gl_common_libs])
1972 have_evas_engine_gl_common="no"
1973 have_static_evas_engine_gl_common="no"
1974 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
1975 test "x$have_evas_engine_gl_xcb" = "xyes" || \
1976 test "x$have_evas_engine_gl_sdl" = "xyes" || \
1977 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
1978 test "x$have_evas_engine_gl_drm" = "xyes" || \
1979 test "x$have_evas_engine_wayland_egl" = "xyes"; then
1980 have_evas_engine_gl_common="yes"
1982 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
1983 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
1984 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
1985 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
1986 test "x$have_evas_engine_gl_drm" = "xstatic" || \
1987 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
1988 have_evas_engine_gl_common="yes"
1989 have_static_evas_engine_gl_common="yes"
1992 if test "x${have_evas_engine_gl_common}" = "xyes"; then
1993 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
1996 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
1998 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
1999 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2002 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2007 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2008 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2009 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2010 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2011 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2012 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2013 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2014 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2015 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2016 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2017 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2018 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2019 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2020 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2021 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2022 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2023 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2025 EFL_EVAL_PKGS([EVAS])
2027 ### Checks for header files
2029 if test "x$have_harfbuzz" = "xyes" ; then
2031 CPPFLAGS_SAVE="$CPPFLAGS"
2032 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2033 # must have for usage with harfbuzz although harfbuzz may not have it.
2035 AC_CHECK_HEADER([hb-ft.h],
2037 have_harfbuzz_ft="yes"
2038 #Depend on harfbuzz ft for harfbuzz support
2039 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2041 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2043 CPPFLAGS="$CPPFLAGS_SAVE"
2046 ### Checks for types
2048 CPPFLAGS_SAVE="$CPPFLAGS"
2049 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2050 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2051 CPPFLAGS="$CPPFLAGS_SAVE"
2054 if test "x$have_fribidi" = "xyes" ; then
2055 CPPFLAGS_SAVE="$CPPFLAGS"
2056 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2057 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2058 CPPFLAGS="$CPPFLAGS_SAVE"
2061 ### Checks for structures
2063 AC_CHECK_TYPES([struct sigaction], [], [],
2064 [[#include <signal.h>]])
2066 ### Checks for compiler characteristics
2068 ### Checks for linker characteristics
2070 ### Checks for library functions
2072 AC_CHECK_FUNCS([siglongjmp])
2074 AC_CHECK_LIB([m], [lround],
2075 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2076 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2082 AC_ARG_ENABLE([cserve],
2083 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2085 if test "x${enableval}" = "xyes" ; then
2086 want_evas_cserve2="yes"
2088 want_evas_cserve2="no"
2089 CFOPT_WARNING="xyes"
2092 [want_evas_cserve2="yes"])
2094 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2095 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2098 # cserve2 only works on Linux so far.
2100 if test "x${efl_func_shm_open}" = "xno" ; then
2101 want_evas_cserve2="no"
2104 if test "x${want_evas_cserve2}" = "xyes"; then
2105 if test "x${ac_cv_header_sys_epoll_h}" = "xno" || test "x${ac_cv_header_sys_inotify_h}" = "xno" || test "x${ac_cv_header_sys_signalfd_h}" = "xno"; then
2106 want_evas_cserve2="no"
2108 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2109 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2113 AC_DEFINE_IF([EVAS_CSERVE2],
2114 [test "x${want_evas_cserve2}" = "xyes"],
2115 [1], [Shared cache server.])
2116 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2122 if test "x${have_tile_rotate}" = "xyes" ; then
2123 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2129 AC_ARG_WITH([evas-dither-mask],
2130 [AS_HELP_STRING([--with-evas-dither-mask=TYPE],[use the specified dither mask to convert bitdepths in Evas, one of: big, small, line or none.
2131 @<:@default=big@:>@])],
2132 [build_evas_dither_mask=${withval}],
2133 [build_evas_dither_mask=big])
2135 case "${build_evas_dither_mask}" in
2137 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2140 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2143 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2146 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2149 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2152 EFL_ADD_FEATURE([EVAS], [fontconfig])
2153 EFL_ADD_FEATURE([EVAS], [fribidi])
2154 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2155 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2156 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2157 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2163 EFL_LIB_START([Evas_Cxx])
2165 EFL_EVAL_PKGS([EVAS_CXX])
2167 EFL_LIB_END([Evas_Cxx])
2168 #### End of Edje CXX
2172 EFL_LIB_START([Embryo])
2176 ### Additional options to configure
2178 ### Checks for programs
2180 ### Checks for libraries
2181 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2182 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2184 EFL_ADD_LIBS([EMBRYO], [-lm])
2186 ### Checks for header files
2188 ### Checks for types
2190 ### Checks for structures
2192 ### Checks for compiler characteristics
2194 ### Checks for linker characteristics
2196 ### Checks for library functions
2198 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2199 AC_MSG_ERROR([Cannot find fnmatch()])
2202 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2203 AC_MSG_ERROR([Cannot find gettimeofday()])
2206 ### Check availability
2208 EFL_LIB_END([Embryo])
2214 EFL_LIB_START([Ecore])
2216 ### Additional options to configure
2221 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2223 if test "x${withval}" = "xyes" ; then
2226 if test "x${withval}" = "xalways" ; then
2235 AC_ARG_ENABLE([g-main-loop],
2236 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2238 if test "x${enableval}" = "xyes" ; then
2239 want_g_main_loop="yes"
2240 CFOPT_WARNING="xyes"
2242 want_g_main_loop="no"
2245 [want_g_main_loop="no"])
2247 AC_ARG_ENABLE([gstreamer],
2248 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2250 if test "x${enableval}" = "xyes" ; then
2251 want_gstreamer="yes"
2252 CFOPT_WARNING="xyes"
2257 [want_gstreamer="no"])
2259 AC_ARG_ENABLE([gstreamer1],
2260 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2262 if test "x${enableval}" = "xyes" ; then
2263 want_gstreamer1="yes"
2265 want_gstreamer1="no"
2266 CFOPT_WARNING="xyes"
2269 [want_gstreamer1="yes"])
2271 AC_ARG_ENABLE([tizen],
2272 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2274 if test "x${enableval}" = "xyes" ; then
2282 if test "${want_tizen}" = "yes"; then
2283 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2285 [have_tizen_vconf="yes"],
2286 [have_tizen_vconf="no"])
2287 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2290 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2291 if test "${have_tizen_vconf}" = "yes"; then
2292 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2297 if test "${have_windows}" = "yes"; then
2302 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2306 want_ecore_timer_dump="no"
2307 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2308 want_ecore_timer_dump="yes"
2309 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2312 ### Checks for programs
2314 ### Checks for libraries
2315 EFL_PLATFORM_DEPEND([ECORE], [all])
2316 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2317 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2318 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2320 EFL_ADD_LIBS([ECORE], [-lm])
2324 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2325 if test "x${have_glib}" = "xno"; then
2326 want_g_main_loop="no"
2329 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2331 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2332 EFL_ADD_FEATURE([ECORE], [glib])
2333 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2335 want_glib_integration_always=no
2336 if test "x${with_glib}" = "xalways" ; then
2337 want_glib_integration_always="yes"
2338 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2341 if test "x${want_g_main_loop}" = "xyes" ; then
2342 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2345 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2346 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2347 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2350 if test "${want_gstreamer1}" = "yes"; then
2351 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2353 if test "${want_gstreamer}" = "yes"; then
2354 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2356 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2358 EFL_EVAL_PKGS([ECORE])
2360 ### Checks for header files
2364 AC_CHECK_HEADERS([sys/socket.h])
2366 AC_CHECK_HEADERS([ \
2378 #ifdef HAVE_SYS_SOCKET_H
2379 # include <sys/socket.h>
2383 AC_CHECK_HEADERS([net/if.h], [], [],
2386 # include <stdlib.h>
2387 # include <stddef.h>
2390 # include <stdlib.h>
2393 #if HAVE_SYS_SOCKET_H
2394 # include <sys/socket.h>
2398 ### Checks for types
2400 ### Checks for structures
2402 ### Checks for compiler characteristics
2404 ### Checks for linker characteristics
2406 ### Checks for library functions
2418 int i = isfinite(0);
2421 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2424 [have_isfinite="no"])
2426 AC_MSG_CHECKING([for isfinite])
2427 AC_MSG_RESULT([${have_isfinite}])
2429 # mallinfo, timerfd_create, clock_gettime
2431 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2433 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2434 AC_CHECK_LIB([rt], [clock_gettime],
2436 EFL_ADD_LIBS([ECORE], [-lrt])
2437 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2441 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2443 # coroutine function specific
2448 #include <ucontext.h>
2454 [have_ucontext="yes"],
2455 [have_ucontext="no"])
2457 AC_MSG_CHECKING([for ucontext])
2458 AC_MSG_RESULT([${have_ucontext}])
2469 [have_setjmp="yes"],
2472 AC_MSG_CHECKING([for setjmp])
2473 AC_MSG_RESULT([${have_setjmp}])
2475 if test "X${have_windows}" = "xyes"; then
2476 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2477 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2478 elif test "x${have_ucontext}" = "xyes"; then
2479 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2480 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2481 elif test "x${have_setjmp}" = "xyes"; then
2482 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2483 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2485 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2488 ### Check availability
2490 EFL_LIB_END([Ecore])
2494 EFL_LIB_START([Ecore_Cxx])
2496 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2497 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2498 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2499 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2501 EFL_EVAL_PKGS([ECORE_CXX])
2503 EFL_LIB_END([Ecore_Cxx])
2504 #### End of Ecore CXX
2508 EFL_LIB_START([Ecore_Con])
2512 want_ecore_con_local_sockets="yes"
2513 want_ecore_con_abstract_sockets="yes"
2515 if test "${have_win32}" = "yes"; then
2517 want_ecore_con_abstract_sockets="no"
2518 elif test "${have_darwin}" = "yes"; then
2520 want_ecore_con_abstract_sockets="yes"
2521 elif test "${have_ps3}" = "yes"; then
2523 want_ecore_con_local_sockets="no"
2524 want_ecore_con_abstract_sockets="no"
2529 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2530 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2531 [1], [Have local sockets support])
2532 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2533 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2534 [1], [Have abstract sockets namespace])
2536 ### Checks for programs
2538 ### Checks for libraries
2539 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2540 if test "$build_crypto" != "none" ; then
2541 EFL_CRYPTO_DEPEND([ECORE_CON])
2543 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2544 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2545 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2546 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2547 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2549 EFL_ADD_LIBS([ECORE_CON], [-lm])
2551 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2552 [CARES], [libcares >= 1.6.1])
2553 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2555 if test "x$have_cares" = "xyes" ; then
2556 ecore_con_resolver="cares"
2557 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2558 ecore_con_resolver="dns.c"
2560 ecore_con_resolver="fork"
2563 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2565 EFL_ADD_FEATURE([ECORE_CON], [cares])
2566 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2567 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2568 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2569 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2571 EFL_EVAL_PKGS([ECORE_CON])
2573 ### Checks for header files
2575 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2577 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2578 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2581 ### Checks for types
2584 AC_CHECK_TYPES([struct ipv6_mreq],
2588 #include <netinet/in.h>
2589 #ifdef HAVE_WS2TCPIP_H
2590 # include <ws2tcpip.h>
2594 AC_DEFINE_IF([HAVE_IPV6],
2595 [test "x${have_ipv6}" = "xyes"],
2596 [1], [Define if IPV6 is supported])
2597 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2599 ### Checks for structures
2601 ### Checks for compiler characteristics
2603 ### Checks for linker characteristics
2605 ### Checks for library functions
2607 EFL_LIB_END([Ecore_Con])
2608 #### End of Ecore_Con
2613 EFL_LIB_START([Ecore_Ipc])
2617 ### Additional options to configure
2619 ### Checks for programs
2621 ## Compatibility layers
2622 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2624 ### Checks for libraries
2625 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2626 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2627 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2628 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2630 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2632 ### Checks for header files
2634 AC_CHECK_HEADERS([winsock2.h])
2636 ### Checks for types
2638 ### Checks for structures
2640 ### Checks for compiler characteristics
2642 ### Checks for linker characteristics
2644 ### Checks for library functions
2646 EFL_LIB_END([Ecore_Ipc])
2647 #### End of Ecore_Ipc
2652 EFL_LIB_START([Ecore_File])
2654 ### Additional options to configure
2658 ### Checks for programs
2660 ## Compatibility layers
2661 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2663 ### Checks for libraries
2664 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2665 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2666 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2667 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2668 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2670 ### Checks for header files
2672 ### Checks for types
2674 ### Checks for structures
2676 ### Checks for compiler characteristics
2678 ### Checks for linker characteristics
2680 ### Checks for library functions
2682 EFL_LIB_END([Ecore_File])
2683 #### End of Ecore_File
2687 EFL_LIB_START([Ecore_Input])
2689 ### Additional options to configure
2693 ### Checks for programs
2695 ## Compatibility layers
2696 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2698 ### Checks for libraries
2699 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2700 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2701 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2703 ### Checks for header files
2705 ### Checks for types
2707 ### Checks for structures
2709 ### Checks for compiler characteristics
2711 ### Checks for linker characteristics
2713 ### Checks for library functions
2715 EFL_LIB_END([Ecore_Input])
2716 #### End of Ecore_Input
2719 #### Ecore_Input_Evas
2720 EFL_LIB_START([Ecore_Input_Evas])
2722 ### Additional options to configure
2726 ### Checks for programs
2728 ## Compatibility layers
2729 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2731 ### Checks for libraries
2732 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2733 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2734 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2735 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2736 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2737 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2738 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2740 ### Checks for header files
2742 ### Checks for types
2744 ### Checks for structures
2746 ### Checks for compiler characteristics
2748 ### Checks for linker characteristics
2750 ### Checks for library functions
2752 EFL_LIB_END([Ecore_Input_Evas])
2753 #### End of Ecore_Input_Evas
2757 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2759 ### Additional options to configure
2763 ### Checks for programs
2765 ### Checks for libraries
2766 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2767 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2768 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2769 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2771 ### Checks for header files
2773 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2775 ### Checks for types
2777 ### Checks for structures
2779 ### Checks for compiler characteristics
2781 ### Checks for linker characteristics
2783 ### Checks for library functions
2785 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2786 #### End of Ecore_Cocoa
2790 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2792 ### Additional options to configure
2793 AC_ARG_ENABLE([tslib],
2794 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2796 if test "x${enableval}" = "xyes" ; then
2801 ], [want_tslib="yes"])
2805 ### Checks for programs
2807 ### Checks for libraries
2808 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2809 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2810 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2811 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2813 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2814 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2816 EFL_EVAL_PKGS([ECORE_FB])
2818 ### Checks for header files
2821 AC_CHECK_HEADER([linux/fb.h],
2822 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2823 if test "${have_ecore_fb}" = "no"; then
2824 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2827 ### Checks for types
2829 ### Checks for structures
2831 ### Checks for compiler characteristics
2833 ### Checks for linker characteristics
2835 ### Checks for library functions
2837 EFL_LIB_END_OPTIONAL([Ecore_FB])
2838 #### End of Ecore_FB
2842 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2844 ### Additional options to configure
2848 ### Checks for programs
2850 ### Checks for libraries
2851 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2853 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2854 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2855 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2856 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2858 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2860 ### Checks for header files
2862 ### Checks for types
2864 ### Checks for structures
2866 ### Checks for compiler characteristics
2868 ### Checks for linker characteristics
2870 ### Checks for library functions
2872 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2873 #### End of Ecore_Psl1ght
2877 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2879 ### Additional options to configure
2883 ### Checks for programs
2885 ### Checks for libraries
2886 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2887 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2888 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2889 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2890 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2892 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2894 EFL_EVAL_PKGS([ECORE_SDL])
2896 ### Checks for header files
2898 ### Checks for types
2900 ### Checks for structures
2902 ### Checks for compiler characteristics
2904 ### Checks for linker characteristics
2906 ### Checks for library functions
2908 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2909 #### End of Ecore_SDL
2913 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2915 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2916 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2919 ### Additional options to configure
2923 ### Checks for programs
2925 ### Checks for libraries
2926 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2927 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2928 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2929 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2931 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2932 [wayland-client >= 1.3.0 wayland-cursor >= 1.3.0 xkbcommon >= 0.3.0])
2934 EFL_EVAL_PKGS([ECORE_WAYLAND])
2936 ### Checks for header files
2938 ### Checks for types
2940 ### Checks for structures
2942 ### Checks for compiler characteristics
2944 ### Checks for linker characteristics
2946 ### Checks for library functions
2948 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2949 #### End of Ecore_Wayland
2952 EFL_LIB_START([Eldbus])
2954 ### Additional options to configure
2958 ### Checks for programs
2960 ## Compatibility layers
2961 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
2963 ### Checks for libraries
2964 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
2965 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
2966 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
2968 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
2970 EFL_EVAL_PKGS([ELDBUS])
2972 ### Checks for header files
2974 ### Checks for types
2976 ### Checks for structures
2978 ### Checks for compiler characteristics
2980 ### Checks for linker characteristics
2982 ### Checks for library functions
2984 EFL_LIB_END([Eldbus])
2989 have_libmount_new="no"
2990 have_libmount_old="no"
2991 have_eeze_mount="no"
2993 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
2995 ### Additional options to configure
2996 AC_ARG_WITH([mount],
2997 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
2998 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
2999 AC_ARG_WITH([umount],
3000 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3001 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3002 AC_ARG_WITH([eject],
3003 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3004 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3008 ### Checks for programs
3010 ### Checks for libraries
3011 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3012 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3013 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3014 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3015 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3016 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3017 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3019 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3021 AC_ARG_ENABLE([libmount],
3022 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3024 if test "x${enableval}" = "xyes" ; then
3028 CFOPT_WARNING="xyes"
3031 [want_libmount="yes"])
3033 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3034 [EEZE_MOUNT], [mount >= 2.18.0])
3035 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3037 PKG_CHECK_EXISTS([libudev < 199],
3038 [have_libudev_old="yes"],
3039 [have_libudev_old="no"])
3040 AC_MSG_CHECKING([Use old libudev API (before 199)])
3041 AC_MSG_RESULT([${have_libudev_old}])
3043 PKG_CHECK_EXISTS([mount < 2.19.0],
3044 [have_libmount_old="yes"],
3045 [have_libmount_old="no"])
3046 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3047 AC_MSG_RESULT([${have_libmount_old}])
3049 PKG_CHECK_EXISTS([mount == 2.19.0],
3050 [have_libmount_219="yes"],
3051 [have_libmount_219="no"])
3052 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3053 AC_MSG_RESULT([${have_libmount_219}])
3055 PKG_CHECK_EXISTS([mount > 2.19.0],
3056 [have_libmount_new="yes"],
3057 [have_libmount_new="no"])
3058 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3059 AC_MSG_RESULT([${have_libmount_new}])
3061 if test "x${have_libudev_old}" = "xyes"; then
3062 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3065 if test "x${have_libmount_old}" = "xyes"; then
3066 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3070 if test "${want_tizen}" = "yes"; then
3071 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3073 EFL_ADD_FEATURE([EEZE], [tizen])
3075 EFL_EVAL_PKGS([EEZE])
3077 ### Checks for header files
3079 ### Checks for types
3081 ### Checks for structures
3083 ### Checks for compiler characteristics
3085 ### Checks for linker characteristics
3087 ### Checks for library functions
3089 ### Checks for binaries
3090 if test "x$with_eeze_mount" = "xdetect"; then
3091 AC_PATH_PROG([with_eeze_mount], [mount], [])
3093 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3095 if test "x$with_eeze_umount" = "xdetect";then
3096 AC_PATH_PROG([with_eeze_umount], [umount], [])
3098 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3100 if test "x$with_eeze_eject" = "xdetect";then
3101 AC_PATH_PROG([with_eeze_eject], [eject], [])
3103 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3105 EFL_LIB_END_OPTIONAL([Eeze])
3107 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3108 [test "x${have_libmount_new}" = "xyes"])
3109 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3110 [test "x${have_libmount_old}" = "xyes"])
3111 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3112 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3117 have_libinput_new="no"
3118 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3120 ### Additional options to configure
3123 AC_SUBST([SUID_CFLAGS])
3124 AC_SUBST([SUID_LDFLAGS])
3128 ### Checks for programs
3130 ### Checks for libraries
3131 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3132 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3133 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3134 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3135 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3136 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3138 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3139 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3141 # API change from 0.7 to 0.8. So we define this to support both for now.
3142 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3143 [have_libinput_new="yes"],
3144 [have_libinput_new="no"])
3145 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3146 AC_MSG_RESULT([${have_libinput_new}])
3147 if test "x${have_libinput_new}" = "xyes";then
3148 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3150 if test "x${have_libinput_new}" = "xno";then
3151 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3155 EFL_EVAL_PKGS([ECORE_DRM])
3157 ### Checks for header files
3159 ### Checks for types
3161 ### Checks for structures
3163 ### Checks for compiler characteristics
3165 ### Checks for linker characteristics
3167 ### Checks for library functions
3169 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3170 #### End of Ecore_Drm
3175 AC_ARG_ENABLE([audio],
3176 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3178 if test "x${enableval}" = "xyes" ; then
3182 CFOPT_WARNING="xyes"
3187 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3189 ### Additional options to configure
3191 # ALSA support is still not there, thus no option for it yet.
3194 # sndfile is mandatory otherwise it won't read from/write to files.
3195 # TODO: if confirmed sndfile is mandatory, remove this variable
3196 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3199 AC_ARG_ENABLE([pulseaudio],
3200 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3202 if test "x${enableval}" = "xyes" ; then
3203 want_pulseaudio="yes"
3205 want_pulseaudio="no"
3206 CFOPT_WARNING="xyes"
3209 [want_pulseaudio="yes"])
3214 ### Checks for programs
3216 ## Compatibility layers
3217 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3219 ### Checks for libraries
3220 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3221 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3222 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3223 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3224 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3226 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3228 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3229 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3230 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3232 EFL_EVAL_PKGS([ECORE_AUDIO])
3234 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3235 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3236 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3238 ### Checks for header files
3240 ### Checks for types
3242 ### Checks for structures
3244 ### Checks for compiler characteristics
3246 ### Checks for linker characteristics
3248 ### Checks for library functions
3250 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3251 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3252 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3254 #### End of Ecore_Audio
3256 #### Ecore Audio CXX
3257 EFL_LIB_START([Ecore_Audio_Cxx])
3259 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3261 EFL_LIB_END([Ecore_Audio_Cxx])
3262 #### End of Ecore Audio CXX
3265 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3267 ### Additional options to configure
3271 ### Checks for programs
3273 ### Checks for libraries
3274 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3275 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3276 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3277 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3278 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3280 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3281 AC_SUBST([ECORE_WIN32_LIBS])
3283 ### Checks for header files
3285 ### Checks for types
3287 ### Checks for structures
3289 ### Checks for compiler characteristics
3291 ### Checks for linker characteristics
3293 ### Checks for library functions
3295 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3296 #### End of Ecore_Win32
3300 EFL_LIB_START([Ecore_Avahi])
3304 ### Additional options to configure
3308 AC_ARG_ENABLE([avahi],
3309 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3311 if test "x${enableval}" = "xyes" ; then
3320 ### Checks for programs
3322 ## Compatibility layers
3323 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3325 ### Checks for libraries
3326 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3327 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3328 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3330 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3332 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3334 # Needed bu example as they use avahi directly in that case
3335 if test "x${have_avahi}" = "xyes"; then
3336 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3339 EFL_EVAL_PKGS([ECORE_AVAHI])
3341 ### Checks for header files
3343 ### Checks for types
3345 ### Checks for structures
3347 ### Checks for compiler characteristics
3349 ### Checks for linker characteristics
3351 ### Checks for library functions
3353 EFL_LIB_END([Ecore_Avahi])
3355 #### End of Ecore_Avahi
3359 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3361 ### Additional options to configure
3363 AC_ARG_ENABLE([gesture],
3364 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3366 if test "x${enableval}" = "xyes" ; then
3372 [want_gesture="no"])
3374 AC_ARG_ENABLE([xpresent],
3375 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3377 if test "x${enableval}" = "xyes" ; then
3383 [want_xpresent="no"])
3385 AC_ARG_ENABLE([xinput2],
3386 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3388 if test "x${enableval}" = "xyes" ; then
3392 CFOPT_WARNING="xyes"
3395 [want_xinput2="yes"])
3397 AC_ARG_ENABLE([xinput22],
3398 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3400 if test "x${enableval}" = "xyes" ; then
3406 [want_xinput22="no"])
3408 AC_ARG_ENABLE([xim],
3409 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3411 if test "x${enableval}" = "xyes" ; then
3415 CFOPT_WARNING="xyes"
3420 AC_ARG_ENABLE([scim],
3421 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3423 if test "x${enableval}" = "xyes" ; then
3427 CFOPT_WARNING="xyes"
3432 AC_ARG_ENABLE([ibus],
3433 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3435 if test "x${enableval}" = "xyes" ; then
3445 ### Checks for programs
3447 ### Checks for libraries
3448 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3449 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3450 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3451 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3457 ### Checks for header files
3459 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3461 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3462 FOUND_MAXHOSTNAMELEN="not found"
3468 #include <sys/param.h>
3471 int h = MAXHOSTNAMELEN;
3475 FOUND_MAXHOSTNAMELEN="sys/param.h"
3476 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3486 int h = MAXHOSTNAMELEN;
3490 FOUND_MAXHOSTNAMELEN="netdb.h"
3491 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3494 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3495 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3499 if test "x${want_x11_xcb}" = "xyes" ; then
3500 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3501 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3503 if test -f "$KEYSYMDEFDIR/$i"; then
3504 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3505 elif test "x$i" = "xkeysymdef.h"; then
3506 AC_MSG_ERROR([Cannot find keysymdef.h])
3509 AC_MSG_CHECKING([keysym definitions])
3510 AC_MSG_RESULT([$KEYSYMDEFS])
3511 AC_SUBST([KEYSYMDEFS])
3514 ### Checks for types
3516 ### Checks for structures
3518 ### Checks for compiler characteristics
3520 ### Checks for linker characteristics
3522 ### Checks for library functions
3525 if test "x${want_x11_xlib}" = "xyes"; then
3526 EFL_FIND_X(ECORE_X_XLIB,
3527 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3528 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3531 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3532 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3533 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3535 AC_MSG_ERROR([Xcursor is missing])
3539 if test "x${want_x11_xlib}" = "xyes" ; then
3540 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3541 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3542 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3543 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3544 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3545 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3546 ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
3547 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3548 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3549 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3550 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3552 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3554 if test "${want_xpresent}" = "yes"; then
3555 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3557 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3559 if test "${want_gesture}" = "yes"; then
3560 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3562 EFL_ADD_FEATURE([ECORE_X], [gesture])
3564 if test "${want_xinput2}" = "yes"; then
3565 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3567 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3569 if test "${want_xinput22}" = "yes"; then
3570 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3572 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3574 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3575 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3577 EFL_EVAL_PKGS([ECORE_X])
3578 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3583 if test "${want_x11_xcb}" = "yes"; then
3584 dnl note: added pixman-1 as ecore_xcb_region uses that
3585 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3586 [x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8 xcb-composite xcb-present xcb-damage xcb-dpms xcb-randr xcb-render xcb-screensaver xcb-shape xcb-sync xcb-xfixes xcb-xinerama xcb-xtest xcb-renderutil pixman-1])
3588 dnl TODO: remove these ifdefs from code!
3589 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3590 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3591 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3592 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3593 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3594 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3595 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3596 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3597 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3598 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3599 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3600 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3602 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3604 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3605 [1], [Build support for XCB Present])
3606 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3608 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3610 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3611 [1], [Build support for XCB xgesture])
3613 EFL_ADD_FEATURE([ECORE_X], [gesture])
3615 dnl input extension disabled currently in xcb as xcb-input has some issues
3616 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3617 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3619 dnl dri extension disabled currently in xcb
3620 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3621 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3623 EFL_EVAL_PKGS([ECORE_X])
3624 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3626 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3629 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3631 AC_SUBST([HAVE_ECORE_X_BACKEND])
3633 EFL_LIB_END_OPTIONAL([Ecore_X])
3635 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3636 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3641 EFL_LIB_START([Ecore_Imf])
3643 ### Additional options to configure
3647 want_ecore_imf="yes"
3648 want_ecore_imf_xim="no"
3649 want_ecore_imf_scim="no"
3650 want_ecore_imf_ibus="no"
3651 want_ecore_imf_wayland="no"
3652 want_ecore_imf="yes"
3654 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3655 want_ecore_imf="yes"
3656 want_ecore_imf_xim="yes"
3657 want_ecore_imf_scim="yes"
3658 want_ecore_imf_ibus="yes"
3659 if test "${want_wayland}" = "yes"; then
3660 want_ecore_imf_wayland="yes"
3664 ### Checks for programs
3666 ## Compatibility layers
3667 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3669 ### Checks for libraries
3670 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3671 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3672 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3673 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3674 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3676 if test "x${want_ecore_imf}" = "xyes" ; then
3677 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3684 have_ecore_imf_ibus="no"
3685 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3686 PKG_CHECK_MODULES([IBUS],
3687 [ibus-1.0 >= 1.4 glib-2.0],
3689 have_ecore_imf_ibus="yes"
3690 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3692 [have_ecore_imf_ibus="no"])
3695 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3696 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3700 have_ecore_imf_scim="no"
3701 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3702 PKG_CHECK_MODULES([SCIM],
3705 have_ecore_imf_scim="yes"
3706 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3708 [have_ecore_imf_scim="no"])
3711 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3712 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3716 have_ecore_imf_xim="no"
3717 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3719 EFL_FIND_X(ecore_imf_xim,
3723 have_ecore_imf_xim=yes
3724 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3728 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3729 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3732 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3733 PKG_CHECK_MODULES([WAYLAND],
3734 [wayland-client >= 1.2.0],
3736 have_ecore_imf_wayland="yes"
3737 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3739 [have_ecore_imf_wayland="no"])
3742 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3743 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3745 ### Checks for header files
3747 ### Checks for types
3749 ### Checks for structures
3751 ### Checks for compiler characteristics
3753 ### Checks for linker characteristics
3755 ### Checks for library functions
3757 EFL_LIB_END([Ecore_Imf])
3758 #### End of Ecore_Imf
3762 EFL_LIB_START([Ecore_Imf_Evas])
3764 ### Additional options to configure
3768 ### Checks for programs
3770 ## Compatibility layers
3771 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3773 ### Checks for libraries
3774 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3775 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3776 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3777 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3778 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3779 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3780 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3781 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3783 ### Checks for header files
3785 ### Checks for types
3787 ### Checks for structures
3789 ### Checks for compiler characteristics
3791 ### Checks for linker characteristics
3793 ### Checks for library functions
3795 EFL_LIB_END([Ecore_Imf_Evas])
3796 #### End of Ecore_Imf_Evas
3800 EFL_LIB_START([Ecore_Evas])
3802 ### Additional options to configure
3806 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3807 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3808 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3809 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3810 want_ecore_evas_extn="yes"
3811 want_ecore_evas_drm="${have_evas_engine_drm}"
3813 if test "x${have_ecore_ipc}" = "xno" || \
3814 test "x${efl_func_shm_open}" = "xno" || \
3815 test "x${have_windows}" = "xyes" ; then
3816 want_ecore_evas_extn="no"
3819 ### Checks for programs
3821 ## Compatibility layers
3822 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3824 ### Checks for libraries
3825 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3826 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3827 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3828 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3829 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3830 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3831 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3832 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3833 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3836 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3837 ECORE_EVAS_MODULE([ews], [yes])
3838 ECORE_EVAS_MODULE([fb], [${want_fb}])
3839 ECORE_EVAS_MODULE([drm], [${want_drm}],
3840 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3841 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3842 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3843 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3845 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3847 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3848 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3850 build_ecore_evas_sdl="no"
3851 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3852 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3853 build_ecore_evas_sdl="yes"
3854 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3856 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3857 [test "${build_ecore_evas_sdl}" = "yes"])
3859 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3860 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3862 build_ecore_evas_wayland="no"
3863 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3864 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3865 build_ecore_evas_wayland="yes"
3866 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3868 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3869 [test "${build_ecore_evas_wayland}" = "yes"])
3871 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3872 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3874 build_ecore_evas_win32="no"
3875 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3876 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3877 build_ecore_evas_win32="yes"
3878 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3880 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3881 [test "${build_ecore_evas_win32}" = "yes"])
3884 # XXX TODO: ecore_evas_x11
3886 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3888 have_ecore_evas_software_xlib="no"
3889 have_ecore_evas_software_xcb="no"
3890 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3891 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3892 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3893 have_ecore_evas_software_xlib="yes"
3895 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3896 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3898 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3899 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3900 have_ecore_evas_software_xcb="yes"
3902 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3903 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3907 # XXX TODO: ecore_evas_opengl_x11
3909 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
3911 have_ecore_evas_opengl_xlib="no"
3912 have_ecore_evas_opengl_xcb="no"
3913 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
3914 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
3915 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
3916 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
3919 # opengl does not work with xcb (yet)
3920 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
3921 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
3922 have_ecore_evas_opengl_xcb="yes"
3924 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
3925 PKG_CHECK_MODULES([XCB_X11],
3928 have_ecore_x_opengl_xcb="yes"
3929 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
3930 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
3931 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
3933 [have_ecore_x_opengl_xcb="no"])
3935 have_ecore_x_opengl_xcb="no"
3936 AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
3940 build_ecore_evas_x11="no"
3941 if test "x$have_ecore_evas_software_x11" = "xyes" || \
3942 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
3943 test "x$have_ecore_evas_software_xcb" = "xyes"; then
3944 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
3945 build_ecore_evas_x11="yes"
3947 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
3949 EFL_EVAL_PKGS([ECORE_EVAS])
3951 ### Checks for header files
3953 ### Checks for types
3955 ### Checks for structures
3957 ### Checks for compiler characteristics
3959 ### Checks for linker characteristics
3961 ### Checks for library functions
3963 EFL_LIB_END([Ecore_Evas])
3964 #### End of Ecore_Evas
3967 EFL_LIB_START([Eio])
3969 ### Additional options to configure
3973 ### Checks for programs
3975 ## Compatibility layers
3976 EFL_PLATFORM_DEPEND([EIO], [evil])
3978 ### Checks for libraries
3979 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
3980 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
3981 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
3982 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
3983 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
3985 EFL_ADD_LIBS([EIO], [-lm])
3987 ### Checks for header files
3989 ### Checks for types
3991 ### Checks for structures
3993 ### Checks for compiler characteristics
3995 ### Checks for linker characteristics
3997 ### Checks for library functions
3998 have_inotify="${ac_cv_header_sys_inotify_h}"
3999 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4001 have_notify_win32="${have_win32}"
4002 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4003 [test "x${have_notify_win32}" = "xyes"], [1],
4004 [File monitoring with Windows notification])
4005 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4007 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4008 [test "x${have_darwin}" = "xyes"], [1],
4009 [File monitoring with fsevent notification])
4010 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4014 dnl TODO: remove these ifdefs from code!
4015 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4019 if test "x${want_eo_id}" = "xyes" ; then
4020 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4025 EFL_LIB_START([Efreet])
4027 ### Additional options to configure
4031 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4033 ### Checks for programs
4035 ## Compatibility layers
4036 EFL_PLATFORM_DEPEND([EFREET], [evil])
4038 ### Checks for libraries
4039 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4040 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4041 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4042 EFL_INTERNAL_DEPEND_PKG([EFREET], [eldbus])
4043 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4044 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4045 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4047 ### Checks for header files
4049 ### Checks for types
4051 ### Checks for structures
4053 ### Checks for compiler characteristics
4055 ### Checks for linker characteristics
4057 ### Checks for library functions
4059 EFL_LIB_END([Efreet])
4064 AC_ARG_ENABLE([physics],
4065 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4067 if test "x${enableval}" = "xyes" ; then
4070 CFOPT_WARNING="xyes"
4074 [want_physics="yes"])
4076 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4078 ### Additional options to configure
4082 ### Checks for programs
4084 ### Checks for libraries
4085 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4087 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4088 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4089 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4090 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4091 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4092 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4094 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4096 EFL_EVAL_PKGS([EPHYSICS])
4098 ### Checks for header files
4100 ### Checks for types
4102 ### Checks for structures
4104 ### Checks for compiler characteristics
4106 ### Checks for linker characteristics
4108 ### Checks for library functions
4110 EFL_LIB_END_OPTIONAL([EPhysics])
4111 #### End of EPhysics
4115 EFL_LIB_START([Edje])
4117 ### Additional options to configure
4120 want_multisense="${want_pulseaudio}"
4121 AC_ARG_ENABLE([multisense],
4122 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=enabled@:>@])],
4124 if test "x${enableval}" = "xyes" ; then
4125 want_multisense="yes"
4127 want_multisense="no"
4128 CFOPT_WARNING="xyes"
4131 [want_multisense="${want_pulseaudio}"])
4133 # TODO: should we keep or remove these?
4134 want_edje_program_cache="no"
4135 want_edje_calc_cache="yes"
4136 want_fixed_point="no"
4138 ### Checks for programs
4140 ### Checks for libraries
4141 EFL_PLATFORM_DEPEND([EDJE], [evil])
4143 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4144 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4145 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4146 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4147 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4148 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4149 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4150 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4151 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4152 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4153 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4154 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4155 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4156 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4158 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4159 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4161 EFL_ADD_FEATURE([EDJE], [physics])
4162 EFL_ADD_FEATURE([EDJE], [multisense])
4163 EFL_ADD_FEATURE([EDJE], [lua-old])
4165 if test "${want_lua_old}" = "yes"; then
4166 EFL_CHECK_LUA_OLD([EDJE])
4168 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4171 EFL_ADD_LIBS([EDJE], [-lm])
4173 EFL_EVAL_PKGS([EDJE])
4175 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4176 [1], [Cache result of program glob matches])
4177 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4178 [1], [Cache result of calc glob matches])
4179 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4180 [1], [Use Fixed Point instead of FPU])
4182 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4183 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4184 [1], [Use Multisense])
4185 AC_SUBST([want_multisense])
4186 AC_SUBST([want_physics])
4188 ### Checks for header files
4190 AC_CHECK_HEADERS([ \
4194 ### Checks for types
4196 ### Checks for structures
4198 ### Checks for compiler characteristics
4200 ### Checks for linker characteristics
4202 ### Checks for library functions
4208 EFL_LIB_START([Edje_Cxx])
4210 EFL_EVAL_PKGS([EDJE_CXX])
4212 EFL_LIB_END([Edje_Cxx])
4213 #### End of Edje CXX
4216 EFL_LIB_START([Emotion])
4218 ## Compatibility layers
4219 EFL_PLATFORM_DEPEND([Emotion], [evil])
4222 if test "${efl_func_shm_open}" = "yes"; then
4223 want_emotion_generic="static"
4225 want_emotion_generic="no"
4228 ### Additional options to configure
4229 AC_ARG_ENABLE([xine],
4230 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4232 if test "x${enableval}" = "xyes" ; then
4240 AC_ARG_ENABLE([v4l2],
4241 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4243 if test "x${enableval}" = "xyes" ; then
4249 [want_v4l2="${efl_lib_optional_eeze}"])
4251 ### Checks for programs
4253 ### Checks for libraries
4254 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4255 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4256 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4257 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4258 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4259 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4260 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4261 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4263 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4264 EFL_ADD_FEATURE([EMOTION], [v4l2])
4268 have_gst_xoverlay="no"
4270 EMOTION_MODULE([xine], [${want_xine}])
4271 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4272 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4273 EMOTION_MODULE([generic], [${want_emotion_generic}])
4275 EFL_ADD_FEATURE([EMOTION], [xine])
4276 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4277 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4278 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4280 EFL_EVAL_PKGS([EMOTION])
4282 ### Checks for header files
4284 ### Checks for types
4286 ### Checks for structures
4288 ### Checks for compiler characteristics
4290 ### Checks for linker characteristics
4292 ### Checks for library functions
4294 if test "${want_v4l2}" = "yes"; then
4295 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4296 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4297 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4298 [#include <linux/videodev2.h>])
4301 ### Check availability
4303 EFL_LIB_END([Emotion])
4308 EFL_LIB_START([Ethumb])
4312 ### Additional options to configure
4314 ### Checks for programs
4316 ## Compatibility layers
4317 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4319 ### Checks for libraries
4320 EFL_PLATFORM_DEPEND([EINA], [evil])
4322 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4323 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4324 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4325 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4326 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4327 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4328 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4329 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4330 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4331 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4332 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4336 EFL_EVAL_PKGS([ETHUMB])
4338 ### Checks for header files
4340 ### Checks for types
4342 ### Checks for structures
4344 ### Checks for compiler characteristics
4346 ### Checks for linker characteristics
4348 ### Checks for library functions
4350 ### Check availability
4352 EFL_LIB_END([Ethumb])
4356 EFL_LIB_START([Ethumb_Client])
4360 ### Additional options to configure
4362 ### Checks for programs
4364 ## Compatibility layers
4365 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4367 ### Checks for libraries
4368 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4369 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4370 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4371 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4372 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4373 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4374 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4375 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4376 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4377 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4378 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4380 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4382 ### Checks for header files
4384 ### Checks for types
4386 ### Checks for structures
4388 ### Checks for compiler characteristics
4390 ### Checks for linker characteristics
4392 ### Checks for library functions
4394 ### Check availability
4396 EFL_LIB_END([Ethumb_Client])
4397 #### End of Ethumb_Client
4402 if test "${want_lua_old}" = "yes"; then
4406 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4410 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4412 ### Additional options to configure
4414 ### Checks for programs
4416 ## Compatibility layers
4417 EFL_PLATFORM_DEPEND([ELUA], [evil])
4419 ### Checks for libraries
4420 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4421 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4422 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4424 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4426 EFL_EVAL_PKGS([ELUA])
4428 ### Checks for header files
4430 ### Checks for types
4432 ### Checks for structures
4434 ### Checks for compiler characteristics
4436 ### Checks for linker characteristics
4438 ### Checks for library functions
4440 ### Check availability
4442 EFL_LIB_END_OPTIONAL([Elua])
4447 EFL_LIB_START([Elocation])
4451 ### Additional options to configure
4453 ### Checks for programs
4455 ### Checks for libraries
4456 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4457 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4458 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4459 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4460 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4462 EFL_ADD_LIBS([ELOCATION], [-lm])
4464 ### Checks for header files
4466 ### Checks for types
4468 ### Checks for structures
4470 ### Checks for compiler characteristics
4472 ### Checks for linker characteristics
4474 ### Checks for library functions
4476 ### Check availability
4478 EFL_LIB_END([Elocation])
4479 #### End of Elocation
4481 ### Add Wayland server library if test is enabled
4482 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4483 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.3.0])
4484 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4487 AC_ARG_ENABLE([always-build-examples],
4488 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4490 if test "x${enableval}" = "xyes" ; then
4491 want_always_build_examples="yes"
4493 want_always_build_examples="no"
4496 [want_always_build_examples="no"])
4497 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4501 AC_ARG_ENABLE([i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba],
4502 [ You will be told when this is needed ],
4504 if test "x${enableval}" = "xyes" ; then
4518 doc/previews/Makefile
4520 src/benchmarks/eina/Makefile
4521 src/benchmarks/eo/Makefile
4522 src/benchmarks/evas/Makefile
4523 src/examples/eina/Makefile
4524 src/examples/eina_cxx/Makefile
4525 src/examples/eet/Makefile
4526 src/examples/eo/Makefile
4527 src/examples/evas/Makefile
4528 src/examples/ecore/Makefile
4529 src/examples/ecore_avahi/Makefile
4530 src/examples/eio/Makefile
4531 src/examples/eldbus/Makefile
4532 src/examples/ephysics/Makefile
4533 src/examples/edje/Makefile
4534 src/examples/emotion/Makefile
4535 src/examples/ethumb_client/Makefile
4536 src/examples/elua/Makefile
4537 src/examples/eolian_cxx/Makefile
4538 src/examples/elocation/Makefile
4539 src/lib/eina/eina_config.h
4540 src/lib/ecore_x/ecore_x_version.h
4541 src/lib/efl/Efl_Config.h
4557 pc/evas-opengl-x11.pc
4558 pc/evas-opengl-sdl.pc
4559 pc/evas-opengl-cocoa.pc
4561 pc/evas-software-buffer.pc
4562 pc/evas-software-x11.pc
4563 pc/evas-software-gdi.pc
4564 pc/evas-software-ddraw.pc
4565 pc/evas-software-sdl.pc
4566 pc/evas-wayland-shm.pc
4567 pc/evas-wayland-egl.pc
4577 pc/ecore-input-evas.pc
4588 pc/ecore-imf-evas.pc
4590 pc/ecore-audio-cxx.pc
4609 dbus-services/org.enlightenment.Efreet.service
4610 dbus-services/org.enlightenment.Ethumb.service
4611 systemd-services/efreet.service
4612 systemd-services/ethumb.service
4614 cmakeconfig/EflConfig.cmake
4615 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4616 cmakeconfig/EinaConfig.cmake
4617 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4618 cmakeconfig/EioConfig.cmake
4619 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4620 cmakeconfig/EezeConfig.cmake
4621 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4622 cmakeconfig/EoConfig.cmake
4623 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4624 cmakeconfig/EolianConfig.cmake
4625 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4626 cmakeconfig/EolianCxxConfig.cmake
4627 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4628 cmakeconfig/EinaCxxConfig.cmake
4629 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4630 cmakeconfig/EoCxxConfig.cmake
4631 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4632 cmakeconfig/EcoreCxxConfig.cmake
4633 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4634 cmakeconfig/EvasCxxConfig.cmake
4635 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4636 cmakeconfig/EetCxxConfig.cmake
4637 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4638 cmakeconfig/EetConfig.cmake
4639 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4640 cmakeconfig/EvasConfig.cmake
4641 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4642 cmakeconfig/EcoreConfig.cmake
4643 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4644 cmakeconfig/EdjeConfig.cmake
4645 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4646 cmakeconfig/EldbusConfig.cmake
4647 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4648 cmakeconfig/EfreetConfig.cmake
4649 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4650 cmakeconfig/EthumbConfig.cmake
4651 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4652 cmakeconfig/EthumbClientConfig.cmake
4653 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4654 cmakeconfig/EmotionConfig.cmake
4655 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4656 cmakeconfig/EluaConfig.cmake
4657 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4658 cmakeconfig/EmileConfig.cmake
4659 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4664 #### Work around bug in automake check macro
4665 ## yes it is hugly, but no choice here for now.
4666 $SED -i "s/am__is_gnu_make = test -n '\$(MAKEFILE_LIST)' && test -n '\$(MAKELEVEL)'/ifdef MAKEFILE_LIST\nifdef MAKELEVEL\nam__is_gnu_make = true\nelse\nam__is_gnu_make = false\nendif\nelse\nam__is_gnu_make = false\nendif/" src/Makefile
4668 if test -f $srcdir/config.status; then
4669 TO="$SED -i \"s/am__is_gnu_make = test -n '\\\\\$(MAKEFILE_LIST)' \&\& test -n '\\\\\$(MAKELEVEL)'/ifdef MAKEFILE_LIST\\\nifdef MAKELEVEL\\\nam__is_gnu_make = true\\\nelse\\\nam__is_gnu_make = false\\\nendif\\\nelse\\\nam__is_gnu_make = false\\\nendif/\" src/Makefile\nas_fn_exit 0"
4670 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4675 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4679 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4680 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4683 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4686 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4690 if test "${have_linux}" = "yes"; then
4691 EFL_ADD_FEATURE([system], [inotify])
4692 EFL_ADD_FEATURE([system], [atfile_source])
4693 elif test "${have_windows}" = "yes"; then
4694 EFL_ADD_FEATURE([system], [notify_win32])
4696 EFL_ADD_FEATURE([system], [ipv6])
4698 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4699 efl_have_spinlock="yes"
4701 efl_have_spinlock="no"
4703 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4704 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4705 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4710 echo "------------------------------------------------------------------------"
4711 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4712 echo "------------------------------------------------------------------------"
4715 if test "x${have_windows}" = "xyes" ; then
4716 osname="${host_os}(${_efl_windows_version})"
4721 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4722 echo " EFL API Set...: ${efl_api}"
4723 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4724 echo " System Feature: ${features_system}"
4725 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4726 echo " Cryptography..: ${build_crypto}"
4727 echo " X11...........: ${with_x11}"
4728 echo " OpenGL........: ${with_opengl}"
4729 echo " C++11.........: ${have_cxx11}"
4730 echo "Eina............: yes (${features_eina})"
4731 echo "Eo..............: yes (${features_eo})"
4732 echo "Eolian..........: yes (${features_eolian})"
4733 echo "Emile...........: yes (${features_emile})"
4734 echo "Eet.............: yes"
4735 echo "Evas............: yes (${features_evas})"
4736 echo " Engines.......: ${features_evas_engine}"
4737 echo " Image Loaders.: ${features_evas_loader}"
4738 if test "x${have_pixman}" = "xyes" ; then
4739 echo " Pixman........: ${features_evas_pixman}"
4741 echo "Ecore...........: yes (${features_ecore})"
4742 echo "Ecore_Con.......: yes (${features_ecore_con})"
4743 echo "Ecore_File......: yes"
4744 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4745 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4746 echo "Ecore_SDL.......: $want_sdl"
4747 echo "Ecore_Wayland...: $want_wayland"
4748 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4749 if test "${have_linux}" = "yes"; then
4750 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4751 elif test "${have_ps3}" = "yes"; then
4752 echo "Ecore_PSL1GHT...: $have_ps3"
4753 elif test "${have_darwin}" = "yes"; then
4754 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4755 elif test "${have_windows}" = "yes"; then
4756 echo "Ecore_Win32.....: $have_win32"
4758 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4759 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4760 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4761 echo "Ector...........: yes"
4762 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4763 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4764 echo "Edje............: yes (${features_edje})"
4765 echo "Emotion.........: yes (${features_emotion})"
4766 echo "Ethumb..........: yes"
4767 echo "Ethumb_Client...: yes"
4768 echo "Elua............: $have_elua"
4769 if test "${build_tests}" = "none"; then
4770 echo "Tests...........: no"
4771 elif test "${build_tests}" = "auto"; then
4772 echo "Tests...........: make check (inexplicitly enabled)"
4773 elif test "${build_tests}" = "regular"; then
4774 echo "Tests...........: make check"
4775 elif test "${build_tests}" = "coverage"; then
4776 echo "Tests...........: make lcov-check"
4778 echo "Examples........: make examples (make install-examples)"
4779 if test "x${build_doc}" = "xyes"; then
4780 echo "Documentation...: make doc"
4782 echo "Documentation...: no"
4784 echo "Compilation.....: make (or gmake)"
4785 echo " CPPFLAGS......: $CPPFLAGS"
4786 echo " CFLAGS........: $CFLAGS"
4787 echo " CXXFLAGS......: $CXXFLAGS"
4788 echo " LDFLAGS.......: $LDFLAGS"
4790 if test "x${with_binary_edje_cc}" != "x"; then
4791 echo " edje_cc.......: ${with_binary_edje_cc}"
4794 if test "x${with_binary_eolian_gen}" != "x"; then
4795 echo " eolian_gen....: ${with_binary_eolian_gen}"
4798 if test "x${with_binary_eolian_cxx}" != "x"; then
4799 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
4802 if test "x${with_binary_elua_bin}" != "x"; then
4803 echo " elua..........: ${with_binary_elua_bin}"
4807 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4808 echo " prefix........: $prefix"
4809 echo " dbus units....: $dbusservicedir"
4810 if test "${have_systemd_user_session}" = "yes"; then
4811 echo " systemd units.: $USER_SESSION_DIR"
4815 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4816 echo " _________________________________________"
4817 echo "/ Systemd dependency is available on your \\"
4818 echo "| system, but you are building without |"
4819 echo "| systemd support. Don't forget to |"
4820 echo "| --enable-systemd if you want systemd |"
4821 echo "\\ integration for EFL. /"
4822 echo " -----------------------------------------"
4824 echo " \\ (oo)\\_______"
4825 echo " (__)\\ )\\/\\"
4830 if test -n "$CFOPT_WARNING"; then
4831 echo "_____________________________________________________________________"
4833 echo "==-- WARNING --=="
4835 echo "_____________________________________________________________________"
4836 if test "x${with_x11}" = "xxcb"; then
4837 echo "_____________________________________________________________________"
4838 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
4839 echo "is amazingly faster than Xlib (when used sensibly). It can be"
4840 echo "faster in a few corner cases on startup of an app, but it comes"
4841 echo "with many downsides. One of those is more complex code inside"
4842 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
4843 echo "the big catch is that OpenGL support basically requires Xlib anyway"
4844 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
4845 echo "gain nothing really in terms of speed and no savings in memory"
4846 echo "because Xlib is still linked, loaded and used, BUT instead you"
4847 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
4848 echo "toolkit and this is basically never tested by anyone working on"
4849 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
4850 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
4851 echo "off the memory footprint of a whole system and live with less"
4852 echo "tested code, and possibly unimplemented features in ecore_x. To"
4853 echo "remove the XCB setup, remove the --with-x11=xcb option to"
4855 echo "_____________________________________________________________________"
4857 if test "x${want_physics}" = "xno"; then
4858 echo "_____________________________________________________________________"
4859 echo "You have chosen to disable physics support. This disables lots of"
4860 echo "core functionality and is effectively never tested. You are going"
4861 echo "to find features that suddenly don't work and as a result cause"
4862 echo "a series of breakages. This is simply not tested so you are on"
4863 echo "your own in terms of ensuring everything works if you do this"
4864 echo "_____________________________________________________________________"
4866 if test "x${efl_have_threads}" = "xno"; then
4867 echo "_____________________________________________________________________"
4868 echo "You have disabled threading support. A lot of code is literally"
4869 echo "written to need threading. We never test or even build with"
4870 echo "threading disabled, so doing this is entering uncharted territory."
4871 echo "There is a very good chance things may not compile at all, or if"
4872 echo "the do, they will break at runtime in weird and wonderful ways."
4873 echo "Highly reconsider what you are doing here, or be prepared to deal"
4874 echo "with the fallout yourself."
4875 echo "_____________________________________________________________________"
4877 if test "x${want_fontconfig}" = "xno"; then
4878 echo "_____________________________________________________________________"
4879 echo "You have disabled fontconfig. This is going to make general font"
4880 echo "searching not work, and only some very direct 'load /path/file.ttf'"
4881 echo "will work alongside some old-school ttf file path searching. This"
4882 echo "is very likely not what you want, so highly reconsider turning"
4883 echo "fontconfig off. Having it off will lead to visual problems like"
4884 echo "missing text in many UI areas etc."
4885 echo "_____________________________________________________________________"
4887 if test "x${want_fribidi}" = "xno"; then
4888 echo "_____________________________________________________________________"
4889 echo "Fribidi is used for handling right-to-left text (like Arabic,"
4890 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
4891 echo "you want to disable unless you know for absolute certain you"
4892 echo "will never encounter and have to display such scripts. Also"
4893 echo "note that we don't test with fribidi disabled so you may also"
4894 echo "trigger code paths with bugs that are never normally used."
4895 echo "_____________________________________________________________________"
4897 if test "x${want_pixman}" = "xyes"; then
4898 echo "_____________________________________________________________________"
4899 echo "Pixman allows you to replace some rendering paths in Evas with"
4900 echo "Pixman. Pixman may or may not be faster (probably slower), and"
4901 echo "the rendering paths with Pixman enabled are not tested often so"
4902 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
4903 echo "you wish to deal with these bugs."
4904 echo "_____________________________________________________________________"
4906 if test "x${have_tile_rotate}" = "xyes"; then
4907 echo "_____________________________________________________________________"
4908 echo "Tiled rotation code is not tested much, so be aware that you"
4909 echo "may introduce bugs by enabling this."
4910 echo "_____________________________________________________________________"
4912 if test "x${want_g_main_loop}" = "xyes"; then
4913 echo "_____________________________________________________________________"
4914 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
4915 echo "regularly, but the glib mainloop integration (on by default) is."
4916 echo "You can use apps that use glib mainloop constructs by default"
4917 echo "this way, but the Ecore mainloop is not built on top of glib."
4918 echo "You have enabled ecore to be built on top of glib and thus you"
4919 echo "may experience bugs that normally would not be there. Be prepared"
4920 echo "to fix these if they arise."
4921 echo "_____________________________________________________________________"
4923 if test "x${want_gstreamer}" = "xyes"; then
4924 echo "_____________________________________________________________________"
4925 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
4926 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
4927 echo "and will eventually be removed entirely. Don't enable the old"
4928 echo "Gstreamer support unless you want to deal with the issues yourself."
4929 echo "_____________________________________________________________________"
4931 if test "x${want_gstreamer1}" = "xno"; then
4932 echo "_____________________________________________________________________"
4933 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
4934 echo "this as it will heavily limit your media support options and render"
4935 echo "some functionality as useless, leading to visible application bugs."
4936 echo "_____________________________________________________________________"
4938 if test "x${want_eo_id}" = "xno"; then
4939 echo "_____________________________________________________________________"
4940 echo "Eo's ID abstraction interface is a major safety system that"
4941 echo "protects code from crashing or misbehaving in many cases. It does"
4942 echo "come at a slight cost, but the safety and protection is worth it."
4943 echo "Also by disabling this, you may also introduce security holes in"
4944 echo "EFL as well as cause all sorts of previously non-existant crashes."
4945 echo "Seriously reconsider disabling EO ID."
4946 echo "_____________________________________________________________________"
4948 if test "x${want_evas_cserve2}" = "xno"; then
4949 echo "_____________________________________________________________________"
4950 echo "Evas Cserve is built and on by default and no testing is done"
4951 echo "for the old non-cserve2 code paths, so by disabling this you"
4952 echo "may be introducing bugs. Be aware of this and be prepared to"
4953 echo "deal with the bugs as a result of this."
4954 echo "_____________________________________________________________________"
4956 if test "x${want_audio}" = "xno"; then
4957 echo "_____________________________________________________________________"
4958 echo "You disabled audio support in Ecore. This is not tested and may"
4959 echo "Create bugs for you due to it creating untested code paths."
4960 echo "Reconsider disabling audio."
4961 echo "_____________________________________________________________________"
4963 if test "x${want_pulseaudio}" = "xno"; then
4964 echo "_____________________________________________________________________"
4965 echo "The only audio output method supported by Ecore right now is via"
4966 echo "Pulseaudio. You have disabled that and likely have broken a whole"
4967 echo "bunch of things in the process. Reconsider your configure options."
4968 echo "_____________________________________________________________________"
4970 if test "x${want_xinput2}" = "xno"; then
4971 echo "_____________________________________________________________________"
4972 echo "You have disabled xinput2 support. This means a whole lot of input"
4973 echo "devices in X11 will not work correctly. You likely do not want to"
4975 echo "_____________________________________________________________________"
4977 if test "x${want_xim}" = "xno"; then
4978 echo "_____________________________________________________________________"
4979 echo "You disabled XIM input method support. This is the most basic and"
4980 echo "core input method protocol supported in X11 and you almost certainly"
4981 echo "want the support for it. Input methods allow for complex text input"
4982 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
4983 echo "on touch/mobile devices."
4984 echo "_____________________________________________________________________"
4986 if test "x${want_scim}" = "xno"; then
4987 echo "_____________________________________________________________________"
4988 echo "SCIM is a modern and very common input method framework and you"
4989 echo "disabled support for it. You very likely want the support for"
4990 echo "complex language input, so please reconsider this. Input methods"
4991 echo "allow for complex text input like for Chinese, Japanese and Korean"
4992 echo "as well as virtual keyboards on touch/mobile devices."
4993 echo "_____________________________________________________________________"
4995 if test "x${want_libmount}" = "xno"; then
4996 echo "_____________________________________________________________________"
4997 echo "Libmount has been disabled, and it is used heavily inside Eeze"
4998 echo "for support of removable devices etc. and disabling this will"
4999 echo "hurt support for Enlightenment and its filemanager."
5000 echo "_____________________________________________________________________"
5002 if test "x${want_multisense}" = "xno"; then
5003 echo "_____________________________________________________________________"
5004 echo "Multisense has been disabled. This causes Edje audio suport to"
5005 echo "Simply not work, and will break applications and libraries"
5006 echo "that rely on it with users then reporting bugs."
5007 echo "If you want to mute audio, there are APIs and policies to do"
5008 echo "that, as opposed to compiling it out."
5009 echo "_____________________________________________________________________"
5011 if test "x${efl_api}" = "xeo"; then
5012 echo "_____________________________________________________________________"
5013 echo "Using the EO based EFL API only does not work at the moment. We still"
5014 echo "have a lot code that depends on the legacy interfaces. We provide"
5015 echo "this option for testing once we are able to migrate to the EO based"
5017 echo "If you are not working on this migration please leave the option set"
5018 echo "to both as it will break your build if set to eo."
5019 echo "_____________________________________________________________________"
5021 if test "x${want_libeeze}" = "xno"; then
5022 echo "_____________________________________________________________________"
5023 echo "Libeeze has been disabled, and it is used heavily for support of"
5024 echo "removable devices etc. and disabling this will hurt support for"
5025 echo "Enlightenment and its filemanager."
5026 echo "_____________________________________________________________________"
5028 echo "_____________________________________________________________________"
5030 echo "==-- WARNING --=="
5032 echo "_____________________________________________________________________"
5033 if test -n "$BARF_OK"; then
5034 echo "Please add the following option to acknowledge this:"
5035 echo " --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba"
5036 echo "_____________________________________________________________________"
5043 if test "x$prefix" != "x/usr"; then
5045 path=$dbusservicedir
5046 while test "x$old" != "x$path"; do
5048 eval path="\"$path\""
5050 resolved_dbusservicedir=$path
5053 path=$USER_SESSION_DIR
5054 while test "x$old" != "x$path"; do
5056 eval path="\"$path\""
5058 resolved_USER_SESSION_DIR=$path
5059 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5063 while test "x$old" != "x$path"; do
5065 eval path="\"$path\""
5067 resolved_datadir=$path
5070 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5071 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5072 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5073 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5078 needs_alert_systemd=0
5079 if test "$have_systemd_user_session" = "yes"; then
5080 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5081 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5082 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5083 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5085 needs_alert_systemd=1
5089 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5090 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5091 what_alert="dbus and systemd"
5092 elif test $needs_alert_dbus -eq 1; then
5095 what_alert="systemd"
5099 echo "#-------------------------------------------------------------------#"
5100 echo "##==-- ALERT --==##"
5101 echo "#-------------------------------------------------------------------#"
5103 echo " Your installation prefix is *NOT* /usr so this means you need"
5104 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5105 echo "be started when needed. You will need to do the following:"
5106 if test $needs_alert_dbus -eq 1; then
5108 echo "System-wide installation:"
5109 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5110 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service /usr/share/dbus-1/services/org.enlightenment.Efreet.service"
5112 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5114 echo "User installation:"
5115 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5116 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service ~/.local/share/dbus-1/services/org.enlightenment.Efreet.service"
5118 if test $needs_alert_systemd -eq 1; then
5120 echo "System-wide installation:"
5121 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5122 echo " ln -s ${resolved_USER_SESSION_DIR}/efreet.service /usr/lib/systemd/user/efreet.service"
5124 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5126 echo "User installation:"
5127 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5128 echo " ln -s ${resolved_USER_SESSION_DIR}/efreet.service ~/.config/systemd/user/efreet.service"
5131 echo "#-------------------------------------------------------------------#"
5135 if test "x${efl_deprecated_option}" = "xyes"; then
5137 echo "#-------------------------------------------------------------------#"
5138 echo "##==-- ALERT --==##"
5139 echo "#-------------------------------------------------------------------#"
5141 echo " Your build script is using a deprecated option. It will get b0rken"
5142 echo "with the next release of EFL. You better update it now than later."
5144 echo "#-------------------------------------------------------------------#"