1 EFL_VERSION([1], [15], [0], [release])
2 AC_INIT([efl], [efl_version-beta3], [enlightenment-devel@lists.sourceforge.net])
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
8 AC_CONFIG_HEADERS([config.h])
10 #ifndef EFL_CONFIG_H__
11 #define EFL_CONFIG_H__
14 #endif /* EFL_CONFIG_H__ */
18 AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects])
19 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
21 # Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
22 # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
23 AC_USE_SYSTEM_EXTENSIONS
27 #### Apply configuring with legacy api's only, eo api's or both.
29 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
30 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
33 #### For the moment the Eo EFL API is not ready you need to explicitely optin.
34 EFL_ENABLE_EO_API_SUPPORT
35 EFL_ENABLE_BETA_API_SUPPORT
38 [AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
44 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
45 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
54 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
56 *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
59 AC_SUBST(EFL_API_LEGACY_DEF)
60 AC_SUBST(EFL_API_EO_DEF)
62 #### Additional options to configure
64 # string to identify the build
66 [AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
67 @<:@default=none@:>@])],
68 [EFL_BUILD_ID="${withval}"],
69 [EFL_BUILD_ID="none"])
70 AC_SUBST(EFL_BUILD_ID)
73 AC_ARG_WITH([profile],
74 [AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
75 @<:@default=dev@:>@])],
76 [build_profile=${withval}],
77 [build_profile=def_build_profile])
79 case "${build_profile}" in
83 AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
88 case "${build_profile}" in
94 # TODO: add some build "profile" (server, full, etc...)
97 [AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
98 openssl, gnutls or none.
99 @<:@default=openssl@:>@])],
100 [build_crypto=${withval}],
101 [build_crypto=openssl])
103 case "${build_crypto}" in
107 AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
112 [AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none.
113 @<:@default=none@:>@])],
114 [build_tests=${withval}],
119 case "${build_tests}" in
121 if test "${build_profile}" = "dev"; then
135 AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
139 AC_ARG_WITH([ecore-con-http-test-url],
140 [AS_HELP_STRING([--with-ecore-con-http-test-url=http://username:password@example.com],[Url of http server for testing with username and password])],[ECORE_CON_HTTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_HTTP_TEST_URL],["$withval"],[Http url for testing])])
142 AC_ARG_WITH([ecore-con-ftp-test-url],
143 [AS_HELP_STRING([--with-ecore-con-ftp-test-url=ftp://username:password@ftp.example.com?file=filename&directory=dir],[Url of ftp server for testing with username, password, complete filepath for upload with optional directory])],[ECORE_CON_FTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_FTP_TEST_URL],["$withval"],[Ftp url for testing])])
145 dbusservicedir="${datadir}/dbus-1/services"
146 AC_ARG_WITH([dbus-services],
147 [AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
148 [dbusservicedir=$withval])
149 AC_SUBST(dbusservicedir)
151 efl_deprecated_option="no"
152 EFL_WITH_BIN([edje], [edje-cc])
153 EFL_WITH_BIN([eolian], [eolian-gen])
154 EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
155 EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
159 requirements_pc_eflall=""
160 requirements_pc_deps_eflall=""
161 requirements_libs_eflall=""
162 requirements_cflags_eflall=""
164 requirements_pc_crypto=""
165 requirements_pc_deps_crypto=""
166 requirements_libs_crypto=""
167 requirements_cflags_crypto=""
171 # TODO: move me to m4 file that setups module/so related variables
174 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
179 MODULE_ARCH="v-v_maj.v_min"
183 MODULE_ARCH="v-v_maj.v_min"
187 MODULE_ARCH="v-v_maj.v_min"
192 EFL_VERSION_MAJOR="v_maj"
193 EFL_VERSION_MINOR="v_min"
194 AC_SUBST(EFL_VERSION_MAJOR)
195 AC_SUBST(EFL_VERSION_MINOR)
197 have_systemd_pkg="no"
206 # TODO: check cygwin* here
209 EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
219 have_systemd_pkg="auto"
223 case "$host_vendor" in
229 AC_SUBST([MODULE_ARCH])
230 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
231 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
232 AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
234 # TODO: move me to m4 file that setups the windows related variables
235 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
236 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
237 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
239 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
240 AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
241 AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
243 #### Checks for programs
247 if test "x${have_windows}" = "xyes" ; then
248 lt_cv_deplibs_check_method='pass_all'
250 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
251 LT_INIT([win32-dll disable-static pic-only])
256 AM_GNU_GETTEXT_VERSION([0.18])
258 m4_ifdef([AC_GNU_GETTEXT], [
259 AC_GNU_GETTEXT([external])
260 po_makefile_in=po/Makefile.in
264 m4_ifdef([AM_GNU_GETTEXT], [
265 AM_GNU_GETTEXT([external])
266 po_makefile_in=po/Makefile.in
273 AC_SUBST([LTLIBINTL])
274 LOCALE_DIR="${localedir}"
277 if test "x${POSUB}" = "x" ; then
281 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
294 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
296 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
297 AC_MSG_ERROR([efl requires a c99-capable compiler])
299 # We should be using ${CXX} here, but there is a bug in
300 # autotools macro and CXX is always set to g++ even if
301 # it's not found. So we are using an internal variable
302 # that does the work for now, may get broken in the future.
303 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
304 AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
312 if test "x${PKG_CONFIG}" = "x" ; then
313 AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
316 # doxygen program for documentation building
318 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
322 if test "${want_coverage}" = "yes" ; then
323 AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
324 if test "x${have_lcov}" = "xyes" ; then
325 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -fprofile-arcs -ftest-coverage"
326 EFLALL_COV_LIBS="${EFLALL_COV_LIBS} -lgcov"
327 if test "x${prefer_assert}" = "xno"; then
328 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
330 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0 -DDEBUG"
333 AC_MSG_ERROR([lcov is not found])
337 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
339 #### Checks for libraries
341 # check unit testing library
343 if test "${want_tests}" = "yes"; then
344 PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
346 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
349 # check for crypto/tls library to use
350 case "$build_crypto" in
352 EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16])
354 AM_PATH_LIBGCRYPT([], [:],
355 [AC_MSG_ERROR([libgcrypt required but not found])])
356 requirements_libs_crypto="${LIBGCRYPT_LIBS} ${requirements_libs_crypto}"
357 requirements_cflags_crypto="${LIBGCRYPT_CFLAGS} ${requirements_cflags_crypto}"
361 EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
364 AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
365 AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
369 AC_ARG_ENABLE([lua-old],
370 [AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
372 if test "x${enableval}" = "xyes" ; then
380 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
381 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
382 [1], [Use interpreted Lua (5.1 or 5.2)])
383 AC_SUBST([want_lua_old])
387 AC_ARG_ENABLE([liblz4],
388 [AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
390 if test "x${enableval}" = "xyes" ; then
391 # Only ships pc file since r120
392 PKG_CHECK_MODULES([LIBLZ4], [liblz4])
393 EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
394 EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
402 AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
403 AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
404 AC_SUBST([want_liblz4])
405 AC_SUBST([ENABLE_LIBLZ4])
407 #### Checks for header files
409 # Common Checks (keep names sorted for ease of use):
427 #### Checks for types
430 AC_CHECK_SIZEOF([wchar_t])
431 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
432 AC_SUBST([EINA_SIZEOF_WCHAR_T])
434 AC_CHECK_SIZEOF(int, 4)
435 AC_CHECK_SIZEOF(long, 4)
437 AC_CHECK_SIZEOF([uintptr_t])
439 AC_CHECK_TYPES([siginfo_t], [], [],
443 # include <siginfo.h>
447 #### Checks for structures
450 #### Checks for compiler characteristics
454 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
455 EFL_CHECK_LINKER_FLAGS([EFLALL], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries])
456 case "${build_profile}" in
458 dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
459 AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
460 CFLAGS_save="${CFLAGS}"
461 CFLAGS="${CFLAGS} -Werror -Wshadow"
462 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
463 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
464 CFLAGS="${CFLAGS_save}"
475 EFL_ATTRIBUTE_ALWAYS_INLINE
477 EFLALL_LIBS="${EFLALL_LIBS}"
478 EFLALL_CFLAGS="${EFLALL_CFLAGS}"
480 ## CPU architecture specific assembly
484 build_cpu_altivec="no"
488 AC_ARG_ENABLE([neon],
489 [AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
491 if test "x${enableval}" = "xyes"; then
504 AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
506 AC_CHECK_HEADER([immintrin.h],
508 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
511 [build_cpu_sse3="no"])
512 AC_MSG_CHECKING([whether to build SSE3 code])
513 AC_MSG_RESULT([${build_cpu_sse3}])
515 if test "x$build_cpu_sse3" = "xyes" ; then
520 build_cpu_altivec="yes"
521 AC_CHECK_HEADER([altivec.h],
523 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
524 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
525 build_cpu_altivec="yes"
529 save_CPPFLAGS=$CPPFLAGS
530 CFLAGS=$CFLAGS" -maltivec"
531 CPPFLAGS=$CPPFLAGS" -maltivec"
532 unset ac_cv_header_altivec_h
533 AC_CHECK_HEADER([altivec.h],
535 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
536 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
537 build_cpu_altivec="yes"
539 [build_cpu_altivec="no"]
542 CPPFLAGS=$save_CPPFLAGS
545 if test "x${build_cpu_altivec}" = "xyes"; then
546 AC_MSG_CHECKING([whether to use altivec compiler flag])
547 if test "x$GCC" = "xyes"; then
548 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
549 altivec_cflags="-faltivec"
550 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
551 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
552 altivec_cflags="-maltivec"
553 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
556 AC_MSG_RESULT([${altivec_cflags}])
557 CFLAGS="$CFLAGS ${altivec_cflags}"
558 ALTIVEC_CFLAGS="-maltivec"
562 if test "x${want_neon}" = "xyes"; then
564 AC_MSG_CHECKING([whether to use NEON instructions])
565 CFLAGS_save="${CFLAGS}"
566 CFLAGS="${CFLAGS} -mfpu=neon -ftree-vectorize"
567 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
569 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
571 NEON_CFLAGS="-mfpu=neon"
576 CFLAGS="${CFLAGS_save}"
580 if test "x${want_neon}" = "xyes"; then
582 AC_MSG_CHECKING([whether to use NEON instructions])
583 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
585 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
586 AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
596 AC_SUBST([ALTIVEC_CFLAGS])
597 AC_SUBST([SSE3_CFLAGS])
598 AC_SUBST([NEON_CFLAGS])
600 #### Checks for linker characteristics
603 #### Checks for library functions
624 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl])
626 have_atfile_source="${ac_cv_func_fstatat}"
627 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
628 [test "x${have_atfile_source}" = "xyes"],
629 [1], [Use fstatat and other -at file functions])
633 ###################### EFL ######################
636 AC_ARG_ENABLE([libeeze],
637 [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
639 if test "x${enableval}" = "xyes"; then
648 if test "x${want_libeeze}" = "xyes" ; then
649 if test "x${have_linux}" = "xyes" ; then
659 AC_ARG_ENABLE([systemd],
660 [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
662 if test "x${enableval}" = "xyes" ; then
671 systemd_dbus_prefix="# "
672 if test "${want_systemd}" = "yes"; then
673 systemd_dbus_prefix=""
675 AC_SUBST(systemd_dbus_prefix)
677 AC_ARG_WITH([systemdunitdir],
678 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
679 [USER_SESSION_DIR=${withval}])
680 if test "$want_systemd" == "no"; then
681 have_systemd_user_session="no"
682 elif test -n "${USER_SESSION_DIR}"; then
683 have_systemd_user_session="yes"
684 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
686 # Detect systemd user session directory properly
687 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
688 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
690 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
691 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
695 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
696 AC_SUBST([USER_SESSION_DIR])
698 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
699 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 192 libsystemd-journal >= 192],
700 [have_systemd_pkg="yes"],
701 [have_systemd_pkg="no"])
704 PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198],
705 [have_systemd_login=yes], [have_systemd_login=no])
706 AS_IF([test "x$have_systemd_login" = "xyes"],
707 [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
708 AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
710 # check for systemd library if requested
711 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
712 AC_MSG_ERROR([Systemd dependency requested but not found])
715 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
717 #### Platform-dependent
722 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
726 ### Additional options to configure
727 EFL_SELECT_WINDOWS_VERSION
729 ### Checks for programs
731 ### Checks for libraries
733 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
734 EVIL_DLFCN_LIBS="-lpsapi"
736 AC_SUBST([EVIL_DLFCN_LIBS])
738 ### Checks for header files
742 ### Checks for structures
744 ### Checks for compiler characteristics
746 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
747 # TODO: should we have these at EFL (global?)
748 # Note: these warnings should not be used with C++ code
749 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
750 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
752 if test "x${have_win32}" = "xyes" ; then
753 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
754 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
757 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
758 AC_SUBST([EVIL_CFLAGS_WRN])
759 AC_SUBST([EVIL_CXXFLAGS])
761 ### Checks for linker characteristics
763 ### Checks for library functions
765 DL_LIBS="lib/evil/libdl.la"
766 DL_INTERNAL_LIBS="lib/evil/libdl.la"
768 EFL_LIB_END_OPTIONAL([Evil])
770 AC_SUBST([USE_EVIL_CFLAGS])
771 AC_SUBST([USE_EVIL_LIBS])
776 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
778 ### Additional options to configure
782 ### Checks for programs
784 ### Checks for libraries
785 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
787 ### Checks for header files
791 ### Checks for structures
793 ### Checks for compiler characteristics
795 ### Checks for linker characteristics
797 ### Checks for library functions
799 EFL_LIB_END_OPTIONAL([Escape])
802 EFL_CHECK_FUNC([SHM], [shm_open])
803 SHM_LIBS="${requirements_libs_shm}"
807 AC_SUBST([DL_INTERNAL_LIBS])
808 #### End of Platform-dependent
813 EFL_LIB_START([Eina])
817 have_safety_checks="yes"
819 case "${build_profile}" in
821 with_max_log_level=""
822 have_stringshare_usage="no"
824 want_debug_malloc="no"
825 want_debug_threads="no"
826 want_default_mempool="no"
831 with_max_log_level=""
832 have_stringshare_usage="yes"
834 want_debug_malloc="yes"
835 want_debug_threads="yes"
836 want_default_mempool="yes"
841 with_max_log_level="3"
842 have_stringshare_usage="no"
844 want_debug_malloc="no"
845 want_debug_threads="no"
846 want_default_mempool="no"
851 PKG_CHECK_MODULES(UNWIND, [libunwind libunwind-generic],
852 [have_unwind=yes], [have_unwind=no])
853 AS_IF([test "x$have_unwind" = "xyes"],
854 [AC_DEFINE([HAVE_UNWIND], [1], [Have libunwind])])
855 AM_CONDITIONAL(HAVE_UNWIND, test "x$have_unwind" = "xyes")
857 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
858 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
859 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
861 if test -n "${with_max_log_level}"; then
862 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
863 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
866 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
867 [test "x${have_stringshare_usage}" = "xyes"],
868 [1], [Report Eina stringshare usage pattern])
870 ### Additional options to configure
871 AC_ARG_ENABLE([magic-debug],
872 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
874 if test "x${enableval}" = "xyes" ; then
875 have_magic_debug="yes"
877 have_magic_debug="no"
880 [have_magic_debug="yes"])
882 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
884 AC_ARG_WITH([xattr-tests-path],
885 [AS_HELP_STRING([--with-xattr-tests-path=DIR],[path of xattr enabled directory to create test files])],[XATTR_TEST_DIR=${withval}][AC_DEFINE_UNQUOTED([XATTR_TEST_DIR],["$withval"], [xattr enabled directory])])
887 ### Checks for programs
889 ### Checks for libraries
890 EFL_PLATFORM_DEPEND([EINA], [all])
892 EFL_ADD_LIBS([EINA], [-lm])
897 AC_ARG_ENABLE([valgrind],
898 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
900 if test "x${enableval}" = "xyes" ; then
907 if test "${want_valgrind}" = "auto"; then
908 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
910 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
913 if test "${want_valgrind}" = "no"; then
914 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
916 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
917 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
920 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
921 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
922 [1], [Turn on debugging overhead in mempool])
924 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
925 [test "x${want_cow_magic}" = "xyes" ],
926 [1], [Turn on Eina_Magic in Eina_Cow])
928 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd-journal])
930 EFL_EVAL_PKGS([EINA])
936 PKG_CHECK_MODULES([GLIB],
941 if test "x${have_glib}" = "xyes" ; then
942 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
945 ### Checks for header files
947 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
948 CFLAGS_save="${CFLAGS}"
949 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
950 AC_CHECK_HEADERS([sys/mman.h])
951 CFLAGS="${CFLAGS_save}"
953 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
957 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
958 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
959 [1], [Define to 1 if you have a valid <dirent.h> header file.])
961 ### Checks for structures
963 ### Checks for compiler characteristics
964 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
966 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
967 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
968 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
970 ### Checks for linker characteristics
972 ### Checks for library functions
974 AC_CHECK_FUNCS([fchmod])
976 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
979 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
983 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
984 AC_MSG_RESULT([${enable_log}])
986 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
989 if test "x${efl_have_threads}" = "xno"; then
993 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
994 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
996 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
997 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
998 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
999 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
1000 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
1001 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1005 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1006 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1007 EINA_CHECK_MODULE([one-big], [static], [one big])
1009 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1015 EFL_LIB_START([Eina_Cxx])
1017 EFL_CXX_COMPILE_STDCXX_11([ext])
1018 AC_ARG_ENABLE([cxx-bindings],
1019 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1020 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1022 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1028 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1030 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1031 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1032 EFL_EVAL_PKGS([EINA_CXX])
1034 EFL_LIB_END([Eina_Cxx])
1035 #### End of Eina CXX
1043 ### Additional options to configure
1045 ### Checks for programs
1047 ## Compatibility layers
1048 EFL_PLATFORM_DEPEND([EO], [evil])
1050 ### Checks for libraries
1051 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1053 # Example (evas one)
1055 # TODO: add once elementary is merged
1056 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1057 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1059 ### Checks for header files
1061 ### Checks for types
1063 ### Checks for structures
1065 ### Checks for compiler characteristics
1067 ### Checks for linker characteristics
1069 ### Checks for library functions
1070 EFL_CHECK_FUNCS([EO], [dladdr])
1072 ### Check availability
1078 EFL_LIB_START([Eet_Cxx])
1080 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1081 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1083 EFL_EVAL_PKGS([EET_CXX])
1085 EFL_LIB_END([Eet_Cxx])
1090 EFL_LIB_START([Emile])
1094 ### Additional options to configure
1096 ### Checks for programs
1098 ### Checks for libraries
1100 EFL_CHECK_LIBS([EMILE], [libjpeg])
1102 ## Compatibility layers
1103 EFL_PLATFORM_DEPEND([EMILE], [evil])
1105 EFL_ADD_LIBS([EMILE], [-lm])
1107 # Cryptography support
1108 if test "$build_crypto" != "none" ; then
1109 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1110 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1111 EFL_CRYPTO_DEPEND([EMILE])
1114 EFL_CHECK_LIBS([EMILE], [zlib])
1116 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1118 EFL_EVAL_PKGS([EMILE])
1120 ### Checks for header files
1122 ### Checks for types
1124 ### Checks for structures
1126 ### Checks for compiler characteristics
1128 ### Checks for linker characteristics
1130 ### Checks for library functions
1132 ### Check availability
1134 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1136 EFL_LIB_END([Emile])
1142 EFL_LIB_START([Eet])
1146 ### Additional options to configure
1148 ### Checks for programs
1150 ### Checks for libraries
1152 EFL_CHECK_LIBS([EET], [libjpeg])
1154 ## Compatibility layers
1155 EFL_PLATFORM_DEPEND([EET], [evil])
1157 EFL_ADD_LIBS([EET], [-lm])
1159 # Cryptography support
1160 if test "$build_crypto" != "none" ; then
1161 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1162 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1163 EFL_CRYPTO_DEPEND([EET])
1166 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1167 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1169 EFL_EVAL_PKGS([EET])
1171 ### Checks for header files
1173 ### Checks for types
1175 ### Checks for structures
1177 ### Checks for compiler characteristics
1179 ### Checks for linker characteristics
1181 ### Checks for library functions
1183 ### Check availability
1189 EFL_LIB_START([Eo_Cxx])
1191 EFL_EVAL_PKGS([EO_CXX])
1193 EFL_LIB_END([Eo_Cxx])
1198 EFL_LIB_START([Eolian])
1202 ### Additional options to configure
1203 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1205 ### Checks for programs
1207 ## Compatibility layers
1208 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1210 ### Checks for libraries
1211 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1213 ### Checks for header files
1215 ### Checks for types
1217 ### Checks for structures
1219 ### Checks for compiler characteristics
1221 ### Checks for linker characteristics
1223 ### Checks for library functions
1225 ### Check availability
1227 EFL_LIB_END([Eolian])
1230 EFL_LIB_START([Eolian_Cxx])
1233 ### Additional options to configure
1235 ### Checks for programs
1237 ## Compatibility layers
1239 ### Checks for libraries
1240 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1241 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1243 ### Checks for header files
1245 ### Checks for types
1247 ### Checks for structures
1249 ### Checks for compiler characteristics
1251 ### Checks for linker characteristics
1253 ### Checks for library functions
1255 ### Check availability
1256 EFL_LIB_END([Eolian_Cxx])
1260 EFL_LIB_START([Efl])
1262 EFL_PLATFORM_DEPEND([EFL], [evil])
1263 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1264 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1266 EFL_ADD_LIBS([EFL], [-lm])
1273 EFL_LIB_START([Ector])
1278 ### Additional options to configure
1280 ### Checks for programs
1282 ### Checks for libraries
1284 ## Compatibility layers
1286 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1288 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1289 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1290 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1292 EFL_ADD_LIBS([ECTOR], [-lm])
1294 EFL_EVAL_PKGS([ECTOR])
1296 ### Checks for header files
1298 ### Checks for types
1300 ### Checks for structures
1302 ### Checks for compiler characteristics
1304 ### Checks for linker characteristics
1306 ### Checks for library functions
1308 ### Check availability
1310 EFL_LIB_END([ECTOR])
1316 EFL_LIB_START([Evas])
1318 ### Additional options to configure
1322 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1324 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1326 elif test "x${with_x11}" = "x"; then
1334 case "${with_x11}" in
1342 CFOPT_WARNING="xyes"
1348 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1353 AC_ARG_WITH([opengl],
1354 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1356 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1358 elif test "x${with_opengl}" = "x"; then
1362 case "${with_opengl}" in
1366 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1370 want_x11_xlib_opengl="no"
1371 want_x11_xcb_opengl="no"
1372 if test "${with_opengl}" != "none"; then
1373 want_x11_xlib_opengl="${want_x11_xlib}"
1374 want_x11_xcb_opengl="${want_x11_xcb}"
1375 want_x11_any_opengl="${want_x11_any}"
1379 AC_ARG_ENABLE([wayland],
1380 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1382 if test "x${enableval}" = "xyes" ; then
1388 [want_wayland="no"])
1390 if test "${want_wayland}" = "yes"; then
1391 EFL_PKG_CHECK_STRICT([wayland-client >= 1.3.0])
1395 AC_ARG_ENABLE([wayland-ivi-shell],
1396 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1398 if test "x${enableval}" = "xyes" ; then
1399 want_wayland_ivi_shell="yes"
1401 want_wayland_ivi_shell="no"
1404 [want_wayland_ivi_shell="no"])
1408 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1410 if test "x${enableval}" = "xyes" ; then
1419 AC_ARG_ENABLE([sdl],
1420 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1422 if test "x${enableval}" = "xyes" ; then
1430 if test "${want_sdl}" = "yes"; then
1431 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1434 # We only enable SDL with opengl if it is not the full version and not ES
1435 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1436 # versions the SDL_opengles.h has never been released.
1438 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1439 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1441 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1446 AC_ARG_ENABLE([cocoa],
1447 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1449 if test "x${enableval}" = "xyes" ; then
1457 if test "${want_cocoa}" = "yes"; then
1458 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1461 m4_ifdef([AC_PROG_OBJC],
1463 if test "x${have_gnu_objc}" = "xyes" ; then
1464 AC_LANG_PUSH([Objective C])
1466 LIBS="$LIBS -framework Cocoa"
1470 #include <Cocoa/Cocoa.h>
1474 window = [[NSWindow alloc]
1475 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1476 styleMask:(NSTitledWindowMask)
1477 backing:NSBackingStoreBuffered
1484 cocoa_ldflags="-framework Cocoa"
1488 AC_MSG_CHECKING([whether Cocoa framework is supported])
1489 AC_MSG_RESULT([${have_cocoa}])
1490 AC_LANG_POP([Objective C])
1494 AC_SUBST(cocoa_ldflags)
1496 if test "x${want_cocoa}" = "xyes"; then
1497 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1498 cocoa_coreservices_ldflags=""
1499 have_cocoa_coreservices="no"
1500 m4_ifdef([AC_PROG_OBJC],
1502 if test "x${have_gnu_objc}" = "xyes" ; then
1503 AC_LANG_PUSH([Objective C])
1505 LIBS="$LIBS -framework CoreServices"
1509 #include <CoreServices/CoreServices.h>
1512 //test function here
1515 have_cocoa_coreservices="yes"
1516 cocoa_coreservices_ldflags="-framework CoreServices"
1518 [have_cocoa_coreservices="no"])
1520 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1521 AC_MSG_RESULT([${have_cocoa_coreservices}])
1522 AC_LANG_POP([Objective C])
1526 AC_SUBST(cocoa_coreservices_ldflags)
1529 AC_ARG_ENABLE([drm],
1530 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1532 if test "x${enableval}" = "xyes" ; then
1541 AC_ARG_ENABLE([gl-drm],
1542 [AC_HELP_STRING([--enable-gl-drm],
1543 [enable gl drm engine. @<:@default=disabled@:>@])],
1545 if test "x${enableval}" = "xyes" ; then
1553 AC_ARG_ENABLE([fontconfig],
1554 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1556 if test "x${enableval}" = "xyes" ; then
1557 want_fontconfig="yes"
1559 want_fontconfig="no"
1560 CFOPT_WARNING="xyes"
1563 [want_fontconfig="yes"])
1566 AC_ARG_ENABLE([fribidi],
1567 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1569 if test "x${enableval}" = "xyes" ; then
1573 CFOPT_WARNING="xyes"
1576 [want_fribidi="yes"])
1579 AC_ARG_ENABLE([eo_id],
1580 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1582 if test "x${enableval}" = "xyes" ; then
1586 CFOPT_WARNING="xyes"
1592 AC_ARG_ENABLE([harfbuzz],
1593 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1595 if test "x${enableval}" = "xyes" ; then
1601 [want_harfbuzz="no"])
1604 AC_ARG_ENABLE([egl],
1605 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1607 if test "x${enableval}" = "xyes" ; then
1616 AC_ARG_ENABLE([pixman],
1617 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1619 if test "x${enableval}" = "xyes" ; then
1621 CFOPT_WARNING="xyes"
1628 AC_ARG_ENABLE([pixman-font],
1629 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1631 if test "x${enableval}" = "xyes" ; then
1632 have_pixman_font="yes"
1634 have_pixman_font="no"
1637 [have_pixman_font="no"])
1639 AC_ARG_ENABLE([pixman-rect],
1640 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1642 if test "x${enableval}" = "xyes" ; then
1643 have_pixman_rect="yes"
1645 have_pixman_rect="no"
1648 [have_pixman_rect="no"])
1650 AC_ARG_ENABLE([pixman-line],
1651 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1653 if test "x${enableval}" = "xyes" ; then
1654 have_pixman_line="yes"
1656 have_pixman_line="no"
1659 [have_pixman_line="no"])
1661 AC_ARG_ENABLE(pixman-poly,
1662 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1664 if test "x${enableval}" = "xyes" ; then
1665 have_pixman_poly="yes"
1667 have_pixman_poly="no"
1670 [have_pixman_poly="no"])
1672 AC_ARG_ENABLE([pixman-image],
1673 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1675 if test "x${enableval}" = "xyes" ; then
1676 have_pixman_image="yes"
1678 have_pixman_image="no"
1681 [have_pixman_image="no"])
1683 AC_ARG_ENABLE([pixman-image-scale-sample],
1684 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1686 if test "x${enableval}" = "xyes" ; then
1687 have_pixman_image_scale_sample="yes"
1689 have_pixman_image_scale_sample="no"
1692 [have_pixman_image_scale_sample="no"])
1695 AC_ARG_ENABLE([tile-rotate],
1696 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1698 if test "x${enableval}" = "xyes" ; then
1699 have_tile_rotate="yes"
1700 CFOPT_WARNING="xyes"
1702 have_tile_rotate="no"
1705 [have_tile_rotate="no"])
1708 AC_ARG_ENABLE([ecore-buffer],
1709 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
1711 if test "x${enableval}" = "xyes" ; then
1712 want_ecore_buffer="yes"
1714 want_ecore_buffer="no"
1717 [want_ecore_buffer="no"])
1721 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1722 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1723 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1724 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1725 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1726 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1727 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1728 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1729 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1730 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1731 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1732 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1733 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1734 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1735 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1736 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1737 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1741 want_evas_engine_software_gdi="${have_win32}"
1742 want_evas_engine_software_ddraw="${have_win32}"
1743 want_evas_engine_gl_cocoa="${want_cocoa}"
1744 want_evas_engine_wayland_egl="no"
1745 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1746 want_evas_engine_wayland_egl="yes"
1749 if test "${want_lua_old}" = "yes"; then
1750 EFL_CHECK_LUA_OLD([EVAS])
1752 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1755 EFL_ADD_FEATURE([EVAS], [lua-old])
1757 EFL_CHECK_FUNC([EVAS], [dlsym])
1759 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1760 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1763 ### Checks for programs
1765 ### Checks for libraries
1767 ## Compatibility layers
1768 EFL_PLATFORM_DEPEND([EVAS], [all])
1769 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1770 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1771 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1772 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1773 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1774 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1776 EFL_ADD_LIBS([EVAS], [-lm])
1779 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1781 ## optional dependencies
1784 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1785 [FONTCONFIG], [fontconfig >= 2.5.0])
1788 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1789 [FRIBIDI], [fribidi >= 0.19.2])
1792 have_harfbuzz_ft="no"
1793 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1794 [HARFBUZZ], [harfbuzz >= 0.9.0])
1797 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1799 if test "x${have_pixman}" = "xyes" ; then
1800 if test "x${have_pixman_font}" = "xyes" ; then
1801 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1803 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1805 if test "x${have_pixman_rect}" = "xyes" ; then
1806 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1808 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1810 if test "x${have_pixman_line}" = "xyes" ; then
1811 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1813 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1815 if test "x${have_pixman_poly}" = "xyes" ; then
1816 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1818 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1820 if test "x${have_pixman_image}" = "xyes" ; then
1821 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1823 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1825 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1826 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1828 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1833 define([EVAS_ENGINE_DEP_CHECK_FB], [
1834 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1837 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1838 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1841 EVAS_ENGINE([buffer], [static])
1842 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1843 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1846 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1847 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1848 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1849 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1850 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1851 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1852 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1853 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1858 have_evas_engine_software_xcb="no"
1859 if test "${with_x11}" = "xcb" ; then
1860 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1862 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1863 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1866 AC_MSG_CHECKING([whether to build Software XCB Engine])
1867 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1869 # No Software XCB ? Then try Software Xlib
1871 have_evas_engine_software_xlib="no"
1872 if test "x${want_x11_xcb}" = "xno" ; then
1873 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1875 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1876 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1879 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1880 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1882 # If software_x11 is available, define everything needed for X11
1884 have_evas_engine_software_x11="no"
1885 if test "x${have_evas_engine_software_xlib}" = "xyes" || test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xyes" || test "x${have_evas_engine_software_xcb}" = "xstatic" ; then
1886 have_evas_engine_software_x11="yes"
1887 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1889 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1891 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1892 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1894 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1896 # Needed for evas-software-x11.pc
1898 AC_SUBST([have_evas_engine_software_xlib])
1899 AC_SUBST([have_evas_engine_software_xcb])
1902 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1903 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1907 if test "${with_opengl}" = "es" ; then
1908 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1913 have_evas_engine_gl_xcb="no"
1914 if test "${want_x11_xcb_opengl}" = "yes"; then
1915 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1917 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1918 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1921 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1922 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1924 # No openGL XCB ? Then try OpenGL Xlib
1926 have_evas_engine_gl_xlib="no"
1927 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1928 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1930 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1931 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1934 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1935 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1937 # If opengl_x11 is available, define everything needed for X11
1939 have_evas_engine_gl_x11="no"
1940 if test "x${have_evas_engine_gl_xlib}" = "xyes" || test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xyes" || test "x${have_evas_engine_gl_xcb}" = "xstatic" ; then
1941 have_evas_engine_gl_x11="yes"
1942 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1944 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1946 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1947 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1949 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1951 # Needed for evas-opengl-x11.pc
1953 AC_SUBST([have_evas_engine_gl_xlib])
1954 AC_SUBST([have_evas_engine_gl_xcb])
1958 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1959 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1960 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1961 [#include <SDL/SDL_video.h>])
1964 if test "${with_opengl}" = "es"; then
1965 AC_CHECK_DECL([SDL_OPENGLES],
1966 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1967 [#include <SDL/SDL_video.h>])
1971 evas_engine_gl_common_cflags=""
1972 if test "x${have_egl}" = "xyes"; then
1973 evas_engine_gl_common_libs="-lEGL"
1975 evas_engine_gl_common_libs="-lGL"
1978 # The lines below fix compiling/linking of gl_generic on OSX
1979 if test "x${have_darwin}" = "xyes"; then
1980 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1981 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1982 # CFLAGS and LIBS are determined by evas-gl_cocoa.
1983 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1984 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
1986 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
1987 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
1988 # cannot compile (nor link).
1989 evas_engine_gl_common_libs=""
1990 evas_engine_gl_common_cflags=""
1992 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
1993 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
1994 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
1996 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2000 AC_SUBST([evas_engine_gl_common_cflags])
2001 AC_SUBST([evas_engine_gl_common_libs])
2003 have_evas_engine_gl_common="no"
2004 have_static_evas_engine_gl_common="no"
2005 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2006 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2007 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2008 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2009 test "x$have_evas_engine_gl_drm" = "xyes" || \
2010 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2011 have_evas_engine_gl_common="yes"
2013 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2014 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2015 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2016 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2017 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2018 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2019 have_evas_engine_gl_common="yes"
2020 have_static_evas_engine_gl_common="yes"
2023 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2024 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2027 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2029 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2030 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2033 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2038 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2039 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2040 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2041 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2042 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2043 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2044 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2045 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2046 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2047 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2048 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2049 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2050 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2051 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2052 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2053 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2054 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2056 EFL_EVAL_PKGS([EVAS])
2058 ### Checks for header files
2060 if test "x$have_harfbuzz" = "xyes" ; then
2062 CPPFLAGS_SAVE="$CPPFLAGS"
2063 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2064 # must have for usage with harfbuzz although harfbuzz may not have it.
2066 AC_CHECK_HEADER([hb-ft.h],
2068 have_harfbuzz_ft="yes"
2069 #Depend on harfbuzz ft for harfbuzz support
2070 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2072 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2074 CPPFLAGS="$CPPFLAGS_SAVE"
2077 ### Checks for types
2079 CPPFLAGS_SAVE="$CPPFLAGS"
2080 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2081 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2082 CPPFLAGS="$CPPFLAGS_SAVE"
2085 if test "x$have_fribidi" = "xyes" ; then
2086 CPPFLAGS_SAVE="$CPPFLAGS"
2087 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2088 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2089 CPPFLAGS="$CPPFLAGS_SAVE"
2092 ### Checks for structures
2094 AC_CHECK_TYPES([struct sigaction], [], [],
2095 [[#include <signal.h>]])
2097 ### Checks for compiler characteristics
2099 ### Checks for linker characteristics
2101 ### Checks for library functions
2103 AC_CHECK_FUNCS([siglongjmp])
2105 AC_CHECK_LIB([m], [lround],
2106 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2107 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2113 AC_ARG_ENABLE([cserve],
2114 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2116 if test "x${enableval}" = "xyes" ; then
2117 want_evas_cserve2="yes"
2119 want_evas_cserve2="no"
2120 CFOPT_WARNING="xyes"
2123 [want_evas_cserve2="yes"])
2125 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2126 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2129 # cserve2 only works on Linux so far.
2131 if test "x${efl_func_shm_open}" = "xno" ; then
2132 want_evas_cserve2="no"
2135 if test "x${want_evas_cserve2}" = "xyes"; then
2136 if test "x${ac_cv_header_sys_epoll_h}" = "xno" || test "x${ac_cv_header_sys_inotify_h}" = "xno" || test "x${ac_cv_header_sys_signalfd_h}" = "xno"; then
2137 want_evas_cserve2="no"
2139 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2140 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2144 AC_DEFINE_IF([EVAS_CSERVE2],
2145 [test "x${want_evas_cserve2}" = "xyes"],
2146 [1], [Shared cache server.])
2147 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2153 if test "x${have_tile_rotate}" = "xyes" ; then
2154 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2160 AC_ARG_WITH([evas-dither-mask],
2161 [AS_HELP_STRING([--with-evas-dither-mask=TYPE],[use the specified dither mask to convert bitdepths in Evas, one of: big, small, line or none.
2162 @<:@default=big@:>@])],
2163 [build_evas_dither_mask=${withval}],
2164 [build_evas_dither_mask=big])
2166 case "${build_evas_dither_mask}" in
2168 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2171 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2174 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2177 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2180 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2183 EFL_ADD_FEATURE([EVAS], [fontconfig])
2184 EFL_ADD_FEATURE([EVAS], [fribidi])
2185 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2186 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2187 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2188 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2194 EFL_LIB_START([Evas_Cxx])
2196 EFL_EVAL_PKGS([EVAS_CXX])
2198 EFL_LIB_END([Evas_Cxx])
2199 #### End of Edje CXX
2203 EFL_LIB_START([Embryo])
2207 ### Additional options to configure
2209 ### Checks for programs
2211 ### Checks for libraries
2212 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2213 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2215 EFL_ADD_LIBS([EMBRYO], [-lm])
2217 ### Checks for header files
2219 ### Checks for types
2221 ### Checks for structures
2223 ### Checks for compiler characteristics
2225 ### Checks for linker characteristics
2227 ### Checks for library functions
2229 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2230 AC_MSG_ERROR([Cannot find fnmatch()])
2233 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2234 AC_MSG_ERROR([Cannot find gettimeofday()])
2237 ### Check availability
2239 EFL_LIB_END([Embryo])
2245 EFL_LIB_START([Ecore])
2247 ### Additional options to configure
2252 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2254 if test "x${withval}" = "xyes" ; then
2257 if test "x${withval}" = "xalways" ; then
2266 AC_ARG_ENABLE([g-main-loop],
2267 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2269 if test "x${enableval}" = "xyes" ; then
2270 want_g_main_loop="yes"
2271 CFOPT_WARNING="xyes"
2273 want_g_main_loop="no"
2276 [want_g_main_loop="no"])
2278 AC_ARG_ENABLE([gstreamer],
2279 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2281 if test "x${enableval}" = "xyes" ; then
2282 want_gstreamer="yes"
2283 CFOPT_WARNING="xyes"
2288 [want_gstreamer="no"])
2290 AC_ARG_ENABLE([gstreamer1],
2291 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2293 if test "x${enableval}" = "xyes" ; then
2294 want_gstreamer1="yes"
2296 want_gstreamer1="no"
2297 CFOPT_WARNING="xyes"
2300 [want_gstreamer1="yes"])
2302 AC_ARG_ENABLE([tizen],
2303 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2305 if test "x${enableval}" = "xyes" ; then
2313 if test "${want_tizen}" = "yes"; then
2314 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2316 [have_tizen_vconf="yes"],
2317 [have_tizen_vconf="no"])
2318 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2321 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2322 if test "${have_tizen_vconf}" = "yes"; then
2323 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2328 if test "${have_windows}" = "yes"; then
2333 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2337 want_ecore_timer_dump="no"
2338 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2339 want_ecore_timer_dump="yes"
2340 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2343 ### Checks for programs
2345 ### Checks for libraries
2346 EFL_PLATFORM_DEPEND([ECORE], [all])
2347 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2348 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2349 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2351 EFL_ADD_LIBS([ECORE], [-lm])
2355 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2356 if test "x${have_glib}" = "xno"; then
2357 want_g_main_loop="no"
2360 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2362 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2363 EFL_ADD_FEATURE([ECORE], [glib])
2364 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2366 want_glib_integration_always=no
2367 if test "x${with_glib}" = "xalways" ; then
2368 want_glib_integration_always="yes"
2369 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2372 if test "x${want_g_main_loop}" = "xyes" ; then
2373 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2376 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2377 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2378 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2381 if test "${want_gstreamer1}" = "yes"; then
2382 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2384 if test "${want_gstreamer}" = "yes"; then
2385 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2387 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2389 EFL_EVAL_PKGS([ECORE])
2391 ### Checks for header files
2395 AC_CHECK_HEADERS([sys/socket.h])
2397 AC_CHECK_HEADERS([ \
2409 #ifdef HAVE_SYS_SOCKET_H
2410 # include <sys/socket.h>
2414 AC_CHECK_HEADERS([net/if.h], [], [],
2417 # include <stdlib.h>
2418 # include <stddef.h>
2421 # include <stdlib.h>
2424 #if HAVE_SYS_SOCKET_H
2425 # include <sys/socket.h>
2429 ### Checks for types
2431 ### Checks for structures
2433 ### Checks for compiler characteristics
2435 ### Checks for linker characteristics
2437 ### Checks for library functions
2449 int i = isfinite(0);
2452 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2455 [have_isfinite="no"])
2457 AC_MSG_CHECKING([for isfinite])
2458 AC_MSG_RESULT([${have_isfinite}])
2460 # mallinfo, timerfd_create, clock_gettime
2462 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2464 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2465 AC_CHECK_LIB([rt], [clock_gettime],
2467 EFL_ADD_LIBS([ECORE], [-lrt])
2468 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2472 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2474 # coroutine function specific
2479 #include <ucontext.h>
2485 [have_ucontext="yes"],
2486 [have_ucontext="no"])
2488 AC_MSG_CHECKING([for ucontext])
2489 AC_MSG_RESULT([${have_ucontext}])
2500 [have_setjmp="yes"],
2503 AC_MSG_CHECKING([for setjmp])
2504 AC_MSG_RESULT([${have_setjmp}])
2506 if test "X${have_windows}" = "xyes"; then
2507 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2508 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2509 elif test "x${have_ucontext}" = "xyes"; then
2510 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2511 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2512 elif test "x${have_setjmp}" = "xyes"; then
2513 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2514 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2516 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2519 ### Check availability
2521 EFL_LIB_END([Ecore])
2525 EFL_LIB_START([Ecore_Cxx])
2527 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2528 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2529 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2530 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2532 EFL_EVAL_PKGS([ECORE_CXX])
2534 EFL_LIB_END([Ecore_Cxx])
2535 #### End of Ecore CXX
2539 EFL_LIB_START([Ecore_Con])
2543 want_ecore_con_local_sockets="yes"
2544 want_ecore_con_abstract_sockets="yes"
2546 if test "${have_win32}" = "yes"; then
2548 want_ecore_con_abstract_sockets="no"
2549 elif test "${have_darwin}" = "yes"; then
2551 want_ecore_con_abstract_sockets="yes"
2552 elif test "${have_ps3}" = "yes"; then
2554 want_ecore_con_local_sockets="no"
2555 want_ecore_con_abstract_sockets="no"
2560 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2561 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2562 [1], [Have local sockets support])
2563 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2564 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2565 [1], [Have abstract sockets namespace])
2567 ### Checks for programs
2569 ### Checks for libraries
2570 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2571 if test "$build_crypto" != "none" ; then
2572 EFL_CRYPTO_DEPEND([ECORE_CON])
2574 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2575 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2576 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2577 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2578 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2580 EFL_ADD_LIBS([ECORE_CON], [-lm])
2582 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2583 [CARES], [libcares >= 1.6.1])
2584 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2586 if test "x$have_cares" = "xyes" ; then
2587 ecore_con_resolver="cares"
2588 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2589 ecore_con_resolver="dns.c"
2591 ecore_con_resolver="fork"
2594 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2596 EFL_ADD_FEATURE([ECORE_CON], [cares])
2597 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2598 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2599 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2600 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2602 EFL_EVAL_PKGS([ECORE_CON])
2604 ### Checks for header files
2606 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2608 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2609 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2612 ### Checks for types
2615 AC_CHECK_TYPES([struct ipv6_mreq],
2619 #include <netinet/in.h>
2620 #ifdef HAVE_WS2TCPIP_H
2621 # include <ws2tcpip.h>
2625 AC_DEFINE_IF([HAVE_IPV6],
2626 [test "x${have_ipv6}" = "xyes"],
2627 [1], [Define if IPV6 is supported])
2628 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2630 ### Checks for structures
2632 ### Checks for compiler characteristics
2634 ### Checks for linker characteristics
2636 ### Checks for library functions
2638 EFL_LIB_END([Ecore_Con])
2639 #### End of Ecore_Con
2644 EFL_LIB_START([Ecore_Ipc])
2648 ### Additional options to configure
2650 ### Checks for programs
2652 ## Compatibility layers
2653 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2655 ### Checks for libraries
2656 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2657 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2658 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2659 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2661 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2663 ### Checks for header files
2665 AC_CHECK_HEADERS([winsock2.h])
2667 ### Checks for types
2669 ### Checks for structures
2671 ### Checks for compiler characteristics
2673 ### Checks for linker characteristics
2675 ### Checks for library functions
2677 EFL_LIB_END([Ecore_Ipc])
2678 #### End of Ecore_Ipc
2683 EFL_LIB_START([Ecore_File])
2685 ### Additional options to configure
2689 ### Checks for programs
2691 ## Compatibility layers
2692 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2694 ### Checks for libraries
2695 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2696 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2697 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2698 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2699 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2701 ### Checks for header files
2703 ### Checks for types
2705 ### Checks for structures
2707 ### Checks for compiler characteristics
2709 ### Checks for linker characteristics
2711 ### Checks for library functions
2713 EFL_LIB_END([Ecore_File])
2714 #### End of Ecore_File
2718 EFL_LIB_START([Ecore_Input])
2720 ### Additional options to configure
2724 ### Checks for programs
2726 ## Compatibility layers
2727 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2729 ### Checks for libraries
2730 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2731 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2732 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2734 ### Checks for header files
2736 ### Checks for types
2738 ### Checks for structures
2740 ### Checks for compiler characteristics
2742 ### Checks for linker characteristics
2744 ### Checks for library functions
2746 EFL_LIB_END([Ecore_Input])
2747 #### End of Ecore_Input
2750 #### Ecore_Input_Evas
2751 EFL_LIB_START([Ecore_Input_Evas])
2753 ### Additional options to configure
2757 ### Checks for programs
2759 ## Compatibility layers
2760 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2762 ### Checks for libraries
2763 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2764 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2765 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2766 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2767 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2768 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2769 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2771 ### Checks for header files
2773 ### Checks for types
2775 ### Checks for structures
2777 ### Checks for compiler characteristics
2779 ### Checks for linker characteristics
2781 ### Checks for library functions
2783 EFL_LIB_END([Ecore_Input_Evas])
2784 #### End of Ecore_Input_Evas
2788 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2790 ### Additional options to configure
2794 ### Checks for programs
2796 ### Checks for libraries
2797 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2798 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2799 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2800 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2802 ### Checks for header files
2804 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2806 ### Checks for types
2808 ### Checks for structures
2810 ### Checks for compiler characteristics
2812 ### Checks for linker characteristics
2814 ### Checks for library functions
2816 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2817 #### End of Ecore_Cocoa
2821 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2823 ### Additional options to configure
2824 AC_ARG_ENABLE([tslib],
2825 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2827 if test "x${enableval}" = "xyes" ; then
2832 ], [want_tslib="yes"])
2836 ### Checks for programs
2838 ### Checks for libraries
2839 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2840 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2841 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2842 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2844 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2845 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2847 EFL_EVAL_PKGS([ECORE_FB])
2849 ### Checks for header files
2852 AC_CHECK_HEADER([linux/fb.h],
2853 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2854 if test "${have_ecore_fb}" = "no"; then
2855 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2858 ### Checks for types
2860 ### Checks for structures
2862 ### Checks for compiler characteristics
2864 ### Checks for linker characteristics
2866 ### Checks for library functions
2868 EFL_LIB_END_OPTIONAL([Ecore_FB])
2869 #### End of Ecore_FB
2873 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2875 ### Additional options to configure
2879 ### Checks for programs
2881 ### Checks for libraries
2882 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2884 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2885 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2886 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2887 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2889 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2891 ### Checks for header files
2893 ### Checks for types
2895 ### Checks for structures
2897 ### Checks for compiler characteristics
2899 ### Checks for linker characteristics
2901 ### Checks for library functions
2903 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2904 #### End of Ecore_Psl1ght
2908 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2910 ### Additional options to configure
2914 ### Checks for programs
2916 ### Checks for libraries
2917 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2918 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2919 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2920 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2921 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2923 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2925 EFL_EVAL_PKGS([ECORE_SDL])
2927 ### Checks for header files
2929 ### Checks for types
2931 ### Checks for structures
2933 ### Checks for compiler characteristics
2935 ### Checks for linker characteristics
2937 ### Checks for library functions
2939 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2940 #### End of Ecore_SDL
2944 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2946 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2947 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2950 ### Additional options to configure
2954 ### Checks for programs
2956 ### Checks for libraries
2957 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2958 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2959 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2960 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2962 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2963 [wayland-client >= 1.3.0 wayland-cursor >= 1.3.0 xkbcommon >= 0.3.0])
2965 EFL_EVAL_PKGS([ECORE_WAYLAND])
2967 ### Checks for header files
2969 ### Checks for types
2971 ### Checks for structures
2973 ### Checks for compiler characteristics
2975 ### Checks for linker characteristics
2977 ### Checks for library functions
2979 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2980 #### End of Ecore_Wayland
2983 EFL_LIB_START([Eldbus])
2985 ### Additional options to configure
2989 ### Checks for programs
2991 ## Compatibility layers
2992 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
2994 ### Checks for libraries
2995 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
2996 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
2997 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
2999 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3001 EFL_EVAL_PKGS([ELDBUS])
3003 ### Checks for header files
3005 ### Checks for types
3007 ### Checks for structures
3009 ### Checks for compiler characteristics
3011 ### Checks for linker characteristics
3013 ### Checks for library functions
3015 EFL_LIB_END([Eldbus])
3020 have_libmount_new="no"
3021 have_libmount_old="no"
3022 have_eeze_mount="no"
3024 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3026 ### Additional options to configure
3027 AC_ARG_WITH([mount],
3028 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3029 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3030 AC_ARG_WITH([umount],
3031 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3032 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3033 AC_ARG_WITH([eject],
3034 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3035 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3039 ### Checks for programs
3041 ### Checks for libraries
3042 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3043 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3044 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3045 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3046 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3047 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3048 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3050 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3052 AC_ARG_ENABLE([libmount],
3053 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3055 if test "x${enableval}" = "xyes" ; then
3059 CFOPT_WARNING="xyes"
3062 [want_libmount="yes"])
3064 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3065 [EEZE_MOUNT], [mount >= 2.18.0])
3066 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3068 PKG_CHECK_EXISTS([libudev < 199],
3069 [have_libudev_old="yes"],
3070 [have_libudev_old="no"])
3071 AC_MSG_CHECKING([Use old libudev API (before 199)])
3072 AC_MSG_RESULT([${have_libudev_old}])
3074 PKG_CHECK_EXISTS([mount < 2.19.0],
3075 [have_libmount_old="yes"],
3076 [have_libmount_old="no"])
3077 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3078 AC_MSG_RESULT([${have_libmount_old}])
3080 PKG_CHECK_EXISTS([mount == 2.19.0],
3081 [have_libmount_219="yes"],
3082 [have_libmount_219="no"])
3083 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3084 AC_MSG_RESULT([${have_libmount_219}])
3086 PKG_CHECK_EXISTS([mount > 2.19.0],
3087 [have_libmount_new="yes"],
3088 [have_libmount_new="no"])
3089 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3090 AC_MSG_RESULT([${have_libmount_new}])
3092 if test "x${have_libudev_old}" = "xyes"; then
3093 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3096 if test "x${have_libmount_old}" = "xyes"; then
3097 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3101 if test "${want_tizen}" = "yes"; then
3102 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3104 EFL_ADD_FEATURE([EEZE], [tizen])
3106 EFL_EVAL_PKGS([EEZE])
3108 ### Checks for header files
3110 ### Checks for types
3112 ### Checks for structures
3114 ### Checks for compiler characteristics
3116 ### Checks for linker characteristics
3118 ### Checks for library functions
3120 ### Checks for binaries
3121 if test "x$with_eeze_mount" = "xdetect"; then
3122 AC_PATH_PROG([with_eeze_mount], [mount], [])
3124 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3126 if test "x$with_eeze_umount" = "xdetect";then
3127 AC_PATH_PROG([with_eeze_umount], [umount], [])
3129 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3131 if test "x$with_eeze_eject" = "xdetect";then
3132 AC_PATH_PROG([with_eeze_eject], [eject], [])
3134 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3136 EFL_LIB_END_OPTIONAL([Eeze])
3138 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3139 [test "x${have_libmount_new}" = "xyes"])
3140 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3141 [test "x${have_libmount_old}" = "xyes"])
3142 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3143 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3148 have_libinput_new="no"
3149 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3151 ### Additional options to configure
3154 AC_SUBST([SUID_CFLAGS])
3155 AC_SUBST([SUID_LDFLAGS])
3159 ### Checks for programs
3161 ### Checks for libraries
3162 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3163 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3164 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3165 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3166 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3167 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3169 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3170 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3172 # API change from 0.7 to 0.8. So we define this to support both for now.
3173 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3174 [have_libinput_new="yes"],
3175 [have_libinput_new="no"])
3176 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3177 AC_MSG_RESULT([${have_libinput_new}])
3178 if test "x${have_libinput_new}" = "xyes";then
3179 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3181 if test "x${have_libinput_new}" = "xno";then
3182 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3186 EFL_EVAL_PKGS([ECORE_DRM])
3188 ### Checks for header files
3190 ### Checks for types
3192 ### Checks for structures
3194 ### Checks for compiler characteristics
3196 ### Checks for linker characteristics
3198 ### Checks for library functions
3200 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3201 #### End of Ecore_Drm
3206 AC_ARG_ENABLE([audio],
3207 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3209 if test "x${enableval}" = "xyes" ; then
3213 CFOPT_WARNING="xyes"
3218 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3220 ### Additional options to configure
3222 # ALSA support is still not there, thus no option for it yet.
3225 # sndfile is mandatory otherwise it won't read from/write to files.
3226 # TODO: if confirmed sndfile is mandatory, remove this variable
3227 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3230 AC_ARG_ENABLE([pulseaudio],
3231 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3233 if test "x${enableval}" = "xyes" ; then
3234 want_pulseaudio="yes"
3236 want_pulseaudio="no"
3237 CFOPT_WARNING="xyes"
3240 [want_pulseaudio="yes"])
3242 if test "x${have_darwin}" = "xyes"; then
3243 want_pulseaudio="no"
3245 want_coreaudio="yes"
3252 if test "x${want_coreaudio}" = "xyes"; then
3253 coreaudio_ldflags=""
3256 LIBS="$LIBS -framework CoreAudio"
3260 #include <CoreAudio/CoreAudio.h>
3264 AudioDeviceID dev_id;
3265 AudioObjectPropertyAddress prop = {
3266 kAudioHardwarePropertyDefaultOutputDevice,
3267 kAudioObjectPropertyScopeGlobal,
3268 kAudioObjectPropertyElementMaster
3270 size = sizeof(AudioDeviceID);
3271 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3275 have_coreaudio="yes"
3276 coreaudio_ldflags="-framework CoreAudio"
3278 [have_coreaudio="no"])
3280 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3281 AC_MSG_RESULT([${have_coreaudio}])
3283 AC_SUBST(coreaudio_ldflags)
3284 if test "x${have_coreaudio}" = "xyes"; then
3285 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3287 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3293 ### Checks for programs
3295 ## Compatibility layers
3296 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3298 ### Checks for libraries
3299 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3300 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3301 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3302 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3303 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3305 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3307 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3308 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3309 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3311 EFL_EVAL_PKGS([ECORE_AUDIO])
3313 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3314 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3315 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3316 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3318 ### Checks for header files
3320 ### Checks for types
3322 ### Checks for structures
3324 ### Checks for compiler characteristics
3326 ### Checks for linker characteristics
3328 ### Checks for library functions
3330 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3331 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3332 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3333 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3335 #### End of Ecore_Audio
3337 #### Ecore Audio CXX
3338 EFL_LIB_START([Ecore_Audio_Cxx])
3340 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3342 EFL_LIB_END([Ecore_Audio_Cxx])
3343 #### End of Ecore Audio CXX
3346 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3348 ### Additional options to configure
3352 ### Checks for programs
3354 ### Checks for libraries
3355 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3356 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3357 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3358 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3359 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3361 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3362 AC_SUBST([ECORE_WIN32_LIBS])
3364 ### Checks for header files
3366 ### Checks for types
3368 ### Checks for structures
3370 ### Checks for compiler characteristics
3372 ### Checks for linker characteristics
3374 ### Checks for library functions
3376 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3377 #### End of Ecore_Win32
3381 EFL_LIB_START([Ecore_Avahi])
3385 ### Additional options to configure
3389 AC_ARG_ENABLE([avahi],
3390 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3392 if test "x${enableval}" = "xyes" ; then
3401 ### Checks for programs
3403 ## Compatibility layers
3404 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3406 ### Checks for libraries
3407 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3408 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3409 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3411 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3413 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3415 # Needed bu example as they use avahi directly in that case
3416 if test "x${have_avahi}" = "xyes"; then
3417 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3420 EFL_EVAL_PKGS([ECORE_AVAHI])
3422 ### Checks for header files
3424 ### Checks for types
3426 ### Checks for structures
3428 ### Checks for compiler characteristics
3430 ### Checks for linker characteristics
3432 ### Checks for library functions
3434 EFL_LIB_END([Ecore_Avahi])
3436 #### End of Ecore_Avahi
3440 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3442 ### Additional options to configure
3444 AC_ARG_ENABLE([gesture],
3445 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3447 if test "x${enableval}" = "xyes" ; then
3453 [want_gesture="no"])
3455 AC_ARG_ENABLE([xpresent],
3456 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3458 if test "x${enableval}" = "xyes" ; then
3464 [want_xpresent="no"])
3466 AC_ARG_ENABLE([xinput2],
3467 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3469 if test "x${enableval}" = "xyes" ; then
3473 CFOPT_WARNING="xyes"
3476 [want_xinput2="yes"])
3478 AC_ARG_ENABLE([xinput22],
3479 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3481 if test "x${enableval}" = "xyes" ; then
3487 [want_xinput22="no"])
3489 AC_ARG_ENABLE([xim],
3490 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3492 if test "x${enableval}" = "xyes" ; then
3496 CFOPT_WARNING="xyes"
3501 AC_ARG_ENABLE([scim],
3502 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3504 if test "x${enableval}" = "xyes" ; then
3508 CFOPT_WARNING="xyes"
3513 AC_ARG_ENABLE([ibus],
3514 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3516 if test "x${enableval}" = "xyes" ; then
3526 ### Checks for programs
3528 ### Checks for libraries
3529 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3530 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3531 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3532 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3538 ### Checks for header files
3540 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3542 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3543 FOUND_MAXHOSTNAMELEN="not found"
3549 #include <sys/param.h>
3552 int h = MAXHOSTNAMELEN;
3556 FOUND_MAXHOSTNAMELEN="sys/param.h"
3557 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3567 int h = MAXHOSTNAMELEN;
3571 FOUND_MAXHOSTNAMELEN="netdb.h"
3572 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3575 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3576 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3580 if test "x${want_x11_xcb}" = "xyes" ; then
3581 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3582 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3584 if test -f "$KEYSYMDEFDIR/$i"; then
3585 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3586 elif test "x$i" = "xkeysymdef.h"; then
3587 AC_MSG_ERROR([Cannot find keysymdef.h])
3590 AC_MSG_CHECKING([keysym definitions])
3591 AC_MSG_RESULT([$KEYSYMDEFS])
3592 AC_SUBST([KEYSYMDEFS])
3595 ### Checks for types
3597 ### Checks for structures
3599 ### Checks for compiler characteristics
3601 ### Checks for linker characteristics
3603 ### Checks for library functions
3606 if test "x${want_x11_xlib}" = "xyes"; then
3607 EFL_FIND_X(ECORE_X_XLIB,
3608 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3609 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3612 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3613 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3614 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3616 AC_MSG_ERROR([Xcursor is missing])
3620 if test "x${want_x11_xlib}" = "xyes" ; then
3621 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3622 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3623 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3624 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3625 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3626 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3627 ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
3628 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3629 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3630 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3631 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3633 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3635 if test "${want_xpresent}" = "yes"; then
3636 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3638 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3640 if test "${want_gesture}" = "yes"; then
3641 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3643 EFL_ADD_FEATURE([ECORE_X], [gesture])
3645 if test "${want_xinput2}" = "yes"; then
3646 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3648 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3650 if test "${want_xinput22}" = "yes"; then
3651 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3653 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3655 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3656 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3658 EFL_EVAL_PKGS([ECORE_X])
3659 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3664 if test "${want_x11_xcb}" = "yes"; then
3665 dnl note: added pixman-1 as ecore_xcb_region uses that
3666 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3667 [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])
3669 dnl TODO: remove these ifdefs from code!
3670 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3671 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3672 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3673 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3674 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3675 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3676 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3677 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3678 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3679 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3680 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3681 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3683 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3685 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3686 [1], [Build support for XCB Present])
3687 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3689 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3691 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3692 [1], [Build support for XCB xgesture])
3694 EFL_ADD_FEATURE([ECORE_X], [gesture])
3696 dnl input extension disabled currently in xcb as xcb-input has some issues
3697 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3698 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3700 dnl dri extension disabled currently in xcb
3701 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3702 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3704 EFL_EVAL_PKGS([ECORE_X])
3705 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3707 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3710 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3712 AC_SUBST([HAVE_ECORE_X_BACKEND])
3714 EFL_LIB_END_OPTIONAL([Ecore_X])
3716 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3717 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3722 EFL_LIB_START([Ecore_Imf])
3724 ### Additional options to configure
3728 want_ecore_imf="yes"
3729 want_ecore_imf_xim="no"
3730 want_ecore_imf_scim="no"
3731 want_ecore_imf_ibus="no"
3732 want_ecore_imf_wayland="no"
3733 want_ecore_imf="yes"
3735 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3736 want_ecore_imf="yes"
3737 want_ecore_imf_xim="yes"
3738 want_ecore_imf_scim="yes"
3739 want_ecore_imf_ibus="yes"
3740 if test "${want_wayland}" = "yes"; then
3741 want_ecore_imf_wayland="yes"
3745 ### Checks for programs
3747 ## Compatibility layers
3748 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3750 ### Checks for libraries
3751 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3752 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3753 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3754 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3755 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3757 if test "x${want_ecore_imf}" = "xyes" ; then
3758 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3765 have_ecore_imf_ibus="no"
3766 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3767 PKG_CHECK_MODULES([IBUS],
3768 [ibus-1.0 >= 1.4 glib-2.0],
3770 have_ecore_imf_ibus="yes"
3771 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3773 [have_ecore_imf_ibus="no"])
3776 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3777 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3781 have_ecore_imf_scim="no"
3782 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3783 PKG_CHECK_MODULES([SCIM],
3786 have_ecore_imf_scim="yes"
3787 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3789 [have_ecore_imf_scim="no"])
3792 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3793 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3797 have_ecore_imf_xim="no"
3798 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3800 EFL_FIND_X(ecore_imf_xim,
3804 have_ecore_imf_xim=yes
3805 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3809 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3810 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3813 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3814 PKG_CHECK_MODULES([WAYLAND],
3815 [wayland-client >= 1.2.0],
3817 have_ecore_imf_wayland="yes"
3818 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3820 [have_ecore_imf_wayland="no"])
3823 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3824 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3826 ### Checks for header files
3828 ### Checks for types
3830 ### Checks for structures
3832 ### Checks for compiler characteristics
3834 ### Checks for linker characteristics
3836 ### Checks for library functions
3838 EFL_LIB_END([Ecore_Imf])
3839 #### End of Ecore_Imf
3843 EFL_LIB_START([Ecore_Imf_Evas])
3845 ### Additional options to configure
3849 ### Checks for programs
3851 ## Compatibility layers
3852 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3854 ### Checks for libraries
3855 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3856 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3857 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3858 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3859 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3860 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3861 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3862 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3864 ### Checks for header files
3866 ### Checks for types
3868 ### Checks for structures
3870 ### Checks for compiler characteristics
3872 ### Checks for linker characteristics
3874 ### Checks for library functions
3876 EFL_LIB_END([Ecore_Imf_Evas])
3877 #### End of Ecore_Imf_Evas
3881 EFL_LIB_START([Ecore_Evas])
3883 ### Additional options to configure
3887 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3888 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3889 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3890 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3891 want_ecore_evas_extn="yes"
3892 want_ecore_evas_drm="${have_evas_engine_drm}"
3894 if test "x${have_ecore_ipc}" = "xno" || \
3895 test "x${efl_func_shm_open}" = "xno" || \
3896 test "x${have_windows}" = "xyes" ; then
3897 want_ecore_evas_extn="no"
3900 ### Checks for programs
3902 ## Compatibility layers
3903 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3905 ### Checks for libraries
3906 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3907 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3908 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3909 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3910 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3911 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3912 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3913 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3914 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3917 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3918 ECORE_EVAS_MODULE([ews], [yes])
3919 ECORE_EVAS_MODULE([fb], [${want_fb}])
3920 ECORE_EVAS_MODULE([drm], [${want_drm}],
3921 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3922 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3923 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3924 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3926 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3928 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3929 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3931 build_ecore_evas_sdl="no"
3932 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3933 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3934 build_ecore_evas_sdl="yes"
3935 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3937 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3938 [test "${build_ecore_evas_sdl}" = "yes"])
3940 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3941 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3943 build_ecore_evas_wayland="no"
3944 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3945 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3946 build_ecore_evas_wayland="yes"
3947 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3949 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3950 [test "${build_ecore_evas_wayland}" = "yes"])
3952 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3953 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3955 build_ecore_evas_win32="no"
3956 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3957 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3958 build_ecore_evas_win32="yes"
3959 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3961 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3962 [test "${build_ecore_evas_win32}" = "yes"])
3965 # XXX TODO: ecore_evas_x11
3967 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3969 have_ecore_evas_software_xlib="no"
3970 have_ecore_evas_software_xcb="no"
3971 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3972 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3973 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3974 have_ecore_evas_software_xlib="yes"
3976 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3977 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3979 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3980 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3981 have_ecore_evas_software_xcb="yes"
3983 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3984 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3988 # XXX TODO: ecore_evas_opengl_x11
3990 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
3992 have_ecore_evas_opengl_xlib="no"
3993 have_ecore_evas_opengl_xcb="no"
3994 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
3995 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
3996 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
3997 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4000 # opengl does not work with xcb (yet)
4001 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
4002 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
4003 have_ecore_evas_opengl_xcb="yes"
4005 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4006 PKG_CHECK_MODULES([XCB_X11],
4009 have_ecore_x_opengl_xcb="yes"
4010 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4011 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4012 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4014 [have_ecore_x_opengl_xcb="no"])
4016 have_ecore_x_opengl_xcb="no"
4017 AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
4021 build_ecore_evas_x11="no"
4022 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4023 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4024 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4025 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4026 build_ecore_evas_x11="yes"
4028 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4030 EFL_EVAL_PKGS([ECORE_EVAS])
4032 ### Checks for header files
4034 ### Checks for types
4036 ### Checks for structures
4038 ### Checks for compiler characteristics
4040 ### Checks for linker characteristics
4042 ### Checks for library functions
4044 EFL_LIB_END([Ecore_Evas])
4045 #### End of Ecore_Evas
4048 EFL_LIB_START([Eio])
4050 ### Additional options to configure
4054 ### Checks for programs
4056 ## Compatibility layers
4057 EFL_PLATFORM_DEPEND([EIO], [evil])
4059 ### Checks for libraries
4060 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4061 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4062 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4063 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4064 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4066 EFL_ADD_LIBS([EIO], [-lm])
4068 ### Checks for header files
4070 ### Checks for types
4072 ### Checks for structures
4074 ### Checks for compiler characteristics
4076 ### Checks for linker characteristics
4078 ### Checks for library functions
4079 have_inotify="${ac_cv_header_sys_inotify_h}"
4080 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4082 have_notify_win32="${have_win32}"
4083 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4084 [test "x${have_notify_win32}" = "xyes"], [1],
4085 [File monitoring with Windows notification])
4086 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4088 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4089 [test "x${have_darwin}" = "xyes"], [1],
4090 [File monitoring with fsevent notification])
4091 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4095 dnl TODO: remove these ifdefs from code!
4096 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4100 if test "x${want_eo_id}" = "xyes" ; then
4101 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4106 EFL_LIB_START([Efreet])
4108 ### Additional options to configure
4112 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4114 ### Checks for programs
4116 ## Compatibility layers
4117 EFL_PLATFORM_DEPEND([EFREET], [evil])
4119 ### Checks for libraries
4120 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4121 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4122 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4123 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4124 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4125 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4126 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4128 ### Checks for header files
4130 ### Checks for types
4132 ### Checks for structures
4134 ### Checks for compiler characteristics
4136 ### Checks for linker characteristics
4138 ### Checks for library functions
4140 EFL_LIB_END([Efreet])
4145 AC_ARG_ENABLE([physics],
4146 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4148 if test "x${enableval}" = "xyes" ; then
4151 CFOPT_WARNING="xyes"
4155 [want_physics="yes"])
4157 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4159 ### Additional options to configure
4163 ### Checks for programs
4165 ### Checks for libraries
4166 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4168 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4169 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4170 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4171 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4172 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4173 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4175 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4177 EFL_EVAL_PKGS([EPHYSICS])
4179 ### Checks for header files
4181 ### Checks for types
4183 ### Checks for structures
4185 ### Checks for compiler characteristics
4187 ### Checks for linker characteristics
4189 ### Checks for library functions
4191 EFL_LIB_END_OPTIONAL([EPhysics])
4192 #### End of EPhysics
4196 EFL_LIB_START([Edje])
4198 ### Additional options to configure
4202 AC_ARG_ENABLE([multisense],
4203 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=enabled@:>@])],
4205 if test "x${enableval}" = "xyes" ; then
4206 want_multisense="yes"
4208 want_multisense="no"
4209 CFOPT_WARNING="xyes"
4213 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4214 want_multisense="yes"
4216 want_multisense="no"
4220 # TODO: should we keep or remove these?
4221 want_edje_program_cache="no"
4222 want_edje_calc_cache="yes"
4223 want_fixed_point="no"
4225 ### Checks for programs
4227 ### Checks for libraries
4228 EFL_PLATFORM_DEPEND([EDJE], [evil])
4230 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4231 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4232 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4233 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4234 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4235 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4236 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4237 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4238 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4239 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4240 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4241 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4242 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4243 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4244 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4246 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4247 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4249 EFL_ADD_FEATURE([EDJE], [physics])
4250 EFL_ADD_FEATURE([EDJE], [multisense])
4251 EFL_ADD_FEATURE([EDJE], [lua-old])
4253 if test "${want_lua_old}" = "yes"; then
4254 EFL_CHECK_LUA_OLD([EDJE])
4256 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4259 EFL_ADD_LIBS([EDJE], [-lm])
4261 EFL_EVAL_PKGS([EDJE])
4263 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4264 [1], [Cache result of program glob matches])
4265 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4266 [1], [Cache result of calc glob matches])
4267 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4268 [1], [Use Fixed Point instead of FPU])
4270 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4271 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4272 [1], [Use Multisense])
4273 AC_SUBST([want_multisense])
4274 AC_SUBST([want_physics])
4276 ### Checks for header files
4278 AC_CHECK_HEADERS([ \
4282 ### Checks for types
4284 ### Checks for structures
4286 ### Checks for compiler characteristics
4288 ### Checks for linker characteristics
4290 ### Checks for library functions
4296 EFL_LIB_START([Edje_Cxx])
4298 EFL_EVAL_PKGS([EDJE_CXX])
4300 EFL_LIB_END([Edje_Cxx])
4301 #### End of Edje CXX
4304 EFL_LIB_START([Emotion])
4306 ## Compatibility layers
4307 EFL_PLATFORM_DEPEND([Emotion], [evil])
4310 if test "${efl_func_shm_open}" = "yes"; then
4311 want_emotion_generic="static"
4313 want_emotion_generic="no"
4316 ### Additional options to configure
4317 AC_ARG_ENABLE([xine],
4318 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4320 if test "x${enableval}" = "xyes" ; then
4328 AC_ARG_ENABLE([v4l2],
4329 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4331 if test "x${enableval}" = "xyes" ; then
4337 [want_v4l2="${efl_lib_optional_eeze}"])
4339 ### Checks for programs
4341 ### Checks for libraries
4342 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4343 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4344 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4345 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4346 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4347 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4348 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4349 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4351 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4352 EFL_ADD_FEATURE([EMOTION], [v4l2])
4356 have_gst_xoverlay="no"
4358 EMOTION_MODULE([xine], [${want_xine}])
4359 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4360 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4361 EMOTION_MODULE([generic], [${want_emotion_generic}])
4363 EFL_ADD_FEATURE([EMOTION], [xine])
4364 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4365 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4366 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4368 EFL_EVAL_PKGS([EMOTION])
4370 ### Checks for header files
4372 ### Checks for types
4374 ### Checks for structures
4376 ### Checks for compiler characteristics
4378 ### Checks for linker characteristics
4380 ### Checks for library functions
4382 if test "${want_v4l2}" = "yes"; then
4383 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4384 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4385 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4386 [#include <linux/videodev2.h>])
4389 ### Check availability
4391 EFL_LIB_END([Emotion])
4396 EFL_LIB_START([Ethumb])
4400 ### Additional options to configure
4402 ### Checks for programs
4404 ## Compatibility layers
4405 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4407 ### Checks for libraries
4408 EFL_PLATFORM_DEPEND([EINA], [evil])
4410 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4411 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4412 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4413 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4414 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4415 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4416 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4417 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4418 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4419 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4420 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4424 EFL_EVAL_PKGS([ETHUMB])
4426 ### Checks for header files
4428 ### Checks for types
4430 ### Checks for structures
4432 ### Checks for compiler characteristics
4434 ### Checks for linker characteristics
4436 ### Checks for library functions
4438 ### Check availability
4440 EFL_LIB_END([Ethumb])
4444 EFL_LIB_START([Ethumb_Client])
4448 ### Additional options to configure
4450 ### Checks for programs
4452 ## Compatibility layers
4453 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4455 ### Checks for libraries
4456 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4457 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4458 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4459 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4460 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4461 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4462 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4463 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4464 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4465 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4466 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4468 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4470 ### Checks for header files
4472 ### Checks for types
4474 ### Checks for structures
4476 ### Checks for compiler characteristics
4478 ### Checks for linker characteristics
4480 ### Checks for library functions
4482 ### Check availability
4484 EFL_LIB_END([Ethumb_Client])
4485 #### End of Ethumb_Client
4490 if test "${want_lua_old}" = "yes"; then
4494 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4498 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4500 ### Additional options to configure
4502 ### Checks for programs
4504 ## Compatibility layers
4505 EFL_PLATFORM_DEPEND([ELUA], [evil])
4507 ### Checks for libraries
4508 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4509 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4510 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4512 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4514 EFL_EVAL_PKGS([ELUA])
4516 ### Checks for header files
4518 ### Checks for types
4520 ### Checks for structures
4522 ### Checks for compiler characteristics
4524 ### Checks for linker characteristics
4526 ### Checks for library functions
4528 ### Check availability
4530 EFL_LIB_END_OPTIONAL([Elua])
4535 EFL_LIB_START([Elocation])
4539 ### Additional options to configure
4541 ### Checks for programs
4543 ### Checks for libraries
4544 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4545 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4546 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4547 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4548 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4550 EFL_ADD_LIBS([ELOCATION], [-lm])
4552 ### Checks for header files
4554 ### Checks for types
4556 ### Checks for structures
4558 ### Checks for compiler characteristics
4560 ### Checks for linker characteristics
4562 ### Checks for library functions
4564 ### Check availability
4566 EFL_LIB_END([Elocation])
4567 #### End of Elocation
4569 ### Add Wayland server library if test is enabled
4570 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4571 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.3.0])
4572 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4575 AC_ARG_ENABLE([always-build-examples],
4576 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4578 if test "x${enableval}" = "xyes" ; then
4579 want_always_build_examples="yes"
4581 want_always_build_examples="no"
4584 [want_always_build_examples="no"])
4585 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4589 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],
4590 [ You will be told when this is needed ],
4592 if test "x${enableval}" = "xyes" ; then
4601 build_ecore_buffer_x11_dri2="no"
4602 build_ecore_buffer_x11_dri3="no"
4603 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
4604 ### Checks for libraries
4605 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
4606 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
4607 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
4608 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
4609 [wayland-server >= 1.5.0 wayland-client >= 1.5.0])
4611 PKG_CHECK_MODULES([X11_DRI_COMMON],
4616 [have_x11_dri_common_pkgs="yes"],
4617 [have_x11_dri_common_pkgs="no"]
4620 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
4621 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
4623 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
4624 [have_x11_dri2_pkgs="yes"],
4625 [have_x11_dri2_pkgs="no"])
4626 PKG_CHECK_MODULES([X11_DRI3],
4634 [have_x11_dri3_pkgs="yes"],
4635 [have_x11_dri3_pkgs="no"])
4638 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
4639 build_ecore_buffer_x11_dri2="yes"
4640 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
4643 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
4644 build_ecore_buffer_x11_dri3="yes"
4645 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
4647 EFL_EVAL_PKGS([ECORE_BUFFER])
4649 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
4650 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
4651 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
4653 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
4655 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
4656 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
4658 #### End of Ecore_Buffer
4665 doc/previews/Makefile
4667 src/benchmarks/eina/Makefile
4668 src/benchmarks/eo/Makefile
4669 src/benchmarks/evas/Makefile
4670 src/examples/eina/Makefile
4671 src/examples/eina_cxx/Makefile
4672 src/examples/eet/Makefile
4673 src/examples/eo/Makefile
4674 src/examples/evas/Makefile
4675 src/examples/ecore/Makefile
4676 src/examples/ecore_avahi/Makefile
4677 src/examples/eio/Makefile
4678 src/examples/eldbus/Makefile
4679 src/examples/ephysics/Makefile
4680 src/examples/edje/Makefile
4681 src/examples/emotion/Makefile
4682 src/examples/ethumb_client/Makefile
4683 src/examples/elua/Makefile
4684 src/examples/eolian_cxx/Makefile
4685 src/examples/elocation/Makefile
4686 src/lib/eina/eina_config.h
4687 src/lib/ecore_x/ecore_x_version.h
4688 src/lib/efl/Efl_Config.h
4704 pc/evas-opengl-x11.pc
4705 pc/evas-opengl-sdl.pc
4706 pc/evas-opengl-cocoa.pc
4708 pc/evas-software-buffer.pc
4709 pc/evas-software-x11.pc
4710 pc/evas-software-gdi.pc
4711 pc/evas-software-ddraw.pc
4712 pc/evas-software-sdl.pc
4713 pc/evas-wayland-shm.pc
4714 pc/evas-wayland-egl.pc
4724 pc/ecore-input-evas.pc
4735 pc/ecore-imf-evas.pc
4737 pc/ecore-audio-cxx.pc
4757 dbus-services/org.enlightenment.Ethumb.service
4758 systemd-services/ethumb.service
4760 cmakeconfig/EflConfig.cmake
4761 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4762 cmakeconfig/EinaConfig.cmake
4763 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4764 cmakeconfig/EioConfig.cmake
4765 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4766 cmakeconfig/EezeConfig.cmake
4767 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4768 cmakeconfig/EoConfig.cmake
4769 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4770 cmakeconfig/EolianConfig.cmake
4771 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4772 cmakeconfig/EolianCxxConfig.cmake
4773 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4774 cmakeconfig/EinaCxxConfig.cmake
4775 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4776 cmakeconfig/EoCxxConfig.cmake
4777 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4778 cmakeconfig/EcoreCxxConfig.cmake
4779 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4780 cmakeconfig/EvasCxxConfig.cmake
4781 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4782 cmakeconfig/EetCxxConfig.cmake
4783 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4784 cmakeconfig/EetConfig.cmake
4785 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4786 cmakeconfig/EvasConfig.cmake
4787 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4788 cmakeconfig/EcoreConfig.cmake
4789 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4790 cmakeconfig/EdjeConfig.cmake
4791 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4792 cmakeconfig/EldbusConfig.cmake
4793 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4794 cmakeconfig/EfreetConfig.cmake
4795 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4796 cmakeconfig/EthumbConfig.cmake
4797 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4798 cmakeconfig/EthumbClientConfig.cmake
4799 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4800 cmakeconfig/EmotionConfig.cmake
4801 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4802 cmakeconfig/EluaConfig.cmake
4803 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4804 cmakeconfig/EmileConfig.cmake
4805 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4810 #### Work around bug in automake check macro
4811 ## yes it is hugly, but no choice here for now.
4812 $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
4814 if test -f $srcdir/config.status; then
4815 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"
4816 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4821 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4825 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4826 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4829 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4832 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4835 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4839 if test "${have_linux}" = "yes"; then
4840 EFL_ADD_FEATURE([system], [inotify])
4841 EFL_ADD_FEATURE([system], [atfile_source])
4842 elif test "${have_windows}" = "yes"; then
4843 EFL_ADD_FEATURE([system], [notify_win32])
4845 EFL_ADD_FEATURE([system], [ipv6])
4847 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4848 efl_have_spinlock="yes"
4850 efl_have_spinlock="no"
4852 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4853 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4854 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4859 echo "------------------------------------------------------------------------"
4860 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4861 echo "------------------------------------------------------------------------"
4864 if test "x${have_windows}" = "xyes" ; then
4865 osname="${host_os}(${_efl_windows_version})"
4870 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4871 echo " EFL API Set...: ${efl_api}"
4872 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4873 echo " System Feature: ${features_system}"
4874 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4875 echo " Cryptography..: ${build_crypto}"
4876 echo " X11...........: ${with_x11}"
4877 echo " OpenGL........: ${with_opengl}"
4878 echo " C++11.........: ${have_cxx11}"
4879 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
4880 echo "Eo..............: yes (${features_eo})"
4881 echo "Eolian..........: yes (${features_eolian})"
4882 echo "Emile...........: yes (${features_emile})"
4883 echo "Eet.............: yes"
4884 echo "Evas............: yes (${features_evas})"
4885 echo " Engines.......: ${features_evas_engine}"
4886 echo " Image Loaders.: ${features_evas_loader}"
4887 if test "x${have_pixman}" = "xyes" ; then
4888 echo " Pixman........: ${features_evas_pixman}"
4890 echo "Ecore...........: yes (${features_ecore})"
4891 echo "Ecore_Con.......: yes (${features_ecore_con})"
4892 echo "Ecore_File......: yes"
4893 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4894 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4895 echo "Ecore_SDL.......: $want_sdl"
4896 echo "Ecore_Wayland...: $want_wayland"
4897 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4898 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
4899 if test "${have_linux}" = "yes"; then
4900 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4901 elif test "${have_ps3}" = "yes"; then
4902 echo "Ecore_PSL1GHT...: $have_ps3"
4903 elif test "${have_darwin}" = "yes"; then
4904 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4905 elif test "${have_windows}" = "yes"; then
4906 echo "Ecore_Win32.....: $have_win32"
4908 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4909 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4910 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4911 echo "Ector...........: yes"
4912 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4913 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4914 echo "Edje............: yes (${features_edje})"
4915 echo "Emotion.........: yes (${features_emotion})"
4916 echo "Ethumb..........: yes"
4917 echo "Ethumb_Client...: yes"
4918 echo "Elua............: $have_elua"
4919 if test "${build_tests}" = "none"; then
4920 echo "Tests...........: no"
4921 elif test "${build_tests}" = "auto"; then
4922 echo "Tests...........: make check (inexplicitly enabled)"
4923 elif test "${build_tests}" = "regular"; then
4924 echo "Tests...........: make check"
4925 elif test "${build_tests}" = "coverage"; then
4926 echo "Tests...........: make lcov-check"
4928 echo "Examples........: make examples (make install-examples)"
4929 if test "x${build_doc}" = "xyes"; then
4930 echo "Documentation...: make doc"
4932 echo "Documentation...: no"
4934 echo "Compilation.....: make (or gmake)"
4935 echo " CPPFLAGS......: $CPPFLAGS"
4936 echo " CFLAGS........: $CFLAGS"
4937 echo " CXXFLAGS......: $CXXFLAGS"
4938 echo " LDFLAGS.......: $LDFLAGS"
4940 if test "x${with_binary_edje_cc}" != "x"; then
4941 echo " edje_cc.......: ${with_binary_edje_cc}"
4944 if test "x${with_binary_eolian_gen}" != "x"; then
4945 echo " eolian_gen....: ${with_binary_eolian_gen}"
4948 if test "x${with_binary_eolian_cxx}" != "x"; then
4949 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
4952 if test "x${with_binary_elua_bin}" != "x"; then
4953 echo " elua..........: ${with_binary_elua_bin}"
4957 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4958 echo " prefix........: $prefix"
4959 echo " dbus units....: $dbusservicedir"
4960 if test "${have_systemd_user_session}" = "yes"; then
4961 echo " systemd units.: $USER_SESSION_DIR"
4965 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4966 echo " _________________________________________"
4967 echo "/ Systemd dependency is available on your \\"
4968 echo "| system, but you are building without |"
4969 echo "| systemd support. Don't forget to |"
4970 echo "| --enable-systemd if you want systemd |"
4971 echo "\\ integration for EFL. /"
4972 echo " -----------------------------------------"
4974 echo " \\ (oo)\\_______"
4975 echo " (__)\\ )\\/\\"
4980 if test -n "$CFOPT_WARNING"; then
4981 echo "_____________________________________________________________________"
4983 echo "==-- WARNING --=="
4985 echo "_____________________________________________________________________"
4986 if test "x${with_x11}" = "xxcb"; then
4987 echo "_____________________________________________________________________"
4988 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
4989 echo "is amazingly faster than Xlib (when used sensibly). It can be"
4990 echo "faster in a few corner cases on startup of an app, but it comes"
4991 echo "with many downsides. One of those is more complex code inside"
4992 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
4993 echo "the big catch is that OpenGL support basically requires Xlib anyway"
4994 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
4995 echo "gain nothing really in terms of speed and no savings in memory"
4996 echo "because Xlib is still linked, loaded and used, BUT instead you"
4997 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
4998 echo "toolkit and this is basically never tested by anyone working on"
4999 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
5000 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
5001 echo "off the memory footprint of a whole system and live with less"
5002 echo "tested code, and possibly unimplemented features in ecore_x. To"
5003 echo "remove the XCB setup, remove the --with-x11=xcb option to"
5005 echo "_____________________________________________________________________"
5007 if test "x${want_physics}" = "xno"; then
5008 echo "_____________________________________________________________________"
5009 echo "You have chosen to disable physics support. This disables lots of"
5010 echo "core functionality and is effectively never tested. You are going"
5011 echo "to find features that suddenly don't work and as a result cause"
5012 echo "a series of breakages. This is simply not tested so you are on"
5013 echo "your own in terms of ensuring everything works if you do this"
5014 echo "_____________________________________________________________________"
5016 if test "x${efl_have_threads}" = "xno"; then
5017 echo "_____________________________________________________________________"
5018 echo "You have disabled threading support. A lot of code is literally"
5019 echo "written to need threading. We never test or even build with"
5020 echo "threading disabled, so doing this is entering uncharted territory."
5021 echo "There is a very good chance things may not compile at all, or if"
5022 echo "the do, they will break at runtime in weird and wonderful ways."
5023 echo "Highly reconsider what you are doing here, or be prepared to deal"
5024 echo "with the fallout yourself."
5025 echo "_____________________________________________________________________"
5027 if test "x${want_fontconfig}" = "xno"; then
5028 echo "_____________________________________________________________________"
5029 echo "You have disabled fontconfig. This is going to make general font"
5030 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5031 echo "will work alongside some old-school ttf file path searching. This"
5032 echo "is very likely not what you want, so highly reconsider turning"
5033 echo "fontconfig off. Having it off will lead to visual problems like"
5034 echo "missing text in many UI areas etc."
5035 echo "_____________________________________________________________________"
5037 if test "x${want_fribidi}" = "xno"; then
5038 echo "_____________________________________________________________________"
5039 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5040 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5041 echo "you want to disable unless you know for absolute certain you"
5042 echo "will never encounter and have to display such scripts. Also"
5043 echo "note that we don't test with fribidi disabled so you may also"
5044 echo "trigger code paths with bugs that are never normally used."
5045 echo "_____________________________________________________________________"
5047 if test "x${want_pixman}" = "xyes"; then
5048 echo "_____________________________________________________________________"
5049 echo "Pixman allows you to replace some rendering paths in Evas with"
5050 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5051 echo "the rendering paths with Pixman enabled are not tested often so"
5052 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5053 echo "you wish to deal with these bugs."
5054 echo "_____________________________________________________________________"
5056 if test "x${have_tile_rotate}" = "xyes"; then
5057 echo "_____________________________________________________________________"
5058 echo "Tiled rotation code is not tested much, so be aware that you"
5059 echo "may introduce bugs by enabling this."
5060 echo "_____________________________________________________________________"
5062 if test "x${want_g_main_loop}" = "xyes"; then
5063 echo "_____________________________________________________________________"
5064 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5065 echo "regularly, but the glib mainloop integration (on by default) is."
5066 echo "You can use apps that use glib mainloop constructs by default"
5067 echo "this way, but the Ecore mainloop is not built on top of glib."
5068 echo "You have enabled ecore to be built on top of glib and thus you"
5069 echo "may experience bugs that normally would not be there. Be prepared"
5070 echo "to fix these if they arise."
5071 echo "_____________________________________________________________________"
5073 if test "x${want_gstreamer}" = "xyes"; then
5074 echo "_____________________________________________________________________"
5075 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5076 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5077 echo "and will eventually be removed entirely. Don't enable the old"
5078 echo "Gstreamer support unless you want to deal with the issues yourself."
5079 echo "_____________________________________________________________________"
5081 if test "x${want_gstreamer1}" = "xno"; then
5082 echo "_____________________________________________________________________"
5083 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5084 echo "this as it will heavily limit your media support options and render"
5085 echo "some functionality as useless, leading to visible application bugs."
5086 echo "_____________________________________________________________________"
5088 if test "x${want_eo_id}" = "xno"; then
5089 echo "_____________________________________________________________________"
5090 echo "Eo's ID abstraction interface is a major safety system that"
5091 echo "protects code from crashing or misbehaving in many cases. It does"
5092 echo "come at a slight cost, but the safety and protection is worth it."
5093 echo "Also by disabling this, you may also introduce security holes in"
5094 echo "EFL as well as cause all sorts of previously non-existant crashes."
5095 echo "Seriously reconsider disabling EO ID."
5096 echo "_____________________________________________________________________"
5098 if test "x${want_evas_cserve2}" = "xno"; then
5099 echo "_____________________________________________________________________"
5100 echo "Evas Cserve is built and on by default and no testing is done"
5101 echo "for the old non-cserve2 code paths, so by disabling this you"
5102 echo "may be introducing bugs. Be aware of this and be prepared to"
5103 echo "deal with the bugs as a result of this."
5104 echo "_____________________________________________________________________"
5106 if test "x${want_audio}" = "xno"; then
5107 echo "_____________________________________________________________________"
5108 echo "You disabled audio support in Ecore. This is not tested and may"
5109 echo "Create bugs for you due to it creating untested code paths."
5110 echo "Reconsider disabling audio."
5111 echo "_____________________________________________________________________"
5113 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5114 echo "_____________________________________________________________________"
5115 echo "The only audio output method supported by Ecore right now on your"
5116 echo "system is via Pulseaudio. You have disabled that and likely have"
5117 echo "broken a whole bunch of things in the process. Reconsider your"
5118 echo "configure options."
5119 echo "_____________________________________________________________________"
5121 if test "x${want_xinput2}" = "xno"; then
5122 echo "_____________________________________________________________________"
5123 echo "You have disabled xinput2 support. This means a whole lot of input"
5124 echo "devices in X11 will not work correctly. You likely do not want to"
5126 echo "_____________________________________________________________________"
5128 if test "x${want_xim}" = "xno"; then
5129 echo "_____________________________________________________________________"
5130 echo "You disabled XIM input method support. This is the most basic and"
5131 echo "core input method protocol supported in X11 and you almost certainly"
5132 echo "want the support for it. Input methods allow for complex text input"
5133 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5134 echo "on touch/mobile devices."
5135 echo "_____________________________________________________________________"
5137 if test "x${want_scim}" = "xno"; then
5138 echo "_____________________________________________________________________"
5139 echo "SCIM is a modern and very common input method framework and you"
5140 echo "disabled support for it. You very likely want the support for"
5141 echo "complex language input, so please reconsider this. Input methods"
5142 echo "allow for complex text input like for Chinese, Japanese and Korean"
5143 echo "as well as virtual keyboards on touch/mobile devices."
5144 echo "_____________________________________________________________________"
5146 if test "x${want_libmount}" = "xno"; then
5147 echo "_____________________________________________________________________"
5148 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5149 echo "for support of removable devices etc. and disabling this will"
5150 echo "hurt support for Enlightenment and its filemanager."
5151 echo "_____________________________________________________________________"
5153 if test "x${want_multisense}" = "xno"; then
5154 echo "_____________________________________________________________________"
5155 echo "Multisense has been disabled. This causes Edje audio suport to"
5156 echo "Simply not work, and will break applications and libraries"
5157 echo "that rely on it with users then reporting bugs."
5158 echo "If you want to mute audio, there are APIs and policies to do"
5159 echo "that, as opposed to compiling it out."
5160 echo "_____________________________________________________________________"
5162 if test "x${efl_api}" = "xeo"; then
5163 echo "_____________________________________________________________________"
5164 echo "Using the EO based EFL API only does not work at the moment. We still"
5165 echo "have a lot code that depends on the legacy interfaces. We provide"
5166 echo "this option for testing once we are able to migrate to the EO based"
5168 echo "If you are not working on this migration please leave the option set"
5169 echo "to both as it will break your build if set to eo."
5170 echo "_____________________________________________________________________"
5172 if test "x${want_libeeze}" = "xno"; then
5173 echo "_____________________________________________________________________"
5174 echo "Libeeze has been disabled, and it is used heavily for support of"
5175 echo "removable devices etc. and disabling this will hurt support for"
5176 echo "Enlightenment and its filemanager."
5177 echo "_____________________________________________________________________"
5179 echo "_____________________________________________________________________"
5181 echo "==-- WARNING --=="
5183 echo "_____________________________________________________________________"
5184 if test -n "$BARF_OK"; then
5185 echo "Please add the following option to acknowledge this:"
5186 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"
5187 echo "_____________________________________________________________________"
5194 if test "x$prefix" != "x/usr"; then
5196 path=$dbusservicedir
5197 while test "x$old" != "x$path"; do
5199 eval path="\"$path\""
5201 resolved_dbusservicedir=$path
5204 path=$USER_SESSION_DIR
5205 while test "x$old" != "x$path"; do
5207 eval path="\"$path\""
5209 resolved_USER_SESSION_DIR=$path
5210 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5214 while test "x$old" != "x$path"; do
5216 eval path="\"$path\""
5218 resolved_datadir=$path
5221 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5222 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5223 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5224 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5229 needs_alert_systemd=0
5230 if test "$have_systemd_user_session" = "yes"; then
5231 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5232 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5233 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5234 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5236 needs_alert_systemd=1
5240 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5241 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5242 what_alert="dbus and systemd"
5243 elif test $needs_alert_dbus -eq 1; then
5246 what_alert="systemd"
5250 echo "#-------------------------------------------------------------------#"
5251 echo "##==-- ALERT --==##"
5252 echo "#-------------------------------------------------------------------#"
5254 echo " Your installation prefix is *NOT* /usr so this means you need"
5255 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5256 echo "be started when needed. You will need to do the following:"
5257 if test $needs_alert_dbus -eq 1; then
5259 echo "System-wide installation:"
5260 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5262 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5264 echo "User installation:"
5265 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5267 if test $needs_alert_systemd -eq 1; then
5269 echo "System-wide installation:"
5270 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5272 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5274 echo "User installation:"
5275 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5278 echo "#-------------------------------------------------------------------#"
5282 if test "x${efl_deprecated_option}" = "xyes"; then
5284 echo "#-------------------------------------------------------------------#"
5285 echo "##==-- ALERT --==##"
5286 echo "#-------------------------------------------------------------------#"
5288 echo " Your build script is using a deprecated option. It will get b0rken"
5289 echo "with the next release of EFL. You better update it now than later."
5291 echo "#-------------------------------------------------------------------#"