1 EFL_VERSION([1], [16], [0], [release])
2 AC_INIT([efl], [efl_version-alpha1], [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
987 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
988 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
990 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
991 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
992 EINA_CONFIG([HAVE_PTHREAD_SETNAME], [test "x${efl_have_setname}" = "xyes"])
993 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
994 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
995 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
996 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1000 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1001 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1002 EINA_CHECK_MODULE([one-big], [static], [one big])
1004 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1010 EFL_LIB_START([Eina_Cxx])
1012 EFL_CXX_COMPILE_STDCXX_11([ext])
1013 AC_ARG_ENABLE([cxx-bindings],
1014 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1015 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1017 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1023 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1025 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1026 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1027 EFL_EVAL_PKGS([EINA_CXX])
1029 EFL_LIB_END([Eina_Cxx])
1030 #### End of Eina CXX
1038 ### Additional options to configure
1040 ### Checks for programs
1042 ## Compatibility layers
1043 EFL_PLATFORM_DEPEND([EO], [evil])
1045 ### Checks for libraries
1046 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1048 # Example (evas one)
1050 # TODO: add once elementary is merged
1051 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1052 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1054 ### Checks for header files
1056 ### Checks for types
1058 ### Checks for structures
1060 ### Checks for compiler characteristics
1062 ### Checks for linker characteristics
1064 ### Checks for library functions
1065 EFL_CHECK_FUNCS([EO], [dladdr])
1067 ### Check availability
1073 EFL_LIB_START([Eet_Cxx])
1075 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1076 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1078 EFL_EVAL_PKGS([EET_CXX])
1080 EFL_LIB_END([Eet_Cxx])
1085 EFL_LIB_START([Emile])
1089 ### Additional options to configure
1091 ### Checks for programs
1093 ### Checks for libraries
1095 EFL_CHECK_LIBS([EMILE], [libjpeg])
1097 ## Compatibility layers
1098 EFL_PLATFORM_DEPEND([EMILE], [evil])
1100 EFL_ADD_LIBS([EMILE], [-lm])
1102 # Cryptography support
1103 if test "$build_crypto" != "none" ; then
1104 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1105 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1106 EFL_CRYPTO_DEPEND([EMILE])
1109 EFL_CHECK_LIBS([EMILE], [zlib])
1111 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1113 EFL_EVAL_PKGS([EMILE])
1115 ### Checks for header files
1117 ### Checks for types
1119 ### Checks for structures
1121 ### Checks for compiler characteristics
1123 ### Checks for linker characteristics
1125 ### Checks for library functions
1127 ### Check availability
1129 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1131 EFL_LIB_END([Emile])
1137 EFL_LIB_START([Eet])
1141 ### Additional options to configure
1143 ### Checks for programs
1145 ### Checks for libraries
1147 EFL_CHECK_LIBS([EET], [libjpeg])
1149 ## Compatibility layers
1150 EFL_PLATFORM_DEPEND([EET], [evil])
1152 EFL_ADD_LIBS([EET], [-lm])
1154 # Cryptography support
1155 if test "$build_crypto" != "none" ; then
1156 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1157 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1158 EFL_CRYPTO_DEPEND([EET])
1161 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1162 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1164 EFL_EVAL_PKGS([EET])
1166 ### Checks for header files
1168 ### Checks for types
1170 ### Checks for structures
1172 ### Checks for compiler characteristics
1174 ### Checks for linker characteristics
1176 ### Checks for library functions
1178 ### Check availability
1184 EFL_LIB_START([Eo_Cxx])
1186 EFL_EVAL_PKGS([EO_CXX])
1188 EFL_LIB_END([Eo_Cxx])
1193 EFL_LIB_START([Eolian])
1197 ### Additional options to configure
1198 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1200 ### Checks for programs
1202 ## Compatibility layers
1203 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1205 ### Checks for libraries
1206 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1208 ### Checks for header files
1210 ### Checks for types
1212 ### Checks for structures
1214 ### Checks for compiler characteristics
1216 ### Checks for linker characteristics
1218 ### Checks for library functions
1220 ### Check availability
1222 EFL_LIB_END([Eolian])
1225 EFL_LIB_START([Eolian_Cxx])
1228 ### Additional options to configure
1230 ### Checks for programs
1232 ## Compatibility layers
1234 ### Checks for libraries
1235 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1236 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1238 ### Checks for header files
1240 ### Checks for types
1242 ### Checks for structures
1244 ### Checks for compiler characteristics
1246 ### Checks for linker characteristics
1248 ### Checks for library functions
1250 ### Check availability
1251 EFL_LIB_END([Eolian_Cxx])
1255 EFL_LIB_START([Efl])
1257 EFL_PLATFORM_DEPEND([EFL], [evil])
1258 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1259 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1261 EFL_ADD_LIBS([EFL], [-lm])
1268 EFL_LIB_START([Ector])
1273 ### Additional options to configure
1275 ### Checks for programs
1277 ### Checks for libraries
1279 ## Compatibility layers
1281 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1283 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1284 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1285 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1287 EFL_ADD_LIBS([ECTOR], [-lm])
1289 EFL_EVAL_PKGS([ECTOR])
1291 ### Checks for header files
1293 ### Checks for types
1295 ### Checks for structures
1297 ### Checks for compiler characteristics
1299 ### Checks for linker characteristics
1301 ### Checks for library functions
1303 ### Check availability
1305 EFL_LIB_END([ECTOR])
1311 EFL_LIB_START([Evas])
1313 ### Additional options to configure
1317 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1319 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1321 elif test "x${with_x11}" = "x"; then
1329 case "${with_x11}" in
1337 CFOPT_WARNING="xyes"
1343 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1348 AC_ARG_WITH([opengl],
1349 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1351 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1353 elif test "x${with_opengl}" = "x"; then
1357 case "${with_opengl}" in
1361 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1365 want_x11_xlib_opengl="no"
1366 want_x11_xcb_opengl="no"
1367 if test "${with_opengl}" != "none"; then
1368 want_x11_xlib_opengl="${want_x11_xlib}"
1369 want_x11_xcb_opengl="${want_x11_xcb}"
1370 want_x11_any_opengl="${want_x11_any}"
1374 AC_ARG_ENABLE([wayland],
1375 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1377 if test "x${enableval}" = "xyes" ; then
1383 [want_wayland="no"])
1385 if test "${want_wayland}" = "yes"; then
1386 EFL_PKG_CHECK_STRICT([wayland-client >= 1.8.0])
1390 AC_ARG_ENABLE([wayland-ivi-shell],
1391 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1393 if test "x${enableval}" = "xyes" ; then
1394 want_wayland_ivi_shell="yes"
1396 want_wayland_ivi_shell="no"
1399 [want_wayland_ivi_shell="no"])
1403 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1405 if test "x${enableval}" = "xyes" ; then
1414 AC_ARG_ENABLE([sdl],
1415 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1417 if test "x${enableval}" = "xyes" ; then
1425 if test "${want_sdl}" = "yes"; then
1426 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1429 # We only enable SDL with opengl if it is not the full version and not ES
1430 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1431 # versions the SDL_opengles.h has never been released.
1433 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1434 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1436 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1441 AC_ARG_ENABLE([cocoa],
1442 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1444 if test "x${enableval}" = "xyes" ; then
1452 if test "${want_cocoa}" = "yes"; then
1453 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1456 m4_ifdef([AC_PROG_OBJC],
1458 if test "x${have_gnu_objc}" = "xyes" ; then
1459 AC_LANG_PUSH([Objective C])
1461 LIBS="$LIBS -framework Cocoa"
1465 #include <Cocoa/Cocoa.h>
1469 window = [[NSWindow alloc]
1470 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1471 styleMask:(NSTitledWindowMask)
1472 backing:NSBackingStoreBuffered
1479 cocoa_ldflags="-framework Cocoa"
1483 AC_MSG_CHECKING([whether Cocoa framework is supported])
1484 AC_MSG_RESULT([${have_cocoa}])
1485 AC_LANG_POP([Objective C])
1489 AC_SUBST(cocoa_ldflags)
1491 if test "x${want_cocoa}" = "xyes"; then
1492 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1493 cocoa_coreservices_ldflags=""
1494 have_cocoa_coreservices="no"
1495 m4_ifdef([AC_PROG_OBJC],
1497 if test "x${have_gnu_objc}" = "xyes" ; then
1498 AC_LANG_PUSH([Objective C])
1500 LIBS="$LIBS -framework CoreServices"
1504 #include <CoreServices/CoreServices.h>
1507 //test function here
1510 have_cocoa_coreservices="yes"
1511 cocoa_coreservices_ldflags="-framework CoreServices"
1513 [have_cocoa_coreservices="no"])
1515 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1516 AC_MSG_RESULT([${have_cocoa_coreservices}])
1517 AC_LANG_POP([Objective C])
1521 AC_SUBST(cocoa_coreservices_ldflags)
1524 AC_ARG_ENABLE([drm],
1525 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1527 if test "x${enableval}" = "xyes" ; then
1536 AC_ARG_ENABLE([gl-drm],
1537 [AC_HELP_STRING([--enable-gl-drm],
1538 [enable gl drm engine. @<:@default=disabled@:>@])],
1540 if test "x${enableval}" = "xyes" ; then
1548 AC_ARG_ENABLE([fontconfig],
1549 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1551 if test "x${enableval}" = "xyes" ; then
1552 want_fontconfig="yes"
1554 want_fontconfig="no"
1555 CFOPT_WARNING="xyes"
1558 [want_fontconfig="yes"])
1561 AC_ARG_ENABLE([fribidi],
1562 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1564 if test "x${enableval}" = "xyes" ; then
1568 CFOPT_WARNING="xyes"
1571 [want_fribidi="yes"])
1574 AC_ARG_ENABLE([eo_id],
1575 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1577 if test "x${enableval}" = "xyes" ; then
1581 CFOPT_WARNING="xyes"
1587 AC_ARG_ENABLE([harfbuzz],
1588 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1590 if test "x${enableval}" = "xyes" ; then
1596 [want_harfbuzz="no"])
1599 AC_ARG_ENABLE([egl],
1600 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1602 if test "x${enableval}" = "xyes" ; then
1611 AC_ARG_ENABLE([pixman],
1612 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1614 if test "x${enableval}" = "xyes" ; then
1616 CFOPT_WARNING="xyes"
1623 AC_ARG_ENABLE([pixman-font],
1624 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1626 if test "x${enableval}" = "xyes" ; then
1627 have_pixman_font="yes"
1629 have_pixman_font="no"
1632 [have_pixman_font="no"])
1634 AC_ARG_ENABLE([pixman-rect],
1635 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1637 if test "x${enableval}" = "xyes" ; then
1638 have_pixman_rect="yes"
1640 have_pixman_rect="no"
1643 [have_pixman_rect="no"])
1645 AC_ARG_ENABLE([pixman-line],
1646 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1648 if test "x${enableval}" = "xyes" ; then
1649 have_pixman_line="yes"
1651 have_pixman_line="no"
1654 [have_pixman_line="no"])
1656 AC_ARG_ENABLE(pixman-poly,
1657 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1659 if test "x${enableval}" = "xyes" ; then
1660 have_pixman_poly="yes"
1662 have_pixman_poly="no"
1665 [have_pixman_poly="no"])
1667 AC_ARG_ENABLE([pixman-image],
1668 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1670 if test "x${enableval}" = "xyes" ; then
1671 have_pixman_image="yes"
1673 have_pixman_image="no"
1676 [have_pixman_image="no"])
1678 AC_ARG_ENABLE([pixman-image-scale-sample],
1679 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1681 if test "x${enableval}" = "xyes" ; then
1682 have_pixman_image_scale_sample="yes"
1684 have_pixman_image_scale_sample="no"
1687 [have_pixman_image_scale_sample="no"])
1690 AC_ARG_ENABLE([tile-rotate],
1691 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1693 if test "x${enableval}" = "xyes" ; then
1694 have_tile_rotate="yes"
1695 CFOPT_WARNING="xyes"
1697 have_tile_rotate="no"
1700 [have_tile_rotate="no"])
1703 AC_ARG_ENABLE([ecore-buffer],
1704 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
1706 if test "x${enableval}" = "xyes" ; then
1707 want_ecore_buffer="yes"
1709 want_ecore_buffer="no"
1712 [want_ecore_buffer="no"])
1716 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1717 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1718 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1719 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1720 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1721 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1722 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1723 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1724 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1725 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1726 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1727 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1728 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1729 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1730 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1731 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1732 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1736 want_evas_engine_software_gdi="${have_win32}"
1737 want_evas_engine_software_ddraw="${have_win32}"
1738 want_evas_engine_gl_cocoa="${want_cocoa}"
1739 want_evas_engine_wayland_egl="no"
1740 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1741 want_evas_engine_wayland_egl="yes"
1744 if test "${want_lua_old}" = "yes"; then
1745 EFL_CHECK_LUA_OLD([EVAS])
1747 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1750 EFL_ADD_FEATURE([EVAS], [lua-old])
1752 EFL_CHECK_FUNC([EVAS], [dlsym])
1754 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1755 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1758 ### Checks for programs
1760 ### Checks for libraries
1762 ## Compatibility layers
1763 EFL_PLATFORM_DEPEND([EVAS], [all])
1764 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1765 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1766 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1767 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1768 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1769 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1771 EFL_ADD_LIBS([EVAS], [-lm])
1774 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1776 ## optional dependencies
1779 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1780 [FONTCONFIG], [fontconfig >= 2.5.0])
1783 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1784 [FRIBIDI], [fribidi >= 0.19.2])
1787 have_harfbuzz_ft="no"
1788 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1789 [HARFBUZZ], [harfbuzz >= 0.9.0])
1792 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1794 if test "x${have_pixman}" = "xyes" ; then
1795 if test "x${have_pixman_font}" = "xyes" ; then
1796 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1798 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1800 if test "x${have_pixman_rect}" = "xyes" ; then
1801 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1803 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1805 if test "x${have_pixman_line}" = "xyes" ; then
1806 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1808 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1810 if test "x${have_pixman_poly}" = "xyes" ; then
1811 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1813 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1815 if test "x${have_pixman_image}" = "xyes" ; then
1816 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1818 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1820 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1821 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1823 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1828 define([EVAS_ENGINE_DEP_CHECK_FB], [
1829 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1832 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1833 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1836 EVAS_ENGINE([buffer], [static])
1837 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1838 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1841 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1842 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1843 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1844 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1845 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1846 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1847 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1848 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1853 have_evas_engine_software_xcb="no"
1854 if test "${with_x11}" = "xcb" ; then
1855 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1857 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1858 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1861 AC_MSG_CHECKING([whether to build Software XCB Engine])
1862 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1864 # No Software XCB ? Then try Software Xlib
1866 have_evas_engine_software_xlib="no"
1867 if test "x${want_x11_xcb}" = "xno" ; then
1868 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1870 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1871 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1874 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1875 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1877 # If software_x11 is available, define everything needed for X11
1879 have_evas_engine_software_x11="no"
1880 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
1881 have_evas_engine_software_x11="yes"
1882 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1884 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1886 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1887 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1889 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1891 # Needed for evas-software-x11.pc
1893 AC_SUBST([have_evas_engine_software_xlib])
1894 AC_SUBST([have_evas_engine_software_xcb])
1897 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1898 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1902 if test "${with_opengl}" = "es" ; then
1903 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1908 have_evas_engine_gl_xcb="no"
1909 if test "${want_x11_xcb_opengl}" = "yes"; then
1910 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1912 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1913 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1916 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1917 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1919 # No openGL XCB ? Then try OpenGL Xlib
1921 have_evas_engine_gl_xlib="no"
1922 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1923 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1925 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1926 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1929 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1930 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1932 # If opengl_x11 is available, define everything needed for X11
1934 have_evas_engine_gl_x11="no"
1935 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
1936 have_evas_engine_gl_x11="yes"
1937 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1939 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1941 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1942 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1944 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1946 # Needed for evas-opengl-x11.pc
1948 AC_SUBST([have_evas_engine_gl_xlib])
1949 AC_SUBST([have_evas_engine_gl_xcb])
1953 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1954 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1955 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1956 [#include <SDL2/SDL_video.h>])
1959 if test "${with_opengl}" = "es"; then
1960 AC_CHECK_DECL([SDL_OPENGLES],
1961 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1962 [#include <SDL2/SDL_video.h>])
1966 evas_engine_gl_common_cflags=""
1967 if test "x${have_egl}" = "xyes"; then
1968 evas_engine_gl_common_libs="-lEGL"
1970 evas_engine_gl_common_libs="-lGL"
1973 # The lines below fix compiling/linking of gl_generic on OSX
1974 if test "x${have_darwin}" = "xyes"; then
1975 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
1976 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
1977 # CFLAGS and LIBS are determined by evas-gl_cocoa.
1978 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
1979 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
1981 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
1982 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
1983 # cannot compile (nor link).
1984 evas_engine_gl_common_libs=""
1985 evas_engine_gl_common_cflags=""
1987 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
1988 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
1989 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
1991 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
1995 AC_SUBST([evas_engine_gl_common_cflags])
1996 AC_SUBST([evas_engine_gl_common_libs])
1998 have_evas_engine_gl_common="no"
1999 have_static_evas_engine_gl_common="no"
2000 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2001 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2002 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2003 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2004 test "x$have_evas_engine_gl_drm" = "xyes" || \
2005 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2006 have_evas_engine_gl_common="yes"
2008 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2009 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2010 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2011 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2012 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2013 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2014 have_evas_engine_gl_common="yes"
2015 have_static_evas_engine_gl_common="yes"
2018 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2019 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2022 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2024 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2025 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2028 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2033 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2034 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2035 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2036 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2037 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2038 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2039 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2040 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2041 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2042 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2043 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2044 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2045 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2046 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2047 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2048 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2049 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2051 EFL_EVAL_PKGS([EVAS])
2053 ### Checks for header files
2055 if test "x$have_harfbuzz" = "xyes" ; then
2057 CPPFLAGS_SAVE="$CPPFLAGS"
2058 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2059 # must have for usage with harfbuzz although harfbuzz may not have it.
2061 AC_CHECK_HEADER([hb-ft.h],
2063 have_harfbuzz_ft="yes"
2064 #Depend on harfbuzz ft for harfbuzz support
2065 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2067 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2069 CPPFLAGS="$CPPFLAGS_SAVE"
2072 ### Checks for types
2074 CPPFLAGS_SAVE="$CPPFLAGS"
2075 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2076 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2077 CPPFLAGS="$CPPFLAGS_SAVE"
2080 if test "x$have_fribidi" = "xyes" ; then
2081 CPPFLAGS_SAVE="$CPPFLAGS"
2082 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2083 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2084 CPPFLAGS="$CPPFLAGS_SAVE"
2087 ### Checks for structures
2089 AC_CHECK_TYPES([struct sigaction], [], [],
2090 [[#include <signal.h>]])
2092 ### Checks for compiler characteristics
2094 ### Checks for linker characteristics
2096 ### Checks for library functions
2098 AC_CHECK_FUNCS([siglongjmp])
2100 AC_CHECK_LIB([m], [lround],
2101 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2102 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2108 AC_ARG_ENABLE([cserve],
2109 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2111 if test "x${enableval}" = "xyes" ; then
2112 want_evas_cserve2="yes"
2114 want_evas_cserve2="no"
2115 CFOPT_WARNING="xyes"
2118 [want_evas_cserve2="yes"])
2120 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2121 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2124 # cserve2 only works on Linux so far.
2126 if test "x${efl_func_shm_open}" = "xno" ; then
2127 want_evas_cserve2="no"
2130 if test "x${want_evas_cserve2}" = "xyes"; then
2131 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
2132 want_evas_cserve2="no"
2134 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2135 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2139 AC_DEFINE_IF([EVAS_CSERVE2],
2140 [test "x${want_evas_cserve2}" = "xyes"],
2141 [1], [Shared cache server.])
2142 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2148 if test "x${have_tile_rotate}" = "xyes" ; then
2149 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2155 AC_ARG_WITH([evas-dither-mask],
2156 [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.
2157 @<:@default=big@:>@])],
2158 [build_evas_dither_mask=${withval}],
2159 [build_evas_dither_mask=big])
2161 case "${build_evas_dither_mask}" in
2163 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2166 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2169 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2172 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2175 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2178 EFL_ADD_FEATURE([EVAS], [fontconfig])
2179 EFL_ADD_FEATURE([EVAS], [fribidi])
2180 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2181 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2182 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2183 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2189 EFL_LIB_START([Evas_Cxx])
2191 EFL_EVAL_PKGS([EVAS_CXX])
2193 EFL_LIB_END([Evas_Cxx])
2194 #### End of Edje CXX
2198 EFL_LIB_START([Embryo])
2202 ### Additional options to configure
2204 ### Checks for programs
2206 ### Checks for libraries
2207 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2208 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2210 EFL_ADD_LIBS([EMBRYO], [-lm])
2212 ### Checks for header files
2214 ### Checks for types
2216 ### Checks for structures
2218 ### Checks for compiler characteristics
2220 ### Checks for linker characteristics
2222 ### Checks for library functions
2224 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2225 AC_MSG_ERROR([Cannot find fnmatch()])
2228 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2229 AC_MSG_ERROR([Cannot find gettimeofday()])
2232 ### Check availability
2234 EFL_LIB_END([Embryo])
2240 EFL_LIB_START([Ecore])
2242 ### Additional options to configure
2247 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2249 if test "x${withval}" = "xyes" ; then
2252 if test "x${withval}" = "xalways" ; then
2261 AC_ARG_ENABLE([g-main-loop],
2262 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2264 if test "x${enableval}" = "xyes" ; then
2265 want_g_main_loop="yes"
2266 CFOPT_WARNING="xyes"
2268 want_g_main_loop="no"
2271 [want_g_main_loop="no"])
2273 AC_ARG_ENABLE([gstreamer],
2274 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2276 if test "x${enableval}" = "xyes" ; then
2277 want_gstreamer="yes"
2278 CFOPT_WARNING="xyes"
2283 [want_gstreamer="no"])
2285 AC_ARG_ENABLE([gstreamer1],
2286 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2288 if test "x${enableval}" = "xyes" ; then
2289 want_gstreamer1="yes"
2291 want_gstreamer1="no"
2292 CFOPT_WARNING="xyes"
2295 [want_gstreamer1="yes"])
2297 AC_ARG_ENABLE([tizen],
2298 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2300 if test "x${enableval}" = "xyes" ; then
2308 if test "${want_tizen}" = "yes"; then
2309 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2311 [have_tizen_vconf="yes"],
2312 [have_tizen_vconf="no"])
2313 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2316 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2317 if test "${have_tizen_vconf}" = "yes"; then
2318 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2323 if test "${have_windows}" = "yes"; then
2328 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2332 want_ecore_timer_dump="no"
2333 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2334 want_ecore_timer_dump="yes"
2335 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2338 ### Checks for programs
2340 ### Checks for libraries
2341 EFL_PLATFORM_DEPEND([ECORE], [all])
2342 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2343 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2344 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2346 EFL_ADD_LIBS([ECORE], [-lm])
2350 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2351 if test "x${have_glib}" = "xno"; then
2352 want_g_main_loop="no"
2355 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd])
2357 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2358 EFL_ADD_FEATURE([ECORE], [glib])
2359 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2361 want_glib_integration_always=no
2362 if test "x${with_glib}" = "xalways" ; then
2363 want_glib_integration_always="yes"
2364 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2367 if test "x${want_g_main_loop}" = "xyes" ; then
2368 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2371 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2372 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2373 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2376 if test "${want_gstreamer1}" = "yes"; then
2377 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2379 if test "${want_gstreamer}" = "yes"; then
2380 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2382 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2384 EFL_EVAL_PKGS([ECORE])
2386 ### Checks for header files
2390 AC_CHECK_HEADERS([sys/socket.h])
2392 AC_CHECK_HEADERS([ \
2404 #ifdef HAVE_SYS_SOCKET_H
2405 # include <sys/socket.h>
2409 AC_CHECK_HEADERS([net/if.h], [], [],
2412 # include <stdlib.h>
2413 # include <stddef.h>
2416 # include <stdlib.h>
2419 #if HAVE_SYS_SOCKET_H
2420 # include <sys/socket.h>
2424 ### Checks for types
2426 ### Checks for structures
2428 ### Checks for compiler characteristics
2430 ### Checks for linker characteristics
2432 ### Checks for library functions
2444 int i = isfinite(0);
2447 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2450 [have_isfinite="no"])
2452 AC_MSG_CHECKING([for isfinite])
2453 AC_MSG_RESULT([${have_isfinite}])
2455 # mallinfo, timerfd_create, clock_gettime
2457 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2459 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2460 AC_CHECK_LIB([rt], [clock_gettime],
2462 EFL_ADD_LIBS([ECORE], [-lrt])
2463 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2467 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2469 # coroutine function specific
2474 #include <ucontext.h>
2480 [have_ucontext="yes"],
2481 [have_ucontext="no"])
2483 AC_MSG_CHECKING([for ucontext])
2484 AC_MSG_RESULT([${have_ucontext}])
2495 [have_setjmp="yes"],
2498 AC_MSG_CHECKING([for setjmp])
2499 AC_MSG_RESULT([${have_setjmp}])
2501 if test "X${have_windows}" = "xyes"; then
2502 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2503 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2504 elif test "x${have_ucontext}" = "xyes"; then
2505 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2506 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2507 elif test "x${have_setjmp}" = "xyes"; then
2508 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2509 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2511 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2514 ### Check availability
2516 EFL_LIB_END([Ecore])
2520 EFL_LIB_START([Ecore_Cxx])
2522 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2523 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2524 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2525 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2527 EFL_EVAL_PKGS([ECORE_CXX])
2529 EFL_LIB_END([Ecore_Cxx])
2530 #### End of Ecore CXX
2534 EFL_LIB_START([Ecore_Con])
2538 want_ecore_con_local_sockets="yes"
2539 want_ecore_con_abstract_sockets="yes"
2541 if test "${have_win32}" = "yes"; then
2543 want_ecore_con_abstract_sockets="no"
2544 elif test "${have_darwin}" = "yes"; then
2546 want_ecore_con_abstract_sockets="yes"
2547 elif test "${have_ps3}" = "yes"; then
2549 want_ecore_con_local_sockets="no"
2550 want_ecore_con_abstract_sockets="no"
2555 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2556 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2557 [1], [Have local sockets support])
2558 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2559 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2560 [1], [Have abstract sockets namespace])
2562 ### Checks for programs
2564 ### Checks for libraries
2565 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2566 if test "$build_crypto" != "none" ; then
2567 EFL_CRYPTO_DEPEND([ECORE_CON])
2569 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2570 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2571 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2572 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2573 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2575 EFL_ADD_LIBS([ECORE_CON], [-lm])
2577 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2578 [CARES], [libcares >= 1.6.1])
2579 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2581 if test "x$have_cares" = "xyes" ; then
2582 ecore_con_resolver="cares"
2583 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2584 ecore_con_resolver="dns.c"
2586 ecore_con_resolver="fork"
2589 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
2591 EFL_ADD_FEATURE([ECORE_CON], [cares])
2592 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2593 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2594 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2595 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2597 EFL_EVAL_PKGS([ECORE_CON])
2599 ### Checks for header files
2601 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2603 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2604 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2607 ### Checks for types
2610 AC_CHECK_TYPES([struct ipv6_mreq],
2614 #include <netinet/in.h>
2615 #ifdef HAVE_WS2TCPIP_H
2616 # include <ws2tcpip.h>
2620 AC_DEFINE_IF([HAVE_IPV6],
2621 [test "x${have_ipv6}" = "xyes"],
2622 [1], [Define if IPV6 is supported])
2623 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2625 ### Checks for structures
2627 ### Checks for compiler characteristics
2629 ### Checks for linker characteristics
2631 ### Checks for library functions
2633 EFL_LIB_END([Ecore_Con])
2634 #### End of Ecore_Con
2639 EFL_LIB_START([Ecore_Ipc])
2643 ### Additional options to configure
2645 ### Checks for programs
2647 ## Compatibility layers
2648 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2650 ### Checks for libraries
2651 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2652 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2653 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2654 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2656 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2658 ### Checks for header files
2660 AC_CHECK_HEADERS([winsock2.h])
2662 ### Checks for types
2664 ### Checks for structures
2666 ### Checks for compiler characteristics
2668 ### Checks for linker characteristics
2670 ### Checks for library functions
2672 EFL_LIB_END([Ecore_Ipc])
2673 #### End of Ecore_Ipc
2678 EFL_LIB_START([Ecore_File])
2680 ### Additional options to configure
2684 ### Checks for programs
2686 ## Compatibility layers
2687 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2689 ### Checks for libraries
2690 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2691 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2692 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2693 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2694 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2696 ### Checks for header files
2698 ### Checks for types
2700 ### Checks for structures
2702 ### Checks for compiler characteristics
2704 ### Checks for linker characteristics
2706 ### Checks for library functions
2708 EFL_LIB_END([Ecore_File])
2709 #### End of Ecore_File
2713 EFL_LIB_START([Ecore_Input])
2715 ### Additional options to configure
2719 ### Checks for programs
2721 ## Compatibility layers
2722 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2724 ### Checks for libraries
2725 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2726 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2727 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2729 ### Checks for header files
2731 ### Checks for types
2733 ### Checks for structures
2735 ### Checks for compiler characteristics
2737 ### Checks for linker characteristics
2739 ### Checks for library functions
2741 EFL_LIB_END([Ecore_Input])
2742 #### End of Ecore_Input
2745 #### Ecore_Input_Evas
2746 EFL_LIB_START([Ecore_Input_Evas])
2748 ### Additional options to configure
2752 ### Checks for programs
2754 ## Compatibility layers
2755 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2757 ### Checks for libraries
2758 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2759 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2760 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2761 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2762 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2763 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2764 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2766 ### Checks for header files
2768 ### Checks for types
2770 ### Checks for structures
2772 ### Checks for compiler characteristics
2774 ### Checks for linker characteristics
2776 ### Checks for library functions
2778 EFL_LIB_END([Ecore_Input_Evas])
2779 #### End of Ecore_Input_Evas
2783 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2785 ### Additional options to configure
2789 ### Checks for programs
2791 ### Checks for libraries
2792 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2793 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2794 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2795 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2797 ### Checks for header files
2799 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2801 ### Checks for types
2803 ### Checks for structures
2805 ### Checks for compiler characteristics
2807 ### Checks for linker characteristics
2809 ### Checks for library functions
2811 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2812 #### End of Ecore_Cocoa
2816 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2818 ### Additional options to configure
2819 AC_ARG_ENABLE([tslib],
2820 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2822 if test "x${enableval}" = "xyes" ; then
2827 ], [want_tslib="yes"])
2831 ### Checks for programs
2833 ### Checks for libraries
2834 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2835 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2836 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2837 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2839 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2840 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2842 EFL_EVAL_PKGS([ECORE_FB])
2844 ### Checks for header files
2847 AC_CHECK_HEADER([linux/fb.h],
2848 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2849 if test "${have_ecore_fb}" = "no"; then
2850 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2853 ### Checks for types
2855 ### Checks for structures
2857 ### Checks for compiler characteristics
2859 ### Checks for linker characteristics
2861 ### Checks for library functions
2863 EFL_LIB_END_OPTIONAL([Ecore_FB])
2864 #### End of Ecore_FB
2868 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2870 ### Additional options to configure
2874 ### Checks for programs
2876 ### Checks for libraries
2877 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2879 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2880 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2881 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2882 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2884 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2886 ### Checks for header files
2888 ### Checks for types
2890 ### Checks for structures
2892 ### Checks for compiler characteristics
2894 ### Checks for linker characteristics
2896 ### Checks for library functions
2898 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2899 #### End of Ecore_Psl1ght
2903 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2905 ### Additional options to configure
2909 ### Checks for programs
2911 ### Checks for libraries
2912 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2913 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2914 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2915 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2916 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2918 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2920 EFL_EVAL_PKGS([ECORE_SDL])
2922 ### Checks for header files
2924 ### Checks for types
2926 ### Checks for structures
2928 ### Checks for compiler characteristics
2930 ### Checks for linker characteristics
2932 ### Checks for library functions
2934 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2935 #### End of Ecore_SDL
2939 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2941 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2942 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2945 ### Additional options to configure
2949 ### Checks for programs
2951 ### Checks for libraries
2952 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
2953 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2954 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2955 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2957 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2958 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0])
2960 EFL_EVAL_PKGS([ECORE_WAYLAND])
2962 ### Checks for header files
2964 ### Checks for types
2966 ### Checks for structures
2968 ### Checks for compiler characteristics
2970 ### Checks for linker characteristics
2972 ### Checks for library functions
2974 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2975 #### End of Ecore_Wayland
2978 EFL_LIB_START([Eldbus])
2980 ### Additional options to configure
2984 ### Checks for programs
2986 ## Compatibility layers
2987 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
2989 ### Checks for libraries
2990 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
2991 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
2992 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
2994 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
2996 EFL_EVAL_PKGS([ELDBUS])
2998 ### Checks for header files
3000 ### Checks for types
3002 ### Checks for structures
3004 ### Checks for compiler characteristics
3006 ### Checks for linker characteristics
3008 ### Checks for library functions
3010 EFL_LIB_END([Eldbus])
3015 have_libmount_new="no"
3016 have_libmount_old="no"
3017 have_eeze_mount="no"
3019 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3021 ### Additional options to configure
3022 AC_ARG_WITH([mount],
3023 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3024 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3025 AC_ARG_WITH([umount],
3026 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3027 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3028 AC_ARG_WITH([eject],
3029 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3030 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3034 ### Checks for programs
3036 ### Checks for libraries
3037 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3038 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3039 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3040 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3041 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3042 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3043 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3045 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3047 AC_ARG_ENABLE([libmount],
3048 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3050 if test "x${enableval}" = "xyes" ; then
3054 CFOPT_WARNING="xyes"
3057 [want_libmount="yes"])
3059 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3060 [EEZE_MOUNT], [mount >= 2.18.0])
3061 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3063 PKG_CHECK_EXISTS([libudev < 199],
3064 [have_libudev_old="yes"],
3065 [have_libudev_old="no"])
3066 AC_MSG_CHECKING([Use old libudev API (before 199)])
3067 AC_MSG_RESULT([${have_libudev_old}])
3069 PKG_CHECK_EXISTS([mount < 2.19.0],
3070 [have_libmount_old="yes"],
3071 [have_libmount_old="no"])
3072 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3073 AC_MSG_RESULT([${have_libmount_old}])
3075 PKG_CHECK_EXISTS([mount == 2.19.0],
3076 [have_libmount_219="yes"],
3077 [have_libmount_219="no"])
3078 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3079 AC_MSG_RESULT([${have_libmount_219}])
3081 PKG_CHECK_EXISTS([mount > 2.19.0],
3082 [have_libmount_new="yes"],
3083 [have_libmount_new="no"])
3084 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3085 AC_MSG_RESULT([${have_libmount_new}])
3087 if test "x${have_libudev_old}" = "xyes"; then
3088 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3091 if test "x${have_libmount_old}" = "xyes"; then
3092 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3096 if test "${want_tizen}" = "yes"; then
3097 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3099 EFL_ADD_FEATURE([EEZE], [tizen])
3101 EFL_EVAL_PKGS([EEZE])
3103 ### Checks for header files
3105 ### Checks for types
3107 ### Checks for structures
3109 ### Checks for compiler characteristics
3111 ### Checks for linker characteristics
3113 ### Checks for library functions
3115 ### Checks for binaries
3116 if test "x$with_eeze_mount" = "xdetect"; then
3117 AC_PATH_PROG([with_eeze_mount], [mount], [])
3119 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3121 if test "x$with_eeze_umount" = "xdetect";then
3122 AC_PATH_PROG([with_eeze_umount], [umount], [])
3124 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3126 if test "x$with_eeze_eject" = "xdetect";then
3127 AC_PATH_PROG([with_eeze_eject], [eject], [])
3129 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3131 EFL_LIB_END_OPTIONAL([Eeze])
3133 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3134 [test "x${have_libmount_new}" = "xyes"])
3135 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3136 [test "x${have_libmount_old}" = "xyes"])
3137 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3138 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3143 have_libinput_new="no"
3144 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3146 ### Additional options to configure
3149 AC_SUBST([SUID_CFLAGS])
3150 AC_SUBST([SUID_LDFLAGS])
3154 ### Checks for programs
3156 ### Checks for libraries
3157 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3158 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3159 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3160 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3161 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3162 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3164 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3165 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3167 # API change from 0.7 to 0.8. So we define this to support both for now.
3168 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3169 [have_libinput_new="yes"],
3170 [have_libinput_new="no"])
3171 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3172 AC_MSG_RESULT([${have_libinput_new}])
3173 if test "x${have_libinput_new}" = "xyes";then
3174 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3176 if test "x${have_libinput_new}" = "xno";then
3177 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3181 EFL_EVAL_PKGS([ECORE_DRM])
3183 ### Checks for header files
3185 ### Checks for types
3187 ### Checks for structures
3189 ### Checks for compiler characteristics
3191 ### Checks for linker characteristics
3193 ### Checks for library functions
3195 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3196 #### End of Ecore_Drm
3201 AC_ARG_ENABLE([audio],
3202 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3204 if test "x${enableval}" = "xyes" ; then
3208 CFOPT_WARNING="xyes"
3213 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3215 ### Additional options to configure
3217 # ALSA support is still not there, thus no option for it yet.
3220 # sndfile is mandatory otherwise it won't read from/write to files.
3221 # TODO: if confirmed sndfile is mandatory, remove this variable
3222 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3225 AC_ARG_ENABLE([pulseaudio],
3226 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3228 if test "x${enableval}" = "xyes" ; then
3229 want_pulseaudio="yes"
3231 want_pulseaudio="no"
3232 CFOPT_WARNING="xyes"
3235 [want_pulseaudio="yes"])
3237 if test "x${have_darwin}" = "xyes"; then
3238 want_pulseaudio="no"
3240 want_coreaudio="yes"
3247 if test "x${want_coreaudio}" = "xyes"; then
3248 coreaudio_ldflags=""
3251 LIBS="$LIBS -framework CoreAudio"
3255 #include <CoreAudio/CoreAudio.h>
3259 AudioDeviceID dev_id;
3260 AudioObjectPropertyAddress prop = {
3261 kAudioHardwarePropertyDefaultOutputDevice,
3262 kAudioObjectPropertyScopeGlobal,
3263 kAudioObjectPropertyElementMaster
3265 size = sizeof(AudioDeviceID);
3266 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3270 have_coreaudio="yes"
3271 coreaudio_ldflags="-framework CoreAudio"
3273 [have_coreaudio="no"])
3275 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3276 AC_MSG_RESULT([${have_coreaudio}])
3278 AC_SUBST(coreaudio_ldflags)
3279 if test "x${have_coreaudio}" = "xyes"; then
3280 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3282 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3288 ### Checks for programs
3290 ## Compatibility layers
3291 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3293 ### Checks for libraries
3294 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3295 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3296 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3297 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3298 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3300 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3302 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3303 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3304 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3306 EFL_EVAL_PKGS([ECORE_AUDIO])
3308 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3309 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3310 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3311 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3313 ### Checks for header files
3315 ### Checks for types
3317 ### Checks for structures
3319 ### Checks for compiler characteristics
3321 ### Checks for linker characteristics
3323 ### Checks for library functions
3325 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3326 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3327 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3328 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3330 #### End of Ecore_Audio
3332 #### Ecore Audio CXX
3333 EFL_LIB_START([Ecore_Audio_Cxx])
3335 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3337 EFL_LIB_END([Ecore_Audio_Cxx])
3338 #### End of Ecore Audio CXX
3341 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3343 ### Additional options to configure
3347 ### Checks for programs
3349 ### Checks for libraries
3350 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3351 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3352 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3353 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3354 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3356 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3357 AC_SUBST([ECORE_WIN32_LIBS])
3359 ### Checks for header files
3361 ### Checks for types
3363 ### Checks for structures
3365 ### Checks for compiler characteristics
3367 ### Checks for linker characteristics
3369 ### Checks for library functions
3371 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3372 #### End of Ecore_Win32
3376 EFL_LIB_START([Ecore_Avahi])
3380 ### Additional options to configure
3384 AC_ARG_ENABLE([avahi],
3385 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3387 if test "x${enableval}" = "xyes" ; then
3396 ### Checks for programs
3398 ## Compatibility layers
3399 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3401 ### Checks for libraries
3402 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3403 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3404 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3406 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3408 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3410 # Needed bu example as they use avahi directly in that case
3411 if test "x${have_avahi}" = "xyes"; then
3412 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3415 EFL_EVAL_PKGS([ECORE_AVAHI])
3417 ### Checks for header files
3419 ### Checks for types
3421 ### Checks for structures
3423 ### Checks for compiler characteristics
3425 ### Checks for linker characteristics
3427 ### Checks for library functions
3429 EFL_LIB_END([Ecore_Avahi])
3431 #### End of Ecore_Avahi
3435 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3437 ### Additional options to configure
3439 AC_ARG_ENABLE([gesture],
3440 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3442 if test "x${enableval}" = "xyes" ; then
3448 [want_gesture="no"])
3450 AC_ARG_ENABLE([xpresent],
3451 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3453 if test "x${enableval}" = "xyes" ; then
3459 [want_xpresent="no"])
3461 AC_ARG_ENABLE([xinput2],
3462 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3464 if test "x${enableval}" = "xyes" ; then
3468 CFOPT_WARNING="xyes"
3471 [want_xinput2="yes"])
3473 AC_ARG_ENABLE([xinput22],
3474 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3476 if test "x${enableval}" = "xyes" ; then
3482 [want_xinput22="no"])
3484 AC_ARG_ENABLE([xim],
3485 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3487 if test "x${enableval}" = "xyes" ; then
3491 CFOPT_WARNING="xyes"
3496 AC_ARG_ENABLE([scim],
3497 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3499 if test "x${enableval}" = "xyes" ; then
3503 CFOPT_WARNING="xyes"
3508 AC_ARG_ENABLE([ibus],
3509 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3511 if test "x${enableval}" = "xyes" ; then
3521 ### Checks for programs
3523 ### Checks for libraries
3524 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3525 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3526 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3527 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3533 ### Checks for header files
3535 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3537 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3538 FOUND_MAXHOSTNAMELEN="not found"
3544 #include <sys/param.h>
3547 int h = MAXHOSTNAMELEN;
3551 FOUND_MAXHOSTNAMELEN="sys/param.h"
3552 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3562 int h = MAXHOSTNAMELEN;
3566 FOUND_MAXHOSTNAMELEN="netdb.h"
3567 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3570 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3571 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3575 if test "x${want_x11_xcb}" = "xyes" ; then
3576 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3577 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3579 if test -f "$KEYSYMDEFDIR/$i"; then
3580 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3581 elif test "x$i" = "xkeysymdef.h"; then
3582 AC_MSG_ERROR([Cannot find keysymdef.h])
3585 AC_MSG_CHECKING([keysym definitions])
3586 AC_MSG_RESULT([$KEYSYMDEFS])
3587 AC_SUBST([KEYSYMDEFS])
3590 ### Checks for types
3592 ### Checks for structures
3594 ### Checks for compiler characteristics
3596 ### Checks for linker characteristics
3598 ### Checks for library functions
3601 if test "x${want_x11_xlib}" = "xyes"; then
3602 EFL_FIND_X(ECORE_X_XLIB,
3603 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3604 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3607 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3608 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3609 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3611 AC_MSG_ERROR([Xcursor is missing])
3615 if test "x${want_x11_xlib}" = "xyes" ; then
3616 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3617 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3618 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3619 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3620 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3621 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3622 ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
3623 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3624 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3625 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3626 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3628 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3630 if test "${want_xpresent}" = "yes"; then
3631 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3633 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3635 if test "${want_gesture}" = "yes"; then
3636 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3638 EFL_ADD_FEATURE([ECORE_X], [gesture])
3640 if test "${want_xinput2}" = "yes"; then
3641 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3643 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3645 if test "${want_xinput22}" = "yes"; then
3646 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3648 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3650 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3651 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3653 EFL_EVAL_PKGS([ECORE_X])
3654 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3659 if test "${want_x11_xcb}" = "yes"; then
3660 dnl note: added pixman-1 as ecore_xcb_region uses that
3661 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3662 [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])
3664 dnl TODO: remove these ifdefs from code!
3665 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3666 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3667 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3668 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3669 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3670 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3671 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3672 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3673 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3674 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3675 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3676 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3678 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3680 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3681 [1], [Build support for XCB Present])
3682 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3684 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3686 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3687 [1], [Build support for XCB xgesture])
3689 EFL_ADD_FEATURE([ECORE_X], [gesture])
3691 dnl input extension disabled currently in xcb as xcb-input has some issues
3692 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3693 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3695 dnl dri extension disabled currently in xcb
3696 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3697 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3699 EFL_EVAL_PKGS([ECORE_X])
3700 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3702 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3705 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3707 AC_SUBST([HAVE_ECORE_X_BACKEND])
3709 EFL_LIB_END_OPTIONAL([Ecore_X])
3711 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3712 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3717 EFL_LIB_START([Ecore_Imf])
3719 ### Additional options to configure
3723 want_ecore_imf="yes"
3724 want_ecore_imf_xim="no"
3725 want_ecore_imf_scim="no"
3726 want_ecore_imf_ibus="no"
3727 want_ecore_imf_wayland="no"
3728 want_ecore_imf="yes"
3730 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3731 want_ecore_imf="yes"
3732 want_ecore_imf_xim="yes"
3733 want_ecore_imf_scim="yes"
3734 want_ecore_imf_ibus="yes"
3735 if test "${want_wayland}" = "yes"; then
3736 want_ecore_imf_wayland="yes"
3740 ### Checks for programs
3742 ## Compatibility layers
3743 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3745 ### Checks for libraries
3746 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3747 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3748 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3749 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3750 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3752 if test "x${want_ecore_imf}" = "xyes" ; then
3753 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3760 have_ecore_imf_ibus="no"
3761 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3762 PKG_CHECK_MODULES([IBUS],
3763 [ibus-1.0 >= 1.4 glib-2.0],
3765 have_ecore_imf_ibus="yes"
3766 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3768 [have_ecore_imf_ibus="no"])
3771 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3772 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3776 have_ecore_imf_scim="no"
3777 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3778 PKG_CHECK_MODULES([SCIM],
3781 have_ecore_imf_scim="yes"
3782 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3784 [have_ecore_imf_scim="no"])
3787 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3788 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3792 have_ecore_imf_xim="no"
3793 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3795 EFL_FIND_X(ecore_imf_xim,
3799 have_ecore_imf_xim=yes
3800 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3804 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3805 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3808 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3809 PKG_CHECK_MODULES([WAYLAND],
3810 [wayland-client >= 1.8.0],
3812 have_ecore_imf_wayland="yes"
3813 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3815 [have_ecore_imf_wayland="no"])
3818 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3819 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3821 ### Checks for header files
3823 ### Checks for types
3825 ### Checks for structures
3827 ### Checks for compiler characteristics
3829 ### Checks for linker characteristics
3831 ### Checks for library functions
3833 EFL_LIB_END([Ecore_Imf])
3834 #### End of Ecore_Imf
3838 EFL_LIB_START([Ecore_Imf_Evas])
3840 ### Additional options to configure
3844 ### Checks for programs
3846 ## Compatibility layers
3847 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3849 ### Checks for libraries
3850 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3851 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3852 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3853 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3854 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3855 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3856 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3857 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3859 ### Checks for header files
3861 ### Checks for types
3863 ### Checks for structures
3865 ### Checks for compiler characteristics
3867 ### Checks for linker characteristics
3869 ### Checks for library functions
3871 EFL_LIB_END([Ecore_Imf_Evas])
3872 #### End of Ecore_Imf_Evas
3876 EFL_LIB_START([Ecore_Evas])
3878 ### Additional options to configure
3882 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3883 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3884 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3885 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3886 want_ecore_evas_extn="yes"
3887 want_ecore_evas_drm="${have_evas_engine_drm}"
3889 if test "x${have_ecore_ipc}" = "xno" || \
3890 test "x${efl_func_shm_open}" = "xno" || \
3891 test "x${have_windows}" = "xyes" ; then
3892 want_ecore_evas_extn="no"
3895 ### Checks for programs
3897 ## Compatibility layers
3898 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3900 ### Checks for libraries
3901 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3902 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3903 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3904 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3905 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3906 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3907 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3908 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3909 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3912 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3913 ECORE_EVAS_MODULE([ews], [yes])
3914 ECORE_EVAS_MODULE([fb], [${want_fb}])
3915 ECORE_EVAS_MODULE([drm], [${want_drm}],
3916 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3917 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3918 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3919 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3921 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3923 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3924 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3926 build_ecore_evas_sdl="no"
3927 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3928 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3929 build_ecore_evas_sdl="yes"
3930 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3932 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3933 [test "${build_ecore_evas_sdl}" = "yes"])
3935 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3936 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3938 build_ecore_evas_wayland="no"
3939 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3940 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3941 build_ecore_evas_wayland="yes"
3942 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3944 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3945 [test "${build_ecore_evas_wayland}" = "yes"])
3947 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3948 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3950 build_ecore_evas_win32="no"
3951 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
3952 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
3953 build_ecore_evas_win32="yes"
3954 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
3956 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
3957 [test "${build_ecore_evas_win32}" = "yes"])
3960 # XXX TODO: ecore_evas_x11
3962 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
3964 have_ecore_evas_software_xlib="no"
3965 have_ecore_evas_software_xcb="no"
3966 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
3967 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
3968 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
3969 have_ecore_evas_software_xlib="yes"
3971 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
3972 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
3974 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
3975 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
3976 have_ecore_evas_software_xcb="yes"
3978 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
3979 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
3983 # XXX TODO: ecore_evas_opengl_x11
3985 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
3987 have_ecore_evas_opengl_xlib="no"
3988 have_ecore_evas_opengl_xcb="no"
3989 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
3990 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
3991 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
3992 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
3995 # opengl does not work with xcb (yet)
3996 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
3997 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
3998 have_ecore_evas_opengl_xcb="yes"
4000 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4001 PKG_CHECK_MODULES([XCB_X11],
4004 have_ecore_x_opengl_xcb="yes"
4005 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4006 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4007 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4009 [have_ecore_x_opengl_xcb="no"])
4011 have_ecore_x_opengl_xcb="no"
4012 AC_MSG_NOTICE([XCB-based OpenGL explicitly disabled])
4016 build_ecore_evas_x11="no"
4017 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4018 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4019 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4020 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4021 build_ecore_evas_x11="yes"
4023 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4025 EFL_EVAL_PKGS([ECORE_EVAS])
4027 ### Checks for header files
4029 ### Checks for types
4031 ### Checks for structures
4033 ### Checks for compiler characteristics
4035 ### Checks for linker characteristics
4037 ### Checks for library functions
4039 EFL_LIB_END([Ecore_Evas])
4040 #### End of Ecore_Evas
4043 EFL_LIB_START([Eio])
4045 ### Additional options to configure
4049 ### Checks for programs
4051 ## Compatibility layers
4052 EFL_PLATFORM_DEPEND([EIO], [evil])
4054 ### Checks for libraries
4055 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4056 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4057 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4058 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4059 EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
4060 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4062 EFL_ADD_LIBS([EIO], [-lm])
4064 ### Checks for header files
4066 ### Checks for types
4068 ### Checks for structures
4070 ### Checks for compiler characteristics
4072 ### Checks for linker characteristics
4074 ### Checks for library functions
4075 have_inotify="${ac_cv_header_sys_inotify_h}"
4076 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4078 have_notify_win32="${have_win32}"
4079 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4080 [test "x${have_notify_win32}" = "xyes"], [1],
4081 [File monitoring with Windows notification])
4082 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4084 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4085 [test "x${have_darwin}" = "xyes"], [1],
4086 [File monitoring with fsevent notification])
4087 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4089 AC_CHECK_FUNC([kevent])
4090 have_notify_kevent="${ac_cv_func_kevent}"
4091 AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
4092 [test "x${have_notify_kevent}" = "xyes"], [1],
4093 [File monitoring with kqueue/kevent mechanism])
4094 AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
4098 dnl TODO: remove these ifdefs from code!
4099 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4103 if test "x${want_eo_id}" = "xyes" ; then
4104 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4109 EFL_LIB_START([Efreet])
4111 ### Additional options to configure
4115 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4117 ### Checks for programs
4119 ## Compatibility layers
4120 EFL_PLATFORM_DEPEND([EFREET], [evil])
4122 ### Checks for libraries
4123 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4124 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4125 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4126 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4127 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4128 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4129 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4131 ### Checks for header files
4133 ### Checks for types
4135 ### Checks for structures
4137 ### Checks for compiler characteristics
4139 ### Checks for linker characteristics
4141 ### Checks for library functions
4143 EFL_LIB_END([Efreet])
4148 AC_ARG_ENABLE([physics],
4149 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4151 if test "x${enableval}" = "xyes" ; then
4154 CFOPT_WARNING="xyes"
4158 [want_physics="yes"])
4160 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4162 ### Additional options to configure
4166 ### Checks for programs
4168 ### Checks for libraries
4169 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4171 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4172 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4173 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4174 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4175 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4176 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4178 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4180 EFL_EVAL_PKGS([EPHYSICS])
4182 ### Checks for header files
4184 ### Checks for types
4186 ### Checks for structures
4188 ### Checks for compiler characteristics
4190 ### Checks for linker characteristics
4192 ### Checks for library functions
4194 EFL_LIB_END_OPTIONAL([EPhysics])
4195 #### End of EPhysics
4199 EFL_LIB_START([Edje])
4201 ### Additional options to configure
4205 AC_ARG_ENABLE([multisense],
4206 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=enabled@:>@])],
4208 if test "x${enableval}" = "xyes" ; then
4209 want_multisense="yes"
4211 want_multisense="no"
4212 CFOPT_WARNING="xyes"
4216 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4217 want_multisense="yes"
4219 want_multisense="no"
4223 # TODO: should we keep or remove these?
4224 want_edje_program_cache="no"
4225 want_edje_calc_cache="yes"
4226 want_fixed_point="no"
4228 ### Checks for programs
4230 ### Checks for libraries
4231 EFL_PLATFORM_DEPEND([EDJE], [evil])
4233 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4234 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4235 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4236 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4237 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4238 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4239 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4240 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4241 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4242 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4243 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4244 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4245 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4246 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4247 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4249 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4250 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4252 EFL_ADD_FEATURE([EDJE], [physics])
4253 EFL_ADD_FEATURE([EDJE], [multisense])
4254 EFL_ADD_FEATURE([EDJE], [lua-old])
4256 if test "${want_lua_old}" = "yes"; then
4257 EFL_CHECK_LUA_OLD([EDJE])
4259 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4262 EFL_ADD_LIBS([EDJE], [-lm])
4264 EFL_EVAL_PKGS([EDJE])
4266 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4267 [1], [Cache result of program glob matches])
4268 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4269 [1], [Cache result of calc glob matches])
4270 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4271 [1], [Use Fixed Point instead of FPU])
4273 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4274 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4275 [1], [Use Multisense])
4276 AC_SUBST([want_multisense])
4277 AC_SUBST([want_physics])
4279 ### Checks for header files
4281 AC_CHECK_HEADERS([ \
4285 ### Checks for types
4287 ### Checks for structures
4289 ### Checks for compiler characteristics
4291 ### Checks for linker characteristics
4293 ### Checks for library functions
4299 EFL_LIB_START([Edje_Cxx])
4301 EFL_EVAL_PKGS([EDJE_CXX])
4303 EFL_LIB_END([Edje_Cxx])
4304 #### End of Edje CXX
4307 EFL_LIB_START([Emotion])
4309 ## Compatibility layers
4310 EFL_PLATFORM_DEPEND([Emotion], [evil])
4313 if test "${efl_func_shm_open}" = "yes"; then
4314 want_emotion_generic="static"
4316 want_emotion_generic="no"
4319 ### Additional options to configure
4320 AC_ARG_ENABLE([xine],
4321 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4323 if test "x${enableval}" = "xyes" ; then
4331 AC_ARG_ENABLE([v4l2],
4332 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4334 if test "x${enableval}" = "xyes" ; then
4340 [want_v4l2="${efl_lib_optional_eeze}"])
4342 AC_ARG_ENABLE([libvlc],
4343 [AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
4345 if test "x${enableval}" = "xyes" ; then
4353 ### Checks for programs
4355 ### Checks for libraries
4356 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4357 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4358 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4359 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4360 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4361 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4362 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4363 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4365 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4366 EFL_ADD_FEATURE([EMOTION], [v4l2])
4370 have_gst_xoverlay="no"
4372 EMOTION_MODULE([xine], [${want_xine}])
4373 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4374 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4375 EMOTION_MODULE([libvlc], [${want_libvlc}])
4376 EMOTION_MODULE([generic], [${want_emotion_generic}])
4378 EFL_ADD_FEATURE([EMOTION], [xine])
4379 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4380 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4381 EFL_ADD_FEATURE([EMOTION], [libvlc])
4382 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4384 EFL_EVAL_PKGS([EMOTION])
4386 ### Checks for header files
4388 ### Checks for types
4390 ### Checks for structures
4392 ### Checks for compiler characteristics
4394 ### Checks for linker characteristics
4396 ### Checks for library functions
4398 if test "${want_v4l2}" = "yes"; then
4399 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4400 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4401 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4402 [#include <linux/videodev2.h>])
4405 ### Check availability
4407 EFL_LIB_END([Emotion])
4412 EFL_LIB_START([Ethumb])
4416 ### Additional options to configure
4418 ### Checks for programs
4420 ## Compatibility layers
4421 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4423 ### Checks for libraries
4424 EFL_PLATFORM_DEPEND([EINA], [evil])
4426 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4427 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4428 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4429 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4430 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4431 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4432 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4433 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4434 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4435 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4436 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4440 EFL_EVAL_PKGS([ETHUMB])
4442 ### Checks for header files
4444 ### Checks for types
4446 ### Checks for structures
4448 ### Checks for compiler characteristics
4450 ### Checks for linker characteristics
4452 ### Checks for library functions
4454 ### Check availability
4456 EFL_LIB_END([Ethumb])
4460 EFL_LIB_START([Ethumb_Client])
4464 ### Additional options to configure
4466 ### Checks for programs
4468 ## Compatibility layers
4469 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4471 ### Checks for libraries
4472 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4473 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4474 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4475 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4476 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4477 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4478 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4479 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4480 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4481 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4482 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4484 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4486 ### Checks for header files
4488 ### Checks for types
4490 ### Checks for structures
4492 ### Checks for compiler characteristics
4494 ### Checks for linker characteristics
4496 ### Checks for library functions
4498 ### Check availability
4500 EFL_LIB_END([Ethumb_Client])
4501 #### End of Ethumb_Client
4506 if test "${want_lua_old}" = "yes"; then
4510 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4514 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4516 ### Additional options to configure
4518 ### Checks for programs
4520 ## Compatibility layers
4521 EFL_PLATFORM_DEPEND([ELUA], [evil])
4523 ### Checks for libraries
4524 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4525 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4526 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4528 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4530 EFL_EVAL_PKGS([ELUA])
4532 ### Checks for header files
4534 ### Checks for types
4536 ### Checks for structures
4538 ### Checks for compiler characteristics
4540 ### Checks for linker characteristics
4542 ### Checks for library functions
4544 ### Check availability
4546 EFL_LIB_END_OPTIONAL([Elua])
4551 EFL_LIB_START([Elocation])
4555 ### Additional options to configure
4557 ### Checks for programs
4559 ### Checks for libraries
4560 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4561 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4562 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4563 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4564 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4566 EFL_ADD_LIBS([ELOCATION], [-lm])
4568 ### Checks for header files
4570 ### Checks for types
4572 ### Checks for structures
4574 ### Checks for compiler characteristics
4576 ### Checks for linker characteristics
4578 ### Checks for library functions
4580 ### Check availability
4582 EFL_LIB_END([Elocation])
4583 #### End of Elocation
4585 ### Add Wayland server library if test is enabled
4586 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4587 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.8.0])
4588 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4591 AC_ARG_ENABLE([always-build-examples],
4592 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4594 if test "x${enableval}" = "xyes" ; then
4595 want_always_build_examples="yes"
4597 want_always_build_examples="no"
4600 [want_always_build_examples="no"])
4601 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4605 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],
4606 [ You will be told when this is needed ],
4608 if test "x${enableval}" = "xyes" ; then
4617 build_ecore_buffer_x11_dri2="no"
4618 build_ecore_buffer_x11_dri3="no"
4619 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
4620 ### Checks for libraries
4621 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
4622 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
4623 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
4624 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
4625 [wayland-server >= 1.5.0 wayland-client >= 1.5.0])
4627 PKG_CHECK_MODULES([X11_DRI_COMMON],
4632 [have_x11_dri_common_pkgs="yes"],
4633 [have_x11_dri_common_pkgs="no"]
4636 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
4637 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
4639 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
4640 [have_x11_dri2_pkgs="yes"],
4641 [have_x11_dri2_pkgs="no"])
4642 PKG_CHECK_MODULES([X11_DRI3],
4650 [have_x11_dri3_pkgs="yes"],
4651 [have_x11_dri3_pkgs="no"])
4654 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
4655 build_ecore_buffer_x11_dri2="yes"
4656 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
4659 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
4660 build_ecore_buffer_x11_dri3="yes"
4661 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
4663 EFL_EVAL_PKGS([ECORE_BUFFER])
4665 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
4666 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
4667 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
4669 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
4671 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
4672 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
4674 #### End of Ecore_Buffer
4681 doc/previews/Makefile
4683 src/benchmarks/eina/Makefile
4684 src/benchmarks/eo/Makefile
4685 src/benchmarks/evas/Makefile
4686 src/examples/eina/Makefile
4687 src/examples/eina_cxx/Makefile
4688 src/examples/eet/Makefile
4689 src/examples/eo/Makefile
4690 src/examples/evas/Makefile
4691 src/examples/ecore/Makefile
4692 src/examples/ecore_avahi/Makefile
4693 src/examples/eio/Makefile
4694 src/examples/eldbus/Makefile
4695 src/examples/ephysics/Makefile
4696 src/examples/edje/Makefile
4697 src/examples/emotion/Makefile
4698 src/examples/ethumb_client/Makefile
4699 src/examples/elua/Makefile
4700 src/examples/eolian_cxx/Makefile
4701 src/examples/elocation/Makefile
4702 src/lib/eina/eina_config.h
4703 src/lib/ecore_x/ecore_x_version.h
4704 src/lib/efl/Efl_Config.h
4720 pc/evas-opengl-x11.pc
4721 pc/evas-opengl-sdl.pc
4722 pc/evas-opengl-cocoa.pc
4724 pc/evas-software-buffer.pc
4725 pc/evas-software-x11.pc
4726 pc/evas-software-gdi.pc
4727 pc/evas-software-ddraw.pc
4728 pc/evas-software-sdl.pc
4729 pc/evas-wayland-shm.pc
4730 pc/evas-wayland-egl.pc
4740 pc/ecore-input-evas.pc
4751 pc/ecore-imf-evas.pc
4753 pc/ecore-audio-cxx.pc
4773 dbus-services/org.enlightenment.Ethumb.service
4774 systemd-services/ethumb.service
4776 cmakeconfig/EflConfig.cmake
4777 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4778 cmakeconfig/EinaConfig.cmake
4779 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4780 cmakeconfig/EioConfig.cmake
4781 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4782 cmakeconfig/EezeConfig.cmake
4783 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4784 cmakeconfig/EoConfig.cmake
4785 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4786 cmakeconfig/EolianConfig.cmake
4787 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4788 cmakeconfig/EolianCxxConfig.cmake
4789 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4790 cmakeconfig/EinaCxxConfig.cmake
4791 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4792 cmakeconfig/EoCxxConfig.cmake
4793 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4794 cmakeconfig/EcoreCxxConfig.cmake
4795 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4796 cmakeconfig/EvasCxxConfig.cmake
4797 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4798 cmakeconfig/EetCxxConfig.cmake
4799 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4800 cmakeconfig/EetConfig.cmake
4801 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4802 cmakeconfig/EvasConfig.cmake
4803 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4804 cmakeconfig/EcoreConfig.cmake
4805 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4806 cmakeconfig/EdjeConfig.cmake
4807 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4808 cmakeconfig/EldbusConfig.cmake
4809 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4810 cmakeconfig/EfreetConfig.cmake
4811 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4812 cmakeconfig/EthumbConfig.cmake
4813 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4814 cmakeconfig/EthumbClientConfig.cmake
4815 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4816 cmakeconfig/EmotionConfig.cmake
4817 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4818 cmakeconfig/EluaConfig.cmake
4819 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4820 cmakeconfig/EmileConfig.cmake
4821 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4826 #### Work around bug in automake check macro
4827 ## yes it is hugly, but no choice here for now.
4828 $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
4830 if test -f $srcdir/config.status; then
4831 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"
4832 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4837 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4841 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4842 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4845 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4848 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4851 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4855 if test "${have_linux}" = "yes"; then
4856 EFL_ADD_FEATURE([system], [inotify])
4857 EFL_ADD_FEATURE([system], [atfile_source])
4858 elif test "${have_windows}" = "yes"; then
4859 EFL_ADD_FEATURE([system], [notify_win32])
4861 EFL_ADD_FEATURE([system], [ipv6])
4863 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4864 efl_have_spinlock="yes"
4866 efl_have_spinlock="no"
4868 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4869 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4870 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4871 EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
4876 echo "------------------------------------------------------------------------"
4877 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4878 echo "------------------------------------------------------------------------"
4881 if test "x${have_windows}" = "xyes" ; then
4882 osname="${host_os}(${_efl_windows_version})"
4887 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4888 echo " EFL API Set...: ${efl_api}"
4889 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4890 echo " System Feature: ${features_system}"
4891 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4892 echo " Cryptography..: ${build_crypto}"
4893 echo " X11...........: ${with_x11}"
4894 echo " OpenGL........: ${with_opengl}"
4895 echo " C++11.........: ${have_cxx11}"
4896 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
4897 echo "Eo..............: yes (${features_eo})"
4898 echo "Eolian..........: yes (${features_eolian})"
4899 echo "Emile...........: yes (${features_emile})"
4900 echo "Eet.............: yes"
4901 echo "Evas............: yes (${features_evas})"
4902 echo " Engines.......: ${features_evas_engine}"
4903 echo " Image Loaders.: ${features_evas_loader}"
4904 if test "x${have_pixman}" = "xyes" ; then
4905 echo " Pixman........: ${features_evas_pixman}"
4907 echo "Ecore...........: yes (${features_ecore})"
4908 echo "Ecore_Con.......: yes (${features_ecore_con})"
4909 echo "Ecore_File......: yes"
4910 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4911 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4912 echo "Ecore_SDL.......: $want_sdl"
4913 echo "Ecore_Wayland...: $want_wayland"
4914 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4915 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
4916 if test "${have_linux}" = "yes"; then
4917 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4918 elif test "${have_ps3}" = "yes"; then
4919 echo "Ecore_PSL1GHT...: $have_ps3"
4920 elif test "${have_darwin}" = "yes"; then
4921 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4922 elif test "${have_windows}" = "yes"; then
4923 echo "Ecore_Win32.....: $have_win32"
4925 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4926 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4927 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4928 echo "Ector...........: yes"
4929 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4930 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4931 echo "Edje............: yes (${features_edje})"
4932 echo "Emotion.........: yes (${features_emotion})"
4933 echo "Ethumb..........: yes"
4934 echo "Ethumb_Client...: yes"
4935 echo "Elua............: $have_elua"
4936 if test "${build_tests}" = "none"; then
4937 echo "Tests...........: no"
4938 elif test "${build_tests}" = "auto"; then
4939 echo "Tests...........: make check (inexplicitly enabled)"
4940 elif test "${build_tests}" = "regular"; then
4941 echo "Tests...........: make check"
4942 elif test "${build_tests}" = "coverage"; then
4943 echo "Tests...........: make lcov-check"
4945 echo "Examples........: make examples (make install-examples)"
4946 if test "x${build_doc}" = "xyes"; then
4947 echo "Documentation...: make doc"
4949 echo "Documentation...: no"
4951 echo "Compilation.....: make (or gmake)"
4952 echo " CPPFLAGS......: $CPPFLAGS"
4953 echo " CFLAGS........: $CFLAGS"
4954 echo " CXXFLAGS......: $CXXFLAGS"
4955 echo " LDFLAGS.......: $LDFLAGS"
4957 if test "x${with_binary_edje_cc}" != "x"; then
4958 echo " edje_cc.......: ${with_binary_edje_cc}"
4961 if test "x${with_binary_eolian_gen}" != "x"; then
4962 echo " eolian_gen....: ${with_binary_eolian_gen}"
4965 if test "x${with_binary_eolian_cxx}" != "x"; then
4966 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
4969 if test "x${with_binary_elua_bin}" != "x"; then
4970 echo " elua..........: ${with_binary_elua_bin}"
4974 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
4975 echo " prefix........: $prefix"
4976 echo " dbus units....: $dbusservicedir"
4977 if test "${have_systemd_user_session}" = "yes"; then
4978 echo " systemd units.: $USER_SESSION_DIR"
4982 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
4983 echo " _________________________________________"
4984 echo "/ Systemd dependency is available on your \\"
4985 echo "| system, but you are building without |"
4986 echo "| systemd support. Don't forget to |"
4987 echo "| --enable-systemd if you want systemd |"
4988 echo "\\ integration for EFL. /"
4989 echo " -----------------------------------------"
4991 echo " \\ (oo)\\_______"
4992 echo " (__)\\ )\\/\\"
4997 if test -n "$CFOPT_WARNING"; then
4998 echo "_____________________________________________________________________"
5000 echo "==-- WARNING --=="
5002 echo "_____________________________________________________________________"
5003 if test "x${with_x11}" = "xxcb"; then
5004 echo "_____________________________________________________________________"
5005 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
5006 echo "is amazingly faster than Xlib (when used sensibly). It can be"
5007 echo "faster in a few corner cases on startup of an app, but it comes"
5008 echo "with many downsides. One of those is more complex code inside"
5009 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
5010 echo "the big catch is that OpenGL support basically requires Xlib anyway"
5011 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
5012 echo "gain nothing really in terms of speed and no savings in memory"
5013 echo "because Xlib is still linked, loaded and used, BUT instead you"
5014 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
5015 echo "toolkit and this is basically never tested by anyone working on"
5016 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
5017 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
5018 echo "off the memory footprint of a whole system and live with less"
5019 echo "tested code, and possibly unimplemented features in ecore_x. To"
5020 echo "remove the XCB setup, remove the --with-x11=xcb option to"
5022 echo "_____________________________________________________________________"
5024 if test "x${want_physics}" = "xno"; then
5025 echo "_____________________________________________________________________"
5026 echo "You have chosen to disable physics support. This disables lots of"
5027 echo "core functionality and is effectively never tested. You are going"
5028 echo "to find features that suddenly don't work and as a result cause"
5029 echo "a series of breakages. This is simply not tested so you are on"
5030 echo "your own in terms of ensuring everything works if you do this"
5031 echo "_____________________________________________________________________"
5033 if test "x${efl_have_threads}" = "xno"; then
5034 echo "_____________________________________________________________________"
5035 echo "You have disabled threading support. A lot of code is literally"
5036 echo "written to need threading. We never test or even build with"
5037 echo "threading disabled, so doing this is entering uncharted territory."
5038 echo "There is a very good chance things may not compile at all, or if"
5039 echo "the do, they will break at runtime in weird and wonderful ways."
5040 echo "Highly reconsider what you are doing here, or be prepared to deal"
5041 echo "with the fallout yourself."
5042 echo "_____________________________________________________________________"
5044 if test "x${want_fontconfig}" = "xno"; then
5045 echo "_____________________________________________________________________"
5046 echo "You have disabled fontconfig. This is going to make general font"
5047 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5048 echo "will work alongside some old-school ttf file path searching. This"
5049 echo "is very likely not what you want, so highly reconsider turning"
5050 echo "fontconfig off. Having it off will lead to visual problems like"
5051 echo "missing text in many UI areas etc."
5052 echo "_____________________________________________________________________"
5054 if test "x${want_fribidi}" = "xno"; then
5055 echo "_____________________________________________________________________"
5056 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5057 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5058 echo "you want to disable unless you know for absolute certain you"
5059 echo "will never encounter and have to display such scripts. Also"
5060 echo "note that we don't test with fribidi disabled so you may also"
5061 echo "trigger code paths with bugs that are never normally used."
5062 echo "_____________________________________________________________________"
5064 if test "x${want_pixman}" = "xyes"; then
5065 echo "_____________________________________________________________________"
5066 echo "Pixman allows you to replace some rendering paths in Evas with"
5067 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5068 echo "the rendering paths with Pixman enabled are not tested often so"
5069 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5070 echo "you wish to deal with these bugs."
5071 echo "_____________________________________________________________________"
5073 if test "x${have_tile_rotate}" = "xyes"; then
5074 echo "_____________________________________________________________________"
5075 echo "Tiled rotation code is not tested much, so be aware that you"
5076 echo "may introduce bugs by enabling this."
5077 echo "_____________________________________________________________________"
5079 if test "x${want_g_main_loop}" = "xyes"; then
5080 echo "_____________________________________________________________________"
5081 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5082 echo "regularly, but the glib mainloop integration (on by default) is."
5083 echo "You can use apps that use glib mainloop constructs by default"
5084 echo "this way, but the Ecore mainloop is not built on top of glib."
5085 echo "You have enabled ecore to be built on top of glib and thus you"
5086 echo "may experience bugs that normally would not be there. Be prepared"
5087 echo "to fix these if they arise."
5088 echo "_____________________________________________________________________"
5090 if test "x${want_gstreamer}" = "xyes"; then
5091 echo "_____________________________________________________________________"
5092 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5093 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5094 echo "and will eventually be removed entirely. Don't enable the old"
5095 echo "Gstreamer support unless you want to deal with the issues yourself."
5096 echo "_____________________________________________________________________"
5098 if test "x${want_gstreamer1}" = "xno"; then
5099 echo "_____________________________________________________________________"
5100 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5101 echo "this as it will heavily limit your media support options and render"
5102 echo "some functionality as useless, leading to visible application bugs."
5103 echo "_____________________________________________________________________"
5105 if test "x${want_eo_id}" = "xno"; then
5106 echo "_____________________________________________________________________"
5107 echo "Eo's ID abstraction interface is a major safety system that"
5108 echo "protects code from crashing or misbehaving in many cases. It does"
5109 echo "come at a slight cost, but the safety and protection is worth it."
5110 echo "Also by disabling this, you may also introduce security holes in"
5111 echo "EFL as well as cause all sorts of previously non-existant crashes."
5112 echo "Seriously reconsider disabling EO ID."
5113 echo "_____________________________________________________________________"
5115 if test "x${want_evas_cserve2}" = "xno"; then
5116 echo "_____________________________________________________________________"
5117 echo "Evas Cserve is built and on by default and no testing is done"
5118 echo "for the old non-cserve2 code paths, so by disabling this you"
5119 echo "may be introducing bugs. Be aware of this and be prepared to"
5120 echo "deal with the bugs as a result of this."
5121 echo "_____________________________________________________________________"
5123 if test "x${want_audio}" = "xno"; then
5124 echo "_____________________________________________________________________"
5125 echo "You disabled audio support in Ecore. This is not tested and may"
5126 echo "Create bugs for you due to it creating untested code paths."
5127 echo "Reconsider disabling audio."
5128 echo "_____________________________________________________________________"
5130 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5131 echo "_____________________________________________________________________"
5132 echo "The only audio output method supported by Ecore right now on your"
5133 echo "system is via Pulseaudio. You have disabled that and likely have"
5134 echo "broken a whole bunch of things in the process. Reconsider your"
5135 echo "configure options."
5136 echo "_____________________________________________________________________"
5138 if test "x${want_xinput2}" = "xno"; then
5139 echo "_____________________________________________________________________"
5140 echo "You have disabled xinput2 support. This means a whole lot of input"
5141 echo "devices in X11 will not work correctly. You likely do not want to"
5143 echo "_____________________________________________________________________"
5145 if test "x${want_xim}" = "xno"; then
5146 echo "_____________________________________________________________________"
5147 echo "You disabled XIM input method support. This is the most basic and"
5148 echo "core input method protocol supported in X11 and you almost certainly"
5149 echo "want the support for it. Input methods allow for complex text input"
5150 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5151 echo "on touch/mobile devices."
5152 echo "_____________________________________________________________________"
5154 if test "x${want_scim}" = "xno"; then
5155 echo "_____________________________________________________________________"
5156 echo "SCIM is a modern and very common input method framework and you"
5157 echo "disabled support for it. You very likely want the support for"
5158 echo "complex language input, so please reconsider this. Input methods"
5159 echo "allow for complex text input like for Chinese, Japanese and Korean"
5160 echo "as well as virtual keyboards on touch/mobile devices."
5161 echo "_____________________________________________________________________"
5163 if test "x${want_libmount}" = "xno"; then
5164 echo "_____________________________________________________________________"
5165 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5166 echo "for support of removable devices etc. and disabling this will"
5167 echo "hurt support for Enlightenment and its filemanager."
5168 echo "_____________________________________________________________________"
5170 if test "x${want_multisense}" = "xno"; then
5171 echo "_____________________________________________________________________"
5172 echo "Multisense has been disabled. This causes Edje audio suport to"
5173 echo "Simply not work, and will break applications and libraries"
5174 echo "that rely on it with users then reporting bugs."
5175 echo "If you want to mute audio, there are APIs and policies to do"
5176 echo "that, as opposed to compiling it out."
5177 echo "_____________________________________________________________________"
5179 if test "x${efl_api}" = "xeo"; then
5180 echo "_____________________________________________________________________"
5181 echo "Using the EO based EFL API only does not work at the moment. We still"
5182 echo "have a lot code that depends on the legacy interfaces. We provide"
5183 echo "this option for testing once we are able to migrate to the EO based"
5185 echo "If you are not working on this migration please leave the option set"
5186 echo "to both as it will break your build if set to eo."
5187 echo "_____________________________________________________________________"
5189 if test "x${want_libeeze}" = "xno"; then
5190 echo "_____________________________________________________________________"
5191 echo "Libeeze has been disabled, and it is used heavily for support of"
5192 echo "removable devices etc. and disabling this will hurt support for"
5193 echo "Enlightenment and its filemanager."
5194 echo "_____________________________________________________________________"
5196 echo "_____________________________________________________________________"
5198 echo "==-- WARNING --=="
5200 echo "_____________________________________________________________________"
5201 if test -n "$BARF_OK"; then
5202 echo "Please add the following option to acknowledge this:"
5203 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"
5204 echo "_____________________________________________________________________"
5211 if test "x$prefix" != "x/usr"; then
5213 path=$dbusservicedir
5214 while test "x$old" != "x$path"; do
5216 eval path="\"$path\""
5218 resolved_dbusservicedir=$path
5221 path=$USER_SESSION_DIR
5222 while test "x$old" != "x$path"; do
5224 eval path="\"$path\""
5226 resolved_USER_SESSION_DIR=$path
5227 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5231 while test "x$old" != "x$path"; do
5233 eval path="\"$path\""
5235 resolved_datadir=$path
5238 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5239 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5240 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5241 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5246 needs_alert_systemd=0
5247 if test "$have_systemd_user_session" = "yes"; then
5248 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5249 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5250 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5251 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5253 needs_alert_systemd=1
5257 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5258 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5259 what_alert="dbus and systemd"
5260 elif test $needs_alert_dbus -eq 1; then
5263 what_alert="systemd"
5267 echo "#-------------------------------------------------------------------#"
5268 echo "##==-- ALERT --==##"
5269 echo "#-------------------------------------------------------------------#"
5271 echo " Your installation prefix is *NOT* /usr so this means you need"
5272 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5273 echo "be started when needed. You will need to do the following:"
5274 if test $needs_alert_dbus -eq 1; then
5276 echo "System-wide installation:"
5277 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5279 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5281 echo "User installation:"
5282 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5284 if test $needs_alert_systemd -eq 1; then
5286 echo "System-wide installation:"
5287 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5289 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5291 echo "User installation:"
5292 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5295 echo "#-------------------------------------------------------------------#"
5299 if test "x${efl_deprecated_option}" = "xyes"; then
5301 echo "#-------------------------------------------------------------------#"
5302 echo "##==-- ALERT --==##"
5303 echo "#-------------------------------------------------------------------#"
5305 echo " Your build script is using a deprecated option. It will get b0rken"
5306 echo "with the next release of EFL. You better update it now than later."
5308 echo "#-------------------------------------------------------------------#"