1 EFL_VERSION([1], [14], [99], [dev])
2 AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
8 AC_CONFIG_HEADERS([config.h])
10 #ifndef EFL_CONFIG_H__
11 #define EFL_CONFIG_H__
14 #endif /* EFL_CONFIG_H__ */
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
660 AC_ARG_ENABLE([systemd],
661 [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
663 if test "x${enableval}" = "xyes" ; then
672 systemd_dbus_prefix="# "
673 if test "${want_systemd}" = "yes"; then
674 systemd_dbus_prefix=""
676 AC_SUBST(systemd_dbus_prefix)
678 AC_ARG_WITH([systemdunitdir],
679 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
680 [USER_SESSION_DIR=${withval}])
681 if test "$want_systemd" == "no"; then
682 have_systemd_user_session="no"
683 elif test -n "${USER_SESSION_DIR}"; then
684 have_systemd_user_session="yes"
685 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
687 # Detect systemd user session directory properly
688 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
689 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
691 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
692 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
696 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
697 AC_SUBST([USER_SESSION_DIR])
699 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
700 PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 192 libsystemd-journal >= 192],
701 [have_systemd_pkg="yes"],
702 [have_systemd_pkg="no"])
705 PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198],
706 [have_systemd_login=yes], [have_systemd_login=no])
707 AS_IF([test "x$have_systemd_login" = "xyes"],
708 [AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])])
709 AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes")
711 # check for systemd library if requested
712 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
713 AC_MSG_ERROR([Systemd dependency requested but not found])
716 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
718 #### Platform-dependent
723 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
727 ### Additional options to configure
728 EFL_SELECT_WINDOWS_VERSION
730 ### Checks for programs
732 ### Checks for libraries
734 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
735 EVIL_DLFCN_LIBS="-lpsapi"
737 AC_SUBST([EVIL_DLFCN_LIBS])
739 ### Checks for header files
743 ### Checks for structures
745 ### Checks for compiler characteristics
747 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
748 # TODO: should we have these at EFL (global?)
749 # Note: these warnings should not be used with C++ code
750 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
751 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
753 if test "x${have_win32}" = "xyes" ; then
754 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
755 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
758 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
759 AC_SUBST([EVIL_CFLAGS_WRN])
760 AC_SUBST([EVIL_CXXFLAGS])
762 ### Checks for linker characteristics
764 ### Checks for library functions
766 DL_LIBS="lib/evil/libdl.la"
767 DL_INTERNAL_LIBS="lib/evil/libdl.la"
769 EFL_LIB_END_OPTIONAL([Evil])
771 AC_SUBST([USE_EVIL_CFLAGS])
772 AC_SUBST([USE_EVIL_LIBS])
777 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
779 ### Additional options to configure
783 ### Checks for programs
785 ### Checks for libraries
786 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
788 ### Checks for header files
792 ### Checks for structures
794 ### Checks for compiler characteristics
796 ### Checks for linker characteristics
798 ### Checks for library functions
800 EFL_LIB_END_OPTIONAL([Escape])
803 EFL_CHECK_FUNC([SHM], [shm_open])
804 SHM_LIBS="${requirements_libs_shm}"
808 AC_SUBST([DL_INTERNAL_LIBS])
809 #### End of Platform-dependent
814 EFL_LIB_START([Eina])
818 have_safety_checks="yes"
820 case "${build_profile}" in
822 with_max_log_level=""
823 have_stringshare_usage="no"
825 want_debug_malloc="no"
826 want_debug_threads="no"
827 want_default_mempool="no"
832 with_max_log_level=""
833 have_stringshare_usage="yes"
835 want_debug_malloc="yes"
836 want_debug_threads="yes"
837 want_default_mempool="yes"
842 with_max_log_level="3"
843 have_stringshare_usage="no"
845 want_debug_malloc="no"
846 want_debug_threads="no"
847 want_default_mempool="no"
852 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
853 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
854 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
856 if test -n "${with_max_log_level}"; then
857 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
858 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
861 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
862 [test "x${have_stringshare_usage}" = "xyes"],
863 [1], [Report Eina stringshare usage pattern])
865 ### Additional options to configure
866 AC_ARG_ENABLE([magic-debug],
867 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
869 if test "x${enableval}" = "xyes" ; then
870 have_magic_debug="yes"
872 have_magic_debug="no"
875 [have_magic_debug="yes"])
877 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
879 AC_ARG_WITH([xattr-tests-path],
880 [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])])
882 ### Checks for programs
884 ### Checks for libraries
885 EFL_PLATFORM_DEPEND([EINA], [all])
887 EFL_ADD_LIBS([EINA], [-lm])
892 AC_ARG_ENABLE([valgrind],
893 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
895 if test "x${enableval}" = "xyes" ; then
902 if test "${want_valgrind}" = "auto"; then
903 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
905 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
908 if test "${want_valgrind}" = "no"; then
909 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
911 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
912 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
915 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
916 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
917 [1], [Turn on debugging overhead in mempool])
919 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
920 [test "x${want_cow_magic}" = "xyes" ],
921 [1], [Turn on Eina_Magic in Eina_Cow])
923 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd-journal])
925 EFL_EVAL_PKGS([EINA])
931 PKG_CHECK_MODULES([GLIB],
936 if test "x${have_glib}" = "xyes" ; then
937 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
940 ### Checks for header files
942 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
943 CFLAGS_save="${CFLAGS}"
944 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
945 AC_CHECK_HEADERS([sys/mman.h])
946 CFLAGS="${CFLAGS_save}"
948 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
952 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
953 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
954 [1], [Define to 1 if you have a valid <dirent.h> header file.])
956 ### Checks for structures
958 ### Checks for compiler characteristics
959 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
961 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
962 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
963 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
965 ### Checks for linker characteristics
967 ### Checks for library functions
969 AC_CHECK_FUNCS([fchmod])
971 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
974 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
978 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
979 AC_MSG_RESULT([${enable_log}])
981 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
984 if test "x${efl_have_threads}" = "xno"; then
988 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
989 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
991 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
992 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
993 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
994 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
995 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
996 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1000 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1001 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1002 EINA_CHECK_MODULE([one-big], [static], [one big])
1004 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1010 EFL_LIB_START([Eina_Cxx])
1012 EFL_CXX_COMPILE_STDCXX_11([ext])
1013 AC_ARG_ENABLE([cxx-bindings],
1014 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1015 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1017 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1023 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1025 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1026 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1027 EFL_EVAL_PKGS([EINA_CXX])
1029 EFL_LIB_END([Eina_Cxx])
1030 #### End of Eina CXX
1038 ### Additional options to configure
1040 ### Checks for programs
1042 ## Compatibility layers
1043 EFL_PLATFORM_DEPEND([EO], [evil])
1045 ### Checks for libraries
1046 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1048 # Example (evas one)
1050 # TODO: add once elementary is merged
1051 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1052 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1054 ### Checks for header files
1056 ### Checks for types
1058 ### Checks for structures
1060 ### Checks for compiler characteristics
1062 ### Checks for linker characteristics
1064 ### Checks for library functions
1065 EFL_CHECK_FUNCS([EO], [dladdr])
1067 ### Check availability
1073 EFL_LIB_START([Eet_Cxx])
1075 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1076 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1078 EFL_EVAL_PKGS([EET_CXX])
1080 EFL_LIB_END([Eet_Cxx])
1085 EFL_LIB_START([Emile])
1089 ### Additional options to configure
1091 ### Checks for programs
1093 ### Checks for libraries
1095 EFL_CHECK_LIBS([EMILE], [libjpeg])
1097 ## Compatibility layers
1098 EFL_PLATFORM_DEPEND([EMILE], [evil])
1100 EFL_ADD_LIBS([EMILE], [-lm])
1102 # Cryptography support
1103 if test "$build_crypto" != "none" ; then
1104 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1105 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1106 EFL_CRYPTO_DEPEND([EMILE])
1109 EFL_CHECK_LIBS([EMILE], [zlib])
1111 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1113 EFL_EVAL_PKGS([EMILE])
1115 ### Checks for header files
1117 ### Checks for types
1119 ### Checks for structures
1121 ### Checks for compiler characteristics
1123 ### Checks for linker characteristics
1125 ### Checks for library functions
1127 ### Check availability
1129 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1131 EFL_LIB_END([Emile])
1137 EFL_LIB_START([Eet])
1141 ### Additional options to configure
1143 ### Checks for programs
1145 ### Checks for libraries
1147 EFL_CHECK_LIBS([EET], [libjpeg])
1149 ## Compatibility layers
1150 EFL_PLATFORM_DEPEND([EET], [evil])
1152 EFL_ADD_LIBS([EET], [-lm])
1154 # Cryptography support
1155 if test "$build_crypto" != "none" ; then
1156 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1157 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1158 EFL_CRYPTO_DEPEND([EET])
1161 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1162 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1164 EFL_EVAL_PKGS([EET])
1166 ### Checks for header files
1168 ### Checks for types
1170 ### Checks for structures
1172 ### Checks for compiler characteristics
1174 ### Checks for linker characteristics
1176 ### Checks for library functions
1178 ### Check availability
1184 EFL_LIB_START([Eo_Cxx])
1186 EFL_EVAL_PKGS([EO_CXX])
1188 EFL_LIB_END([Eo_Cxx])
1193 EFL_LIB_START([Eolian])
1197 ### Additional options to configure
1198 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1200 ### Checks for programs
1202 ## Compatibility layers
1203 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1205 ### Checks for libraries
1206 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1208 ### Checks for header files
1210 ### Checks for types
1212 ### Checks for structures
1214 ### Checks for compiler characteristics
1216 ### Checks for linker characteristics
1218 ### Checks for library functions
1220 ### Check availability
1222 EFL_LIB_END([Eolian])
1225 EFL_LIB_START([Eolian_Cxx])
1228 ### Additional options to configure
1230 ### Checks for programs
1232 ## Compatibility layers
1234 ### Checks for libraries
1235 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1236 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1238 ### Checks for header files
1240 ### Checks for types
1242 ### Checks for structures
1244 ### Checks for compiler characteristics
1246 ### Checks for linker characteristics
1248 ### Checks for library functions
1250 ### Check availability
1251 EFL_LIB_END([Eolian_Cxx])
1255 EFL_LIB_START([Efl])
1257 EFL_PLATFORM_DEPEND([EFL], [evil])
1258 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1259 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1261 EFL_ADD_LIBS([EFL], [-lm])
1268 EFL_LIB_START([Ector])
1273 ### Additional options to configure
1275 ### Checks for programs
1277 ### Checks for libraries
1279 ## Compatibility layers
1281 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1283 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1284 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1285 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1287 EFL_ADD_LIBS([ECTOR], [-lm])
1289 EFL_EVAL_PKGS([ECTOR])
1291 ### Checks for header files
1293 ### Checks for types
1295 ### Checks for structures
1297 ### Checks for compiler characteristics
1299 ### Checks for linker characteristics
1301 ### Checks for library functions
1303 ### Check availability
1305 EFL_LIB_END([ECTOR])
1311 EFL_LIB_START([Evas])
1313 ### Additional options to configure
1317 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1319 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1321 elif test "x${with_x11}" = "x"; then
1329 case "${with_x11}" in
1337 CFOPT_WARNING="xyes"
1343 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1348 AC_ARG_WITH([opengl],
1349 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1351 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1353 elif test "x${with_opengl}" = "x"; then
1357 case "${with_opengl}" in
1361 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1365 want_x11_xlib_opengl="no"
1366 want_x11_xcb_opengl="no"
1367 if test "${with_opengl}" != "none"; then
1368 want_x11_xlib_opengl="${want_x11_xlib}"
1369 want_x11_xcb_opengl="${want_x11_xcb}"
1370 want_x11_any_opengl="${want_x11_any}"
1374 AC_ARG_ENABLE([wayland],
1375 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1377 if test "x${enableval}" = "xyes" ; then
1383 [want_wayland="no"])
1385 if test "${want_wayland}" = "yes"; then
1386 EFL_PKG_CHECK_STRICT([wayland-client >= 1.3.0])
1390 AC_ARG_ENABLE([wayland-ivi-shell],
1391 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1393 if test "x${enableval}" = "xyes" ; then
1394 want_wayland_ivi_shell="yes"
1396 want_wayland_ivi_shell="no"
1399 [want_wayland_ivi_shell="no"])
1403 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1405 if test "x${enableval}" = "xyes" ; then
1414 AC_ARG_ENABLE([sdl],
1415 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1417 if test "x${enableval}" = "xyes" ; then
1425 if test "${want_sdl}" = "yes"; then
1426 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1429 # We only enable SDL with opengl if it is not the full version and not ES
1430 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1431 # versions the SDL_opengles.h has never been released.
1433 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1434 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1436 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1441 AC_ARG_ENABLE([cocoa],
1442 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1444 if test "x${enableval}" = "xyes" ; then
1452 if test "${want_cocoa}" = "yes"; then
1453 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1456 m4_ifdef([AC_PROG_OBJC],
1458 if test "x${have_gnu_objc}" = "xyes" ; then
1459 AC_LANG_PUSH([Objective C])
1461 LIBS="$LIBS -framework Cocoa"
1465 #include <Cocoa/Cocoa.h>
1469 window = [[NSWindow alloc]
1470 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1471 styleMask:(NSTitledWindowMask)
1472 backing:NSBackingStoreBuffered
1479 cocoa_ldflags="-framework Cocoa"
1483 AC_MSG_CHECKING([whether Cocoa framework is supported])
1484 AC_MSG_RESULT([${have_cocoa}])
1485 AC_LANG_POP([Objective C])
1489 AC_SUBST(cocoa_ldflags)
1491 if test "x${want_cocoa}" = "xyes"; then
1492 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1493 cocoa_coreservices_ldflags=""
1494 have_cocoa_coreservices="no"
1495 m4_ifdef([AC_PROG_OBJC],
1497 if test "x${have_gnu_objc}" = "xyes" ; then
1498 AC_LANG_PUSH([Objective C])
1500 LIBS="$LIBS -framework CoreServices"
1504 #include <CoreServices/CoreServices.h>
1507 //test function here
1510 have_cocoa_coreservices="yes"
1511 cocoa_coreservices_ldflags="-framework CoreServices"
1513 [have_cocoa_coreservices="no"])
1515 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1516 AC_MSG_RESULT([${have_cocoa_coreservices}])
1517 AC_LANG_POP([Objective C])
1521 AC_SUBST(cocoa_coreservices_ldflags)
1524 AC_ARG_ENABLE([drm],
1525 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1527 if test "x${enableval}" = "xyes" ; then
1536 AC_ARG_ENABLE([gl-drm],
1537 [AC_HELP_STRING([--enable-gl-drm],
1538 [enable gl drm engine. @<:@default=disabled@:>@])],
1540 if test "x${enableval}" = "xyes" ; then
1548 AC_ARG_ENABLE([fontconfig],
1549 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1551 if test "x${enableval}" = "xyes" ; then
1552 want_fontconfig="yes"
1554 want_fontconfig="no"
1555 CFOPT_WARNING="xyes"
1558 [want_fontconfig="yes"])
1561 AC_ARG_ENABLE([fribidi],
1562 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1564 if test "x${enableval}" = "xyes" ; then
1568 CFOPT_WARNING="xyes"
1571 [want_fribidi="yes"])
1574 AC_ARG_ENABLE([eo_id],
1575 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1577 if test "x${enableval}" = "xyes" ; then
1581 CFOPT_WARNING="xyes"
1587 AC_ARG_ENABLE([harfbuzz],
1588 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1590 if test "x${enableval}" = "xyes" ; then
1596 [want_harfbuzz="no"])
1599 AC_ARG_ENABLE([egl],
1600 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1602 if test "x${enableval}" = "xyes" ; then
1611 AC_ARG_ENABLE([pixman],
1612 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1614 if test "x${enableval}" = "xyes" ; then
1616 CFOPT_WARNING="xyes"
1623 AC_ARG_ENABLE([pixman-font],
1624 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1626 if test "x${enableval}" = "xyes" ; then
1627 have_pixman_font="yes"
1629 have_pixman_font="no"
1632 [have_pixman_font="no"])
1634 AC_ARG_ENABLE([pixman-rect],
1635 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1637 if test "x${enableval}" = "xyes" ; then
1638 have_pixman_rect="yes"
1640 have_pixman_rect="no"
1643 [have_pixman_rect="no"])
1645 AC_ARG_ENABLE([pixman-line],
1646 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1648 if test "x${enableval}" = "xyes" ; then
1649 have_pixman_line="yes"
1651 have_pixman_line="no"
1654 [have_pixman_line="no"])
1656 AC_ARG_ENABLE(pixman-poly,
1657 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1659 if test "x${enableval}" = "xyes" ; then
1660 have_pixman_poly="yes"
1662 have_pixman_poly="no"
1665 [have_pixman_poly="no"])
1667 AC_ARG_ENABLE([pixman-image],
1668 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1670 if test "x${enableval}" = "xyes" ; then
1671 have_pixman_image="yes"
1673 have_pixman_image="no"
1676 [have_pixman_image="no"])
1678 AC_ARG_ENABLE([pixman-image-scale-sample],
1679 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1681 if test "x${enableval}" = "xyes" ; then
1682 have_pixman_image_scale_sample="yes"
1684 have_pixman_image_scale_sample="no"
1687 [have_pixman_image_scale_sample="no"])
1690 AC_ARG_ENABLE([tile-rotate],
1691 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1693 if test "x${enableval}" = "xyes" ; then
1694 have_tile_rotate="yes"
1695 CFOPT_WARNING="xyes"
1697 have_tile_rotate="no"
1700 [have_tile_rotate="no"])
1705 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1706 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1707 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1708 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1709 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1710 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1711 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1712 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1713 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1714 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1715 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1716 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1717 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1718 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1719 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1720 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1721 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1725 want_evas_engine_software_gdi="${have_win32}"
1726 want_evas_engine_software_ddraw="${have_win32}"
1727 want_evas_engine_gl_cocoa="${want_cocoa}"
1728 want_evas_engine_wayland_egl="no"
1729 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1730 want_evas_engine_wayland_egl="yes"
1733 if test "${want_lua_old}" = "yes"; then
1734 EFL_CHECK_LUA_OLD([EVAS])
1736 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1739 EFL_ADD_FEATURE([EVAS], [lua-old])
1741 EFL_CHECK_FUNC([EVAS], [dlsym])
1743 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1744 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1747 ### Checks for programs
1749 ### Checks for libraries
1751 ## Compatibility layers
1752 EFL_PLATFORM_DEPEND([EVAS], [all])
1753 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1754 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1755 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1756 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1757 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1758 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1760 EFL_ADD_LIBS([EVAS], [-lm])
1763 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1765 ## optional dependencies
1768 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1769 [FONTCONFIG], [fontconfig >= 2.5.0])
1772 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1773 [FRIBIDI], [fribidi >= 0.19.2])
1776 have_harfbuzz_ft="no"
1777 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1778 [HARFBUZZ], [harfbuzz >= 0.9.0])
1781 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1783 if test "x${have_pixman}" = "xyes" ; then
1784 if test "x${have_pixman_font}" = "xyes" ; then
1785 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1787 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1789 if test "x${have_pixman_rect}" = "xyes" ; then
1790 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1792 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1794 if test "x${have_pixman_line}" = "xyes" ; then
1795 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1797 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1799 if test "x${have_pixman_poly}" = "xyes" ; then
1800 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1802 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1804 if test "x${have_pixman_image}" = "xyes" ; then
1805 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1807 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1809 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1810 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1812 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1817 define([EVAS_ENGINE_DEP_CHECK_FB], [
1818 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1821 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1822 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1825 EVAS_ENGINE([buffer], [static])
1826 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1827 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1830 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1831 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1832 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1833 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1834 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1835 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1836 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1837 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1842 have_evas_engine_software_xcb="no"
1843 if test "${with_x11}" = "xcb" ; then
1844 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1846 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1847 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1850 AC_MSG_CHECKING([whether to build Software XCB Engine])
1851 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1853 # No Software XCB ? Then try Software Xlib
1855 have_evas_engine_software_xlib="no"
1856 if test "x${want_x11_xcb}" = "xno" ; then
1857 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1859 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1860 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1863 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1864 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1866 # If software_x11 is available, define everything needed for X11
1868 have_evas_engine_software_x11="no"
1869 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
1870 have_evas_engine_software_x11="yes"
1871 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1873 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1875 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1876 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1878 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1880 # Needed for evas-software-x11.pc
1882 AC_SUBST([have_evas_engine_software_xlib])
1883 AC_SUBST([have_evas_engine_software_xcb])
1886 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1887 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1891 if test "${with_opengl}" = "es" ; then
1892 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1897 have_evas_engine_gl_xcb="no"
1898 if test "${want_x11_xcb_opengl}" = "yes"; then
1899 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1901 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1902 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1905 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1906 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1908 # No openGL XCB ? Then try OpenGL Xlib
1910 have_evas_engine_gl_xlib="no"
1911 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1912 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1914 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1915 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1918 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1919 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1921 # If opengl_x11 is available, define everything needed for X11
1923 have_evas_engine_gl_x11="no"
1924 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
1925 have_evas_engine_gl_x11="yes"
1926 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1928 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1930 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1931 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1933 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1935 # Needed for evas-opengl-x11.pc
1937 AC_SUBST([have_evas_engine_gl_xlib])
1938 AC_SUBST([have_evas_engine_gl_xcb])
1942 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1943 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1944 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1945 [#include <SDL/SDL_video.h>])
1948 if test "${with_opengl}" = "es"; then
1949 AC_CHECK_DECL([SDL_OPENGLES],
1950 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1951 [#include <SDL/SDL_video.h>])
1955 evas_engine_gl_common_cflags=""
1956 if test "x${have_egl}" = "xyes"; then
1957 evas_engine_gl_common_libs="-lEGL"
1959 evas_engine_gl_common_libs="-lGL"
1962 # The lines below fix compiling/linking of gl_generic on OSX
1963 if test "x${have_darwin}" = "xyes"; then
1964 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1965 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1966 # CFLAGS and LIBS are determined by evas-gl_cocoa.
1967 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1968 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
1970 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
1971 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
1972 # cannot compile (nor link).
1973 evas_engine_gl_common_libs=""
1974 evas_engine_gl_common_cflags=""
1976 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
1977 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
1978 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
1980 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
1984 AC_SUBST([evas_engine_gl_common_cflags])
1985 AC_SUBST([evas_engine_gl_common_libs])
1987 have_evas_engine_gl_common="no"
1988 have_static_evas_engine_gl_common="no"
1989 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
1990 test "x$have_evas_engine_gl_xcb" = "xyes" || \
1991 test "x$have_evas_engine_gl_sdl" = "xyes" || \
1992 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
1993 test "x$have_evas_engine_gl_drm" = "xyes" || \
1994 test "x$have_evas_engine_wayland_egl" = "xyes"; then
1995 have_evas_engine_gl_common="yes"
1997 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
1998 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
1999 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2000 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2001 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2002 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2003 have_evas_engine_gl_common="yes"
2004 have_static_evas_engine_gl_common="yes"
2007 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2008 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2011 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2013 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2014 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2017 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2022 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2023 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2024 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2025 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2026 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2027 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2028 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2029 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2030 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2031 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2032 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2033 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2034 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2035 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2036 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2037 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2038 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2040 EFL_EVAL_PKGS([EVAS])
2042 ### Checks for header files
2044 if test "x$have_harfbuzz" = "xyes" ; then
2046 CPPFLAGS_SAVE="$CPPFLAGS"
2047 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2048 # must have for usage with harfbuzz although harfbuzz may not have it.
2050 AC_CHECK_HEADER([hb-ft.h],
2052 have_harfbuzz_ft="yes"
2053 #Depend on harfbuzz ft for harfbuzz support
2054 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2056 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2058 CPPFLAGS="$CPPFLAGS_SAVE"
2061 ### Checks for types
2063 CPPFLAGS_SAVE="$CPPFLAGS"
2064 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2065 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2066 CPPFLAGS="$CPPFLAGS_SAVE"
2069 if test "x$have_fribidi" = "xyes" ; then
2070 CPPFLAGS_SAVE="$CPPFLAGS"
2071 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2072 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2073 CPPFLAGS="$CPPFLAGS_SAVE"
2076 ### Checks for structures
2078 AC_CHECK_TYPES([struct sigaction], [], [],
2079 [[#include <signal.h>]])
2081 ### Checks for compiler characteristics
2083 ### Checks for linker characteristics
2085 ### Checks for library functions
2087 AC_CHECK_FUNCS([siglongjmp])
2089 AC_CHECK_LIB([m], [lround],
2090 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2091 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2097 AC_ARG_ENABLE([cserve],
2098 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2100 if test "x${enableval}" = "xyes" ; then
2101 want_evas_cserve2="yes"
2103 want_evas_cserve2="no"
2104 CFOPT_WARNING="xyes"
2107 [want_evas_cserve2="yes"])
2109 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2110 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2113 # cserve2 only works on Linux so far.
2115 if test "x${efl_func_shm_open}" = "xno" ; then
2116 want_evas_cserve2="no"
2119 if test "x${want_evas_cserve2}" = "xyes"; then
2120 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
2121 want_evas_cserve2="no"
2123 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2124 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2128 AC_DEFINE_IF([EVAS_CSERVE2],
2129 [test "x${want_evas_cserve2}" = "xyes"],
2130 [1], [Shared cache server.])
2131 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2137 if test "x${have_tile_rotate}" = "xyes" ; then
2138 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2144 AC_ARG_WITH([evas-dither-mask],
2145 [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.
2146 @<:@default=big@:>@])],
2147 [build_evas_dither_mask=${withval}],
2148 [build_evas_dither_mask=big])
2150 case "${build_evas_dither_mask}" in
2152 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2155 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2158 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2161 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2164 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2167 EFL_ADD_FEATURE([EVAS], [fontconfig])
2168 EFL_ADD_FEATURE([EVAS], [fribidi])
2169 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2170 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2171 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2172 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2178 EFL_LIB_START([Evas_Cxx])
2180 EFL_EVAL_PKGS([EVAS_CXX])
2182 EFL_LIB_END([Evas_Cxx])
2183 #### End of Edje CXX
2187 EFL_LIB_START([Embryo])
2191 ### Additional options to configure
2193 ### Checks for programs
2195 ### Checks for libraries
2196 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2197 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2199 EFL_ADD_LIBS([EMBRYO], [-lm])
2201 ### Checks for header files
2203 ### Checks for types
2205 ### Checks for structures
2207 ### Checks for compiler characteristics
2209 ### Checks for linker characteristics
2211 ### Checks for library functions
2213 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2214 AC_MSG_ERROR([Cannot find fnmatch()])
2217 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2218 AC_MSG_ERROR([Cannot find gettimeofday()])
2221 ### Check availability
2223 EFL_LIB_END([Embryo])
2229 EFL_LIB_START([Ecore])
2231 ### Additional options to configure
2236 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2238 if test "x${withval}" = "xyes" ; then
2241 if test "x${withval}" = "xalways" ; then
2250 AC_ARG_ENABLE([g-main-loop],
2251 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2253 if test "x${enableval}" = "xyes" ; then
2254 want_g_main_loop="yes"
2255 CFOPT_WARNING="xyes"
2257 want_g_main_loop="no"
2260 [want_g_main_loop="no"])
2262 AC_ARG_ENABLE([gstreamer],
2263 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2265 if test "x${enableval}" = "xyes" ; then
2266 want_gstreamer="yes"
2267 CFOPT_WARNING="xyes"
2272 [want_gstreamer="no"])
2274 AC_ARG_ENABLE([gstreamer1],
2275 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2277 if test "x${enableval}" = "xyes" ; then
2278 want_gstreamer1="yes"
2280 want_gstreamer1="no"
2281 CFOPT_WARNING="xyes"
2284 [want_gstreamer1="yes"])
2286 AC_ARG_ENABLE([tizen],
2287 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2289 if test "x${enableval}" = "xyes" ; then
2297 if test "${want_tizen}" = "yes"; then
2298 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2300 [have_tizen_vconf="yes"],
2301 [have_tizen_vconf="no"])
2302 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2305 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2306 if test "${have_tizen_vconf}" = "yes"; then
2307 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2312 if test "${have_windows}" = "yes"; then
2317 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2321 want_ecore_timer_dump="no"
2322 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2323 want_ecore_timer_dump="yes"
2324 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2327 ### Checks for programs
2329 ### Checks for libraries
2330 EFL_PLATFORM_DEPEND([ECORE], [all])
2331 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2332 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2333 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2335 EFL_ADD_LIBS([ECORE], [-lm])
2339 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2340 if test "x${have_glib}" = "xno"; then
2341 want_g_main_loop="no"
2344 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2346 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2347 EFL_ADD_FEATURE([ECORE], [glib])
2348 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2350 want_glib_integration_always=no
2351 if test "x${with_glib}" = "xalways" ; then
2352 want_glib_integration_always="yes"
2353 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2356 if test "x${want_g_main_loop}" = "xyes" ; then
2357 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2360 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2361 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2362 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2365 if test "${want_gstreamer1}" = "yes"; then
2366 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2368 if test "${want_gstreamer}" = "yes"; then
2369 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2371 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2373 EFL_EVAL_PKGS([ECORE])
2375 ### Checks for header files
2379 AC_CHECK_HEADERS([sys/socket.h])
2381 AC_CHECK_HEADERS([ \
2393 #ifdef HAVE_SYS_SOCKET_H
2394 # include <sys/socket.h>
2398 AC_CHECK_HEADERS([net/if.h], [], [],
2401 # include <stdlib.h>
2402 # include <stddef.h>
2405 # include <stdlib.h>
2408 #if HAVE_SYS_SOCKET_H
2409 # include <sys/socket.h>
2413 ### Checks for types
2415 ### Checks for structures
2417 ### Checks for compiler characteristics
2419 ### Checks for linker characteristics
2421 ### Checks for library functions
2433 int i = isfinite(0);
2436 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2439 [have_isfinite="no"])
2441 AC_MSG_CHECKING([for isfinite])
2442 AC_MSG_RESULT([${have_isfinite}])
2444 # mallinfo, timerfd_create, clock_gettime
2446 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2448 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2449 AC_CHECK_LIB([rt], [clock_gettime],
2451 EFL_ADD_LIBS([ECORE], [-lrt])
2452 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2456 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2458 # coroutine function specific
2463 #include <ucontext.h>
2469 [have_ucontext="yes"],
2470 [have_ucontext="no"])
2472 AC_MSG_CHECKING([for ucontext])
2473 AC_MSG_RESULT([${have_ucontext}])
2484 [have_setjmp="yes"],
2487 AC_MSG_CHECKING([for setjmp])
2488 AC_MSG_RESULT([${have_setjmp}])
2490 if test "X${have_windows}" = "xyes"; then
2491 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2492 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2493 elif test "x${have_ucontext}" = "xyes"; then
2494 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2495 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2496 elif test "x${have_setjmp}" = "xyes"; then
2497 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2498 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2500 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2503 ### Check availability
2505 EFL_LIB_END([Ecore])
2509 EFL_LIB_START([Ecore_Cxx])
2511 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2512 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2513 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2514 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2516 EFL_EVAL_PKGS([ECORE_CXX])
2518 EFL_LIB_END([Ecore_Cxx])
2519 #### End of Ecore CXX
2523 EFL_LIB_START([Ecore_Con])
2527 want_ecore_con_local_sockets="yes"
2528 want_ecore_con_abstract_sockets="yes"
2530 if test "${have_win32}" = "yes"; then
2532 want_ecore_con_abstract_sockets="no"
2533 elif test "${have_darwin}" = "yes"; then
2535 want_ecore_con_abstract_sockets="yes"
2536 elif test "${have_ps3}" = "yes"; then
2538 want_ecore_con_local_sockets="no"
2539 want_ecore_con_abstract_sockets="no"
2544 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2545 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2546 [1], [Have local sockets support])
2547 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2548 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2549 [1], [Have abstract sockets namespace])
2551 ### Checks for programs
2553 ### Checks for libraries
2554 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2555 if test "$build_crypto" != "none" ; then
2556 EFL_CRYPTO_DEPEND([ECORE_CON])
2558 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2559 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2560 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2561 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2562 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2564 EFL_ADD_LIBS([ECORE_CON], [-lm])
2566 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2567 [CARES], [libcares >= 1.6.1])
2568 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2570 if test "x$have_cares" = "xyes" ; then
2571 ecore_con_resolver="cares"
2572 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2573 ecore_con_resolver="dns.c"
2575 ecore_con_resolver="fork"
2578 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon])
2580 EFL_ADD_FEATURE([ECORE_CON], [cares])
2581 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2582 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2583 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2584 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2586 EFL_EVAL_PKGS([ECORE_CON])
2588 ### Checks for header files
2590 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2592 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2593 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2596 ### Checks for types
2599 AC_CHECK_TYPES([struct ipv6_mreq],
2603 #include <netinet/in.h>
2604 #ifdef HAVE_WS2TCPIP_H
2605 # include <ws2tcpip.h>
2609 AC_DEFINE_IF([HAVE_IPV6],
2610 [test "x${have_ipv6}" = "xyes"],
2611 [1], [Define if IPV6 is supported])
2612 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2614 ### Checks for structures
2616 ### Checks for compiler characteristics
2618 ### Checks for linker characteristics
2620 ### Checks for library functions
2622 EFL_LIB_END([Ecore_Con])
2623 #### End of Ecore_Con
2628 EFL_LIB_START([Ecore_Ipc])
2632 ### Additional options to configure
2634 ### Checks for programs
2636 ## Compatibility layers
2637 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2639 ### Checks for libraries
2640 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2641 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2642 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2643 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2645 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2647 ### Checks for header files
2649 AC_CHECK_HEADERS([winsock2.h])
2651 ### Checks for types
2653 ### Checks for structures
2655 ### Checks for compiler characteristics
2657 ### Checks for linker characteristics
2659 ### Checks for library functions
2661 EFL_LIB_END([Ecore_Ipc])
2662 #### End of Ecore_Ipc
2667 EFL_LIB_START([Ecore_File])
2669 ### Additional options to configure
2673 ### Checks for programs
2675 ## Compatibility layers
2676 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2678 ### Checks for libraries
2679 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2680 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2681 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2682 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2683 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2685 ### Checks for header files
2687 ### Checks for types
2689 ### Checks for structures
2691 ### Checks for compiler characteristics
2693 ### Checks for linker characteristics
2695 ### Checks for library functions
2697 EFL_LIB_END([Ecore_File])
2698 #### End of Ecore_File
2702 EFL_LIB_START([Ecore_Input])
2704 ### Additional options to configure
2708 ### Checks for programs
2710 ## Compatibility layers
2711 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2713 ### Checks for libraries
2714 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2715 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2716 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2718 ### Checks for header files
2720 ### Checks for types
2722 ### Checks for structures
2724 ### Checks for compiler characteristics
2726 ### Checks for linker characteristics
2728 ### Checks for library functions
2730 EFL_LIB_END([Ecore_Input])
2731 #### End of Ecore_Input
2734 #### Ecore_Input_Evas
2735 EFL_LIB_START([Ecore_Input_Evas])
2737 ### Additional options to configure
2741 ### Checks for programs
2743 ## Compatibility layers
2744 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2746 ### Checks for libraries
2747 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2748 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2749 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2750 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2751 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2752 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2753 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2755 ### Checks for header files
2757 ### Checks for types
2759 ### Checks for structures
2761 ### Checks for compiler characteristics
2763 ### Checks for linker characteristics
2765 ### Checks for library functions
2767 EFL_LIB_END([Ecore_Input_Evas])
2768 #### End of Ecore_Input_Evas
2772 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2774 ### Additional options to configure
2778 ### Checks for programs
2780 ### Checks for libraries
2781 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2782 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2783 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2784 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2786 ### Checks for header files
2788 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2790 ### Checks for types
2792 ### Checks for structures
2794 ### Checks for compiler characteristics
2796 ### Checks for linker characteristics
2798 ### Checks for library functions
2800 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2801 #### End of Ecore_Cocoa
2805 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2807 ### Additional options to configure
2808 AC_ARG_ENABLE([tslib],
2809 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2811 if test "x${enableval}" = "xyes" ; then
2816 ], [want_tslib="yes"])
2820 ### Checks for programs
2822 ### Checks for libraries
2823 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2824 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2825 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2826 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2828 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2829 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2831 EFL_EVAL_PKGS([ECORE_FB])
2833 ### Checks for header files
2836 AC_CHECK_HEADER([linux/fb.h],
2837 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2838 if test "${have_ecore_fb}" = "no"; then
2839 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2842 ### Checks for types
2844 ### Checks for structures
2846 ### Checks for compiler characteristics
2848 ### Checks for linker characteristics
2850 ### Checks for library functions
2852 EFL_LIB_END_OPTIONAL([Ecore_FB])
2853 #### End of Ecore_FB
2857 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2859 ### Additional options to configure
2863 ### Checks for programs
2865 ### Checks for libraries
2866 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2868 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2869 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2870 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2871 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2873 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2875 ### Checks for header files
2877 ### Checks for types
2879 ### Checks for structures
2881 ### Checks for compiler characteristics
2883 ### Checks for linker characteristics
2885 ### Checks for library functions
2887 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2888 #### End of Ecore_Psl1ght
2892 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2894 ### Additional options to configure
2898 ### Checks for programs
2900 ### Checks for libraries
2901 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2902 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2903 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2904 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2905 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2907 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2909 EFL_EVAL_PKGS([ECORE_SDL])
2911 ### Checks for header files
2913 ### Checks for types
2915 ### Checks for structures
2917 ### Checks for compiler characteristics
2919 ### Checks for linker characteristics
2921 ### Checks for library functions
2923 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2924 #### End of Ecore_SDL
2928 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2930 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2931 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2934 ### Additional options to configure
2938 ### Checks for programs
2940 ### Checks for libraries
2941 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2942 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2943 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2944 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2946 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2947 [wayland-client >= 1.3.0 wayland-cursor >= 1.3.0 xkbcommon >= 0.3.0])
2949 EFL_EVAL_PKGS([ECORE_WAYLAND])
2951 ### Checks for header files
2953 ### Checks for types
2955 ### Checks for structures
2957 ### Checks for compiler characteristics
2959 ### Checks for linker characteristics
2961 ### Checks for library functions
2963 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2964 #### End of Ecore_Wayland
2967 EFL_LIB_START([Eldbus])
2969 ### Additional options to configure
2973 ### Checks for programs
2975 ## Compatibility layers
2976 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
2978 ### Checks for libraries
2979 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
2980 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
2981 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
2983 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
2985 EFL_EVAL_PKGS([ELDBUS])
2987 ### Checks for header files
2989 ### Checks for types
2991 ### Checks for structures
2993 ### Checks for compiler characteristics
2995 ### Checks for linker characteristics
2997 ### Checks for library functions
2999 EFL_LIB_END([Eldbus])
3004 have_libmount_new="no"
3005 have_libmount_old="no"
3006 have_eeze_mount="no"
3008 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3010 ### Additional options to configure
3011 AC_ARG_WITH([mount],
3012 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3013 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3014 AC_ARG_WITH([umount],
3015 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3016 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3017 AC_ARG_WITH([eject],
3018 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3019 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3023 ### Checks for programs
3025 ### Checks for libraries
3026 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3027 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3028 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3029 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3030 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3031 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3032 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3034 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3036 AC_ARG_ENABLE([libmount],
3037 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3039 if test "x${enableval}" = "xyes" ; then
3043 CFOPT_WARNING="xyes"
3046 [want_libmount="yes"])
3048 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3049 [EEZE_MOUNT], [mount >= 2.18.0])
3050 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3052 PKG_CHECK_EXISTS([libudev < 199],
3053 [have_libudev_old="yes"],
3054 [have_libudev_old="no"])
3055 AC_MSG_CHECKING([Use old libudev API (before 199)])
3056 AC_MSG_RESULT([${have_libudev_old}])
3058 PKG_CHECK_EXISTS([mount < 2.19.0],
3059 [have_libmount_old="yes"],
3060 [have_libmount_old="no"])
3061 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3062 AC_MSG_RESULT([${have_libmount_old}])
3064 PKG_CHECK_EXISTS([mount == 2.19.0],
3065 [have_libmount_219="yes"],
3066 [have_libmount_219="no"])
3067 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3068 AC_MSG_RESULT([${have_libmount_219}])
3070 PKG_CHECK_EXISTS([mount > 2.19.0],
3071 [have_libmount_new="yes"],
3072 [have_libmount_new="no"])
3073 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3074 AC_MSG_RESULT([${have_libmount_new}])
3076 if test "x${have_libudev_old}" = "xyes"; then
3077 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3080 if test "x${have_libmount_old}" = "xyes"; then
3081 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3085 if test "${want_tizen}" = "yes"; then
3086 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3088 EFL_ADD_FEATURE([EEZE], [tizen])
3090 EFL_EVAL_PKGS([EEZE])
3092 ### Checks for header files
3094 ### Checks for types
3096 ### Checks for structures
3098 ### Checks for compiler characteristics
3100 ### Checks for linker characteristics
3102 ### Checks for library functions
3104 ### Checks for binaries
3105 if test "x$with_eeze_mount" = "xdetect"; then
3106 AC_PATH_PROG([with_eeze_mount], [mount], [])
3108 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3110 if test "x$with_eeze_umount" = "xdetect";then
3111 AC_PATH_PROG([with_eeze_umount], [umount], [])
3113 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3115 if test "x$with_eeze_eject" = "xdetect";then
3116 AC_PATH_PROG([with_eeze_eject], [eject], [])
3118 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3120 EFL_LIB_END_OPTIONAL([Eeze])
3122 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3123 [test "x${have_libmount_new}" = "xyes"])
3124 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3125 [test "x${have_libmount_old}" = "xyes"])
3126 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3127 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3132 have_libinput_new="no"
3133 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3135 ### Additional options to configure
3138 AC_SUBST([SUID_CFLAGS])
3139 AC_SUBST([SUID_LDFLAGS])
3143 ### Checks for programs
3145 ### Checks for libraries
3146 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3147 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3148 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3149 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3150 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3151 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3153 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3154 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3156 # API change from 0.7 to 0.8. So we define this to support both for now.
3157 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3158 [have_libinput_new="yes"],
3159 [have_libinput_new="no"])
3160 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3161 AC_MSG_RESULT([${have_libinput_new}])
3162 if test "x${have_libinput_new}" = "xyes";then
3163 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3165 if test "x${have_libinput_new}" = "xno";then
3166 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3170 EFL_EVAL_PKGS([ECORE_DRM])
3172 ### Checks for header files
3174 ### Checks for types
3176 ### Checks for structures
3178 ### Checks for compiler characteristics
3180 ### Checks for linker characteristics
3182 ### Checks for library functions
3184 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3185 #### End of Ecore_Drm
3190 AC_ARG_ENABLE([audio],
3191 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3193 if test "x${enableval}" = "xyes" ; then
3197 CFOPT_WARNING="xyes"
3202 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3204 ### Additional options to configure
3206 # ALSA support is still not there, thus no option for it yet.
3209 # sndfile is mandatory otherwise it won't read from/write to files.
3210 # TODO: if confirmed sndfile is mandatory, remove this variable
3211 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3214 AC_ARG_ENABLE([pulseaudio],
3215 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3217 if test "x${enableval}" = "xyes" ; then
3218 want_pulseaudio="yes"
3220 want_pulseaudio="no"
3221 CFOPT_WARNING="xyes"
3224 [want_pulseaudio="yes"])
3226 if test "x${have_darwin}" = "xyes"; then
3227 want_pulseaudio="no"
3229 want_coreaudio="yes"
3236 if test "x${want_coreaudio}" = "xyes"; then
3237 coreaudio_ldflags=""
3240 LIBS="$LIBS -framework CoreAudio"
3244 #include <CoreAudio/CoreAudio.h>
3248 AudioDeviceID dev_id;
3249 AudioObjectPropertyAddress prop = {
3250 kAudioHardwarePropertyDefaultOutputDevice,
3251 kAudioObjectPropertyScopeGlobal,
3252 kAudioObjectPropertyElementMaster
3254 size = sizeof(AudioDeviceID);
3255 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3259 have_coreaudio="yes"
3260 coreaudio_ldflags="-framework CoreAudio"
3262 [have_coreaudio="no"])
3264 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3265 AC_MSG_RESULT([${have_coreaudio}])
3267 AC_SUBST(coreaudio_ldflags)
3268 if test "x${have_coreaudio}" = "xyes"; then
3269 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3271 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3277 ### Checks for programs
3279 ## Compatibility layers
3280 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3282 ### Checks for libraries
3283 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3284 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3285 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3286 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3287 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3289 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3291 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3292 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3293 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3295 EFL_EVAL_PKGS([ECORE_AUDIO])
3297 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3298 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3299 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3300 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3302 ### Checks for header files
3304 ### Checks for types
3306 ### Checks for structures
3308 ### Checks for compiler characteristics
3310 ### Checks for linker characteristics
3312 ### Checks for library functions
3314 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3315 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3316 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3317 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3319 #### End of Ecore_Audio
3321 #### Ecore Audio CXX
3322 EFL_LIB_START([Ecore_Audio_Cxx])
3324 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3326 EFL_LIB_END([Ecore_Audio_Cxx])
3327 #### End of Ecore Audio CXX
3330 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3332 ### Additional options to configure
3336 ### Checks for programs
3338 ### Checks for libraries
3339 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3340 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3341 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3342 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3343 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3345 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3346 AC_SUBST([ECORE_WIN32_LIBS])
3348 ### Checks for header files
3350 ### Checks for types
3352 ### Checks for structures
3354 ### Checks for compiler characteristics
3356 ### Checks for linker characteristics
3358 ### Checks for library functions
3360 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3361 #### End of Ecore_Win32
3365 EFL_LIB_START([Ecore_Avahi])
3369 ### Additional options to configure
3373 AC_ARG_ENABLE([avahi],
3374 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3376 if test "x${enableval}" = "xyes" ; then
3385 ### Checks for programs
3387 ## Compatibility layers
3388 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3390 ### Checks for libraries
3391 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3392 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3393 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3395 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3397 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3399 # Needed bu example as they use avahi directly in that case
3400 if test "x${have_avahi}" = "xyes"; then
3401 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3404 EFL_EVAL_PKGS([ECORE_AVAHI])
3406 ### Checks for header files
3408 ### Checks for types
3410 ### Checks for structures
3412 ### Checks for compiler characteristics
3414 ### Checks for linker characteristics
3416 ### Checks for library functions
3418 EFL_LIB_END([Ecore_Avahi])
3420 #### End of Ecore_Avahi
3424 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3426 ### Additional options to configure
3428 AC_ARG_ENABLE([gesture],
3429 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3431 if test "x${enableval}" = "xyes" ; then
3437 [want_gesture="no"])
3439 AC_ARG_ENABLE([xpresent],
3440 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3442 if test "x${enableval}" = "xyes" ; then
3448 [want_xpresent="no"])
3450 AC_ARG_ENABLE([xinput2],
3451 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3453 if test "x${enableval}" = "xyes" ; then
3457 CFOPT_WARNING="xyes"
3460 [want_xinput2="yes"])
3462 AC_ARG_ENABLE([xinput22],
3463 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3465 if test "x${enableval}" = "xyes" ; then
3471 [want_xinput22="no"])
3473 AC_ARG_ENABLE([xim],
3474 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3476 if test "x${enableval}" = "xyes" ; then
3480 CFOPT_WARNING="xyes"
3485 AC_ARG_ENABLE([scim],
3486 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3488 if test "x${enableval}" = "xyes" ; then
3492 CFOPT_WARNING="xyes"
3497 AC_ARG_ENABLE([ibus],
3498 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3500 if test "x${enableval}" = "xyes" ; then
3510 ### Checks for programs
3512 ### Checks for libraries
3513 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3514 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3515 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3516 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3522 ### Checks for header files
3524 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3526 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3527 FOUND_MAXHOSTNAMELEN="not found"
3533 #include <sys/param.h>
3536 int h = MAXHOSTNAMELEN;
3540 FOUND_MAXHOSTNAMELEN="sys/param.h"
3541 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3551 int h = MAXHOSTNAMELEN;
3555 FOUND_MAXHOSTNAMELEN="netdb.h"
3556 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3559 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3560 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3564 if test "x${want_x11_xcb}" = "xyes" ; then
3565 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3566 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3568 if test -f "$KEYSYMDEFDIR/$i"; then
3569 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3570 elif test "x$i" = "xkeysymdef.h"; then
3571 AC_MSG_ERROR([Cannot find keysymdef.h])
3574 AC_MSG_CHECKING([keysym definitions])
3575 AC_MSG_RESULT([$KEYSYMDEFS])
3576 AC_SUBST([KEYSYMDEFS])
3579 ### Checks for types
3581 ### Checks for structures
3583 ### Checks for compiler characteristics
3585 ### Checks for linker characteristics
3587 ### Checks for library functions
3590 if test "x${want_x11_xlib}" = "xyes"; then
3591 EFL_FIND_X(ECORE_X_XLIB,
3592 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3593 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3596 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3597 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3598 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3600 AC_MSG_ERROR([Xcursor is missing])
3604 if test "x${want_x11_xlib}" = "xyes" ; then
3605 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3606 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3607 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3608 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3609 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3610 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3611 ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
3612 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3613 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3614 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3615 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3617 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3619 if test "${want_xpresent}" = "yes"; then
3620 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3622 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3624 if test "${want_gesture}" = "yes"; then
3625 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3627 EFL_ADD_FEATURE([ECORE_X], [gesture])
3629 if test "${want_xinput2}" = "yes"; then
3630 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3632 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3634 if test "${want_xinput22}" = "yes"; then
3635 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3637 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3639 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3640 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3642 EFL_EVAL_PKGS([ECORE_X])
3643 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3648 if test "${want_x11_xcb}" = "yes"; then
3649 dnl note: added pixman-1 as ecore_xcb_region uses that
3650 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3651 [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])
3653 dnl TODO: remove these ifdefs from code!
3654 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3655 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3656 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3657 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3658 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3659 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3660 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3661 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3662 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3663 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3664 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3665 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3667 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3669 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3670 [1], [Build support for XCB Present])
3671 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3673 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3675 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3676 [1], [Build support for XCB xgesture])
3678 EFL_ADD_FEATURE([ECORE_X], [gesture])
3680 dnl input extension disabled currently in xcb as xcb-input has some issues
3681 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3682 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3684 dnl dri extension disabled currently in xcb
3685 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3686 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3688 EFL_EVAL_PKGS([ECORE_X])
3689 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3691 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3694 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3696 AC_SUBST([HAVE_ECORE_X_BACKEND])
3698 EFL_LIB_END_OPTIONAL([Ecore_X])
3700 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3701 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3706 EFL_LIB_START([Ecore_Imf])
3708 ### Additional options to configure
3712 want_ecore_imf="yes"
3713 want_ecore_imf_xim="no"
3714 want_ecore_imf_scim="no"
3715 want_ecore_imf_ibus="no"
3716 want_ecore_imf_wayland="no"
3717 want_ecore_imf="yes"
3719 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3720 want_ecore_imf="yes"
3721 want_ecore_imf_xim="yes"
3722 want_ecore_imf_scim="yes"
3723 want_ecore_imf_ibus="yes"
3724 if test "${want_wayland}" = "yes"; then
3725 want_ecore_imf_wayland="yes"
3729 ### Checks for programs
3731 ## Compatibility layers
3732 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3734 ### Checks for libraries
3735 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3736 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3737 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3738 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3739 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3741 if test "x${want_ecore_imf}" = "xyes" ; then
3742 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3749 have_ecore_imf_ibus="no"
3750 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3751 PKG_CHECK_MODULES([IBUS],
3752 [ibus-1.0 >= 1.4 glib-2.0],
3754 have_ecore_imf_ibus="yes"
3755 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3757 [have_ecore_imf_ibus="no"])
3760 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3761 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3765 have_ecore_imf_scim="no"
3766 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3767 PKG_CHECK_MODULES([SCIM],
3770 have_ecore_imf_scim="yes"
3771 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3773 [have_ecore_imf_scim="no"])
3776 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3777 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3781 have_ecore_imf_xim="no"
3782 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3784 EFL_FIND_X(ecore_imf_xim,
3788 have_ecore_imf_xim=yes
3789 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3793 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3794 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3797 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3798 PKG_CHECK_MODULES([WAYLAND],
3799 [wayland-client >= 1.2.0],
3801 have_ecore_imf_wayland="yes"
3802 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3804 [have_ecore_imf_wayland="no"])
3807 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3808 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3810 ### Checks for header files
3812 ### Checks for types
3814 ### Checks for structures
3816 ### Checks for compiler characteristics
3818 ### Checks for linker characteristics
3820 ### Checks for library functions
3822 EFL_LIB_END([Ecore_Imf])
3823 #### End of Ecore_Imf
3827 EFL_LIB_START([Ecore_Imf_Evas])
3829 ### Additional options to configure
3833 ### Checks for programs
3835 ## Compatibility layers
3836 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3838 ### Checks for libraries
3839 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3840 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3841 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3842 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3843 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3844 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3845 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3846 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3848 ### Checks for header files
3850 ### Checks for types
3852 ### Checks for structures
3854 ### Checks for compiler characteristics
3856 ### Checks for linker characteristics
3858 ### Checks for library functions
3860 EFL_LIB_END([Ecore_Imf_Evas])
3861 #### End of Ecore_Imf_Evas
3865 EFL_LIB_START([Ecore_Evas])
3867 ### Additional options to configure
3871 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3872 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3873 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3874 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3875 want_ecore_evas_extn="yes"
3876 want_ecore_evas_drm="${have_evas_engine_drm}"
3878 if test "x${have_ecore_ipc}" = "xno" || \
3879 test "x${efl_func_shm_open}" = "xno" || \
3880 test "x${have_windows}" = "xyes" ; then
3881 want_ecore_evas_extn="no"
3884 ### Checks for programs
3886 ## Compatibility layers
3887 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3889 ### Checks for libraries
3890 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3891 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3892 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3893 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3894 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3895 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3896 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3897 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3898 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3901 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3902 ECORE_EVAS_MODULE([ews], [yes])
3903 ECORE_EVAS_MODULE([fb], [${want_fb}])
3904 ECORE_EVAS_MODULE([drm], [${want_drm}],
3905 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3906 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3907 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3908 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3910 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3912 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3913 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3915 build_ecore_evas_sdl="no"
3916 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3917 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3918 build_ecore_evas_sdl="yes"
3919 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3921 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3922 [test "${build_ecore_evas_sdl}" = "yes"])
3924 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3925 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3927 build_ecore_evas_wayland="no"
3928 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3929 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3930 build_ecore_evas_wayland="yes"
3931 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3933 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3934 [test "${build_ecore_evas_wayland}" = "yes"])
3936 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3937 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3939 build_ecore_evas_win32="no"
3940 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3941 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3942 build_ecore_evas_win32="yes"
3943 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3945 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3946 [test "${build_ecore_evas_win32}" = "yes"])
3949 # XXX TODO: ecore_evas_x11
3951 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3953 have_ecore_evas_software_xlib="no"
3954 have_ecore_evas_software_xcb="no"
3955 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3956 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3957 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3958 have_ecore_evas_software_xlib="yes"
3960 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3961 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3963 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3964 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3965 have_ecore_evas_software_xcb="yes"
3967 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3968 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3972 # XXX TODO: ecore_evas_opengl_x11
3974 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
3976 have_ecore_evas_opengl_xlib="no"
3977 have_ecore_evas_opengl_xcb="no"
3978 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
3979 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
3980 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
3981 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
3984 # opengl does not work with xcb (yet)
3985 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
3986 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
3987 have_ecore_evas_opengl_xcb="yes"
3989 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
3990 PKG_CHECK_MODULES([XCB_X11],
3993 have_ecore_x_opengl_xcb="yes"
3994 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
3995 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
3996 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
3998 [have_ecore_x_opengl_xcb="no"])
4000 have_ecore_x_opengl_xcb="no"
4001 AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
4005 build_ecore_evas_x11="no"
4006 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4007 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4008 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4009 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4010 build_ecore_evas_x11="yes"
4012 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4014 EFL_EVAL_PKGS([ECORE_EVAS])
4016 ### Checks for header files
4018 ### Checks for types
4020 ### Checks for structures
4022 ### Checks for compiler characteristics
4024 ### Checks for linker characteristics
4026 ### Checks for library functions
4028 EFL_LIB_END([Ecore_Evas])
4029 #### End of Ecore_Evas
4032 EFL_LIB_START([Eio])
4034 ### Additional options to configure
4038 ### Checks for programs
4040 ## Compatibility layers
4041 EFL_PLATFORM_DEPEND([EIO], [evil])
4043 ### Checks for libraries
4044 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4045 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4046 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4047 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4048 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4050 EFL_ADD_LIBS([EIO], [-lm])
4052 ### Checks for header files
4054 ### Checks for types
4056 ### Checks for structures
4058 ### Checks for compiler characteristics
4060 ### Checks for linker characteristics
4062 ### Checks for library functions
4063 have_inotify="${ac_cv_header_sys_inotify_h}"
4064 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4066 have_notify_win32="${have_win32}"
4067 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4068 [test "x${have_notify_win32}" = "xyes"], [1],
4069 [File monitoring with Windows notification])
4070 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4072 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4073 [test "x${have_darwin}" = "xyes"], [1],
4074 [File monitoring with fsevent notification])
4075 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4079 dnl TODO: remove these ifdefs from code!
4080 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4084 if test "x${want_eo_id}" = "xyes" ; then
4085 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4090 EFL_LIB_START([Efreet])
4092 ### Additional options to configure
4096 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4098 ### Checks for programs
4100 ## Compatibility layers
4101 EFL_PLATFORM_DEPEND([EFREET], [evil])
4103 ### Checks for libraries
4104 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4105 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4106 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4107 EFL_INTERNAL_DEPEND_PKG([EFREET], [eldbus])
4108 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4109 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4110 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4112 ### Checks for header files
4114 ### Checks for types
4116 ### Checks for structures
4118 ### Checks for compiler characteristics
4120 ### Checks for linker characteristics
4122 ### Checks for library functions
4124 EFL_LIB_END([Efreet])
4129 AC_ARG_ENABLE([physics],
4130 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4132 if test "x${enableval}" = "xyes" ; then
4135 CFOPT_WARNING="xyes"
4139 [want_physics="yes"])
4141 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4143 ### Additional options to configure
4147 ### Checks for programs
4149 ### Checks for libraries
4150 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4152 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4153 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4154 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4155 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4156 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4157 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4159 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4161 EFL_EVAL_PKGS([EPHYSICS])
4163 ### Checks for header files
4165 ### Checks for types
4167 ### Checks for structures
4169 ### Checks for compiler characteristics
4171 ### Checks for linker characteristics
4173 ### Checks for library functions
4175 EFL_LIB_END_OPTIONAL([EPhysics])
4176 #### End of EPhysics
4180 EFL_LIB_START([Edje])
4182 ### Additional options to configure
4186 AC_ARG_ENABLE([multisense],
4187 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=enabled@:>@])],
4189 if test "x${enableval}" = "xyes" ; then
4190 want_multisense="yes"
4192 want_multisense="no"
4193 CFOPT_WARNING="xyes"
4197 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4198 want_multisense="yes"
4200 want_multisense="no"
4204 # TODO: should we keep or remove these?
4205 want_edje_program_cache="no"
4206 want_edje_calc_cache="yes"
4207 want_fixed_point="no"
4209 ### Checks for programs
4211 ### Checks for libraries
4212 EFL_PLATFORM_DEPEND([EDJE], [evil])
4214 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4215 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4216 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4217 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4218 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4219 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4220 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4221 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4222 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4223 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4224 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4225 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4226 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4227 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4229 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4230 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4232 EFL_ADD_FEATURE([EDJE], [physics])
4233 EFL_ADD_FEATURE([EDJE], [multisense])
4234 EFL_ADD_FEATURE([EDJE], [lua-old])
4236 if test "${want_lua_old}" = "yes"; then
4237 EFL_CHECK_LUA_OLD([EDJE])
4239 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4242 EFL_ADD_LIBS([EDJE], [-lm])
4244 EFL_EVAL_PKGS([EDJE])
4246 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4247 [1], [Cache result of program glob matches])
4248 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4249 [1], [Cache result of calc glob matches])
4250 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4251 [1], [Use Fixed Point instead of FPU])
4253 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4254 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4255 [1], [Use Multisense])
4256 AC_SUBST([want_multisense])
4257 AC_SUBST([want_physics])
4259 ### Checks for header files
4261 AC_CHECK_HEADERS([ \
4265 ### Checks for types
4267 ### Checks for structures
4269 ### Checks for compiler characteristics
4271 ### Checks for linker characteristics
4273 ### Checks for library functions
4279 EFL_LIB_START([Edje_Cxx])
4281 EFL_EVAL_PKGS([EDJE_CXX])
4283 EFL_LIB_END([Edje_Cxx])
4284 #### End of Edje CXX
4287 EFL_LIB_START([Emotion])
4289 ## Compatibility layers
4290 EFL_PLATFORM_DEPEND([Emotion], [evil])
4293 if test "${efl_func_shm_open}" = "yes"; then
4294 want_emotion_generic="static"
4296 want_emotion_generic="no"
4299 ### Additional options to configure
4300 AC_ARG_ENABLE([xine],
4301 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4303 if test "x${enableval}" = "xyes" ; then
4311 AC_ARG_ENABLE([v4l2],
4312 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4314 if test "x${enableval}" = "xyes" ; then
4320 [want_v4l2="${efl_lib_optional_eeze}"])
4322 ### Checks for programs
4324 ### Checks for libraries
4325 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4326 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4327 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4328 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4329 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4330 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4331 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4332 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4334 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4335 EFL_ADD_FEATURE([EMOTION], [v4l2])
4339 have_gst_xoverlay="no"
4341 EMOTION_MODULE([xine], [${want_xine}])
4342 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4343 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4344 EMOTION_MODULE([generic], [${want_emotion_generic}])
4346 EFL_ADD_FEATURE([EMOTION], [xine])
4347 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4348 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4349 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4351 EFL_EVAL_PKGS([EMOTION])
4353 ### Checks for header files
4355 ### Checks for types
4357 ### Checks for structures
4359 ### Checks for compiler characteristics
4361 ### Checks for linker characteristics
4363 ### Checks for library functions
4365 if test "${want_v4l2}" = "yes"; then
4366 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4367 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4368 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4369 [#include <linux/videodev2.h>])
4372 ### Check availability
4374 EFL_LIB_END([Emotion])
4379 EFL_LIB_START([Ethumb])
4383 ### Additional options to configure
4385 ### Checks for programs
4387 ## Compatibility layers
4388 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4390 ### Checks for libraries
4391 EFL_PLATFORM_DEPEND([EINA], [evil])
4393 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4394 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4395 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4396 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4397 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4398 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4399 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4400 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4401 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4402 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4403 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4407 EFL_EVAL_PKGS([ETHUMB])
4409 ### Checks for header files
4411 ### Checks for types
4413 ### Checks for structures
4415 ### Checks for compiler characteristics
4417 ### Checks for linker characteristics
4419 ### Checks for library functions
4421 ### Check availability
4423 EFL_LIB_END([Ethumb])
4427 EFL_LIB_START([Ethumb_Client])
4431 ### Additional options to configure
4433 ### Checks for programs
4435 ## Compatibility layers
4436 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4438 ### Checks for libraries
4439 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4440 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4441 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4442 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4443 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4444 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4445 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4446 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4447 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4448 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4449 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4451 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4453 ### Checks for header files
4455 ### Checks for types
4457 ### Checks for structures
4459 ### Checks for compiler characteristics
4461 ### Checks for linker characteristics
4463 ### Checks for library functions
4465 ### Check availability
4467 EFL_LIB_END([Ethumb_Client])
4468 #### End of Ethumb_Client
4473 if test "${want_lua_old}" = "yes"; then
4477 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4481 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4483 ### Additional options to configure
4485 ### Checks for programs
4487 ## Compatibility layers
4488 EFL_PLATFORM_DEPEND([ELUA], [evil])
4490 ### Checks for libraries
4491 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4492 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4493 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4495 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4497 EFL_EVAL_PKGS([ELUA])
4499 ### Checks for header files
4501 ### Checks for types
4503 ### Checks for structures
4505 ### Checks for compiler characteristics
4507 ### Checks for linker characteristics
4509 ### Checks for library functions
4511 ### Check availability
4513 EFL_LIB_END_OPTIONAL([Elua])
4518 EFL_LIB_START([Elocation])
4522 ### Additional options to configure
4524 ### Checks for programs
4526 ### Checks for libraries
4527 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4528 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4529 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4530 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4531 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4533 EFL_ADD_LIBS([ELOCATION], [-lm])
4535 ### Checks for header files
4537 ### Checks for types
4539 ### Checks for structures
4541 ### Checks for compiler characteristics
4543 ### Checks for linker characteristics
4545 ### Checks for library functions
4547 ### Check availability
4549 EFL_LIB_END([Elocation])
4550 #### End of Elocation
4552 ### Add Wayland server library if test is enabled
4553 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4554 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.3.0])
4555 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4558 AC_ARG_ENABLE([always-build-examples],
4559 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4561 if test "x${enableval}" = "xyes" ; then
4562 want_always_build_examples="yes"
4564 want_always_build_examples="no"
4567 [want_always_build_examples="no"])
4568 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4572 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],
4573 [ You will be told when this is needed ],
4575 if test "x${enableval}" = "xyes" ; then
4589 doc/previews/Makefile
4591 src/benchmarks/eina/Makefile
4592 src/benchmarks/eo/Makefile
4593 src/benchmarks/evas/Makefile
4594 src/examples/eina/Makefile
4595 src/examples/eina_cxx/Makefile
4596 src/examples/eet/Makefile
4597 src/examples/eo/Makefile
4598 src/examples/evas/Makefile
4599 src/examples/ecore/Makefile
4600 src/examples/ecore_avahi/Makefile
4601 src/examples/eio/Makefile
4602 src/examples/eldbus/Makefile
4603 src/examples/ephysics/Makefile
4604 src/examples/edje/Makefile
4605 src/examples/emotion/Makefile
4606 src/examples/ethumb_client/Makefile
4607 src/examples/elua/Makefile
4608 src/examples/eolian_cxx/Makefile
4609 src/examples/elocation/Makefile
4610 src/lib/eina/eina_config.h
4611 src/lib/ecore_x/ecore_x_version.h
4612 src/lib/efl/Efl_Config.h
4628 pc/evas-opengl-x11.pc
4629 pc/evas-opengl-sdl.pc
4630 pc/evas-opengl-cocoa.pc
4632 pc/evas-software-buffer.pc
4633 pc/evas-software-x11.pc
4634 pc/evas-software-gdi.pc
4635 pc/evas-software-ddraw.pc
4636 pc/evas-software-sdl.pc
4637 pc/evas-wayland-shm.pc
4638 pc/evas-wayland-egl.pc
4648 pc/ecore-input-evas.pc
4659 pc/ecore-imf-evas.pc
4661 pc/ecore-audio-cxx.pc
4680 dbus-services/org.enlightenment.Efreet.service
4681 dbus-services/org.enlightenment.Ethumb.service
4682 systemd-services/efreet.service
4683 systemd-services/ethumb.service
4685 cmakeconfig/EflConfig.cmake
4686 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4687 cmakeconfig/EinaConfig.cmake
4688 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4689 cmakeconfig/EioConfig.cmake
4690 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4691 cmakeconfig/EezeConfig.cmake
4692 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4693 cmakeconfig/EoConfig.cmake
4694 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4695 cmakeconfig/EolianConfig.cmake
4696 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4697 cmakeconfig/EolianCxxConfig.cmake
4698 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4699 cmakeconfig/EinaCxxConfig.cmake
4700 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4701 cmakeconfig/EoCxxConfig.cmake
4702 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4703 cmakeconfig/EcoreCxxConfig.cmake
4704 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4705 cmakeconfig/EvasCxxConfig.cmake
4706 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4707 cmakeconfig/EetCxxConfig.cmake
4708 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4709 cmakeconfig/EetConfig.cmake
4710 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4711 cmakeconfig/EvasConfig.cmake
4712 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4713 cmakeconfig/EcoreConfig.cmake
4714 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4715 cmakeconfig/EdjeConfig.cmake
4716 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4717 cmakeconfig/EldbusConfig.cmake
4718 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4719 cmakeconfig/EfreetConfig.cmake
4720 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4721 cmakeconfig/EthumbConfig.cmake
4722 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4723 cmakeconfig/EthumbClientConfig.cmake
4724 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4725 cmakeconfig/EmotionConfig.cmake
4726 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4727 cmakeconfig/EluaConfig.cmake
4728 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4729 cmakeconfig/EmileConfig.cmake
4730 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4735 #### Work around bug in automake check macro
4736 ## yes it is hugly, but no choice here for now.
4737 $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
4739 if test -f $srcdir/config.status; then
4740 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"
4741 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4746 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4750 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4751 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4754 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4757 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4760 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4764 if test "${have_linux}" = "yes"; then
4765 EFL_ADD_FEATURE([system], [inotify])
4766 EFL_ADD_FEATURE([system], [atfile_source])
4767 elif test "${have_windows}" = "yes"; then
4768 EFL_ADD_FEATURE([system], [notify_win32])
4770 EFL_ADD_FEATURE([system], [ipv6])
4772 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4773 efl_have_spinlock="yes"
4775 efl_have_spinlock="no"
4777 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4778 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4779 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4784 echo "------------------------------------------------------------------------"
4785 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4786 echo "------------------------------------------------------------------------"
4789 if test "x${have_windows}" = "xyes" ; then
4790 osname="${host_os}(${_efl_windows_version})"
4795 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4796 echo " EFL API Set...: ${efl_api}"
4797 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4798 echo " System Feature: ${features_system}"
4799 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4800 echo " Cryptography..: ${build_crypto}"
4801 echo " X11...........: ${with_x11}"
4802 echo " OpenGL........: ${with_opengl}"
4803 echo " C++11.........: ${have_cxx11}"
4804 echo "Eina............: yes (${features_eina})"
4805 echo "Eo..............: yes (${features_eo})"
4806 echo "Eolian..........: yes (${features_eolian})"
4807 echo "Emile...........: yes (${features_emile})"
4808 echo "Eet.............: yes"
4809 echo "Evas............: yes (${features_evas})"
4810 echo " Engines.......: ${features_evas_engine}"
4811 echo " Image Loaders.: ${features_evas_loader}"
4812 if test "x${have_pixman}" = "xyes" ; then
4813 echo " Pixman........: ${features_evas_pixman}"
4815 echo "Ecore...........: yes (${features_ecore})"
4816 echo "Ecore_Con.......: yes (${features_ecore_con})"
4817 echo "Ecore_File......: yes"
4818 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4819 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4820 echo "Ecore_SDL.......: $want_sdl"
4821 echo "Ecore_Wayland...: $want_wayland"
4822 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4823 if test "${have_linux}" = "yes"; then
4824 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4825 elif test "${have_ps3}" = "yes"; then
4826 echo "Ecore_PSL1GHT...: $have_ps3"
4827 elif test "${have_darwin}" = "yes"; then
4828 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4829 elif test "${have_windows}" = "yes"; then
4830 echo "Ecore_Win32.....: $have_win32"
4832 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4833 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4834 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4835 echo "Ector...........: yes"
4836 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4837 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4838 echo "Edje............: yes (${features_edje})"
4839 echo "Emotion.........: yes (${features_emotion})"
4840 echo "Ethumb..........: yes"
4841 echo "Ethumb_Client...: yes"
4842 echo "Elua............: $have_elua"
4843 if test "${build_tests}" = "none"; then
4844 echo "Tests...........: no"
4845 elif test "${build_tests}" = "auto"; then
4846 echo "Tests...........: make check (inexplicitly enabled)"
4847 elif test "${build_tests}" = "regular"; then
4848 echo "Tests...........: make check"
4849 elif test "${build_tests}" = "coverage"; then
4850 echo "Tests...........: make lcov-check"
4852 echo "Examples........: make examples (make install-examples)"
4853 if test "x${build_doc}" = "xyes"; then
4854 echo "Documentation...: make doc"
4856 echo "Documentation...: no"
4858 echo "Compilation.....: make (or gmake)"
4859 echo " CPPFLAGS......: $CPPFLAGS"
4860 echo " CFLAGS........: $CFLAGS"
4861 echo " CXXFLAGS......: $CXXFLAGS"
4862 echo " LDFLAGS.......: $LDFLAGS"
4864 if test "x${with_binary_edje_cc}" != "x"; then
4865 echo " edje_cc.......: ${with_binary_edje_cc}"
4868 if test "x${with_binary_eolian_gen}" != "x"; then
4869 echo " eolian_gen....: ${with_binary_eolian_gen}"
4872 if test "x${with_binary_eolian_cxx}" != "x"; then
4873 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
4876 if test "x${with_binary_elua_bin}" != "x"; then
4877 echo " elua..........: ${with_binary_elua_bin}"
4881 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4882 echo " prefix........: $prefix"
4883 echo " dbus units....: $dbusservicedir"
4884 if test "${have_systemd_user_session}" = "yes"; then
4885 echo " systemd units.: $USER_SESSION_DIR"
4889 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4890 echo " _________________________________________"
4891 echo "/ Systemd dependency is available on your \\"
4892 echo "| system, but you are building without |"
4893 echo "| systemd support. Don't forget to |"
4894 echo "| --enable-systemd if you want systemd |"
4895 echo "\\ integration for EFL. /"
4896 echo " -----------------------------------------"
4898 echo " \\ (oo)\\_______"
4899 echo " (__)\\ )\\/\\"
4904 if test -n "$CFOPT_WARNING"; then
4905 echo "_____________________________________________________________________"
4907 echo "==-- WARNING --=="
4909 echo "_____________________________________________________________________"
4910 if test "x${with_x11}" = "xxcb"; then
4911 echo "_____________________________________________________________________"
4912 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
4913 echo "is amazingly faster than Xlib (when used sensibly). It can be"
4914 echo "faster in a few corner cases on startup of an app, but it comes"
4915 echo "with many downsides. One of those is more complex code inside"
4916 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
4917 echo "the big catch is that OpenGL support basically requires Xlib anyway"
4918 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
4919 echo "gain nothing really in terms of speed and no savings in memory"
4920 echo "because Xlib is still linked, loaded and used, BUT instead you"
4921 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
4922 echo "toolkit and this is basically never tested by anyone working on"
4923 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
4924 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
4925 echo "off the memory footprint of a whole system and live with less"
4926 echo "tested code, and possibly unimplemented features in ecore_x. To"
4927 echo "remove the XCB setup, remove the --with-x11=xcb option to"
4929 echo "_____________________________________________________________________"
4931 if test "x${want_physics}" = "xno"; then
4932 echo "_____________________________________________________________________"
4933 echo "You have chosen to disable physics support. This disables lots of"
4934 echo "core functionality and is effectively never tested. You are going"
4935 echo "to find features that suddenly don't work and as a result cause"
4936 echo "a series of breakages. This is simply not tested so you are on"
4937 echo "your own in terms of ensuring everything works if you do this"
4938 echo "_____________________________________________________________________"
4940 if test "x${efl_have_threads}" = "xno"; then
4941 echo "_____________________________________________________________________"
4942 echo "You have disabled threading support. A lot of code is literally"
4943 echo "written to need threading. We never test or even build with"
4944 echo "threading disabled, so doing this is entering uncharted territory."
4945 echo "There is a very good chance things may not compile at all, or if"
4946 echo "the do, they will break at runtime in weird and wonderful ways."
4947 echo "Highly reconsider what you are doing here, or be prepared to deal"
4948 echo "with the fallout yourself."
4949 echo "_____________________________________________________________________"
4951 if test "x${want_fontconfig}" = "xno"; then
4952 echo "_____________________________________________________________________"
4953 echo "You have disabled fontconfig. This is going to make general font"
4954 echo "searching not work, and only some very direct 'load /path/file.ttf'"
4955 echo "will work alongside some old-school ttf file path searching. This"
4956 echo "is very likely not what you want, so highly reconsider turning"
4957 echo "fontconfig off. Having it off will lead to visual problems like"
4958 echo "missing text in many UI areas etc."
4959 echo "_____________________________________________________________________"
4961 if test "x${want_fribidi}" = "xno"; then
4962 echo "_____________________________________________________________________"
4963 echo "Fribidi is used for handling right-to-left text (like Arabic,"
4964 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
4965 echo "you want to disable unless you know for absolute certain you"
4966 echo "will never encounter and have to display such scripts. Also"
4967 echo "note that we don't test with fribidi disabled so you may also"
4968 echo "trigger code paths with bugs that are never normally used."
4969 echo "_____________________________________________________________________"
4971 if test "x${want_pixman}" = "xyes"; then
4972 echo "_____________________________________________________________________"
4973 echo "Pixman allows you to replace some rendering paths in Evas with"
4974 echo "Pixman. Pixman may or may not be faster (probably slower), and"
4975 echo "the rendering paths with Pixman enabled are not tested often so"
4976 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
4977 echo "you wish to deal with these bugs."
4978 echo "_____________________________________________________________________"
4980 if test "x${have_tile_rotate}" = "xyes"; then
4981 echo "_____________________________________________________________________"
4982 echo "Tiled rotation code is not tested much, so be aware that you"
4983 echo "may introduce bugs by enabling this."
4984 echo "_____________________________________________________________________"
4986 if test "x${want_g_main_loop}" = "xyes"; then
4987 echo "_____________________________________________________________________"
4988 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
4989 echo "regularly, but the glib mainloop integration (on by default) is."
4990 echo "You can use apps that use glib mainloop constructs by default"
4991 echo "this way, but the Ecore mainloop is not built on top of glib."
4992 echo "You have enabled ecore to be built on top of glib and thus you"
4993 echo "may experience bugs that normally would not be there. Be prepared"
4994 echo "to fix these if they arise."
4995 echo "_____________________________________________________________________"
4997 if test "x${want_gstreamer}" = "xyes"; then
4998 echo "_____________________________________________________________________"
4999 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5000 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5001 echo "and will eventually be removed entirely. Don't enable the old"
5002 echo "Gstreamer support unless you want to deal with the issues yourself."
5003 echo "_____________________________________________________________________"
5005 if test "x${want_gstreamer1}" = "xno"; then
5006 echo "_____________________________________________________________________"
5007 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5008 echo "this as it will heavily limit your media support options and render"
5009 echo "some functionality as useless, leading to visible application bugs."
5010 echo "_____________________________________________________________________"
5012 if test "x${want_eo_id}" = "xno"; then
5013 echo "_____________________________________________________________________"
5014 echo "Eo's ID abstraction interface is a major safety system that"
5015 echo "protects code from crashing or misbehaving in many cases. It does"
5016 echo "come at a slight cost, but the safety and protection is worth it."
5017 echo "Also by disabling this, you may also introduce security holes in"
5018 echo "EFL as well as cause all sorts of previously non-existant crashes."
5019 echo "Seriously reconsider disabling EO ID."
5020 echo "_____________________________________________________________________"
5022 if test "x${want_evas_cserve2}" = "xno"; then
5023 echo "_____________________________________________________________________"
5024 echo "Evas Cserve is built and on by default and no testing is done"
5025 echo "for the old non-cserve2 code paths, so by disabling this you"
5026 echo "may be introducing bugs. Be aware of this and be prepared to"
5027 echo "deal with the bugs as a result of this."
5028 echo "_____________________________________________________________________"
5030 if test "x${want_audio}" = "xno"; then
5031 echo "_____________________________________________________________________"
5032 echo "You disabled audio support in Ecore. This is not tested and may"
5033 echo "Create bugs for you due to it creating untested code paths."
5034 echo "Reconsider disabling audio."
5035 echo "_____________________________________________________________________"
5037 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5038 echo "_____________________________________________________________________"
5039 echo "The only audio output method supported by Ecore right now on your"
5040 echo "system is via Pulseaudio. You have disabled that and likely have"
5041 echo "broken a whole bunch of things in the process. Reconsider your"
5042 echo "configure options."
5043 echo "_____________________________________________________________________"
5045 if test "x${want_xinput2}" = "xno"; then
5046 echo "_____________________________________________________________________"
5047 echo "You have disabled xinput2 support. This means a whole lot of input"
5048 echo "devices in X11 will not work correctly. You likely do not want to"
5050 echo "_____________________________________________________________________"
5052 if test "x${want_xim}" = "xno"; then
5053 echo "_____________________________________________________________________"
5054 echo "You disabled XIM input method support. This is the most basic and"
5055 echo "core input method protocol supported in X11 and you almost certainly"
5056 echo "want the support for it. Input methods allow for complex text input"
5057 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5058 echo "on touch/mobile devices."
5059 echo "_____________________________________________________________________"
5061 if test "x${want_scim}" = "xno"; then
5062 echo "_____________________________________________________________________"
5063 echo "SCIM is a modern and very common input method framework and you"
5064 echo "disabled support for it. You very likely want the support for"
5065 echo "complex language input, so please reconsider this. Input methods"
5066 echo "allow for complex text input like for Chinese, Japanese and Korean"
5067 echo "as well as virtual keyboards on touch/mobile devices."
5068 echo "_____________________________________________________________________"
5070 if test "x${want_libmount}" = "xno"; then
5071 echo "_____________________________________________________________________"
5072 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5073 echo "for support of removable devices etc. and disabling this will"
5074 echo "hurt support for Enlightenment and its filemanager."
5075 echo "_____________________________________________________________________"
5077 if test "x${want_multisense}" = "xno"; then
5078 echo "_____________________________________________________________________"
5079 echo "Multisense has been disabled. This causes Edje audio suport to"
5080 echo "Simply not work, and will break applications and libraries"
5081 echo "that rely on it with users then reporting bugs."
5082 echo "If you want to mute audio, there are APIs and policies to do"
5083 echo "that, as opposed to compiling it out."
5084 echo "_____________________________________________________________________"
5086 if test "x${efl_api}" = "xeo"; then
5087 echo "_____________________________________________________________________"
5088 echo "Using the EO based EFL API only does not work at the moment. We still"
5089 echo "have a lot code that depends on the legacy interfaces. We provide"
5090 echo "this option for testing once we are able to migrate to the EO based"
5092 echo "If you are not working on this migration please leave the option set"
5093 echo "to both as it will break your build if set to eo."
5094 echo "_____________________________________________________________________"
5096 if test "x${want_libeeze}" = "xno"; then
5097 echo "_____________________________________________________________________"
5098 echo "Libeeze has been disabled, and it is used heavily for support of"
5099 echo "removable devices etc. and disabling this will hurt support for"
5100 echo "Enlightenment and its filemanager."
5101 echo "_____________________________________________________________________"
5103 echo "_____________________________________________________________________"
5105 echo "==-- WARNING --=="
5107 echo "_____________________________________________________________________"
5108 if test -n "$BARF_OK"; then
5109 echo "Please add the following option to acknowledge this:"
5110 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"
5111 echo "_____________________________________________________________________"
5118 if test "x$prefix" != "x/usr"; then
5120 path=$dbusservicedir
5121 while test "x$old" != "x$path"; do
5123 eval path="\"$path\""
5125 resolved_dbusservicedir=$path
5128 path=$USER_SESSION_DIR
5129 while test "x$old" != "x$path"; do
5131 eval path="\"$path\""
5133 resolved_USER_SESSION_DIR=$path
5134 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5138 while test "x$old" != "x$path"; do
5140 eval path="\"$path\""
5142 resolved_datadir=$path
5145 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5146 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5147 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5148 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5153 needs_alert_systemd=0
5154 if test "$have_systemd_user_session" = "yes"; then
5155 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5156 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5157 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5158 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5160 needs_alert_systemd=1
5164 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5165 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5166 what_alert="dbus and systemd"
5167 elif test $needs_alert_dbus -eq 1; then
5170 what_alert="systemd"
5174 echo "#-------------------------------------------------------------------#"
5175 echo "##==-- ALERT --==##"
5176 echo "#-------------------------------------------------------------------#"
5178 echo " Your installation prefix is *NOT* /usr so this means you need"
5179 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5180 echo "be started when needed. You will need to do the following:"
5181 if test $needs_alert_dbus -eq 1; then
5183 echo "System-wide installation:"
5184 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5185 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service /usr/share/dbus-1/services/org.enlightenment.Efreet.service"
5187 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5189 echo "User installation:"
5190 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5191 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Efreet.service ~/.local/share/dbus-1/services/org.enlightenment.Efreet.service"
5193 if test $needs_alert_systemd -eq 1; then
5195 echo "System-wide installation:"
5196 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5197 echo " ln -s ${resolved_USER_SESSION_DIR}/efreet.service /usr/lib/systemd/user/efreet.service"
5199 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5201 echo "User installation:"
5202 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5203 echo " ln -s ${resolved_USER_SESSION_DIR}/efreet.service ~/.config/systemd/user/efreet.service"
5206 echo "#-------------------------------------------------------------------#"
5210 if test "x${efl_deprecated_option}" = "xyes"; then
5212 echo "#-------------------------------------------------------------------#"
5213 echo "##==-- ALERT --==##"
5214 echo "#-------------------------------------------------------------------#"
5216 echo " Your build script is using a deprecated option. It will get b0rken"
5217 echo "with the next release of EFL. You better update it now than later."
5219 echo "#-------------------------------------------------------------------#"