1 EFL_VERSION([1], [16], [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
659 AC_ARG_ENABLE([systemd],
660 [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
662 if test "x${enableval}" = "xyes" ; then
671 systemd_dbus_prefix="# "
672 if test "${want_systemd}" = "yes"; then
673 systemd_dbus_prefix=""
675 AC_SUBST(systemd_dbus_prefix)
677 AC_ARG_WITH([systemdunitdir],
678 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
679 [USER_SESSION_DIR=${withval}])
680 if test "$want_systemd" == "no"; then
681 have_systemd_user_session="no"
682 elif test -n "${USER_SESSION_DIR}"; then
683 have_systemd_user_session="yes"
684 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
686 # Detect systemd user session directory properly
687 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
688 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
690 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
691 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
695 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
696 AC_SUBST([USER_SESSION_DIR])
698 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
699 PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
700 [have_systemd_pkg="yes"],
701 [have_systemd_pkg="no"])
704 # check for systemd library if requested
705 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
706 AC_MSG_ERROR([Systemd dependency requested but not found])
709 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
710 AM_CONDITIONAL([HAVE_SYSTEMD], [test "${want_systemd}" = "yes" -a "${have_systemd_pkg}" = "yes"])
711 #### Platform-dependent
716 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
720 ### Additional options to configure
721 EFL_SELECT_WINDOWS_VERSION
723 ### Checks for programs
725 ### Checks for libraries
727 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
728 EVIL_DLFCN_LIBS="-lpsapi"
730 AC_SUBST([EVIL_DLFCN_LIBS])
732 ### Checks for header files
736 ### Checks for structures
738 ### Checks for compiler characteristics
740 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
741 # TODO: should we have these at EFL (global?)
742 # Note: these warnings should not be used with C++ code
743 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
744 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
746 if test "x${have_win32}" = "xyes" ; then
747 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
748 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
751 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
752 AC_SUBST([EVIL_CFLAGS_WRN])
753 AC_SUBST([EVIL_CXXFLAGS])
755 ### Checks for linker characteristics
757 ### Checks for library functions
759 DL_LIBS="lib/evil/libdl.la"
760 DL_INTERNAL_LIBS="lib/evil/libdl.la"
762 EFL_LIB_END_OPTIONAL([Evil])
764 AC_SUBST([USE_EVIL_CFLAGS])
765 AC_SUBST([USE_EVIL_LIBS])
770 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
772 ### Additional options to configure
776 ### Checks for programs
778 ### Checks for libraries
779 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
781 ### Checks for header files
785 ### Checks for structures
787 ### Checks for compiler characteristics
789 ### Checks for linker characteristics
791 ### Checks for library functions
793 EFL_LIB_END_OPTIONAL([Escape])
796 EFL_CHECK_FUNC([SHM], [shm_open])
797 SHM_LIBS="${requirements_libs_shm}"
801 AC_SUBST([DL_INTERNAL_LIBS])
802 #### End of Platform-dependent
807 EFL_LIB_START([Eina])
811 have_safety_checks="yes"
813 case "${build_profile}" in
815 with_max_log_level=""
816 have_stringshare_usage="no"
818 want_debug_malloc="no"
819 want_debug_threads="no"
820 want_default_mempool="no"
825 with_max_log_level=""
826 have_stringshare_usage="yes"
828 want_debug_malloc="yes"
829 want_debug_threads="yes"
830 want_default_mempool="yes"
835 with_max_log_level="3"
836 have_stringshare_usage="no"
838 want_debug_malloc="no"
839 want_debug_threads="no"
840 want_default_mempool="no"
845 PKG_CHECK_MODULES(UNWIND, [libunwind libunwind-generic],
846 [have_unwind=yes], [have_unwind=no])
847 AS_IF([test "x$have_unwind" = "xyes"],
848 [AC_DEFINE([HAVE_UNWIND], [1], [Have libunwind])])
849 AM_CONDITIONAL(HAVE_UNWIND, test "x$have_unwind" = "xyes")
851 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
852 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
853 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
855 if test -n "${with_max_log_level}"; then
856 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
857 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
860 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
861 [test "x${have_stringshare_usage}" = "xyes"],
862 [1], [Report Eina stringshare usage pattern])
864 ### Additional options to configure
865 AC_ARG_ENABLE([magic-debug],
866 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
868 if test "x${enableval}" = "xyes" ; then
869 have_magic_debug="yes"
871 have_magic_debug="no"
874 [have_magic_debug="yes"])
876 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
878 AC_ARG_WITH([xattr-tests-path],
879 [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])])
881 ### Checks for programs
883 ### Checks for libraries
884 EFL_PLATFORM_DEPEND([EINA], [all])
886 EFL_ADD_LIBS([EINA], [-lm])
891 AC_ARG_ENABLE([valgrind],
892 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
894 if test "x${enableval}" = "xyes" ; then
901 if test "${want_valgrind}" = "auto"; then
902 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
904 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
907 if test "${want_valgrind}" = "no"; then
908 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
910 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
911 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
914 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
915 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
916 [1], [Turn on debugging overhead in mempool])
918 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
919 [test "x${want_cow_magic}" = "xyes" ],
920 [1], [Turn on Eina_Magic in Eina_Cow])
922 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd])
924 EFL_EVAL_PKGS([EINA])
930 PKG_CHECK_MODULES([GLIB],
935 if test "x${have_glib}" = "xyes" ; then
936 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
939 ### Checks for header files
941 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
942 CFLAGS_save="${CFLAGS}"
943 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
944 AC_CHECK_HEADERS([sys/mman.h])
945 CFLAGS="${CFLAGS_save}"
947 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
951 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
952 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
953 [1], [Define to 1 if you have a valid <dirent.h> header file.])
955 ### Checks for structures
957 ### Checks for compiler characteristics
958 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
960 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
961 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
962 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
964 ### Checks for linker characteristics
966 ### Checks for library functions
968 AC_CHECK_FUNCS([fchmod])
970 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
973 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
977 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
978 AC_MSG_RESULT([${enable_log}])
980 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
983 if test "x${efl_have_threads}" = "xno"; then
991 static __thread int a = 0;
993 [have_thread_specifier="yes"],
994 [have_thread_specifier="no"])
995 AC_MSG_CHECKING([for __thread specifier])
996 AC_MSG_RESULT([${have_thread_specifier}])
997 if test "x${have_thread_specifier}" = "xyes" ; then
998 AC_DEFINE([HAVE_THREAD_SPECIFIER], [1], [Have the __thread specifier])
1001 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
1002 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
1004 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
1005 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
1006 EINA_CONFIG([HAVE_PTHREAD_SETNAME], [test "x${efl_have_setname}" = "xyes"])
1007 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
1008 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
1009 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
1010 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1014 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1015 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1016 EINA_CHECK_MODULE([one-big], [static], [one big])
1018 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1024 EFL_LIB_START([Eina_Cxx])
1026 EFL_CXX_COMPILE_STDCXX_11([ext])
1027 AC_ARG_ENABLE([cxx-bindings],
1028 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1029 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1031 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1037 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1039 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1040 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1041 EFL_EVAL_PKGS([EINA_CXX])
1043 EFL_LIB_END([Eina_Cxx])
1044 #### End of Eina CXX
1052 ### Additional options to configure
1054 ### Checks for programs
1056 ## Compatibility layers
1057 EFL_PLATFORM_DEPEND([EO], [evil])
1059 ### Checks for libraries
1060 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1062 # Example (evas one)
1064 # TODO: add once elementary is merged
1065 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1066 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1068 ### Checks for header files
1070 ### Checks for types
1072 ### Checks for structures
1074 ### Checks for compiler characteristics
1076 ### Checks for linker characteristics
1078 ### Checks for library functions
1079 EFL_CHECK_FUNCS([EO], [dladdr])
1081 ### Check availability
1087 EFL_LIB_START([Eet_Cxx])
1089 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1090 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1092 EFL_EVAL_PKGS([EET_CXX])
1094 EFL_LIB_END([Eet_Cxx])
1099 EFL_LIB_START([Emile])
1103 ### Additional options to configure
1105 ### Checks for programs
1107 ### Checks for libraries
1109 EFL_CHECK_LIBS([EMILE], [libjpeg])
1111 ## Compatibility layers
1112 EFL_PLATFORM_DEPEND([EMILE], [evil])
1114 EFL_ADD_LIBS([EMILE], [-lm])
1116 # Cryptography support
1117 if test "$build_crypto" != "none" ; then
1118 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1119 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1120 EFL_CRYPTO_DEPEND([EMILE])
1123 EFL_CHECK_LIBS([EMILE], [zlib])
1125 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1127 EFL_EVAL_PKGS([EMILE])
1129 ### Checks for header files
1131 ### Checks for types
1133 ### Checks for structures
1135 ### Checks for compiler characteristics
1137 ### Checks for linker characteristics
1139 ### Checks for library functions
1141 ### Check availability
1143 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1145 EFL_LIB_END([Emile])
1151 EFL_LIB_START([Eet])
1155 ### Additional options to configure
1157 ### Checks for programs
1159 ### Checks for libraries
1161 EFL_CHECK_LIBS([EET], [libjpeg])
1163 ## Compatibility layers
1164 EFL_PLATFORM_DEPEND([EET], [evil])
1166 EFL_ADD_LIBS([EET], [-lm])
1168 # Cryptography support
1169 if test "$build_crypto" != "none" ; then
1170 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1171 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1172 EFL_CRYPTO_DEPEND([EET])
1175 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1176 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1178 EFL_EVAL_PKGS([EET])
1180 ### Checks for header files
1182 ### Checks for types
1184 ### Checks for structures
1186 ### Checks for compiler characteristics
1188 ### Checks for linker characteristics
1190 ### Checks for library functions
1192 ### Check availability
1198 EFL_LIB_START([Eo_Cxx])
1200 EFL_EVAL_PKGS([EO_CXX])
1202 EFL_LIB_END([Eo_Cxx])
1207 EFL_LIB_START([Eolian])
1211 ### Additional options to configure
1212 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1214 ### Checks for programs
1216 ## Compatibility layers
1217 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1219 ### Checks for libraries
1220 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1222 ### Checks for header files
1224 ### Checks for types
1226 ### Checks for structures
1228 ### Checks for compiler characteristics
1230 ### Checks for linker characteristics
1232 ### Checks for library functions
1234 ### Check availability
1236 EFL_LIB_END([Eolian])
1239 EFL_LIB_START([Eolian_Cxx])
1242 ### Additional options to configure
1244 ### Checks for programs
1246 ## Compatibility layers
1248 ### Checks for libraries
1249 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1250 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1252 ### Checks for header files
1254 ### Checks for types
1256 ### Checks for structures
1258 ### Checks for compiler characteristics
1260 ### Checks for linker characteristics
1262 ### Checks for library functions
1264 ### Check availability
1265 EFL_LIB_END([Eolian_Cxx])
1269 EFL_LIB_START([Efl])
1271 EFL_PLATFORM_DEPEND([EFL], [evil])
1272 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1273 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1275 EFL_ADD_LIBS([EFL], [-lm])
1282 EFL_LIB_START([Ector])
1287 ### Additional options to configure
1289 ### Checks for programs
1291 ### Checks for libraries
1293 ## Compatibility layers
1295 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1297 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1298 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1299 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1301 EFL_ADD_LIBS([ECTOR], [-lm])
1303 EFL_EVAL_PKGS([ECTOR])
1305 ### Checks for header files
1307 ### Checks for types
1309 ### Checks for structures
1311 ### Checks for compiler characteristics
1313 ### Checks for linker characteristics
1315 ### Checks for library functions
1317 ### Check availability
1319 EFL_LIB_END([ECTOR])
1325 EFL_LIB_START([Evas])
1327 ### Additional options to configure
1331 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1333 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1335 elif test "x${with_x11}" = "x"; then
1343 case "${with_x11}" in
1351 CFOPT_WARNING="xyes"
1357 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1362 AC_ARG_WITH([opengl],
1363 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1365 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1367 elif test "x${with_opengl}" = "x"; then
1371 case "${with_opengl}" in
1375 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1379 want_x11_xlib_opengl="no"
1380 want_x11_xcb_opengl="no"
1381 if test "${with_opengl}" != "none"; then
1382 want_x11_xlib_opengl="${want_x11_xlib}"
1383 want_x11_xcb_opengl="${want_x11_xcb}"
1384 want_x11_any_opengl="${want_x11_any}"
1388 AC_ARG_ENABLE([wayland],
1389 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1391 if test "x${enableval}" = "xyes" ; then
1397 [want_wayland="no"])
1399 if test "${want_wayland}" = "yes"; then
1400 EFL_PKG_CHECK_STRICT([wayland-client >= 1.8.0])
1404 AC_ARG_ENABLE([wayland-ivi-shell],
1405 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1407 if test "x${enableval}" = "xyes" ; then
1408 want_wayland_ivi_shell="yes"
1410 want_wayland_ivi_shell="no"
1413 [want_wayland_ivi_shell="no"])
1417 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1419 if test "x${enableval}" = "xyes" ; then
1428 AC_ARG_ENABLE([sdl],
1429 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1431 if test "x${enableval}" = "xyes" ; then
1439 if test "${want_sdl}" = "yes"; then
1440 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1443 # We only enable SDL with opengl if it is not the full version and not ES
1444 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1445 # versions the SDL_opengles.h has never been released.
1447 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1448 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1450 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1455 AC_ARG_ENABLE([cocoa],
1456 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1458 if test "x${enableval}" = "xyes" ; then
1466 if test "${want_cocoa}" = "yes"; then
1467 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1470 m4_ifdef([AC_PROG_OBJC],
1472 if test "x${have_gnu_objc}" = "xyes" ; then
1473 AC_LANG_PUSH([Objective C])
1475 LIBS="$LIBS -framework Cocoa"
1479 #include <Cocoa/Cocoa.h>
1483 window = [[NSWindow alloc]
1484 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1485 styleMask:(NSTitledWindowMask)
1486 backing:NSBackingStoreBuffered
1493 cocoa_ldflags="-framework Cocoa"
1497 AC_MSG_CHECKING([whether Cocoa framework is supported])
1498 AC_MSG_RESULT([${have_cocoa}])
1499 AC_LANG_POP([Objective C])
1503 AC_SUBST(cocoa_ldflags)
1505 if test "x${want_cocoa}" = "xyes"; then
1506 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1507 cocoa_coreservices_ldflags=""
1508 have_cocoa_coreservices="no"
1509 m4_ifdef([AC_PROG_OBJC],
1511 if test "x${have_gnu_objc}" = "xyes" ; then
1512 AC_LANG_PUSH([Objective C])
1514 LIBS="$LIBS -framework CoreServices"
1518 #include <CoreServices/CoreServices.h>
1521 //test function here
1524 have_cocoa_coreservices="yes"
1525 cocoa_coreservices_ldflags="-framework CoreServices"
1527 [have_cocoa_coreservices="no"])
1529 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1530 AC_MSG_RESULT([${have_cocoa_coreservices}])
1531 AC_LANG_POP([Objective C])
1535 AC_SUBST(cocoa_coreservices_ldflags)
1538 AC_ARG_ENABLE([drm],
1539 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1541 if test "x${enableval}" = "xyes" ; then
1550 AC_ARG_ENABLE([gl-drm],
1551 [AC_HELP_STRING([--enable-gl-drm],
1552 [enable gl drm engine. @<:@default=disabled@:>@])],
1554 if test "x${enableval}" = "xyes" ; then
1562 AC_ARG_ENABLE([fontconfig],
1563 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1565 if test "x${enableval}" = "xyes" ; then
1566 want_fontconfig="yes"
1568 want_fontconfig="no"
1569 CFOPT_WARNING="xyes"
1572 [want_fontconfig="yes"])
1575 AC_ARG_ENABLE([fribidi],
1576 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1578 if test "x${enableval}" = "xyes" ; then
1582 CFOPT_WARNING="xyes"
1585 [want_fribidi="yes"])
1588 AC_ARG_ENABLE([eo_id],
1589 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1591 if test "x${enableval}" = "xyes" ; then
1595 CFOPT_WARNING="xyes"
1601 AC_ARG_ENABLE([harfbuzz],
1602 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1604 if test "x${enableval}" = "xyes" ; then
1610 [want_harfbuzz="no"])
1613 AC_ARG_ENABLE([egl],
1614 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1616 if test "x${enableval}" = "xyes" ; then
1625 AC_ARG_ENABLE([pixman],
1626 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1628 if test "x${enableval}" = "xyes" ; then
1630 CFOPT_WARNING="xyes"
1637 AC_ARG_ENABLE([pixman-font],
1638 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1640 if test "x${enableval}" = "xyes" ; then
1641 have_pixman_font="yes"
1643 have_pixman_font="no"
1646 [have_pixman_font="no"])
1648 AC_ARG_ENABLE([pixman-rect],
1649 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1651 if test "x${enableval}" = "xyes" ; then
1652 have_pixman_rect="yes"
1654 have_pixman_rect="no"
1657 [have_pixman_rect="no"])
1659 AC_ARG_ENABLE([pixman-line],
1660 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1662 if test "x${enableval}" = "xyes" ; then
1663 have_pixman_line="yes"
1665 have_pixman_line="no"
1668 [have_pixman_line="no"])
1670 AC_ARG_ENABLE(pixman-poly,
1671 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1673 if test "x${enableval}" = "xyes" ; then
1674 have_pixman_poly="yes"
1676 have_pixman_poly="no"
1679 [have_pixman_poly="no"])
1681 AC_ARG_ENABLE([pixman-image],
1682 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1684 if test "x${enableval}" = "xyes" ; then
1685 have_pixman_image="yes"
1687 have_pixman_image="no"
1690 [have_pixman_image="no"])
1692 AC_ARG_ENABLE([pixman-image-scale-sample],
1693 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1695 if test "x${enableval}" = "xyes" ; then
1696 have_pixman_image_scale_sample="yes"
1698 have_pixman_image_scale_sample="no"
1701 [have_pixman_image_scale_sample="no"])
1704 AC_ARG_ENABLE([tile-rotate],
1705 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1707 if test "x${enableval}" = "xyes" ; then
1708 have_tile_rotate="yes"
1709 CFOPT_WARNING="xyes"
1711 have_tile_rotate="no"
1714 [have_tile_rotate="no"])
1717 AC_ARG_ENABLE([ecore-buffer],
1718 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
1720 if test "x${enableval}" = "xyes" ; then
1721 want_ecore_buffer="yes"
1723 want_ecore_buffer="no"
1726 [want_ecore_buffer="no"])
1730 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1731 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1732 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1733 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1734 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1735 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1736 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1737 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1738 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1739 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1740 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1741 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1742 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1743 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1744 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1745 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1746 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1750 want_evas_engine_software_gdi="${have_win32}"
1751 want_evas_engine_software_ddraw="${have_win32}"
1752 want_evas_engine_gl_cocoa="${want_cocoa}"
1753 want_evas_engine_wayland_egl="no"
1754 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1755 want_evas_engine_wayland_egl="yes"
1758 if test "${want_lua_old}" = "yes"; then
1759 EFL_CHECK_LUA_OLD([EVAS])
1761 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1764 EFL_ADD_FEATURE([EVAS], [lua-old])
1766 EFL_CHECK_FUNC([EVAS], [dlsym])
1768 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1769 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1772 ### Checks for programs
1774 ### Checks for libraries
1776 ## Compatibility layers
1777 EFL_PLATFORM_DEPEND([EVAS], [all])
1778 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1779 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1780 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1781 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1782 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1783 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1785 EFL_ADD_LIBS([EVAS], [-lm])
1788 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1790 ## optional dependencies
1793 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1794 [FONTCONFIG], [fontconfig >= 2.5.0])
1797 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1798 [FRIBIDI], [fribidi >= 0.19.2])
1801 have_harfbuzz_ft="no"
1802 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1803 [HARFBUZZ], [harfbuzz >= 0.9.0])
1806 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1808 if test "x${have_pixman}" = "xyes" ; then
1809 if test "x${have_pixman_font}" = "xyes" ; then
1810 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1812 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1814 if test "x${have_pixman_rect}" = "xyes" ; then
1815 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1817 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1819 if test "x${have_pixman_line}" = "xyes" ; then
1820 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1822 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1824 if test "x${have_pixman_poly}" = "xyes" ; then
1825 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1827 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1829 if test "x${have_pixman_image}" = "xyes" ; then
1830 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1832 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1834 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1835 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1837 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1842 define([EVAS_ENGINE_DEP_CHECK_FB], [
1843 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1846 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1847 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1850 EVAS_ENGINE([buffer], [static])
1851 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1852 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1855 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1856 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1857 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1858 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1859 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1860 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1861 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1862 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1867 have_evas_engine_software_xcb="no"
1868 if test "${with_x11}" = "xcb" ; then
1869 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1871 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1872 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1875 AC_MSG_CHECKING([whether to build Software XCB Engine])
1876 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1878 # No Software XCB ? Then try Software Xlib
1880 have_evas_engine_software_xlib="no"
1881 if test "x${want_x11_xcb}" = "xno" ; then
1882 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1884 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1885 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1888 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1889 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1891 # If software_x11 is available, define everything needed for X11
1893 have_evas_engine_software_x11="no"
1894 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
1895 have_evas_engine_software_x11="yes"
1896 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1898 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1900 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1901 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1903 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1905 # Needed for evas-software-x11.pc
1907 AC_SUBST([have_evas_engine_software_xlib])
1908 AC_SUBST([have_evas_engine_software_xcb])
1911 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1912 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1916 if test "${with_opengl}" = "es" ; then
1917 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1922 have_evas_engine_gl_xcb="no"
1923 if test "${want_x11_xcb_opengl}" = "yes"; then
1924 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1926 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1927 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1930 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1931 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1933 # No openGL XCB ? Then try OpenGL Xlib
1935 have_evas_engine_gl_xlib="no"
1936 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1937 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1939 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1940 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1943 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1944 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1946 # If opengl_x11 is available, define everything needed for X11
1948 have_evas_engine_gl_x11="no"
1949 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
1950 have_evas_engine_gl_x11="yes"
1951 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1953 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1955 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1956 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1958 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1960 # Needed for evas-opengl-x11.pc
1962 AC_SUBST([have_evas_engine_gl_xlib])
1963 AC_SUBST([have_evas_engine_gl_xcb])
1967 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1968 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1969 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1970 [#include <SDL2/SDL_video.h>])
1973 if test "${with_opengl}" = "es"; then
1974 AC_CHECK_DECL([SDL_OPENGLES],
1975 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1976 [#include <SDL2/SDL_video.h>])
1980 evas_engine_gl_common_cflags=""
1981 if test "x${have_egl}" = "xyes"; then
1982 evas_engine_gl_common_libs="-lEGL"
1984 evas_engine_gl_common_libs="-lGL"
1987 # The lines below fix compiling/linking of gl_generic on OSX
1988 if test "x${have_darwin}" = "xyes"; then
1989 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1990 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1991 # CFLAGS and LIBS are determined by evas-gl_cocoa.
1992 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1993 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
1995 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
1996 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
1997 # cannot compile (nor link).
1998 evas_engine_gl_common_libs=""
1999 evas_engine_gl_common_cflags=""
2001 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
2002 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
2003 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
2005 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2009 AC_SUBST([evas_engine_gl_common_cflags])
2010 AC_SUBST([evas_engine_gl_common_libs])
2012 have_evas_engine_gl_common="no"
2013 have_static_evas_engine_gl_common="no"
2014 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2015 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2016 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2017 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2018 test "x$have_evas_engine_gl_drm" = "xyes" || \
2019 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2020 have_evas_engine_gl_common="yes"
2022 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2023 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2024 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2025 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2026 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2027 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2028 have_evas_engine_gl_common="yes"
2029 have_static_evas_engine_gl_common="yes"
2032 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2033 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2036 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2038 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2039 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2042 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2047 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2048 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2049 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2050 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2051 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2052 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2053 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2054 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2055 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2056 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2057 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2058 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2059 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2060 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2061 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2062 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2063 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2065 EFL_EVAL_PKGS([EVAS])
2067 ### Checks for header files
2069 if test "x$have_harfbuzz" = "xyes" ; then
2071 CPPFLAGS_SAVE="$CPPFLAGS"
2072 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2073 # must have for usage with harfbuzz although harfbuzz may not have it.
2075 AC_CHECK_HEADER([hb-ft.h],
2077 have_harfbuzz_ft="yes"
2078 #Depend on harfbuzz ft for harfbuzz support
2079 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2081 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2083 CPPFLAGS="$CPPFLAGS_SAVE"
2086 ### Checks for types
2088 CPPFLAGS_SAVE="$CPPFLAGS"
2089 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2090 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2091 CPPFLAGS="$CPPFLAGS_SAVE"
2094 if test "x$have_fribidi" = "xyes" ; then
2095 CPPFLAGS_SAVE="$CPPFLAGS"
2096 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2097 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2098 CPPFLAGS="$CPPFLAGS_SAVE"
2101 ### Checks for structures
2103 AC_CHECK_TYPES([struct sigaction], [], [],
2104 [[#include <signal.h>]])
2106 ### Checks for compiler characteristics
2108 ### Checks for linker characteristics
2110 ### Checks for library functions
2112 AC_CHECK_FUNCS([siglongjmp])
2114 AC_CHECK_LIB([m], [lround],
2115 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2116 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2122 AC_ARG_ENABLE([cserve],
2123 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=disabled@:>@])],
2125 if test "x${enableval}" = "xyes" ; then
2126 want_evas_cserve2="yes"
2128 want_evas_cserve2="no"
2129 CFOPT_WARNING="xyes"
2132 [want_evas_cserve2="yes"])
2134 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2135 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2138 # cserve2 only works on Linux so far.
2140 if test "x${efl_func_shm_open}" = "xno" ; then
2141 want_evas_cserve2="no"
2144 if test "x${want_evas_cserve2}" = "xyes"; then
2145 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
2146 want_evas_cserve2="no"
2148 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2149 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2153 AC_DEFINE_IF([EVAS_CSERVE2],
2154 [test "x${want_evas_cserve2}" = "xyes"],
2155 [1], [Shared cache server.])
2156 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2162 if test "x${have_tile_rotate}" = "xyes" ; then
2163 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2169 AC_ARG_WITH([evas-dither-mask],
2170 [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.
2171 @<:@default=big@:>@])],
2172 [build_evas_dither_mask=${withval}],
2173 [build_evas_dither_mask=big])
2175 case "${build_evas_dither_mask}" in
2177 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2180 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2183 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2186 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2189 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2192 EFL_ADD_FEATURE([EVAS], [fontconfig])
2193 EFL_ADD_FEATURE([EVAS], [fribidi])
2194 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2195 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2196 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2197 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2203 EFL_LIB_START([Evas_Cxx])
2205 EFL_EVAL_PKGS([EVAS_CXX])
2207 EFL_LIB_END([Evas_Cxx])
2208 #### End of Edje CXX
2212 EFL_LIB_START([Embryo])
2216 ### Additional options to configure
2218 ### Checks for programs
2220 ### Checks for libraries
2221 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2222 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2224 EFL_ADD_LIBS([EMBRYO], [-lm])
2226 ### Checks for header files
2228 ### Checks for types
2230 ### Checks for structures
2232 ### Checks for compiler characteristics
2234 ### Checks for linker characteristics
2236 ### Checks for library functions
2238 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2239 AC_MSG_ERROR([Cannot find fnmatch()])
2242 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2243 AC_MSG_ERROR([Cannot find gettimeofday()])
2246 ### Check availability
2248 EFL_LIB_END([Embryo])
2254 EFL_LIB_START([Ecore])
2256 ### Additional options to configure
2261 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2263 if test "x${withval}" = "xyes" ; then
2266 if test "x${withval}" = "xalways" ; then
2275 AC_ARG_ENABLE([g-main-loop],
2276 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2278 if test "x${enableval}" = "xyes" ; then
2279 want_g_main_loop="yes"
2280 CFOPT_WARNING="xyes"
2282 want_g_main_loop="no"
2285 [want_g_main_loop="no"])
2287 AC_ARG_ENABLE([gstreamer],
2288 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2290 if test "x${enableval}" = "xyes" ; then
2291 want_gstreamer="yes"
2292 CFOPT_WARNING="xyes"
2297 [want_gstreamer="no"])
2299 AC_ARG_ENABLE([gstreamer1],
2300 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2302 if test "x${enableval}" = "xyes" ; then
2303 want_gstreamer1="yes"
2305 want_gstreamer1="no"
2306 CFOPT_WARNING="xyes"
2309 [want_gstreamer1="yes"])
2311 AC_ARG_ENABLE([tizen],
2312 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2314 if test "x${enableval}" = "xyes" ; then
2322 if test "${want_tizen}" = "yes"; then
2323 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2325 [have_tizen_vconf="yes"],
2326 [have_tizen_vconf="no"])
2327 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2330 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2331 if test "${have_tizen_vconf}" = "yes"; then
2332 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2337 if test "${have_windows}" = "yes"; then
2342 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2346 want_ecore_timer_dump="no"
2347 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2348 want_ecore_timer_dump="yes"
2349 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2352 ### Checks for programs
2354 ### Checks for libraries
2355 EFL_PLATFORM_DEPEND([ECORE], [all])
2356 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2357 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2358 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2360 EFL_ADD_LIBS([ECORE], [-lm])
2364 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2365 if test "x${have_glib}" = "xno"; then
2366 want_g_main_loop="no"
2369 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd])
2371 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2372 EFL_ADD_FEATURE([ECORE], [glib])
2373 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2375 want_glib_integration_always=no
2376 if test "x${with_glib}" = "xalways" ; then
2377 want_glib_integration_always="yes"
2378 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2381 if test "x${want_g_main_loop}" = "xyes" ; then
2382 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2385 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2386 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2387 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2390 if test "${want_gstreamer1}" = "yes"; then
2391 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2393 if test "${want_gstreamer}" = "yes"; then
2394 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2396 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2398 EFL_EVAL_PKGS([ECORE])
2400 ### Checks for header files
2404 AC_CHECK_HEADERS([sys/socket.h])
2406 AC_CHECK_HEADERS([ \
2418 #ifdef HAVE_SYS_SOCKET_H
2419 # include <sys/socket.h>
2423 AC_CHECK_HEADERS([net/if.h], [], [],
2426 # include <stdlib.h>
2427 # include <stddef.h>
2430 # include <stdlib.h>
2433 #if HAVE_SYS_SOCKET_H
2434 # include <sys/socket.h>
2438 ### Checks for types
2440 ### Checks for structures
2442 ### Checks for compiler characteristics
2444 ### Checks for linker characteristics
2446 ### Checks for library functions
2458 int i = isfinite(0);
2461 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2464 [have_isfinite="no"])
2466 AC_MSG_CHECKING([for isfinite])
2467 AC_MSG_RESULT([${have_isfinite}])
2469 # mallinfo, timerfd_create, clock_gettime
2471 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2473 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2474 AC_CHECK_LIB([rt], [clock_gettime],
2476 EFL_ADD_LIBS([ECORE], [-lrt])
2477 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2481 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2483 # coroutine function specific
2488 #include <ucontext.h>
2494 [have_ucontext="yes"],
2495 [have_ucontext="no"])
2497 AC_MSG_CHECKING([for ucontext])
2498 AC_MSG_RESULT([${have_ucontext}])
2509 [have_setjmp="yes"],
2512 AC_MSG_CHECKING([for setjmp])
2513 AC_MSG_RESULT([${have_setjmp}])
2515 if test "X${have_windows}" = "xyes"; then
2516 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2517 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2518 elif test "x${have_ucontext}" = "xyes"; then
2519 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2520 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2521 elif test "x${have_setjmp}" = "xyes"; then
2522 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2523 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2525 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2528 ### Check availability
2530 EFL_LIB_END([Ecore])
2534 EFL_LIB_START([Ecore_Cxx])
2536 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2537 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2538 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2539 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2541 EFL_EVAL_PKGS([ECORE_CXX])
2543 EFL_LIB_END([Ecore_Cxx])
2544 #### End of Ecore CXX
2548 EFL_LIB_START([Ecore_Con])
2552 want_ecore_con_local_sockets="yes"
2553 want_ecore_con_abstract_sockets="yes"
2555 if test "${have_win32}" = "yes"; then
2557 want_ecore_con_abstract_sockets="no"
2558 elif test "${have_darwin}" = "yes"; then
2560 want_ecore_con_abstract_sockets="yes"
2561 elif test "${have_ps3}" = "yes"; then
2563 want_ecore_con_local_sockets="no"
2564 want_ecore_con_abstract_sockets="no"
2569 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2570 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2571 [1], [Have local sockets support])
2572 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2573 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2574 [1], [Have abstract sockets namespace])
2576 ### Checks for programs
2578 ### Checks for libraries
2579 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2580 if test "$build_crypto" != "none" ; then
2581 EFL_CRYPTO_DEPEND([ECORE_CON])
2583 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2584 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2585 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2586 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2587 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2589 EFL_ADD_LIBS([ECORE_CON], [-lm])
2591 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2592 [CARES], [libcares >= 1.6.1])
2593 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2595 if test "x$have_cares" = "xyes" ; then
2596 ecore_con_resolver="cares"
2597 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2598 ecore_con_resolver="dns.c"
2600 ecore_con_resolver="fork"
2603 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
2605 EFL_ADD_FEATURE([ECORE_CON], [cares])
2606 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2607 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2608 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2609 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2611 EFL_EVAL_PKGS([ECORE_CON])
2613 ### Checks for header files
2615 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2617 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2618 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2621 ### Checks for types
2624 AC_CHECK_TYPES([struct ipv6_mreq],
2628 #include <netinet/in.h>
2629 #ifdef HAVE_WS2TCPIP_H
2630 # include <ws2tcpip.h>
2634 AC_DEFINE_IF([HAVE_IPV6],
2635 [test "x${have_ipv6}" = "xyes"],
2636 [1], [Define if IPV6 is supported])
2637 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2639 ### Checks for structures
2641 ### Checks for compiler characteristics
2643 ### Checks for linker characteristics
2645 ### Checks for library functions
2647 EFL_LIB_END([Ecore_Con])
2648 #### End of Ecore_Con
2653 EFL_LIB_START([Ecore_Ipc])
2657 ### Additional options to configure
2659 ### Checks for programs
2661 ## Compatibility layers
2662 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2664 ### Checks for libraries
2665 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2666 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2667 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2668 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2670 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2672 ### Checks for header files
2674 AC_CHECK_HEADERS([winsock2.h])
2676 ### Checks for types
2678 ### Checks for structures
2680 ### Checks for compiler characteristics
2682 ### Checks for linker characteristics
2684 ### Checks for library functions
2686 EFL_LIB_END([Ecore_Ipc])
2687 #### End of Ecore_Ipc
2692 EFL_LIB_START([Ecore_File])
2694 ### Additional options to configure
2698 ### Checks for programs
2700 ## Compatibility layers
2701 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2703 ### Checks for libraries
2704 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2705 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2706 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2707 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2708 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2710 ### Checks for header files
2712 ### Checks for types
2714 ### Checks for structures
2716 ### Checks for compiler characteristics
2718 ### Checks for linker characteristics
2720 ### Checks for library functions
2722 EFL_LIB_END([Ecore_File])
2723 #### End of Ecore_File
2727 EFL_LIB_START([Ecore_Input])
2729 ### Additional options to configure
2733 ### Checks for programs
2735 ## Compatibility layers
2736 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2738 ### Checks for libraries
2739 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2740 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2741 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2743 ### Checks for header files
2745 ### Checks for types
2747 ### Checks for structures
2749 ### Checks for compiler characteristics
2751 ### Checks for linker characteristics
2753 ### Checks for library functions
2755 EFL_LIB_END([Ecore_Input])
2756 #### End of Ecore_Input
2759 #### Ecore_Input_Evas
2760 EFL_LIB_START([Ecore_Input_Evas])
2762 ### Additional options to configure
2766 ### Checks for programs
2768 ## Compatibility layers
2769 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2771 ### Checks for libraries
2772 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2773 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2774 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2775 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2776 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2777 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2778 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2780 ### Checks for header files
2782 ### Checks for types
2784 ### Checks for structures
2786 ### Checks for compiler characteristics
2788 ### Checks for linker characteristics
2790 ### Checks for library functions
2792 EFL_LIB_END([Ecore_Input_Evas])
2793 #### End of Ecore_Input_Evas
2797 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2799 ### Additional options to configure
2803 ### Checks for programs
2805 ### Checks for libraries
2806 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2807 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2808 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2809 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2811 ### Checks for header files
2813 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2815 ### Checks for types
2817 ### Checks for structures
2819 ### Checks for compiler characteristics
2821 ### Checks for linker characteristics
2823 ### Checks for library functions
2825 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2826 #### End of Ecore_Cocoa
2830 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2832 ### Additional options to configure
2833 AC_ARG_ENABLE([tslib],
2834 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2836 if test "x${enableval}" = "xyes" ; then
2841 ], [want_tslib="yes"])
2845 ### Checks for programs
2847 ### Checks for libraries
2848 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2849 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2850 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2851 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2853 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2854 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2856 EFL_EVAL_PKGS([ECORE_FB])
2858 ### Checks for header files
2861 AC_CHECK_HEADER([linux/fb.h],
2862 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2863 if test "${have_ecore_fb}" = "no"; then
2864 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2867 ### Checks for types
2869 ### Checks for structures
2871 ### Checks for compiler characteristics
2873 ### Checks for linker characteristics
2875 ### Checks for library functions
2877 EFL_LIB_END_OPTIONAL([Ecore_FB])
2878 #### End of Ecore_FB
2882 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2884 ### Additional options to configure
2888 ### Checks for programs
2890 ### Checks for libraries
2891 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2893 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2894 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2895 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2896 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2898 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2900 ### Checks for header files
2902 ### Checks for types
2904 ### Checks for structures
2906 ### Checks for compiler characteristics
2908 ### Checks for linker characteristics
2910 ### Checks for library functions
2912 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2913 #### End of Ecore_Psl1ght
2917 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2919 ### Additional options to configure
2923 ### Checks for programs
2925 ### Checks for libraries
2926 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2927 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2928 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2929 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2930 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2932 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2934 EFL_EVAL_PKGS([ECORE_SDL])
2936 ### Checks for header files
2938 ### Checks for types
2940 ### Checks for structures
2942 ### Checks for compiler characteristics
2944 ### Checks for linker characteristics
2946 ### Checks for library functions
2948 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2949 #### End of Ecore_SDL
2953 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2955 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2956 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2959 ### Additional options to configure
2963 ### Checks for programs
2965 ### Checks for libraries
2966 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2967 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2968 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2969 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2971 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2972 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0])
2974 EFL_EVAL_PKGS([ECORE_WAYLAND])
2976 ### Checks for header files
2978 ### Checks for types
2980 ### Checks for structures
2982 ### Checks for compiler characteristics
2984 ### Checks for linker characteristics
2986 ### Checks for library functions
2988 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2989 #### End of Ecore_Wayland
2992 EFL_LIB_START([Eldbus])
2994 ### Additional options to configure
2998 ### Checks for programs
3000 ## Compatibility layers
3001 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3003 ### Checks for libraries
3004 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3005 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3006 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3008 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3010 EFL_EVAL_PKGS([ELDBUS])
3012 ### Checks for header files
3014 ### Checks for types
3016 ### Checks for structures
3018 ### Checks for compiler characteristics
3020 ### Checks for linker characteristics
3022 ### Checks for library functions
3024 EFL_LIB_END([Eldbus])
3029 have_libmount_new="no"
3030 have_libmount_old="no"
3031 have_eeze_mount="no"
3033 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3035 ### Additional options to configure
3036 AC_ARG_WITH([mount],
3037 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3038 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3039 AC_ARG_WITH([umount],
3040 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3041 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3042 AC_ARG_WITH([eject],
3043 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3044 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3048 ### Checks for programs
3050 ### Checks for libraries
3051 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3052 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3053 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3054 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3055 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3056 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3057 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3059 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3061 AC_ARG_ENABLE([libmount],
3062 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3064 if test "x${enableval}" = "xyes" ; then
3068 CFOPT_WARNING="xyes"
3071 [want_libmount="yes"])
3073 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3074 [EEZE_MOUNT], [mount >= 2.18.0])
3075 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3077 PKG_CHECK_EXISTS([libudev < 199],
3078 [have_libudev_old="yes"],
3079 [have_libudev_old="no"])
3080 AC_MSG_CHECKING([Use old libudev API (before 199)])
3081 AC_MSG_RESULT([${have_libudev_old}])
3083 PKG_CHECK_EXISTS([mount < 2.19.0],
3084 [have_libmount_old="yes"],
3085 [have_libmount_old="no"])
3086 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3087 AC_MSG_RESULT([${have_libmount_old}])
3089 PKG_CHECK_EXISTS([mount == 2.19.0],
3090 [have_libmount_219="yes"],
3091 [have_libmount_219="no"])
3092 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3093 AC_MSG_RESULT([${have_libmount_219}])
3095 PKG_CHECK_EXISTS([mount > 2.19.0],
3096 [have_libmount_new="yes"],
3097 [have_libmount_new="no"])
3098 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3099 AC_MSG_RESULT([${have_libmount_new}])
3101 if test "x${have_libudev_old}" = "xyes"; then
3102 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3105 if test "x${have_libmount_old}" = "xyes"; then
3106 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3110 if test "${want_tizen}" = "yes"; then
3111 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3113 EFL_ADD_FEATURE([EEZE], [tizen])
3115 EFL_EVAL_PKGS([EEZE])
3117 ### Checks for header files
3119 ### Checks for types
3121 ### Checks for structures
3123 ### Checks for compiler characteristics
3125 ### Checks for linker characteristics
3127 ### Checks for library functions
3129 ### Checks for binaries
3130 if test "x$with_eeze_mount" = "xdetect"; then
3131 AC_PATH_PROG([with_eeze_mount], [mount], [])
3133 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3135 if test "x$with_eeze_umount" = "xdetect";then
3136 AC_PATH_PROG([with_eeze_umount], [umount], [])
3138 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3140 if test "x$with_eeze_eject" = "xdetect";then
3141 AC_PATH_PROG([with_eeze_eject], [eject], [])
3143 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3145 EFL_LIB_END_OPTIONAL([Eeze])
3147 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3148 [test "x${have_libmount_new}" = "xyes"])
3149 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3150 [test "x${have_libmount_old}" = "xyes"])
3151 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3152 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3157 have_libinput_new="no"
3158 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3160 ### Additional options to configure
3163 AC_SUBST([SUID_CFLAGS])
3164 AC_SUBST([SUID_LDFLAGS])
3168 ### Checks for programs
3170 ### Checks for libraries
3171 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3172 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3173 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3174 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3175 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3176 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3178 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3179 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3181 # API change from 0.7 to 0.8. So we define this to support both for now.
3182 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3183 [have_libinput_new="yes"],
3184 [have_libinput_new="no"])
3185 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3186 AC_MSG_RESULT([${have_libinput_new}])
3187 if test "x${have_libinput_new}" = "xyes";then
3188 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3190 if test "x${have_libinput_new}" = "xno";then
3191 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3195 EFL_EVAL_PKGS([ECORE_DRM])
3197 ### Checks for header files
3199 ### Checks for types
3201 ### Checks for structures
3203 ### Checks for compiler characteristics
3205 ### Checks for linker characteristics
3207 ### Checks for library functions
3209 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3210 #### End of Ecore_Drm
3215 AC_ARG_ENABLE([audio],
3216 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3218 if test "x${enableval}" = "xyes" ; then
3222 CFOPT_WARNING="xyes"
3227 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3229 ### Additional options to configure
3231 # ALSA support is still not there, thus no option for it yet.
3234 # sndfile is mandatory otherwise it won't read from/write to files.
3235 # TODO: if confirmed sndfile is mandatory, remove this variable
3236 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3239 AC_ARG_ENABLE([pulseaudio],
3240 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3242 if test "x${enableval}" = "xyes" ; then
3243 want_pulseaudio="yes"
3245 want_pulseaudio="no"
3246 CFOPT_WARNING="xyes"
3249 [want_pulseaudio="yes"])
3251 if test "x${have_darwin}" = "xyes"; then
3252 want_pulseaudio="no"
3254 want_coreaudio="yes"
3261 if test "x${want_coreaudio}" = "xyes"; then
3262 coreaudio_ldflags=""
3265 LIBS="$LIBS -framework CoreAudio"
3269 #include <CoreAudio/CoreAudio.h>
3273 AudioDeviceID dev_id;
3274 AudioObjectPropertyAddress prop = {
3275 kAudioHardwarePropertyDefaultOutputDevice,
3276 kAudioObjectPropertyScopeGlobal,
3277 kAudioObjectPropertyElementMaster
3279 size = sizeof(AudioDeviceID);
3280 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3284 have_coreaudio="yes"
3285 coreaudio_ldflags="-framework CoreAudio"
3287 [have_coreaudio="no"])
3289 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3290 AC_MSG_RESULT([${have_coreaudio}])
3292 AC_SUBST(coreaudio_ldflags)
3293 if test "x${have_coreaudio}" = "xyes"; then
3294 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3296 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3302 ### Checks for programs
3304 ## Compatibility layers
3305 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3307 ### Checks for libraries
3308 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3309 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3310 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3311 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3312 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3314 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3316 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3317 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3318 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3320 EFL_EVAL_PKGS([ECORE_AUDIO])
3322 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3323 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3324 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3325 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3327 ### Checks for header files
3329 ### Checks for types
3331 ### Checks for structures
3333 ### Checks for compiler characteristics
3335 ### Checks for linker characteristics
3337 ### Checks for library functions
3339 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3340 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3341 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3342 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3344 #### End of Ecore_Audio
3346 #### Ecore Audio CXX
3347 EFL_LIB_START([Ecore_Audio_Cxx])
3349 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3351 EFL_LIB_END([Ecore_Audio_Cxx])
3352 #### End of Ecore Audio CXX
3355 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3357 ### Additional options to configure
3361 ### Checks for programs
3363 ### Checks for libraries
3364 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3365 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3366 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3367 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3368 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3370 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3371 AC_SUBST([ECORE_WIN32_LIBS])
3373 ### Checks for header files
3375 ### Checks for types
3377 ### Checks for structures
3379 ### Checks for compiler characteristics
3381 ### Checks for linker characteristics
3383 ### Checks for library functions
3385 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3386 #### End of Ecore_Win32
3390 EFL_LIB_START([Ecore_Avahi])
3394 ### Additional options to configure
3398 AC_ARG_ENABLE([avahi],
3399 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3401 if test "x${enableval}" = "xyes" ; then
3410 ### Checks for programs
3412 ## Compatibility layers
3413 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3415 ### Checks for libraries
3416 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3417 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3418 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3420 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3422 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3424 # Needed bu example as they use avahi directly in that case
3425 if test "x${have_avahi}" = "xyes"; then
3426 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3429 EFL_EVAL_PKGS([ECORE_AVAHI])
3431 ### Checks for header files
3433 ### Checks for types
3435 ### Checks for structures
3437 ### Checks for compiler characteristics
3439 ### Checks for linker characteristics
3441 ### Checks for library functions
3443 EFL_LIB_END([Ecore_Avahi])
3445 #### End of Ecore_Avahi
3449 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3451 ### Additional options to configure
3453 AC_ARG_ENABLE([gesture],
3454 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3456 if test "x${enableval}" = "xyes" ; then
3462 [want_gesture="no"])
3464 AC_ARG_ENABLE([xpresent],
3465 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3467 if test "x${enableval}" = "xyes" ; then
3473 [want_xpresent="no"])
3475 AC_ARG_ENABLE([xinput2],
3476 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3478 if test "x${enableval}" = "xyes" ; then
3482 CFOPT_WARNING="xyes"
3485 [want_xinput2="yes"])
3487 AC_ARG_ENABLE([xinput22],
3488 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3490 if test "x${enableval}" = "xyes" ; then
3496 [want_xinput22="no"])
3498 AC_ARG_ENABLE([xim],
3499 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3501 if test "x${enableval}" = "xyes" ; then
3505 CFOPT_WARNING="xyes"
3510 AC_ARG_ENABLE([scim],
3511 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3513 if test "x${enableval}" = "xyes" ; then
3517 CFOPT_WARNING="xyes"
3522 AC_ARG_ENABLE([ibus],
3523 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3525 if test "x${enableval}" = "xyes" ; then
3535 ### Checks for programs
3537 ### Checks for libraries
3538 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3539 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3540 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3541 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3547 ### Checks for header files
3549 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3551 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3552 FOUND_MAXHOSTNAMELEN="not found"
3558 #include <sys/param.h>
3561 int h = MAXHOSTNAMELEN;
3565 FOUND_MAXHOSTNAMELEN="sys/param.h"
3566 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3576 int h = MAXHOSTNAMELEN;
3580 FOUND_MAXHOSTNAMELEN="netdb.h"
3581 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3584 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3585 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3589 if test "x${want_x11_xcb}" = "xyes" ; then
3590 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3591 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3593 if test -f "$KEYSYMDEFDIR/$i"; then
3594 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3595 elif test "x$i" = "xkeysymdef.h"; then
3596 AC_MSG_ERROR([Cannot find keysymdef.h])
3599 AC_MSG_CHECKING([keysym definitions])
3600 AC_MSG_RESULT([$KEYSYMDEFS])
3601 AC_SUBST([KEYSYMDEFS])
3604 ### Checks for types
3606 ### Checks for structures
3608 ### Checks for compiler characteristics
3610 ### Checks for linker characteristics
3612 ### Checks for library functions
3615 if test "x${want_x11_xlib}" = "xyes"; then
3616 EFL_FIND_X(ECORE_X_XLIB,
3617 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3618 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3621 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3622 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3623 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3625 AC_MSG_ERROR([Xcursor is missing])
3629 if test "x${want_x11_xlib}" = "xyes" ; then
3630 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3631 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3632 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3633 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3634 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3635 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3636 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3637 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3638 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3639 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3641 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3643 if test "${want_xpresent}" = "yes"; then
3644 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3646 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3648 if test "${want_gesture}" = "yes"; then
3649 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3651 EFL_ADD_FEATURE([ECORE_X], [gesture])
3653 if test "${want_xinput2}" = "yes"; then
3654 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3656 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3658 if test "${want_xinput22}" = "yes"; then
3659 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3661 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3663 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3664 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3666 EFL_EVAL_PKGS([ECORE_X])
3667 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3672 if test "${want_x11_xcb}" = "yes"; then
3673 dnl note: added pixman-1 as ecore_xcb_region uses that
3674 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3675 [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])
3677 dnl TODO: remove these ifdefs from code!
3678 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3679 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3680 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3681 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3682 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3683 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3684 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3685 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3686 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3687 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3688 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3689 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3691 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3693 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3694 [1], [Build support for XCB Present])
3695 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3697 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3699 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3700 [1], [Build support for XCB xgesture])
3702 EFL_ADD_FEATURE([ECORE_X], [gesture])
3704 dnl input extension disabled currently in xcb as xcb-input has some issues
3705 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3706 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3708 dnl dri extension disabled currently in xcb
3709 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3710 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3712 EFL_EVAL_PKGS([ECORE_X])
3713 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3715 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3718 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3720 AC_SUBST([HAVE_ECORE_X_BACKEND])
3722 EFL_LIB_END_OPTIONAL([Ecore_X])
3724 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3725 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3730 EFL_LIB_START([Ecore_Imf])
3732 ### Additional options to configure
3736 want_ecore_imf="yes"
3737 want_ecore_imf_xim="no"
3738 want_ecore_imf_scim="no"
3739 want_ecore_imf_ibus="no"
3740 want_ecore_imf_wayland="no"
3741 want_ecore_imf="yes"
3743 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3744 want_ecore_imf="yes"
3745 want_ecore_imf_xim="yes"
3746 want_ecore_imf_scim="yes"
3747 want_ecore_imf_ibus="yes"
3748 if test "${want_wayland}" = "yes"; then
3749 want_ecore_imf_wayland="yes"
3753 ### Checks for programs
3755 ## Compatibility layers
3756 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3758 ### Checks for libraries
3759 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3760 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3761 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3762 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3763 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3765 if test "x${want_ecore_imf}" = "xyes" ; then
3766 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3773 have_ecore_imf_ibus="no"
3774 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3775 PKG_CHECK_MODULES([IBUS],
3776 [ibus-1.0 >= 1.4 glib-2.0],
3778 have_ecore_imf_ibus="yes"
3779 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3781 [have_ecore_imf_ibus="no"])
3784 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3785 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3789 have_ecore_imf_scim="no"
3790 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3791 PKG_CHECK_MODULES([SCIM],
3794 have_ecore_imf_scim="yes"
3795 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3797 [have_ecore_imf_scim="no"])
3800 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3801 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3805 have_ecore_imf_xim="no"
3806 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3808 EFL_FIND_X(ecore_imf_xim,
3812 have_ecore_imf_xim=yes
3813 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3817 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3818 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3821 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3822 PKG_CHECK_MODULES([WAYLAND],
3823 [wayland-client >= 1.8.0],
3825 have_ecore_imf_wayland="yes"
3826 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3828 [have_ecore_imf_wayland="no"])
3831 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3832 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3834 ### Checks for header files
3836 ### Checks for types
3838 ### Checks for structures
3840 ### Checks for compiler characteristics
3842 ### Checks for linker characteristics
3844 ### Checks for library functions
3846 EFL_LIB_END([Ecore_Imf])
3847 #### End of Ecore_Imf
3851 EFL_LIB_START([Ecore_Imf_Evas])
3853 ### Additional options to configure
3857 ### Checks for programs
3859 ## Compatibility layers
3860 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3862 ### Checks for libraries
3863 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3864 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3865 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3866 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3867 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3868 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3869 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3870 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3872 ### Checks for header files
3874 ### Checks for types
3876 ### Checks for structures
3878 ### Checks for compiler characteristics
3880 ### Checks for linker characteristics
3882 ### Checks for library functions
3884 EFL_LIB_END([Ecore_Imf_Evas])
3885 #### End of Ecore_Imf_Evas
3889 EFL_LIB_START([Ecore_Evas])
3891 ### Additional options to configure
3895 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3896 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3897 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3898 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3899 want_ecore_evas_extn="yes"
3900 want_ecore_evas_drm="${have_evas_engine_drm}"
3902 if test "x${have_ecore_ipc}" = "xno" || \
3903 test "x${efl_func_shm_open}" = "xno" || \
3904 test "x${have_windows}" = "xyes" ; then
3905 want_ecore_evas_extn="no"
3908 ### Checks for programs
3910 ## Compatibility layers
3911 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3913 ### Checks for libraries
3914 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3915 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3916 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3917 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3918 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3919 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3920 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3921 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3922 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3925 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3926 ECORE_EVAS_MODULE([ews], [yes])
3927 ECORE_EVAS_MODULE([fb], [${want_fb}])
3928 ECORE_EVAS_MODULE([drm], [${want_drm}],
3929 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3930 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3931 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3932 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3934 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3936 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3937 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3939 build_ecore_evas_sdl="no"
3940 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3941 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3942 build_ecore_evas_sdl="yes"
3943 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3945 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3946 [test "${build_ecore_evas_sdl}" = "yes"])
3948 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3949 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3951 build_ecore_evas_wayland="no"
3952 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3953 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3954 build_ecore_evas_wayland="yes"
3955 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3957 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3958 [test "${build_ecore_evas_wayland}" = "yes"])
3960 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3961 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3963 build_ecore_evas_win32="no"
3964 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3965 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3966 build_ecore_evas_win32="yes"
3967 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3969 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3970 [test "${build_ecore_evas_win32}" = "yes"])
3973 # XXX TODO: ecore_evas_x11
3975 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3977 have_ecore_evas_software_xlib="no"
3978 have_ecore_evas_software_xcb="no"
3979 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3980 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3981 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3982 have_ecore_evas_software_xlib="yes"
3984 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3985 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3987 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3988 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3989 have_ecore_evas_software_xcb="yes"
3991 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3992 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3996 # XXX TODO: ecore_evas_opengl_x11
3998 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
4000 have_ecore_evas_opengl_xlib="no"
4001 have_ecore_evas_opengl_xcb="no"
4002 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
4003 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
4004 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
4005 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4008 # opengl does not work with xcb (yet)
4009 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
4010 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
4011 have_ecore_evas_opengl_xcb="yes"
4013 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4014 PKG_CHECK_MODULES([XCB_X11],
4017 have_ecore_x_opengl_xcb="yes"
4018 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4019 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4020 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4022 [have_ecore_x_opengl_xcb="no"])
4024 have_ecore_x_opengl_xcb="no"
4025 AC_MSG_NOTICE([XCB-based OpenGL explicitly disabled])
4029 build_ecore_evas_x11="no"
4030 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4031 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4032 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4033 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4034 build_ecore_evas_x11="yes"
4036 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4038 EFL_EVAL_PKGS([ECORE_EVAS])
4040 ### Checks for header files
4042 ### Checks for types
4044 ### Checks for structures
4046 ### Checks for compiler characteristics
4048 ### Checks for linker characteristics
4050 ### Checks for library functions
4052 EFL_LIB_END([Ecore_Evas])
4053 #### End of Ecore_Evas
4056 EFL_LIB_START([Eio])
4058 ### Additional options to configure
4062 ### Checks for programs
4064 ## Compatibility layers
4065 EFL_PLATFORM_DEPEND([EIO], [evil])
4067 ### Checks for libraries
4068 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4069 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4070 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4071 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4072 EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
4073 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4075 EFL_ADD_LIBS([EIO], [-lm])
4077 ### Checks for header files
4079 ### Checks for types
4081 ### Checks for structures
4083 ### Checks for compiler characteristics
4085 ### Checks for linker characteristics
4087 ### Checks for library functions
4088 have_inotify="${ac_cv_header_sys_inotify_h}"
4089 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4091 have_notify_win32="${have_win32}"
4092 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4093 [test "x${have_notify_win32}" = "xyes"], [1],
4094 [File monitoring with Windows notification])
4095 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4097 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4098 [test "x${have_darwin}" = "xyes"], [1],
4099 [File monitoring with fsevent notification])
4100 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4102 AC_CHECK_FUNC([kevent])
4103 have_notify_kevent="${ac_cv_func_kevent}"
4104 AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
4105 [test "x${have_notify_kevent}" = "xyes"], [1],
4106 [File monitoring with kqueue/kevent mechanism])
4107 AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
4111 dnl TODO: remove these ifdefs from code!
4112 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4116 if test "x${want_eo_id}" = "xyes" ; then
4117 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4122 EFL_LIB_START([Efreet])
4124 ### Additional options to configure
4128 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4130 ### Checks for programs
4132 ## Compatibility layers
4133 EFL_PLATFORM_DEPEND([EFREET], [evil])
4135 ### Checks for libraries
4136 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4137 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4138 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4139 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4140 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4141 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4142 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4144 ### Checks for header files
4146 ### Checks for types
4148 ### Checks for structures
4150 ### Checks for compiler characteristics
4152 ### Checks for linker characteristics
4154 ### Checks for library functions
4156 EFL_LIB_END([Efreet])
4161 AC_ARG_ENABLE([physics],
4162 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4164 if test "x${enableval}" = "xyes" ; then
4167 CFOPT_WARNING="xyes"
4171 [want_physics="yes"])
4173 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4175 ### Additional options to configure
4179 ### Checks for programs
4181 ### Checks for libraries
4182 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4184 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4185 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4186 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4187 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4188 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4189 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4191 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4193 EFL_EVAL_PKGS([EPHYSICS])
4195 ### Checks for header files
4197 ### Checks for types
4199 ### Checks for structures
4201 ### Checks for compiler characteristics
4203 ### Checks for linker characteristics
4205 ### Checks for library functions
4207 EFL_LIB_END_OPTIONAL([EPhysics])
4208 #### End of EPhysics
4212 EFL_LIB_START([Edje])
4214 ### Additional options to configure
4218 AC_ARG_ENABLE([multisense],
4219 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=disabled@:>@])],
4221 if test "x${enableval}" = "xyes" ; then
4222 want_multisense="yes"
4224 want_multisense="no"
4225 CFOPT_WARNING="xyes"
4229 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4230 want_multisense="yes"
4232 want_multisense="no"
4236 # TODO: should we keep or remove these?
4237 want_edje_program_cache="no"
4238 want_edje_calc_cache="yes"
4239 want_fixed_point="no"
4241 ### Checks for programs
4243 ### Checks for libraries
4244 EFL_PLATFORM_DEPEND([EDJE], [evil])
4246 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4247 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4248 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4249 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4250 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4251 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4252 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4253 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4254 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4255 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4256 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4257 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4258 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4259 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4260 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4262 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4263 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4265 EFL_ADD_FEATURE([EDJE], [physics])
4266 EFL_ADD_FEATURE([EDJE], [multisense])
4267 EFL_ADD_FEATURE([EDJE], [lua-old])
4269 if test "${want_lua_old}" = "yes"; then
4270 EFL_CHECK_LUA_OLD([EDJE])
4272 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4275 EFL_ADD_LIBS([EDJE], [-lm])
4277 EFL_EVAL_PKGS([EDJE])
4279 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4280 [1], [Cache result of program glob matches])
4281 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4282 [1], [Cache result of calc glob matches])
4283 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4284 [1], [Use Fixed Point instead of FPU])
4286 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4287 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4288 [1], [Use Multisense])
4289 AC_SUBST([want_multisense])
4290 AC_SUBST([want_physics])
4292 ### Checks for header files
4294 AC_CHECK_HEADERS([ \
4298 ### Checks for types
4300 ### Checks for structures
4302 ### Checks for compiler characteristics
4304 ### Checks for linker characteristics
4306 ### Checks for library functions
4312 EFL_LIB_START([Edje_Cxx])
4314 EFL_EVAL_PKGS([EDJE_CXX])
4316 EFL_LIB_END([Edje_Cxx])
4317 #### End of Edje CXX
4320 EFL_LIB_START([Emotion])
4322 ## Compatibility layers
4323 EFL_PLATFORM_DEPEND([Emotion], [evil])
4326 if test "${efl_func_shm_open}" = "yes"; then
4327 want_emotion_generic="static"
4329 want_emotion_generic="no"
4332 ### Additional options to configure
4333 AC_ARG_ENABLE([xine],
4334 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4336 if test "x${enableval}" = "xyes" ; then
4344 AC_ARG_ENABLE([v4l2],
4345 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4347 if test "x${enableval}" = "xyes" ; then
4353 [want_v4l2="${efl_lib_optional_eeze}"])
4355 AC_ARG_ENABLE([libvlc],
4356 [AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
4358 if test "x${enableval}" = "xyes" ; then
4366 ### Checks for programs
4368 ### Checks for libraries
4369 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4370 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4371 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4372 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4373 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4374 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4375 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4376 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4378 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4379 EFL_ADD_FEATURE([EMOTION], [v4l2])
4383 have_gst_xoverlay="no"
4385 EMOTION_MODULE([xine], [${want_xine}])
4386 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4387 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4388 EMOTION_MODULE([libvlc], [${want_libvlc}])
4389 EMOTION_MODULE([generic], [${want_emotion_generic}])
4391 EFL_ADD_FEATURE([EMOTION], [xine])
4392 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4393 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4394 EFL_ADD_FEATURE([EMOTION], [libvlc])
4395 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4397 EFL_EVAL_PKGS([EMOTION])
4399 ### Checks for header files
4401 ### Checks for types
4403 ### Checks for structures
4405 ### Checks for compiler characteristics
4407 ### Checks for linker characteristics
4409 ### Checks for library functions
4411 if test "${want_v4l2}" = "yes"; then
4412 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4413 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4414 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4415 [#include <linux/videodev2.h>])
4418 ### Check availability
4420 EFL_LIB_END([Emotion])
4425 EFL_LIB_START([Ethumb])
4429 ### Additional options to configure
4431 ### Checks for programs
4433 ## Compatibility layers
4434 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4436 ### Checks for libraries
4437 EFL_PLATFORM_DEPEND([EINA], [evil])
4439 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4440 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4441 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4442 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4443 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4444 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4445 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4446 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4447 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4448 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4449 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4453 EFL_EVAL_PKGS([ETHUMB])
4455 ### Checks for header files
4457 ### Checks for types
4459 ### Checks for structures
4461 ### Checks for compiler characteristics
4463 ### Checks for linker characteristics
4465 ### Checks for library functions
4467 ### Check availability
4469 EFL_LIB_END([Ethumb])
4473 EFL_LIB_START([Ethumb_Client])
4477 ### Additional options to configure
4479 ### Checks for programs
4481 ## Compatibility layers
4482 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4484 ### Checks for libraries
4485 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4486 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4487 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4488 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4489 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4490 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4491 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4492 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4493 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4494 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4495 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4497 EFL_EVAL_PKGS([ETHUMB_CLIENT])
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([Ethumb_Client])
4514 #### End of Ethumb_Client
4519 if test "${want_lua_old}" = "yes"; then
4523 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4527 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4529 ### Additional options to configure
4531 ### Checks for programs
4533 ## Compatibility layers
4534 EFL_PLATFORM_DEPEND([ELUA], [evil])
4536 ### Checks for libraries
4537 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4538 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4539 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4541 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4543 EFL_EVAL_PKGS([ELUA])
4545 ### Checks for header files
4547 ### Checks for types
4549 ### Checks for structures
4551 ### Checks for compiler characteristics
4553 ### Checks for linker characteristics
4555 ### Checks for library functions
4557 ### Check availability
4559 EFL_LIB_END_OPTIONAL([Elua])
4564 EFL_LIB_START([Elocation])
4568 ### Additional options to configure
4570 ### Checks for programs
4572 ### Checks for libraries
4573 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4574 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4575 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4576 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4577 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4579 EFL_ADD_LIBS([ELOCATION], [-lm])
4581 ### Checks for header files
4583 ### Checks for types
4585 ### Checks for structures
4587 ### Checks for compiler characteristics
4589 ### Checks for linker characteristics
4591 ### Checks for library functions
4593 ### Check availability
4595 EFL_LIB_END([Elocation])
4596 #### End of Elocation
4598 ### Add Wayland server library if test is enabled
4599 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4600 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.8.0])
4601 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4604 AC_ARG_ENABLE([always-build-examples],
4605 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4607 if test "x${enableval}" = "xyes" ; then
4608 want_always_build_examples="yes"
4610 want_always_build_examples="no"
4613 [want_always_build_examples="no"])
4614 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4618 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],
4619 [ You will be told when this is needed ],
4621 if test "x${enableval}" = "xyes" ; then
4630 build_ecore_buffer_x11_dri2="no"
4631 build_ecore_buffer_x11_dri3="no"
4632 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
4633 ### Checks for libraries
4634 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
4635 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
4636 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
4637 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
4638 [wayland-server >= 1.5.0 wayland-client >= 1.5.0])
4640 PKG_CHECK_MODULES([X11_DRI_COMMON],
4645 [have_x11_dri_common_pkgs="yes"],
4646 [have_x11_dri_common_pkgs="no"]
4649 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
4650 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
4652 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
4653 [have_x11_dri2_pkgs="yes"],
4654 [have_x11_dri2_pkgs="no"])
4655 PKG_CHECK_MODULES([X11_DRI3],
4663 [have_x11_dri3_pkgs="yes"],
4664 [have_x11_dri3_pkgs="no"])
4667 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
4668 build_ecore_buffer_x11_dri2="yes"
4669 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
4672 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
4673 build_ecore_buffer_x11_dri3="yes"
4674 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
4676 EFL_EVAL_PKGS([ECORE_BUFFER])
4678 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
4679 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
4680 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
4682 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
4684 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
4685 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
4687 #### End of Ecore_Buffer
4694 doc/previews/Makefile
4696 src/benchmarks/eina/Makefile
4697 src/benchmarks/eo/Makefile
4698 src/benchmarks/evas/Makefile
4699 src/examples/eina/Makefile
4700 src/examples/eina_cxx/Makefile
4701 src/examples/eet/Makefile
4702 src/examples/eo/Makefile
4703 src/examples/evas/Makefile
4704 src/examples/ecore/Makefile
4705 src/examples/ecore_avahi/Makefile
4706 src/examples/eio/Makefile
4707 src/examples/eldbus/Makefile
4708 src/examples/ephysics/Makefile
4709 src/examples/edje/Makefile
4710 src/examples/emotion/Makefile
4711 src/examples/ethumb_client/Makefile
4712 src/examples/elua/Makefile
4713 src/examples/eolian_cxx/Makefile
4714 src/examples/elocation/Makefile
4715 src/lib/eina/eina_config.h
4716 src/lib/ecore_x/ecore_x_version.h
4717 src/lib/efl/Efl_Config.h
4733 pc/evas-opengl-x11.pc
4734 pc/evas-opengl-sdl.pc
4735 pc/evas-opengl-cocoa.pc
4737 pc/evas-software-buffer.pc
4738 pc/evas-software-x11.pc
4739 pc/evas-software-gdi.pc
4740 pc/evas-software-ddraw.pc
4741 pc/evas-software-sdl.pc
4742 pc/evas-wayland-shm.pc
4743 pc/evas-wayland-egl.pc
4753 pc/ecore-input-evas.pc
4764 pc/ecore-imf-evas.pc
4766 pc/ecore-audio-cxx.pc
4786 dbus-services/org.enlightenment.Ethumb.service
4787 systemd-services/ethumb.service
4789 cmakeconfig/EflConfig.cmake
4790 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4791 cmakeconfig/EinaConfig.cmake
4792 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4793 cmakeconfig/EioConfig.cmake
4794 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4795 cmakeconfig/EezeConfig.cmake
4796 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4797 cmakeconfig/EoConfig.cmake
4798 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4799 cmakeconfig/EolianConfig.cmake
4800 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4801 cmakeconfig/EolianCxxConfig.cmake
4802 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4803 cmakeconfig/EinaCxxConfig.cmake
4804 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4805 cmakeconfig/EoCxxConfig.cmake
4806 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4807 cmakeconfig/EcoreCxxConfig.cmake
4808 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4809 cmakeconfig/EvasCxxConfig.cmake
4810 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4811 cmakeconfig/EetCxxConfig.cmake
4812 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4813 cmakeconfig/EetConfig.cmake
4814 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4815 cmakeconfig/EvasConfig.cmake
4816 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4817 cmakeconfig/EcoreConfig.cmake
4818 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4819 cmakeconfig/EdjeConfig.cmake
4820 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4821 cmakeconfig/EldbusConfig.cmake
4822 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4823 cmakeconfig/EfreetConfig.cmake
4824 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4825 cmakeconfig/EthumbConfig.cmake
4826 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4827 cmakeconfig/EthumbClientConfig.cmake
4828 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4829 cmakeconfig/EmotionConfig.cmake
4830 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4831 cmakeconfig/EluaConfig.cmake
4832 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4833 cmakeconfig/EmileConfig.cmake
4834 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4839 #### Work around bug in automake check macro
4840 ## yes it is hugly, but no choice here for now.
4841 $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
4843 if test -f $srcdir/config.status; then
4844 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"
4845 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4850 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4854 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4855 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4858 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4861 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4864 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4868 if test "${have_linux}" = "yes"; then
4869 EFL_ADD_FEATURE([system], [inotify])
4870 EFL_ADD_FEATURE([system], [atfile_source])
4871 elif test "${have_windows}" = "yes"; then
4872 EFL_ADD_FEATURE([system], [notify_win32])
4874 EFL_ADD_FEATURE([system], [ipv6])
4876 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4877 efl_have_spinlock="yes"
4879 efl_have_spinlock="no"
4881 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4882 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4883 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4884 EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
4885 EFL_ADD_FEATURE([thread], [__thread], [${have_thread_specifier}])
4890 echo "------------------------------------------------------------------------"
4891 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4892 echo "------------------------------------------------------------------------"
4895 if test "x${have_windows}" = "xyes" ; then
4896 osname="${host_os}(${_efl_windows_version})"
4901 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4902 echo " EFL API Set...: ${efl_api}"
4903 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4904 echo " System Feature: ${features_system}"
4905 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4906 echo " Cryptography..: ${build_crypto}"
4907 echo " X11...........: ${with_x11}"
4908 echo " OpenGL........: ${with_opengl}"
4909 echo " C++11.........: ${have_cxx11}"
4910 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
4911 echo "Eo..............: yes (${features_eo})"
4912 echo "Eolian..........: yes (${features_eolian})"
4913 echo "Emile...........: yes (${features_emile})"
4914 echo "Eet.............: yes"
4915 echo "Evas............: yes (${features_evas})"
4916 echo " Engines.......: ${features_evas_engine}"
4917 echo " Image Loaders.: ${features_evas_loader}"
4918 if test "x${have_pixman}" = "xyes" ; then
4919 echo " Pixman........: ${features_evas_pixman}"
4921 echo "Ecore...........: yes (${features_ecore})"
4922 echo "Ecore_Con.......: yes (${features_ecore_con})"
4923 echo "Ecore_File......: yes"
4924 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4925 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4926 echo "Ecore_SDL.......: $want_sdl"
4927 echo "Ecore_Wayland...: $want_wayland"
4928 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4929 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
4930 if test "${have_linux}" = "yes"; then
4931 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4932 elif test "${have_ps3}" = "yes"; then
4933 echo "Ecore_PSL1GHT...: $have_ps3"
4934 elif test "${have_darwin}" = "yes"; then
4935 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4936 elif test "${have_windows}" = "yes"; then
4937 echo "Ecore_Win32.....: $have_win32"
4939 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4940 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4941 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4942 echo "Ector...........: yes"
4943 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4944 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4945 echo "Edje............: yes (${features_edje})"
4946 echo "Emotion.........: yes (${features_emotion})"
4947 echo "Ethumb..........: yes"
4948 echo "Ethumb_Client...: yes"
4949 echo "Elua............: $have_elua"
4950 if test "${build_tests}" = "none"; then
4951 echo "Tests...........: no"
4952 elif test "${build_tests}" = "auto"; then
4953 echo "Tests...........: make check (inexplicitly enabled)"
4954 elif test "${build_tests}" = "regular"; then
4955 echo "Tests...........: make check"
4956 elif test "${build_tests}" = "coverage"; then
4957 echo "Tests...........: make lcov-check"
4959 echo "Examples........: make examples (make install-examples)"
4960 if test "x${build_doc}" = "xyes"; then
4961 echo "Documentation...: make doc"
4963 echo "Documentation...: no"
4965 echo "Compilation.....: make (or gmake)"
4966 echo " CPPFLAGS......: $CPPFLAGS"
4967 echo " CFLAGS........: $CFLAGS"
4968 echo " CXXFLAGS......: $CXXFLAGS"
4969 echo " LDFLAGS.......: $LDFLAGS"
4971 if test "x${with_binary_edje_cc}" != "x"; then
4972 echo " edje_cc.......: ${with_binary_edje_cc}"
4975 if test "x${with_binary_eolian_gen}" != "x"; then
4976 echo " eolian_gen....: ${with_binary_eolian_gen}"
4979 if test "x${with_binary_eolian_cxx}" != "x"; then
4980 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
4983 if test "x${with_binary_elua_bin}" != "x"; then
4984 echo " elua..........: ${with_binary_elua_bin}"
4988 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4989 echo " prefix........: $prefix"
4990 echo " dbus units....: $dbusservicedir"
4991 if test "${have_systemd_user_session}" = "yes"; then
4992 echo " systemd units.: $USER_SESSION_DIR"
4996 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4997 echo " _________________________________________"
4998 echo "/ Systemd dependency is available on your \\"
4999 echo "| system, but you are building without |"
5000 echo "| systemd support. Don't forget to |"
5001 echo "| --enable-systemd if you want systemd |"
5002 echo "\\ integration for EFL. /"
5003 echo " -----------------------------------------"
5005 echo " \\ (oo)\\_______"
5006 echo " (__)\\ )\\/\\"
5011 if test -n "$CFOPT_WARNING"; then
5012 echo "_____________________________________________________________________"
5014 echo "==-- WARNING --=="
5016 echo "_____________________________________________________________________"
5017 if test "x${with_x11}" = "xxcb"; then
5018 echo "_____________________________________________________________________"
5019 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
5020 echo "is amazingly faster than Xlib (when used sensibly). It can be"
5021 echo "faster in a few corner cases on startup of an app, but it comes"
5022 echo "with many downsides. One of those is more complex code inside"
5023 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
5024 echo "the big catch is that OpenGL support basically requires Xlib anyway"
5025 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
5026 echo "gain nothing really in terms of speed and no savings in memory"
5027 echo "because Xlib is still linked, loaded and used, BUT instead you"
5028 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
5029 echo "toolkit and this is basically never tested by anyone working on"
5030 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
5031 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
5032 echo "off the memory footprint of a whole system and live with less"
5033 echo "tested code, and possibly unimplemented features in ecore_x. To"
5034 echo "remove the XCB setup, remove the --with-x11=xcb option to"
5036 echo "_____________________________________________________________________"
5038 if test "x${want_physics}" = "xno"; then
5039 echo "_____________________________________________________________________"
5040 echo "You have chosen to disable physics support. This disables lots of"
5041 echo "core functionality and is effectively never tested. You are going"
5042 echo "to find features that suddenly don't work and as a result cause"
5043 echo "a series of breakages. This is simply not tested so you are on"
5044 echo "your own in terms of ensuring everything works if you do this"
5045 echo "_____________________________________________________________________"
5047 if test "x${efl_have_threads}" = "xno"; then
5048 echo "_____________________________________________________________________"
5049 echo "You have disabled threading support. A lot of code is literally"
5050 echo "written to need threading. We never test or even build with"
5051 echo "threading disabled, so doing this is entering uncharted territory."
5052 echo "There is a very good chance things may not compile at all, or if"
5053 echo "the do, they will break at runtime in weird and wonderful ways."
5054 echo "Highly reconsider what you are doing here, or be prepared to deal"
5055 echo "with the fallout yourself."
5056 echo "_____________________________________________________________________"
5058 if test "x${want_fontconfig}" = "xno"; then
5059 echo "_____________________________________________________________________"
5060 echo "You have disabled fontconfig. This is going to make general font"
5061 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5062 echo "will work alongside some old-school ttf file path searching. This"
5063 echo "is very likely not what you want, so highly reconsider turning"
5064 echo "fontconfig off. Having it off will lead to visual problems like"
5065 echo "missing text in many UI areas etc."
5066 echo "_____________________________________________________________________"
5068 if test "x${want_fribidi}" = "xno"; then
5069 echo "_____________________________________________________________________"
5070 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5071 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5072 echo "you want to disable unless you know for absolute certain you"
5073 echo "will never encounter and have to display such scripts. Also"
5074 echo "note that we don't test with fribidi disabled so you may also"
5075 echo "trigger code paths with bugs that are never normally used."
5076 echo "_____________________________________________________________________"
5078 if test "x${want_pixman}" = "xyes"; then
5079 echo "_____________________________________________________________________"
5080 echo "Pixman allows you to replace some rendering paths in Evas with"
5081 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5082 echo "the rendering paths with Pixman enabled are not tested often so"
5083 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5084 echo "you wish to deal with these bugs."
5085 echo "_____________________________________________________________________"
5087 if test "x${have_tile_rotate}" = "xyes"; then
5088 echo "_____________________________________________________________________"
5089 echo "Tiled rotation code is not tested much, so be aware that you"
5090 echo "may introduce bugs by enabling this."
5091 echo "_____________________________________________________________________"
5093 if test "x${want_g_main_loop}" = "xyes"; then
5094 echo "_____________________________________________________________________"
5095 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5096 echo "regularly, but the glib mainloop integration (on by default) is."
5097 echo "You can use apps that use glib mainloop constructs by default"
5098 echo "this way, but the Ecore mainloop is not built on top of glib."
5099 echo "You have enabled ecore to be built on top of glib and thus you"
5100 echo "may experience bugs that normally would not be there. Be prepared"
5101 echo "to fix these if they arise."
5102 echo "_____________________________________________________________________"
5104 if test "x${want_gstreamer}" = "xyes"; then
5105 echo "_____________________________________________________________________"
5106 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5107 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5108 echo "and will eventually be removed entirely. Don't enable the old"
5109 echo "Gstreamer support unless you want to deal with the issues yourself."
5110 echo "_____________________________________________________________________"
5112 if test "x${want_gstreamer1}" = "xno"; then
5113 echo "_____________________________________________________________________"
5114 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5115 echo "this as it will heavily limit your media support options and render"
5116 echo "some functionality as useless, leading to visible application bugs."
5117 echo "_____________________________________________________________________"
5119 if test "x${want_eo_id}" = "xno"; then
5120 echo "_____________________________________________________________________"
5121 echo "Eo's ID abstraction interface is a major safety system that"
5122 echo "protects code from crashing or misbehaving in many cases. It does"
5123 echo "come at a slight cost, but the safety and protection is worth it."
5124 echo "Also by disabling this, you may also introduce security holes in"
5125 echo "EFL as well as cause all sorts of previously non-existant crashes."
5126 echo "Seriously reconsider disabling EO ID."
5127 echo "_____________________________________________________________________"
5129 if test "x${want_evas_cserve2}" = "xno"; then
5130 echo "_____________________________________________________________________"
5131 echo "Evas Cserve is built and on by default and no testing is done"
5132 echo "for the old non-cserve2 code paths, so by disabling this you"
5133 echo "may be introducing bugs. Be aware of this and be prepared to"
5134 echo "deal with the bugs as a result of this."
5135 echo "_____________________________________________________________________"
5137 if test "x${want_audio}" = "xno"; then
5138 echo "_____________________________________________________________________"
5139 echo "You disabled audio support in Ecore. This is not tested and may"
5140 echo "Create bugs for you due to it creating untested code paths."
5141 echo "Reconsider disabling audio."
5142 echo "_____________________________________________________________________"
5144 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5145 echo "_____________________________________________________________________"
5146 echo "The only audio output method supported by Ecore right now on your"
5147 echo "system is via Pulseaudio. You have disabled that and likely have"
5148 echo "broken a whole bunch of things in the process. Reconsider your"
5149 echo "configure options."
5150 echo "_____________________________________________________________________"
5152 if test "x${want_xinput2}" = "xno"; then
5153 echo "_____________________________________________________________________"
5154 echo "You have disabled xinput2 support. This means a whole lot of input"
5155 echo "devices in X11 will not work correctly. You likely do not want to"
5157 echo "_____________________________________________________________________"
5159 if test "x${want_xim}" = "xno"; then
5160 echo "_____________________________________________________________________"
5161 echo "You disabled XIM input method support. This is the most basic and"
5162 echo "core input method protocol supported in X11 and you almost certainly"
5163 echo "want the support for it. Input methods allow for complex text input"
5164 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5165 echo "on touch/mobile devices."
5166 echo "_____________________________________________________________________"
5168 if test "x${want_scim}" = "xno"; then
5169 echo "_____________________________________________________________________"
5170 echo "SCIM is a modern and very common input method framework and you"
5171 echo "disabled support for it. You very likely want the support for"
5172 echo "complex language input, so please reconsider this. Input methods"
5173 echo "allow for complex text input like for Chinese, Japanese and Korean"
5174 echo "as well as virtual keyboards on touch/mobile devices."
5175 echo "_____________________________________________________________________"
5177 if test "x${want_libmount}" = "xno"; then
5178 echo "_____________________________________________________________________"
5179 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5180 echo "for support of removable devices etc. and disabling this will"
5181 echo "hurt support for Enlightenment and its filemanager."
5182 echo "_____________________________________________________________________"
5184 if test "x${want_multisense}" = "xno"; then
5185 echo "_____________________________________________________________________"
5186 echo "Multisense has been disabled. This causes Edje audio suport to"
5187 echo "Simply not work, and will break applications and libraries"
5188 echo "that rely on it with users then reporting bugs."
5189 echo "If you want to mute audio, there are APIs and policies to do"
5190 echo "that, as opposed to compiling it out."
5191 echo "_____________________________________________________________________"
5193 if test "x${efl_api}" = "xeo"; then
5194 echo "_____________________________________________________________________"
5195 echo "Using the EO based EFL API only does not work at the moment. We still"
5196 echo "have a lot code that depends on the legacy interfaces. We provide"
5197 echo "this option for testing once we are able to migrate to the EO based"
5199 echo "If you are not working on this migration please leave the option set"
5200 echo "to both as it will break your build if set to eo."
5201 echo "_____________________________________________________________________"
5203 if test "x${want_libeeze}" = "xno"; then
5204 echo "_____________________________________________________________________"
5205 echo "Libeeze has been disabled, and it is used heavily for support of"
5206 echo "removable devices etc. and disabling this will hurt support for"
5207 echo "Enlightenment and its filemanager."
5208 echo "_____________________________________________________________________"
5210 echo "_____________________________________________________________________"
5212 echo "==-- WARNING --=="
5214 echo "_____________________________________________________________________"
5215 if test -n "$BARF_OK"; then
5216 echo "Please add the following option to acknowledge this:"
5217 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"
5218 echo "_____________________________________________________________________"
5225 if test "x$prefix" != "x/usr"; then
5227 path=$dbusservicedir
5228 while test "x$old" != "x$path"; do
5230 eval path="\"$path\""
5232 resolved_dbusservicedir=$path
5235 path=$USER_SESSION_DIR
5236 while test "x$old" != "x$path"; do
5238 eval path="\"$path\""
5240 resolved_USER_SESSION_DIR=$path
5241 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5245 while test "x$old" != "x$path"; do
5247 eval path="\"$path\""
5249 resolved_datadir=$path
5252 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5253 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5254 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5255 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5260 needs_alert_systemd=0
5261 if test "$have_systemd_user_session" = "yes"; then
5262 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5263 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5264 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5265 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5267 needs_alert_systemd=1
5271 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5272 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5273 what_alert="dbus and systemd"
5274 elif test $needs_alert_dbus -eq 1; then
5277 what_alert="systemd"
5281 echo "#-------------------------------------------------------------------#"
5282 echo "##==-- ALERT --==##"
5283 echo "#-------------------------------------------------------------------#"
5285 echo " Your installation prefix is *NOT* /usr so this means you need"
5286 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5287 echo "be started when needed. You will need to do the following:"
5288 if test $needs_alert_dbus -eq 1; then
5290 echo "System-wide installation:"
5291 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5293 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5295 echo "User installation:"
5296 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5298 if test $needs_alert_systemd -eq 1; then
5300 echo "System-wide installation:"
5301 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5303 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5305 echo "User installation:"
5306 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5309 echo "#-------------------------------------------------------------------#"
5313 if test "x${efl_deprecated_option}" = "xyes"; then
5315 echo "#-------------------------------------------------------------------#"
5316 echo "##==-- ALERT --==##"
5317 echo "#-------------------------------------------------------------------#"
5319 echo " Your build script is using a deprecated option. It will get b0rken"
5320 echo "with the next release of EFL. You better update it now than later."
5322 echo "#-------------------------------------------------------------------#"