1 EFL_VERSION([1], [17], [99], [dev])
2 AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
8 AC_CONFIG_HEADERS([config.h])
10 #ifndef EFL_CONFIG_H__
11 #define EFL_CONFIG_H__
14 #endif /* EFL_CONFIG_H__ */
18 AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects])
19 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
21 # Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
22 # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
23 AC_USE_SYSTEM_EXTENSIONS
27 #### Apply configuring with legacy api's only, eo api's or both.
29 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
30 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
33 #### For the moment the Eo EFL API is not ready you need to explicitely optin.
34 EFL_ENABLE_EO_API_SUPPORT
35 EFL_ENABLE_BETA_API_SUPPORT
38 [AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
44 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
45 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
54 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
56 *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
59 AC_SUBST(EFL_API_LEGACY_DEF)
60 AC_SUBST(EFL_API_EO_DEF)
62 #### Additional options to configure
64 # string to identify the build
66 [AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
67 @<:@default=none@:>@])],
68 [EFL_BUILD_ID="${withval}"],
69 [EFL_BUILD_ID="none"])
70 AC_SUBST(EFL_BUILD_ID)
73 AC_ARG_WITH([profile],
74 [AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
75 @<:@default=dev@:>@])],
76 [build_profile=${withval}],
77 [build_profile=def_build_profile])
79 case "${build_profile}" in
83 AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
88 eina_log_backtrace="yes"
89 case "${build_profile}" in
92 eina_log_backtrace="no"
96 # Enable CRI & ERR backtrace by default for release but not for dev/debug
97 AC_DEFINE_IF([EINA_LOG_BACKTRACE_ENABLE], [test "x${eina_log_backtrace}" = "xyes"], [1], [Default log level triggering backtraces])
99 # TODO: add some build "profile" (server, full, etc...)
101 AC_ARG_WITH([crypto],
102 [AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
103 openssl, gnutls or none.
104 @<:@default=openssl@:>@])],
105 [build_crypto=${withval}],
106 [build_crypto=openssl])
108 case "${build_crypto}" in
112 AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
117 [AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none.
118 @<:@default=none@:>@])],
119 [build_tests=${withval}],
124 case "${build_tests}" in
126 if test "${build_profile}" = "dev"; then
140 AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
144 AC_ARG_WITH([ecore-con-http-test-url],
145 [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])])
147 AC_ARG_WITH([ecore-con-ftp-test-url],
148 [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])])
150 dbusservicedir="${datadir}/dbus-1/services"
151 AC_ARG_WITH([dbus-services],
152 [AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
153 [dbusservicedir=$withval])
154 AC_SUBST(dbusservicedir)
156 efl_deprecated_option="no"
157 EFL_WITH_BIN([edje], [edje-cc])
158 EFL_WITH_BIN([eolian], [eolian-gen])
159 EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
160 EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
164 requirements_pc_eflall=""
165 requirements_pc_deps_eflall=""
166 requirements_libs_eflall=""
167 requirements_cflags_eflall=""
169 requirements_pc_crypto=""
170 requirements_pc_deps_crypto=""
171 requirements_libs_crypto=""
172 requirements_cflags_crypto=""
176 # TODO: move me to m4 file that setups module/so related variables
179 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
184 MODULE_ARCH="v-v_maj.v_min"
188 MODULE_ARCH="v-v_maj.v_min"
192 MODULE_ARCH="v-v_maj.v_min"
197 EFL_VERSION_MAJOR="v_maj"
198 EFL_VERSION_MINOR="v_min"
199 AC_SUBST(EFL_VERSION_MAJOR)
200 AC_SUBST(EFL_VERSION_MINOR)
202 have_systemd_pkg="no"
211 # TODO: check cygwin* here
214 EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
224 have_systemd_pkg="auto"
228 case "$host_vendor" in
234 AC_SUBST([MODULE_ARCH])
235 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
236 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
237 AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
239 # TODO: move me to m4 file that setups the windows related variables
240 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
241 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
242 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
244 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
245 AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
246 AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
248 #### Checks for programs
252 if test "x${have_windows}" = "xyes" ; then
253 lt_cv_deplibs_check_method='pass_all'
255 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
256 LT_INIT([win32-dll disable-static pic-only])
261 AM_GNU_GETTEXT_VERSION([0.18])
263 m4_ifdef([AC_GNU_GETTEXT], [
264 AC_GNU_GETTEXT([external])
265 po_makefile_in=po/Makefile.in
269 m4_ifdef([AM_GNU_GETTEXT], [
270 AM_GNU_GETTEXT([external])
271 po_makefile_in=po/Makefile.in
278 AC_SUBST([LTLIBINTL])
279 LOCALE_DIR="${localedir}"
282 if test "x${POSUB}" = "x" ; then
286 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
299 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
301 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
302 AC_MSG_ERROR([efl requires a c99-capable compiler])
304 # We should be using ${CXX} here, but there is a bug in
305 # autotools macro and CXX is always set to g++ even if
306 # it's not found. So we are using an internal variable
307 # that does the work for now, may get broken in the future.
308 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
309 AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
317 if test "x${PKG_CONFIG}" = "x" ; then
318 AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
321 # doxygen program for documentation building
323 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
327 if test "${want_coverage}" = "yes" ; then
328 AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
329 if test "x${have_lcov}" = "xyes" ; then
330 AC_SEARCH_LIBS([gcov], [_gcov_init])
331 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-arcs -ftest-coverage])
332 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
333 EFL_CHECK_LINKER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
334 if test "x${prefer_assert}" = "xno"; then
335 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
337 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0 -DDEBUG"
340 AC_MSG_ERROR([lcov is not found])
344 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
346 #### Checks for libraries
348 # check unit testing library
350 if test "${want_tests}" = "yes"; then
351 PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
353 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
356 # check for crypto/tls library to use
357 case "$build_crypto" in
359 EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16])
361 AM_PATH_LIBGCRYPT([], [:],
362 [AC_MSG_ERROR([libgcrypt required but not found])])
363 requirements_libs_crypto="${LIBGCRYPT_LIBS} ${requirements_libs_crypto}"
364 requirements_cflags_crypto="${LIBGCRYPT_CFLAGS} ${requirements_cflags_crypto}"
368 EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
371 AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
372 AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
376 AC_ARG_ENABLE([lua-old],
377 [AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
379 if test "x${enableval}" = "xyes" ; then
387 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
388 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
389 [1], [Use interpreted Lua (5.1 or 5.2)])
390 AC_SUBST([want_lua_old])
394 AC_ARG_ENABLE([liblz4],
395 [AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
397 if test "x${enableval}" = "xyes" ; then
398 # Only ships pc file since r120
399 PKG_CHECK_MODULES([LIBLZ4], [liblz4])
400 EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
401 EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
409 AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
410 AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
411 AC_SUBST([want_liblz4])
412 AC_SUBST([ENABLE_LIBLZ4])
414 #### Checks for header files
416 # Common Checks (keep names sorted for ease of use):
434 #### Checks for types
437 AC_CHECK_SIZEOF([wchar_t])
438 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
439 AC_SUBST([EINA_SIZEOF_WCHAR_T])
441 AC_CHECK_SIZEOF(int, 4)
442 AC_CHECK_SIZEOF(long, 4)
444 AC_CHECK_SIZEOF([uintptr_t])
446 AC_CHECK_TYPES([siginfo_t], [], [],
450 # include <siginfo.h>
454 #### Checks for structures
457 #### Checks for compiler characteristics
461 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
462 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])
463 case "${build_profile}" in
465 dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
466 AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
467 CFLAGS_save="${CFLAGS}"
468 CFLAGS="${CFLAGS} -Werror -Wshadow"
469 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
470 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
471 CFLAGS="${CFLAGS_save}"
482 EFL_ATTRIBUTE_ALWAYS_INLINE
484 EFLALL_LIBS="${EFLALL_LIBS}"
485 EFLALL_CFLAGS="${EFLALL_CFLAGS}"
487 ## CPU architecture specific assembly
491 build_cpu_altivec="no"
495 AC_ARG_ENABLE([neon],
496 [AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
498 if test "x${enableval}" = "xyes"; then
511 AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
513 AC_CHECK_HEADER([immintrin.h],
515 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
518 [build_cpu_sse3="no"])
519 AC_MSG_CHECKING([whether to build SSE3 code])
520 AC_MSG_RESULT([${build_cpu_sse3}])
522 if test "x$build_cpu_sse3" = "xyes" ; then
527 build_cpu_altivec="yes"
528 AC_CHECK_HEADER([altivec.h],
530 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
531 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
532 build_cpu_altivec="yes"
536 save_CPPFLAGS=$CPPFLAGS
537 CFLAGS=$CFLAGS" -maltivec"
538 CPPFLAGS=$CPPFLAGS" -maltivec"
539 unset ac_cv_header_altivec_h
540 AC_CHECK_HEADER([altivec.h],
542 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
543 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
544 build_cpu_altivec="yes"
546 [build_cpu_altivec="no"]
549 CPPFLAGS=$save_CPPFLAGS
552 if test "x${build_cpu_altivec}" = "xyes"; then
553 AC_MSG_CHECKING([whether to use altivec compiler flag])
554 if test "x$GCC" = "xyes"; then
555 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
556 altivec_cflags="-faltivec"
557 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
558 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
559 altivec_cflags="-maltivec"
560 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
563 AC_MSG_RESULT([${altivec_cflags}])
564 CFLAGS="$CFLAGS ${altivec_cflags}"
565 ALTIVEC_CFLAGS="-maltivec"
569 if test "x${want_neon}" = "xyes"; then
571 AC_MSG_CHECKING([whether to use NEON instructions])
572 CFLAGS_save="${CFLAGS}"
573 CFLAGS="${CFLAGS} -mfpu=neon -ftree-vectorize"
574 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
576 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
578 NEON_CFLAGS="-mfpu=neon"
583 CFLAGS="${CFLAGS_save}"
587 if test "x${want_neon}" = "xyes"; then
589 AC_MSG_CHECKING([whether to use NEON instructions])
590 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
592 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
593 AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
603 AC_SUBST([ALTIVEC_CFLAGS])
604 AC_SUBST([SSE3_CFLAGS])
605 AC_SUBST([NEON_CFLAGS])
607 #### Checks for linker characteristics
610 #### Checks for library functions
631 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl])
633 have_atfile_source="${ac_cv_func_fstatat}"
634 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
635 [test "x${have_atfile_source}" = "xyes"],
636 [1], [Use fstatat and other -at file functions])
640 ###################### EFL ######################
643 AC_ARG_ENABLE([libeeze],
644 [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
646 if test "x${enableval}" = "xyes"; then
655 if test "x${want_libeeze}" = "xyes" ; then
656 if test "x${have_linux}" = "xyes" ; then
666 AC_ARG_ENABLE([systemd],
667 [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
669 if test "x${enableval}" = "xyes" ; then
678 systemd_dbus_prefix="# "
679 if test "${want_systemd}" = "yes"; then
680 systemd_dbus_prefix=""
682 AC_SUBST(systemd_dbus_prefix)
684 AC_ARG_WITH([systemdunitdir],
685 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
686 [USER_SESSION_DIR=${withval}])
687 if test "$want_systemd" == "no"; then
688 have_systemd_user_session="no"
689 elif test -n "${USER_SESSION_DIR}"; then
690 have_systemd_user_session="yes"
691 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
693 # Detect systemd user session directory properly
694 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
695 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
697 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
698 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
702 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
703 AC_SUBST([USER_SESSION_DIR])
705 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
706 PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
707 [have_systemd_pkg="yes"],
708 [have_systemd_pkg="no"])
711 # check for systemd library if requested
712 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
713 AC_MSG_ERROR([Systemd dependency requested but not found])
716 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
717 AM_CONDITIONAL([HAVE_SYSTEMD], [test "${want_systemd}" = "yes" -a "${have_systemd_pkg}" = "yes"])
718 #### Platform-dependent
721 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
725 ### Additional options to configure
726 EFL_SELECT_WINDOWS_VERSION
728 ### Checks for programs
730 ### Checks for libraries
732 EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid])
734 ### Checks for header files
738 ### Checks for structures
740 ### Checks for compiler characteristics
742 EVIL_CPPFLAGS="-DPSAPI_VERSION=1"
743 # TODO: should we have these at EFL (global?)
744 # Note: these warnings should not be used with C++ code
745 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
746 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
748 if test "x${have_win32}" = "xyes" ; then
749 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
750 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
753 AC_SUBST([EVIL_CPPFLAGS])
754 AC_SUBST([EVIL_CFLAGS_WRN])
755 AC_SUBST([EVIL_CXXFLAGS])
757 ### Checks for linker characteristics
759 ### Checks for library functions
761 EFL_LIB_END_OPTIONAL([Evil])
763 AC_SUBST([USE_EVIL_CFLAGS])
764 AC_SUBST([USE_EVIL_LIBS])
769 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
771 ### Additional options to configure
775 ### Checks for programs
777 ### Checks for libraries
778 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
780 ### Checks for header files
784 ### Checks for structures
786 ### Checks for compiler characteristics
788 ### Checks for linker characteristics
790 ### Checks for library functions
792 EFL_LIB_END_OPTIONAL([Escape])
795 EFL_CHECK_FUNC([SHM], [shm_open])
796 SHM_LIBS="${requirements_libs_shm}"
800 AC_SUBST([DL_INTERNAL_LIBS])
801 #### End of Platform-dependent
806 EFL_LIB_START([Eina])
810 have_safety_checks="yes"
812 case "${build_profile}" in
814 with_max_log_level=""
815 have_stringshare_usage="no"
817 want_debug_malloc="no"
818 want_debug_threads="no"
819 want_default_mempool="no"
824 with_max_log_level=""
825 have_stringshare_usage="yes"
827 want_debug_malloc="yes"
828 want_debug_threads="yes"
829 want_default_mempool="yes"
834 with_max_log_level="3"
835 have_stringshare_usage="no"
837 want_debug_malloc="no"
838 want_debug_threads="no"
839 want_default_mempool="no"
844 PKG_CHECK_MODULES(UNWIND, [libunwind libunwind-generic],
845 [have_unwind=yes], [have_unwind=no])
846 AS_IF([test "x$have_unwind" = "xyes"],
847 [AC_DEFINE([HAVE_UNWIND], [1], [Have libunwind])])
848 AM_CONDITIONAL(HAVE_UNWIND, test "x$have_unwind" = "xyes")
850 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
851 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
852 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
854 if test -n "${with_max_log_level}"; then
855 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
856 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
859 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
860 [test "x${have_stringshare_usage}" = "xyes"],
861 [1], [Report Eina stringshare usage pattern])
863 ### Additional options to configure
864 AC_ARG_ENABLE([magic-debug],
865 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
867 if test "x${enableval}" = "xyes" ; then
868 have_magic_debug="yes"
870 have_magic_debug="no"
873 [have_magic_debug="yes"])
875 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
877 AC_ARG_WITH([xattr-tests-path],
878 [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])])
880 evas_dicts_hyphen_dir="/usr/share/hyphen/"
881 AC_ARG_WITH([dictionaries-hyphen-dir],
882 [AS_HELP_STRING([--with-dictionaries-hyphen-dir=DIR],[path of hunspell-compatible hyphen dictionaries])], [evas_dicts_hyphen_dir=$withval])
883 AC_DEFINE_UNQUOTED([EVAS_DICTS_HYPHEN_DIR],["$evas_dicts_hyphen_dir"], [Hunspell-compatible hyphen dictionaries install directory])
885 ### Checks for programs
887 ### Checks for libraries
888 EFL_PLATFORM_DEPEND([EINA], [all])
890 EFL_ADD_LIBS([EINA], [-lm])
895 AC_ARG_ENABLE([valgrind],
896 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
898 if test "x${enableval}" = "xyes" ; then
905 if test "${want_valgrind}" = "auto"; then
906 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
908 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
911 if test "${want_valgrind}" = "no"; then
912 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
914 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
915 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
918 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
919 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
920 [1], [Turn on debugging overhead in mempool])
922 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
923 [test "x${want_cow_magic}" = "xyes" ],
924 [1], [Turn on Eina_Magic in Eina_Cow])
926 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd])
928 EFL_EVAL_PKGS([EINA])
934 PKG_CHECK_MODULES([GLIB],
939 if test "x${have_glib}" = "xyes" ; then
940 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
943 ### Checks for header files
945 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
946 CFLAGS_save="${CFLAGS}"
947 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
948 AC_CHECK_HEADERS([sys/mman.h])
949 CFLAGS="${CFLAGS_save}"
951 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
955 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
956 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
957 [1], [Define to 1 if you have a valid <dirent.h> header file.])
959 ### Checks for structures
961 ### Checks for compiler characteristics
962 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
964 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
965 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
966 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
968 ### Checks for linker characteristics
970 ### Checks for library functions
972 AC_CHECK_FUNCS([fchmod])
974 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
977 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
981 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
982 AC_MSG_RESULT([${enable_log}])
984 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
987 if test "x${efl_have_threads}" = "xno"; then
995 static __thread int a = 0;
997 [have_thread_specifier="yes"],
998 [have_thread_specifier="no"])
999 AC_MSG_CHECKING([for __thread specifier])
1000 AC_MSG_RESULT([${have_thread_specifier}])
1001 if test "x${have_thread_specifier}" = "xyes" ; then
1002 AC_DEFINE([HAVE_THREAD_SPECIFIER], [1], [Have the __thread specifier])
1005 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
1006 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
1008 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
1009 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
1010 EINA_CONFIG([HAVE_PTHREAD_SETNAME], [test "x${efl_have_setname}" = "xyes"])
1011 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
1012 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
1013 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
1014 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1018 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1019 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1020 EINA_CHECK_MODULE([one-big], [static], [one big])
1022 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1028 EFL_LIB_START([Eina_Cxx])
1030 EFL_CXX_COMPILE_STDCXX_11([ext])
1031 AC_ARG_ENABLE([cxx-bindings],
1032 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1033 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1035 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1041 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1043 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1044 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1045 EFL_EVAL_PKGS([EINA_CXX])
1047 EFL_LIB_END([Eina_Cxx])
1048 #### End of Eina CXX
1051 [AS_HELP_STRING([--with-js=@<:@nodejs/libv8/libuv/none@:>@],[enable JavaScript bindings using nodejs or libv8/libuv as build dependencies. The libuv option implies libv8. @<:@default=none@:>@])],
1052 [want_js="${withval}"], [want_js="none"])
1058 AC_CHECK_HEADERS([node/v8.h nodejs/deps/v8/v8.h nodejs/deps/v8/include/v8.h nodejs/src/v8.h v8.h],
1061 v8_header_define=AS_TR_CPP([HAVE_]AC_header)
1062 EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$v8_header_define"
1065 [AC_MSG_ERROR([Could not find v8 include headers from nodejs.])])
1066 AC_CHECK_HEADERS([node/node.h nodejs/deps/node/node.h nodejs/deps/node/include/node.h nodejs/src/node.h node.h],
1068 node_header_define=AS_TR_CPP([HAVE_]AC_header)
1069 EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$node_header_define"
1072 [AC_MSG_ERROR([Could not find node include headers from nodejs.])])
1073 AC_CHECK_HEADERS([node/uv.h nodejs/deps/uv/uv.h nodejs/deps/uv/include/uv.h nodejs/src/uv.h uv.h],
1075 uv_header_define=AS_TR_CPP([HAVE_]AC_header)
1076 EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$uv_header_define"
1079 [AC_MSG_ERROR([Could not find uv include headers from nodejs.])])
1082 AC_CHECK_HEADERS([v8.h],
1087 [AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
1090 AC_CHECK_HEADERS([v8.h],
1095 [AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
1096 AC_CHECK_HEADERS([uv.h],
1098 [AC_MSG_ERROR([Could not find uv include headers from libuv.])])
1102 *) AC_MSG_ERROR([Invalid javascript dependency (${want_js}): must be none, nodejs, libv8 or libuv]) ;;
1106 have_v8_create_params="no"
1107 if test "$want_js" != "none" ; then
1111 #include "$v8_header"
1114 v8::Isolate::CreateParams create_params; create_params.array_buffer_allocator = nullptr;
1118 AC_DEFINE(HAVE_V8_CREATE_PARAMS, 1, [Define to 1 if you must pass create_params explicitly.])
1119 have_v8_create_params="yes"
1120 AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... yes])
1123 AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... no])
1128 #include "$v8_header"
1129 #include <type_traits>
1132 static_assert((std::is_same< ::v8::Global<void>, ::v8::UniquePersistent<void>>::value), "");
1136 AC_DEFINE(HAVE_V8_GLOBAL, 1, [Define to 1 if you must pass create_params explicitly.])
1137 have_v8_global="yes"
1138 AC_MSG_NOTICE([checking for v8::Global<T> class... yes])
1141 AC_MSG_NOTICE([checking for v8::Global<T> class... no])
1144 AM_CONDITIONAL([HAVE_V8_CREATE_PARAMS], [test "x${have_v8_create_params}" = "xyes"])
1145 AM_CONDITIONAL([HAVE_V8_GLOBAL], [test "x${have_v8_global}" = "xyes"])
1146 AC_SUBST([HAVE_V8_CREATE_PARAMS])
1147 AC_SUBST([HAVE_V8_GLOBAL])
1150 AM_CONDITIONAL([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"])
1151 AC_DEFINE_IF([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"],
1152 [1], [Using NodeJS])
1154 AC_SUBST([HAVE_NODEJS])
1157 if test "x${want_js}" != "xnone" ; then
1160 AM_CONDITIONAL([HAVE_JS], [test "x${have_js}" = "xyes"])
1161 AC_DEFINE_IF([HAVE_JS], [test "x${have_js}" = "xyes"], [1], [Compiling bindings for JavaScript])
1164 AM_CONDITIONAL([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"])
1165 AC_DEFINE_IF([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"],
1166 [1], [Compiling libuv event loop integration])
1167 AC_SUBST([HAVE_LIBUV])
1169 # For efljspack mime handling
1170 AM_CONDITIONAL([HAVE_XDG_DATA_HOME], [test "x${XDG_DATA_HOME}" != "x"])
1171 AM_COND_IF([HAVE_XDG_DATA_HOME], [AC_SUBST([XDG_DATA_HOME])], [AC_SUBST([XDG_DATA_HOME], "$HOME/.local/share")])
1174 EFL_LIB_START_OPTIONAL([Eina_Js], [test "x${have_js}" = "xyes"])
1175 EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eina])
1176 EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eo])
1177 EFL_ADD_CFLAGS([EINA_JS], [${EFL_PTHREAD_CFLAGS}])
1178 EFL_EVAL_PKGS([EINA_JS])
1180 EFL_LIB_END_OPTIONAL([Eina_Js])
1184 EFL_LIB_START_OPTIONAL([Ecore_Js], [test "x${have_js}" = "xyes"])
1186 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore])
1187 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore_file])
1188 EFL_ADD_CFLAGS([ECORE_JS], [${EFL_PTHREAD_CFLAGS}])
1189 EFL_EVAL_PKGS([ECORE_JS])
1191 EFL_LIB_END_OPTIONAL([Ecore_Js])
1192 #### End of Ecore JS
1195 EFL_LIB_START_OPTIONAL([Eio_Js], [test "x${have_js}" = "xyes"])
1197 EFL_INTERNAL_DEPEND_PKG([EIO_JS], [eio])
1198 EFL_ADD_CFLAGS([EIO_JS], [${EFL_PTHREAD_CFLAGS}])
1199 EFL_EVAL_PKGS([EIO_JS])
1201 EFL_LIB_END_OPTIONAL([Eio_Js])
1205 EFL_LIB_START_OPTIONAL([Ethumb_Js], [test "x${have_js}" = "xyes"])
1207 EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb])
1208 EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb_client])
1209 EFL_ADD_CFLAGS([ETHUMB_JS], [${EFL_PTHREAD_CFLAGS}])
1210 EFL_EVAL_PKGS([ETHUMB_JS])
1212 EFL_LIB_END_OPTIONAL([Ethumb_Js])
1213 #### End of Ethumb JS
1216 EFL_LIB_START_OPTIONAL([Eldbus_Js], [test "x${have_js}" = "xyes"])
1218 EFL_INTERNAL_DEPEND_PKG([ELDBUS_JS], [eldbus])
1219 EFL_ADD_CFLAGS([ELDBUS_JS], [${EFL_PTHREAD_CFLAGS}])
1220 EFL_EVAL_PKGS([ELDBUS_JS])
1222 EFL_LIB_END_OPTIONAL([Eldbus_Js])
1223 #### End of Eldbus JS
1226 EFL_LIB_START_OPTIONAL([Eo_Js], [test "x${have_js}" = "xyes"])
1228 EFL_INTERNAL_DEPEND_PKG([EO_JS], [eina])
1229 EFL_ADD_CFLAGS([EO_JS], [${EFL_PTHREAD_CFLAGS}])
1230 EFL_EVAL_PKGS([EO_JS])
1232 EFL_LIB_END_OPTIONAL([Eo_Js])
1241 ### Additional options to configure
1243 ### Checks for programs
1245 ## Compatibility layers
1246 EFL_PLATFORM_DEPEND([EO], [evil])
1248 ### Checks for libraries
1249 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1251 # Example (evas one)
1253 # TODO: add once elementary is merged
1254 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1255 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1257 ### Checks for header files
1259 ### Checks for types
1261 ### Checks for structures
1263 ### Checks for compiler characteristics
1265 ### Checks for linker characteristics
1267 ### Checks for library functions
1268 EFL_CHECK_FUNCS([EO], [dladdr])
1270 ### Check availability
1276 EFL_LIB_START([Eet_Cxx])
1278 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1279 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1281 EFL_EVAL_PKGS([EET_CXX])
1283 EFL_LIB_END([Eet_Cxx])
1288 EFL_LIB_START([Emile])
1292 ### Additional options to configure
1294 ### Checks for programs
1296 ### Checks for libraries
1298 EFL_CHECK_LIBS([EMILE], [libjpeg])
1300 ## Compatibility layers
1301 EFL_PLATFORM_DEPEND([EMILE], [evil])
1303 EFL_ADD_LIBS([EMILE], [-lm])
1305 # Cryptography support
1306 if test "$build_crypto" != "none" ; then
1307 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1308 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1309 EFL_CRYPTO_DEPEND([EMILE])
1312 EFL_CHECK_LIBS([EMILE], [zlib])
1314 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1316 EFL_EVAL_PKGS([EMILE])
1318 ### Checks for header files
1320 ### Checks for types
1322 ### Checks for structures
1324 ### Checks for compiler characteristics
1326 ### Checks for linker characteristics
1328 ### Checks for library functions
1330 ### Check availability
1332 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1334 EFL_LIB_END([Emile])
1340 EFL_LIB_START([Eet])
1344 ### Additional options to configure
1346 ### Checks for programs
1348 ### Checks for libraries
1350 EFL_CHECK_LIBS([EET], [libjpeg])
1352 ## Compatibility layers
1353 EFL_PLATFORM_DEPEND([EET], [evil])
1355 EFL_ADD_LIBS([EET], [-lm])
1357 # Cryptography support
1358 if test "$build_crypto" != "none" ; then
1359 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1360 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1361 EFL_CRYPTO_DEPEND([EET])
1364 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1365 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1367 EFL_EVAL_PKGS([EET])
1369 ### Checks for header files
1371 ### Checks for types
1373 ### Checks for structures
1375 ### Checks for compiler characteristics
1377 ### Checks for linker characteristics
1379 ### Checks for library functions
1381 ### Check availability
1387 EFL_LIB_START([Eo_Cxx])
1389 EFL_EVAL_PKGS([EO_CXX])
1391 EFL_LIB_END([Eo_Cxx])
1396 EFL_LIB_START([Eolian])
1400 ### Additional options to configure
1401 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1403 ### Checks for programs
1405 ## Compatibility layers
1406 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1408 ### Checks for libraries
1409 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1411 ### Checks for header files
1413 ### Checks for types
1415 ### Checks for structures
1417 ### Checks for compiler characteristics
1419 ### Checks for linker characteristics
1421 ### Checks for library functions
1423 ### Check availability
1425 EFL_LIB_END([Eolian])
1428 EFL_LIB_START_OPTIONAL([Eolian_Js], [test "${have_js}" = "yes"])
1430 EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eina])
1431 EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eolian])
1433 EFL_LIB_END_OPTIONAL([Eolian_Js])
1437 EFL_LIB_START([Eolian_Cxx])
1440 ### Additional options to configure
1442 ### Checks for programs
1444 ## Compatibility layers
1446 ### Checks for libraries
1447 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1448 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1450 ### Checks for header files
1452 ### Checks for types
1454 ### Checks for structures
1456 ### Checks for compiler characteristics
1458 ### Checks for linker characteristics
1460 ### Checks for library functions
1462 ### Check availability
1463 EFL_LIB_END([Eolian_Cxx])
1467 EFL_LIB_START([Efl])
1469 EFL_PLATFORM_DEPEND([EFL], [evil])
1470 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1471 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1473 EFL_ADD_LIBS([EFL], [-lm])
1480 EFL_LIB_START([Ector])
1485 ### Additional options to configure
1487 ### Checks for programs
1489 ### Checks for libraries
1491 ## Compatibility layers
1493 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1495 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1496 EFL_INTERNAL_DEPEND_PKG([ECTOR], [emile])
1497 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eet])
1498 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1499 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1501 EFL_ADD_LIBS([ECTOR], [-lm])
1503 EFL_EVAL_PKGS([ECTOR])
1505 ### Checks for header files
1507 ### Checks for types
1509 ### Checks for structures
1511 ### Checks for compiler characteristics
1513 ### Checks for linker characteristics
1515 ### Checks for library functions
1517 ### Check availability
1519 EFL_LIB_END([ECTOR])
1525 EFL_LIB_START([Evas])
1527 ### Additional options to configure
1531 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1533 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1535 elif test "x${with_x11}" = "x"; then
1543 case "${with_x11}" in
1551 CFOPT_WARNING="xyes"
1557 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1562 AC_ARG_WITH([opengl],
1563 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1565 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1567 elif test "x${with_opengl}" = "x"; then
1571 case "${with_opengl}" in
1575 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1579 want_x11_xlib_opengl="no"
1580 want_x11_xcb_opengl="no"
1581 if test "${with_opengl}" != "none"; then
1582 want_x11_xlib_opengl="${want_x11_xlib}"
1583 want_x11_xcb_opengl="${want_x11_xcb}"
1584 want_x11_any_opengl="${want_x11_any}"
1588 AC_ARG_ENABLE([wayland],
1589 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1591 if test "x${enableval}" = "xyes" ; then
1597 [want_wayland="no"])
1599 if test "${want_wayland}" = "yes"; then
1600 EFL_PKG_CHECK_STRICT([wayland-client >= 1.8.0])
1604 AC_ARG_ENABLE([wayland-ivi-shell],
1605 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1607 if test "x${enableval}" = "xyes" ; then
1608 want_wayland_ivi_shell="yes"
1610 want_wayland_ivi_shell="no"
1613 [want_wayland_ivi_shell="no"])
1617 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1619 if test "x${enableval}" = "xyes" ; then
1628 AC_ARG_ENABLE([sdl],
1629 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1631 if test "x${enableval}" = "xyes" ; then
1639 if test "${want_sdl}" = "yes"; then
1640 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1643 # We only enable SDL with opengl if it is the full version and not ES
1644 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1645 # versions the SDL_opengles.h has never been released.
1647 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1648 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1650 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1655 AC_ARG_ENABLE([cocoa],
1656 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1658 if test "x${enableval}" = "xyes" ; then
1666 if test "${want_cocoa}" = "yes"; then
1667 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1670 m4_ifdef([AC_PROG_OBJC],
1672 if test "x${have_gnu_objc}" = "xyes" ; then
1673 AC_LANG_PUSH([Objective C])
1675 LIBS="$LIBS -framework Cocoa"
1679 #include <Cocoa/Cocoa.h>
1683 window = [[NSWindow alloc]
1684 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1685 styleMask:(NSTitledWindowMask)
1686 backing:NSBackingStoreBuffered
1693 cocoa_ldflags="-framework Cocoa"
1697 AC_MSG_CHECKING([whether Cocoa framework is supported])
1698 AC_MSG_RESULT([${have_cocoa}])
1699 AC_LANG_POP([Objective C])
1703 AC_SUBST(cocoa_ldflags)
1705 if test "x${want_cocoa}" = "xyes"; then
1706 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1707 cocoa_coreservices_ldflags=""
1708 have_cocoa_coreservices="no"
1709 m4_ifdef([AC_PROG_OBJC],
1711 if test "x${have_gnu_objc}" = "xyes" ; then
1712 AC_LANG_PUSH([Objective C])
1714 LIBS="$LIBS -framework CoreServices"
1718 #include <CoreServices/CoreServices.h>
1721 //test function here
1724 have_cocoa_coreservices="yes"
1725 cocoa_coreservices_ldflags="-framework CoreServices"
1727 [have_cocoa_coreservices="no"])
1729 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1730 AC_MSG_RESULT([${have_cocoa_coreservices}])
1731 AC_LANG_POP([Objective C])
1735 AC_SUBST(cocoa_coreservices_ldflags)
1738 AC_ARG_ENABLE([drm],
1739 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1741 if test "x${enableval}" = "xyes" ; then
1750 AC_ARG_ENABLE([gl-drm],
1751 [AC_HELP_STRING([--enable-gl-drm],
1752 [enable gl drm engine. @<:@default=disabled@:>@])],
1754 if test "x${enableval}" = "xyes" ; then
1762 AC_ARG_ENABLE([fontconfig],
1763 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1765 if test "x${enableval}" = "xyes" ; then
1766 want_fontconfig="yes"
1768 want_fontconfig="no"
1769 CFOPT_WARNING="xyes"
1772 [want_fontconfig="yes"])
1775 AC_ARG_ENABLE([fribidi],
1776 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1778 if test "x${enableval}" = "xyes" ; then
1782 CFOPT_WARNING="xyes"
1785 [want_fribidi="yes"])
1788 AC_ARG_ENABLE([eo_id],
1789 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1791 if test "x${enableval}" = "xyes" ; then
1795 CFOPT_WARNING="xyes"
1801 AC_ARG_ENABLE([harfbuzz],
1802 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1804 if test "x${enableval}" = "xyes" ; then
1810 [want_harfbuzz="no"])
1813 AC_ARG_ENABLE([hyphen],
1814 [AS_HELP_STRING([--enable-hyphen],[enable text hyphenation support. @<:@default=disabled@:>@])],
1816 if test "x${enableval}" = "xyes" ; then
1825 AC_ARG_ENABLE([egl],
1826 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1828 if test "x${enableval}" = "xyes" ; then
1836 # Verify OpenGL + EGL modes match (full+glx or es+egl)
1837 if test "x${want_egl}" = "xyes" && test "x${with_opengl}" != "xes" ; then
1838 AC_MSG_ERROR([Full OpenGL with EGL is not supported, please add --with-opengl=es to your configure options to switch to EGL + OpenGL ES.])
1840 if test "x${want_egl}" = "xno" && test "x${with_opengl}" = "xes" ; then
1841 AC_MSG_ERROR([OpenGL ES requires EGL, please add --enable-egl to your configure options to switch to EGL + OpenGL ES.])
1845 AC_ARG_ENABLE([pixman],
1846 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1848 if test "x${enableval}" = "xyes" ; then
1850 CFOPT_WARNING="xyes"
1857 AC_ARG_ENABLE([pixman-font],
1858 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1860 if test "x${enableval}" = "xyes" ; then
1861 have_pixman_font="yes"
1863 have_pixman_font="no"
1866 [have_pixman_font="no"])
1868 AC_ARG_ENABLE([pixman-rect],
1869 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1871 if test "x${enableval}" = "xyes" ; then
1872 have_pixman_rect="yes"
1874 have_pixman_rect="no"
1877 [have_pixman_rect="no"])
1879 AC_ARG_ENABLE([pixman-line],
1880 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1882 if test "x${enableval}" = "xyes" ; then
1883 have_pixman_line="yes"
1885 have_pixman_line="no"
1888 [have_pixman_line="no"])
1890 AC_ARG_ENABLE(pixman-poly,
1891 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1893 if test "x${enableval}" = "xyes" ; then
1894 have_pixman_poly="yes"
1896 have_pixman_poly="no"
1899 [have_pixman_poly="no"])
1901 AC_ARG_ENABLE([pixman-image],
1902 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1904 if test "x${enableval}" = "xyes" ; then
1905 have_pixman_image="yes"
1907 have_pixman_image="no"
1910 [have_pixman_image="no"])
1912 AC_ARG_ENABLE([pixman-image-scale-sample],
1913 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1915 if test "x${enableval}" = "xyes" ; then
1916 have_pixman_image_scale_sample="yes"
1918 have_pixman_image_scale_sample="no"
1921 [have_pixman_image_scale_sample="no"])
1924 AC_ARG_ENABLE([tile-rotate],
1925 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1927 if test "x${enableval}" = "xyes" ; then
1928 have_tile_rotate="yes"
1929 CFOPT_WARNING="xyes"
1931 have_tile_rotate="no"
1934 [have_tile_rotate="no"])
1937 AC_ARG_ENABLE([ecore-buffer],
1938 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
1940 if test "x${enableval}" = "xyes" ; then
1941 want_ecore_buffer="yes"
1943 want_ecore_buffer="no"
1946 [want_ecore_buffer="no"])
1950 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1951 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1952 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1953 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1954 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1955 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1956 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1957 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1958 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1959 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1960 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1961 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1962 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1963 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1964 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1965 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1966 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1970 want_evas_engine_software_gdi="${have_win32}"
1971 want_evas_engine_software_ddraw="${have_win32}"
1972 want_evas_engine_gl_cocoa="${want_cocoa}"
1973 want_evas_engine_wayland_egl="no"
1974 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1975 want_evas_engine_wayland_egl="yes"
1978 if test "${want_lua_old}" = "yes"; then
1979 EFL_CHECK_LUA_OLD([EVAS])
1981 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1984 EFL_ADD_FEATURE([EVAS], [lua-old])
1986 EFL_CHECK_FUNC([EVAS], [dlsym])
1988 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1989 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1992 ### Checks for programs
1994 ### Checks for libraries
1996 ## Compatibility layers
1997 EFL_PLATFORM_DEPEND([EVAS], [all])
1998 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1999 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
2000 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
2001 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
2002 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
2003 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
2005 EFL_ADD_LIBS([EVAS], [-lm])
2008 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
2010 ## optional dependencies
2013 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
2014 [FONTCONFIG], [fontconfig >= 2.5.0])
2017 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
2018 [FRIBIDI], [fribidi >= 0.19.2])
2021 have_harfbuzz_ft="no"
2022 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
2023 [HARFBUZZ], [harfbuzz >= 0.9.0])
2026 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
2028 if test "x${have_pixman}" = "xyes" ; then
2029 if test "x${have_pixman_font}" = "xyes" ; then
2030 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
2032 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
2034 if test "x${have_pixman_rect}" = "xyes" ; then
2035 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
2037 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
2039 if test "x${have_pixman_line}" = "xyes" ; then
2040 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
2042 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
2044 if test "x${have_pixman_poly}" = "xyes" ; then
2045 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
2047 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
2049 if test "x${have_pixman_image}" = "xyes" ; then
2050 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
2052 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
2054 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
2055 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
2057 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
2062 define([EVAS_ENGINE_DEP_CHECK_FB], [
2063 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
2066 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
2067 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
2070 EVAS_ENGINE([buffer], [static])
2071 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
2072 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
2075 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
2076 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
2077 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
2078 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
2079 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
2080 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
2081 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
2082 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
2087 have_evas_engine_software_xcb="no"
2088 if test "${with_x11}" = "xcb" ; then
2089 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
2091 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
2092 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
2095 AC_MSG_CHECKING([whether to build Software XCB Engine])
2096 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
2098 # No Software XCB ? Then try Software Xlib
2100 have_evas_engine_software_xlib="no"
2101 if test "x${want_x11_xcb}" = "xno" ; then
2102 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
2104 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
2105 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
2108 AC_MSG_CHECKING([whether to build Software Xlib Engine])
2109 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
2111 # If software_x11 is available, define everything needed for X11
2113 have_evas_engine_software_x11="no"
2114 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
2115 have_evas_engine_software_x11="yes"
2116 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
2118 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
2120 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
2121 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
2123 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
2125 # Needed for evas-software-x11.pc
2127 AC_SUBST([have_evas_engine_software_xlib])
2128 AC_SUBST([have_evas_engine_software_xcb])
2131 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
2132 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
2136 if test "${with_opengl}" = "es" ; then
2137 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
2142 have_evas_engine_gl_xcb="no"
2143 if test "${want_x11_xcb_opengl}" = "yes"; then
2144 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
2146 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
2147 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
2150 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
2151 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
2153 # No openGL XCB ? Then try OpenGL Xlib
2155 have_evas_engine_gl_xlib="no"
2156 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
2157 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
2159 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
2160 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
2163 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
2164 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
2166 # If opengl_x11 is available, define everything needed for X11
2168 have_evas_engine_gl_x11="no"
2169 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
2170 have_evas_engine_gl_x11="yes"
2171 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
2173 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
2175 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
2176 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
2178 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
2180 # Needed for evas-opengl-x11.pc
2182 AC_SUBST([have_evas_engine_gl_xlib])
2183 AC_SUBST([have_evas_engine_gl_xcb])
2187 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
2188 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
2189 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
2190 [#include <SDL2/SDL_video.h>])
2193 if test "${with_opengl}" = "es"; then
2194 AC_CHECK_DECL([SDL_OPENGLES],
2195 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
2196 [#include <SDL2/SDL_video.h>])
2200 evas_engine_gl_common_cflags=""
2201 if test "x${have_egl}" = "xyes"; then
2202 evas_engine_gl_common_libs="-lEGL"
2204 evas_engine_gl_common_libs="-lGL"
2207 # The lines below fix compiling/linking of gl_generic on OSX
2208 if test "x${have_darwin}" = "xyes"; then
2209 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
2210 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
2211 # CFLAGS and LIBS are determined by evas-gl_cocoa.
2212 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
2213 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
2215 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
2216 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
2217 # cannot compile (nor link).
2218 evas_engine_gl_common_libs=""
2219 evas_engine_gl_common_cflags=""
2221 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
2222 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
2223 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
2225 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2229 AC_SUBST([evas_engine_gl_common_cflags])
2230 AC_SUBST([evas_engine_gl_common_libs])
2232 have_evas_engine_gl_common="no"
2233 have_static_evas_engine_gl_common="no"
2234 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2235 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2236 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2237 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2238 test "x$have_evas_engine_gl_drm" = "xyes" || \
2239 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2240 have_evas_engine_gl_common="yes"
2242 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2243 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2244 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2245 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2246 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2247 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2248 have_evas_engine_gl_common="yes"
2249 have_static_evas_engine_gl_common="yes"
2252 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2253 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2256 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2258 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2259 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2262 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2267 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2268 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2269 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2270 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2271 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2272 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2273 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2274 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2275 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2276 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2277 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2278 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2279 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2280 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2281 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2282 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2283 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2285 EFL_EVAL_PKGS([EVAS])
2287 ### Checks for header files
2289 if test "x$want_hyphen" = "xyes" ; then
2291 EFL_CHECK_LIB_CODE([EVAS], [-lhyphen], [have_fct], [[
2301 if test "${have_fct}" = "no"; then
2302 AC_MSG_ERROR([Cannot find the hyphen library.])
2304 AC_DEFINE([HAVE_HYPHEN], [1], [have hunspell hyphen support])
2308 if test "x$have_harfbuzz" = "xyes" ; then
2310 CPPFLAGS_SAVE="$CPPFLAGS"
2311 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2312 # must have for usage with harfbuzz although harfbuzz may not have it.
2314 AC_CHECK_HEADER([hb-ft.h],
2316 have_harfbuzz_ft="yes"
2317 #Depend on harfbuzz ft for harfbuzz support
2318 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2320 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2322 CPPFLAGS="$CPPFLAGS_SAVE"
2325 ### Checks for types
2327 CPPFLAGS_SAVE="$CPPFLAGS"
2328 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2329 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2330 CPPFLAGS="$CPPFLAGS_SAVE"
2333 if test "x$have_fribidi" = "xyes" ; then
2334 CPPFLAGS_SAVE="$CPPFLAGS"
2335 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2336 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2337 CPPFLAGS="$CPPFLAGS_SAVE"
2340 ### Checks for structures
2342 AC_CHECK_TYPES([struct sigaction], [], [],
2343 [[#include <signal.h>]])
2345 ### Checks for compiler characteristics
2347 ### Checks for linker characteristics
2349 ### Checks for library functions
2351 AC_CHECK_FUNCS([siglongjmp])
2353 AC_CHECK_LIB([m], [lround],
2354 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2355 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2361 AC_ARG_ENABLE([cserve],
2362 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2364 if test "x${enableval}" = "xyes" ; then
2365 want_evas_cserve2="yes"
2367 want_evas_cserve2="no"
2368 CFOPT_WARNING="xyes"
2371 [want_evas_cserve2="yes"])
2373 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2374 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2377 # cserve2 only works on Linux so far.
2379 if test "x${efl_func_shm_open}" = "xno" ; then
2380 want_evas_cserve2="no"
2383 if test "x${want_evas_cserve2}" = "xyes"; then
2384 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
2385 want_evas_cserve2="no"
2387 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2388 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2392 AC_DEFINE_IF([EVAS_CSERVE2],
2393 [test "x${want_evas_cserve2}" = "xyes"],
2394 [1], [Shared cache server.])
2395 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2401 if test "x${have_tile_rotate}" = "xyes" ; then
2402 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2408 AC_ARG_WITH([evas-dither-mask],
2409 [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.
2410 @<:@default=big@:>@])],
2411 [build_evas_dither_mask=${withval}],
2412 [build_evas_dither_mask=big])
2414 case "${build_evas_dither_mask}" in
2416 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2419 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2422 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2425 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2428 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2431 EFL_ADD_FEATURE([EVAS], [fontconfig])
2432 EFL_ADD_FEATURE([EVAS], [fribidi])
2433 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2434 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2435 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2436 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2437 EFL_ADD_FEATURE([EVAS], [hyphen])
2443 EFL_LIB_START([Evas_Cxx])
2445 EFL_EVAL_PKGS([EVAS_CXX])
2447 EFL_LIB_END([Evas_Cxx])
2448 #### End of Edje CXX
2452 EFL_LIB_START([Embryo])
2456 ### Additional options to configure
2458 ### Checks for programs
2460 ### Checks for libraries
2461 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2462 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2464 EFL_ADD_LIBS([EMBRYO], [-lm])
2466 ### Checks for header files
2468 ### Checks for types
2470 ### Checks for structures
2472 ### Checks for compiler characteristics
2474 ### Checks for linker characteristics
2476 ### Checks for library functions
2478 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2479 AC_MSG_ERROR([Cannot find fnmatch()])
2482 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2483 AC_MSG_ERROR([Cannot find gettimeofday()])
2486 ### Check availability
2488 EFL_LIB_END([Embryo])
2494 EFL_LIB_START([Ecore])
2496 ### Additional options to configure
2501 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2503 if test "x${withval}" = "xyes" ; then
2506 if test "x${withval}" = "xalways" ; then
2515 AC_ARG_ENABLE([g-main-loop],
2516 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2518 if test "x${enableval}" = "xyes" ; then
2519 want_g_main_loop="yes"
2520 CFOPT_WARNING="xyes"
2522 want_g_main_loop="no"
2525 [want_g_main_loop="no"])
2526 AC_ARG_ENABLE([libuv],
2527 [AS_HELP_STRING([--enable-libuv],[enable ecore_main_loop based on libuv. @<:@default=disabled@:>@])],
2529 if test "x${enableval}" = "xyes" ; then
2531 CFOPT_WARNING="xyes"
2538 AC_ARG_ENABLE([gstreamer],
2539 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2541 if test "x${enableval}" = "xyes" ; then
2542 want_gstreamer="yes"
2543 CFOPT_WARNING="xyes"
2548 [want_gstreamer="no"])
2550 AC_ARG_ENABLE([gstreamer1],
2551 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2553 if test "x${enableval}" = "xyes" ; then
2554 want_gstreamer1="yes"
2556 want_gstreamer1="no"
2557 CFOPT_WARNING="xyes"
2560 [want_gstreamer1="yes"])
2562 AC_ARG_ENABLE([tizen],
2563 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2565 if test "x${enableval}" = "xyes" ; then
2573 if test "${want_tizen}" = "yes"; then
2574 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2576 [have_tizen_vconf="yes"],
2577 [have_tizen_vconf="no"])
2578 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2581 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2582 if test "${have_tizen_vconf}" = "yes"; then
2583 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2588 if test "${have_windows}" = "yes"; then
2593 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2597 want_ecore_timer_dump="no"
2598 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2599 want_ecore_timer_dump="yes"
2600 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2603 ### Checks for programs
2605 ### Checks for libraries
2606 EFL_PLATFORM_DEPEND([ECORE], [all])
2607 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2608 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2609 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2611 EFL_ADD_LIBS([ECORE], [-lm])
2615 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2616 if test "x${have_glib}" = "xno"; then
2617 want_g_main_loop="no"
2620 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd])
2622 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2623 EFL_ADD_FEATURE([ECORE], [glib])
2624 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2625 EFL_ADD_FEATURE([ECORE], [libuv])
2627 want_glib_integration_always=no
2628 if test "x${with_glib}" = "xalways" ; then
2629 want_glib_integration_always="yes"
2630 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2633 if test "x${want_g_main_loop}" = "xyes" ; then
2634 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2635 if test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv" ; then
2636 AC_MSG_ERROR([Can't define glib and libuv integration together])
2640 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2641 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2642 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2645 if test "${want_gstreamer1}" = "yes"; then
2646 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2648 if test "${want_gstreamer}" = "yes"; then
2649 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2651 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2653 EFL_EVAL_PKGS([ECORE])
2655 ### Checks for header files
2659 AC_CHECK_HEADERS([sys/socket.h])
2661 AC_CHECK_HEADERS([ \
2673 #ifdef HAVE_SYS_SOCKET_H
2674 # include <sys/socket.h>
2678 AC_CHECK_HEADERS([net/if.h], [], [],
2681 # include <stdlib.h>
2682 # include <stddef.h>
2685 # include <stdlib.h>
2688 #if HAVE_SYS_SOCKET_H
2689 # include <sys/socket.h>
2693 ### Checks for types
2695 ### Checks for structures
2697 ### Checks for compiler characteristics
2699 ### Checks for linker characteristics
2701 ### Checks for library functions
2713 int i = isfinite(0);
2716 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2719 [have_isfinite="no"])
2721 AC_MSG_CHECKING([for isfinite])
2722 AC_MSG_RESULT([${have_isfinite}])
2724 # mallinfo, timerfd_create, clock_gettime
2726 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2728 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2729 AC_CHECK_LIB([rt], [clock_gettime],
2731 EFL_ADD_LIBS([ECORE], [-lrt])
2732 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2736 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2738 # coroutine function specific
2743 #include <ucontext.h>
2749 [have_ucontext="yes"],
2750 [have_ucontext="no"])
2752 AC_MSG_CHECKING([for ucontext])
2753 AC_MSG_RESULT([${have_ucontext}])
2764 [have_setjmp="yes"],
2767 AC_MSG_CHECKING([for setjmp])
2768 AC_MSG_RESULT([${have_setjmp}])
2770 if test "X${have_windows}" = "xyes"; then
2771 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2772 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2773 elif test "x${have_ucontext}" = "xyes"; then
2774 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2775 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2776 elif test "x${have_setjmp}" = "xyes"; then
2777 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2778 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2780 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2783 ### Check availability
2785 EFL_LIB_END([Ecore])
2789 EFL_LIB_START([Ecore_Cxx])
2791 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2792 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2793 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2794 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2796 EFL_EVAL_PKGS([ECORE_CXX])
2798 EFL_LIB_END([Ecore_Cxx])
2799 #### End of Ecore CXX
2803 EFL_LIB_START([Ecore_Con])
2807 want_ecore_con_local_sockets="yes"
2808 want_ecore_con_abstract_sockets="yes"
2810 if test "${have_win32}" = "yes"; then
2812 want_ecore_con_abstract_sockets="no"
2813 elif test "${have_darwin}" = "yes"; then
2815 want_ecore_con_abstract_sockets="yes"
2816 elif test "${have_ps3}" = "yes"; then
2818 want_ecore_con_local_sockets="no"
2819 want_ecore_con_abstract_sockets="no"
2824 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2825 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2826 [1], [Have local sockets support])
2827 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2828 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2829 [1], [Have abstract sockets namespace])
2831 ### Checks for programs
2833 ### Checks for libraries
2834 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2835 if test "$build_crypto" != "none" ; then
2836 EFL_CRYPTO_DEPEND([ECORE_CON])
2838 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2839 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2840 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2841 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2842 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2844 EFL_ADD_LIBS([ECORE_CON], [-lm])
2846 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2847 [CARES], [libcares >= 1.6.1])
2848 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2850 if test "x$have_cares" = "xyes" ; then
2851 ecore_con_resolver="cares"
2852 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2853 ecore_con_resolver="dns.c"
2855 ecore_con_resolver="fork"
2858 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
2860 EFL_ADD_FEATURE([ECORE_CON], [cares])
2861 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2862 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2863 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2864 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2866 EFL_EVAL_PKGS([ECORE_CON])
2868 ### Checks for header files
2870 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2872 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2873 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2876 ### Checks for types
2879 AC_CHECK_TYPES([struct ipv6_mreq],
2883 #ifdef HAVE_NETINET_IN_H
2884 # include <netinet/in.h>
2886 #ifdef HAVE_WS2TCPIP_H
2887 # include <ws2tcpip.h>
2891 AC_DEFINE_IF([HAVE_IPV6],
2892 [test "x${have_ipv6}" = "xyes"],
2893 [1], [Define if IPV6 is supported])
2894 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2896 ### Checks for structures
2898 ### Checks for compiler characteristics
2900 ### Checks for linker characteristics
2902 ### Checks for library functions
2904 EFL_LIB_END([Ecore_Con])
2905 #### End of Ecore_Con
2910 EFL_LIB_START([Ecore_Ipc])
2914 ### Additional options to configure
2916 ### Checks for programs
2918 ## Compatibility layers
2919 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2921 ### Checks for libraries
2922 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2923 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2924 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2925 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2927 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2929 ### Checks for header files
2931 AC_CHECK_HEADERS([winsock2.h])
2933 ### Checks for types
2935 ### Checks for structures
2937 ### Checks for compiler characteristics
2939 ### Checks for linker characteristics
2941 ### Checks for library functions
2943 EFL_LIB_END([Ecore_Ipc])
2944 #### End of Ecore_Ipc
2949 EFL_LIB_START([Ecore_File])
2951 ### Additional options to configure
2955 ### Checks for programs
2957 ## Compatibility layers
2958 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2960 ### Checks for libraries
2961 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2962 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2963 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2964 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2965 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2967 ### Checks for header files
2969 ### Checks for types
2971 ### Checks for structures
2973 ### Checks for compiler characteristics
2975 ### Checks for linker characteristics
2977 ### Checks for library functions
2979 EFL_LIB_END([Ecore_File])
2980 #### End of Ecore_File
2984 EFL_LIB_START([Ecore_Input])
2986 ### Additional options to configure
2990 ### Checks for programs
2992 ## Compatibility layers
2993 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2995 ### Checks for libraries
2996 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2997 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2998 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
3000 ### Checks for header files
3002 ### Checks for types
3004 ### Checks for structures
3006 ### Checks for compiler characteristics
3008 ### Checks for linker characteristics
3010 ### Checks for library functions
3012 EFL_LIB_END([Ecore_Input])
3013 #### End of Ecore_Input
3016 #### Ecore_Input_Evas
3017 EFL_LIB_START([Ecore_Input_Evas])
3019 ### Additional options to configure
3023 ### Checks for programs
3025 ## Compatibility layers
3026 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
3028 ### Checks for libraries
3029 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
3030 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
3031 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
3032 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
3033 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
3034 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
3035 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
3037 ### Checks for header files
3039 ### Checks for types
3041 ### Checks for structures
3043 ### Checks for compiler characteristics
3045 ### Checks for linker characteristics
3047 ### Checks for library functions
3049 EFL_LIB_END([Ecore_Input_Evas])
3050 #### End of Ecore_Input_Evas
3054 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
3056 ### Additional options to configure
3060 ### Checks for programs
3062 ### Checks for libraries
3063 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
3064 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
3065 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
3066 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
3067 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [evas])
3068 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [emile])
3070 ### Checks for header files
3072 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
3074 ### Checks for types
3076 ### Checks for structures
3078 ### Checks for compiler characteristics
3080 ### Checks for linker characteristics
3082 ### Checks for library functions
3084 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
3085 #### End of Ecore_Cocoa
3089 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
3091 ### Additional options to configure
3092 AC_ARG_ENABLE([tslib],
3093 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
3095 if test "x${enableval}" = "xyes" ; then
3100 ], [want_tslib="yes"])
3104 ### Checks for programs
3106 ### Checks for libraries
3107 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
3108 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
3109 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
3110 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
3112 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
3113 EFL_ADD_FEATURE([ECORE_FB], [tslib])
3115 EFL_EVAL_PKGS([ECORE_FB])
3117 ### Checks for header files
3120 AC_CHECK_HEADER([linux/fb.h],
3121 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
3122 if test "${have_ecore_fb}" = "no"; then
3123 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
3126 ### Checks for types
3128 ### Checks for structures
3130 ### Checks for compiler characteristics
3132 ### Checks for linker characteristics
3134 ### Checks for library functions
3136 EFL_LIB_END_OPTIONAL([Ecore_FB])
3137 #### End of Ecore_FB
3141 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
3143 ### Additional options to configure
3147 ### Checks for programs
3149 ### Checks for libraries
3150 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
3152 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
3153 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
3154 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
3155 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
3157 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
3159 ### Checks for header files
3161 ### Checks for types
3163 ### Checks for structures
3165 ### Checks for compiler characteristics
3167 ### Checks for linker characteristics
3169 ### Checks for library functions
3171 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
3172 #### End of Ecore_Psl1ght
3176 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
3178 ### Additional options to configure
3182 ### Checks for programs
3184 ### Checks for libraries
3185 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
3186 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
3187 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
3188 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
3189 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
3191 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
3193 EFL_EVAL_PKGS([ECORE_SDL])
3195 ### Checks for header files
3197 ### Checks for types
3199 ### Checks for structures
3201 ### Checks for compiler characteristics
3203 ### Checks for linker characteristics
3205 ### Checks for library functions
3207 EFL_LIB_END_OPTIONAL([Ecore_SDL])
3208 #### End of Ecore_SDL
3212 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
3214 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3215 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
3218 ### Additional options to configure
3222 ### Checks for programs
3224 ### Checks for libraries
3225 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
3226 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
3227 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
3228 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
3230 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
3231 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0 uuid])
3233 EFL_EVAL_PKGS([ECORE_WAYLAND])
3235 ### Checks for header files
3237 ### Checks for types
3239 ### Checks for structures
3241 ### Checks for compiler characteristics
3243 ### Checks for linker characteristics
3245 ### Checks for library functions
3247 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
3248 #### End of Ecore_Wayland
3251 EFL_LIB_START_OPTIONAL([Ecore_Wl2], [test "${want_wayland}" = "yes"])
3253 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3254 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wl2 IVI-Shell Support])
3257 ### Additional options to configure
3261 ### Checks for programs
3263 ### Checks for libraries
3264 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore-input])
3265 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore])
3266 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eo])
3267 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina])
3269 EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND],
3270 [wayland-server >= 1.8.0 wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0])
3272 EFL_EVAL_PKGS([ECORE_WL2])
3274 ### Checks for header files
3276 ### Checks for types
3278 ### Checks for structures
3280 ### Checks for compiler characteristics
3282 ### Checks for linker characteristics
3284 ### Checks for library functions
3286 EFL_LIB_END_OPTIONAL([Ecore_Wl2])
3287 #### End of Ecore_Wl2
3290 EFL_LIB_START([Eldbus])
3292 ### Additional options to configure
3296 ### Checks for programs
3298 ## Compatibility layers
3299 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3301 ### Checks for libraries
3302 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3303 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [efl])
3304 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3305 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3307 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3309 EFL_EVAL_PKGS([ELDBUS])
3311 ### Checks for header files
3313 ### Checks for types
3315 ### Checks for structures
3317 ### Checks for compiler characteristics
3319 ### Checks for linker characteristics
3321 ### Checks for library functions
3323 EFL_LIB_END([Eldbus])
3328 have_libmount_new="no"
3329 have_libmount_old="no"
3330 have_eeze_mount="no"
3332 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3334 ### Additional options to configure
3335 AC_ARG_WITH([mount],
3336 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3337 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3338 AC_ARG_WITH([umount],
3339 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3340 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3341 AC_ARG_WITH([eject],
3342 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3343 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3347 ### Checks for programs
3349 ### Checks for libraries
3350 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3351 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3352 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3353 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3354 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3355 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3356 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3358 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3360 AC_ARG_ENABLE([libmount],
3361 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3363 if test "x${enableval}" = "xyes" ; then
3367 CFOPT_WARNING="xyes"
3370 [want_libmount="yes"])
3372 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3373 [EEZE_MOUNT], [mount >= 2.18.0])
3374 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3376 PKG_CHECK_EXISTS([libudev < 199],
3377 [have_libudev_old="yes"],
3378 [have_libudev_old="no"])
3379 AC_MSG_CHECKING([Use old libudev API (before 199)])
3380 AC_MSG_RESULT([${have_libudev_old}])
3382 PKG_CHECK_EXISTS([mount < 2.19.0],
3383 [have_libmount_old="yes"],
3384 [have_libmount_old="no"])
3385 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3386 AC_MSG_RESULT([${have_libmount_old}])
3388 PKG_CHECK_EXISTS([mount == 2.19.0],
3389 [have_libmount_219="yes"],
3390 [have_libmount_219="no"])
3391 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3392 AC_MSG_RESULT([${have_libmount_219}])
3394 PKG_CHECK_EXISTS([mount > 2.19.0],
3395 [have_libmount_new="yes"],
3396 [have_libmount_new="no"])
3397 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3398 AC_MSG_RESULT([${have_libmount_new}])
3400 if test "x${have_libudev_old}" = "xyes"; then
3401 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3404 if test "x${have_libmount_old}" = "xyes"; then
3405 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3409 if test "${want_tizen}" = "yes"; then
3410 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3412 EFL_ADD_FEATURE([EEZE], [tizen])
3414 EFL_EVAL_PKGS([EEZE])
3416 ### Checks for header files
3418 ### Checks for types
3420 ### Checks for structures
3422 ### Checks for compiler characteristics
3424 ### Checks for linker characteristics
3426 ### Checks for library functions
3428 ### Checks for binaries
3429 if test "x$with_eeze_mount" = "xdetect"; then
3430 AC_PATH_PROG([with_eeze_mount], [mount], [])
3432 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3434 if test "x$with_eeze_umount" = "xdetect";then
3435 AC_PATH_PROG([with_eeze_umount], [umount], [])
3437 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3439 if test "x$with_eeze_eject" = "xdetect";then
3440 AC_PATH_PROG([with_eeze_eject], [eject], [])
3442 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3444 EFL_LIB_END_OPTIONAL([Eeze])
3446 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3447 [test "x${have_libmount_new}" = "xyes"])
3448 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3449 [test "x${have_libmount_old}" = "xyes"])
3450 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3451 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3456 have_libinput_new="no"
3457 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3459 ### Additional options to configure
3462 AC_SUBST([SUID_CFLAGS])
3463 AC_SUBST([SUID_LDFLAGS])
3467 ### Checks for programs
3469 ### Checks for libraries
3470 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3471 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3472 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3473 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3474 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3475 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3477 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3478 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3480 EFL_ADD_LIBS([ECORE_DRM], [-lm])
3482 # API change from 0.7 to 0.8. So we define this to support both for now.
3483 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3484 [have_libinput_new="yes"],
3485 [have_libinput_new="no"])
3486 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3487 AC_MSG_RESULT([${have_libinput_new}])
3488 if test "x${have_libinput_new}" = "xyes";then
3489 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3491 if test "x${have_libinput_new}" = "xno";then
3492 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3496 EFL_EVAL_PKGS([ECORE_DRM])
3498 ### Checks for header files
3500 ### Checks for types
3502 ### Checks for structures
3504 ### Checks for compiler characteristics
3506 ### Checks for linker characteristics
3508 ### Checks for library functions
3510 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3511 #### End of Ecore_Drm
3516 AC_ARG_ENABLE([audio],
3517 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3519 if test "x${enableval}" = "xyes" ; then
3523 CFOPT_WARNING="xyes"
3528 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3530 ### Additional options to configure
3532 # ALSA support is still not there, thus no option for it yet.
3535 # sndfile is mandatory otherwise it won't read from/write to files.
3536 # TODO: if confirmed sndfile is mandatory, remove this variable
3537 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3540 AC_ARG_ENABLE([pulseaudio],
3541 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3543 if test "x${enableval}" = "xyes" ; then
3544 want_pulseaudio="yes"
3546 want_pulseaudio="no"
3547 CFOPT_WARNING="xyes"
3550 [want_pulseaudio="yes"])
3552 if test "x${have_darwin}" = "xyes"; then
3553 want_pulseaudio="no"
3555 want_coreaudio="yes"
3562 if test "x${want_coreaudio}" = "xyes"; then
3563 coreaudio_ldflags=""
3566 LIBS="$LIBS -framework CoreAudio"
3570 #include <CoreAudio/CoreAudio.h>
3574 AudioDeviceID dev_id;
3575 AudioObjectPropertyAddress prop = {
3576 kAudioHardwarePropertyDefaultOutputDevice,
3577 kAudioObjectPropertyScopeGlobal,
3578 kAudioObjectPropertyElementMaster
3580 size = sizeof(AudioDeviceID);
3581 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3585 have_coreaudio="yes"
3586 coreaudio_ldflags="-framework CoreAudio"
3588 [have_coreaudio="no"])
3590 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3591 AC_MSG_RESULT([${have_coreaudio}])
3593 AC_SUBST(coreaudio_ldflags)
3594 if test "x${have_coreaudio}" = "xyes"; then
3595 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3597 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3603 ### Checks for programs
3605 ## Compatibility layers
3606 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3608 ### Checks for libraries
3609 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3610 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3611 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3612 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3613 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3615 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3617 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3618 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3619 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3621 EFL_EVAL_PKGS([ECORE_AUDIO])
3623 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3624 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3625 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3626 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3628 ### Checks for header files
3630 ### Checks for types
3632 ### Checks for structures
3634 ### Checks for compiler characteristics
3636 ### Checks for linker characteristics
3638 ### Checks for library functions
3640 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3641 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3642 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3643 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3645 #### End of Ecore_Audio
3647 #### Ecore Audio CXX
3648 EFL_LIB_START([Ecore_Audio_Cxx])
3650 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3652 EFL_LIB_END([Ecore_Audio_Cxx])
3653 #### End of Ecore Audio CXX
3656 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3658 ### Additional options to configure
3662 ### Checks for programs
3664 ### Checks for libraries
3665 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3666 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3667 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3668 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3669 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3671 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3672 AC_SUBST([ECORE_WIN32_LIBS])
3674 ### Checks for header files
3676 ### Checks for types
3678 ### Checks for structures
3680 ### Checks for compiler characteristics
3682 ### Checks for linker characteristics
3684 ### Checks for library functions
3686 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3687 #### End of Ecore_Win32
3691 EFL_LIB_START([Ecore_Avahi])
3695 ### Additional options to configure
3699 AC_ARG_ENABLE([avahi],
3700 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3702 if test "x${enableval}" = "xyes" ; then
3711 ### Checks for programs
3713 ## Compatibility layers
3714 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3716 ### Checks for libraries
3717 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3718 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3719 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3721 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3723 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3725 # Needed bu example as they use avahi directly in that case
3726 if test "x${have_avahi}" = "xyes"; then
3727 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3730 EFL_EVAL_PKGS([ECORE_AVAHI])
3732 ### Checks for header files
3734 ### Checks for types
3736 ### Checks for structures
3738 ### Checks for compiler characteristics
3740 ### Checks for linker characteristics
3742 ### Checks for library functions
3744 EFL_LIB_END([Ecore_Avahi])
3746 #### End of Ecore_Avahi
3750 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3752 ### Additional options to configure
3754 AC_ARG_ENABLE([gesture],
3755 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3757 if test "x${enableval}" = "xyes" ; then
3763 [want_gesture="no"])
3765 AC_ARG_ENABLE([xpresent],
3766 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3768 if test "x${enableval}" = "xyes" ; then
3774 [want_xpresent="no"])
3776 AC_ARG_ENABLE([xinput2],
3777 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3779 if test "x${enableval}" = "xyes" ; then
3783 CFOPT_WARNING="xyes"
3786 [want_xinput2="yes"])
3788 AC_ARG_ENABLE([xinput22],
3789 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3791 if test "x${enableval}" = "xyes" ; then
3797 [want_xinput22="no"])
3799 AC_ARG_ENABLE([xim],
3800 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3802 if test "x${enableval}" = "xyes" ; then
3806 CFOPT_WARNING="xyes"
3811 AC_ARG_ENABLE([scim],
3812 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3814 if test "x${enableval}" = "xyes" ; then
3818 CFOPT_WARNING="xyes"
3823 AC_ARG_ENABLE([ibus],
3824 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3826 if test "x${enableval}" = "xyes" ; then
3836 ### Checks for programs
3838 ### Checks for libraries
3839 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3840 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3841 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3842 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3848 ### Checks for header files
3850 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3852 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3853 FOUND_MAXHOSTNAMELEN="not found"
3859 #include <sys/param.h>
3862 int h = MAXHOSTNAMELEN;
3866 FOUND_MAXHOSTNAMELEN="sys/param.h"
3867 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3877 int h = MAXHOSTNAMELEN;
3881 FOUND_MAXHOSTNAMELEN="netdb.h"
3882 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3885 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3886 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3890 if test "x${want_x11_xcb}" = "xyes" ; then
3891 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3892 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3894 if test -f "$KEYSYMDEFDIR/$i"; then
3895 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3896 elif test "x$i" = "xkeysymdef.h"; then
3897 AC_MSG_ERROR([Cannot find keysymdef.h])
3900 AC_MSG_CHECKING([keysym definitions])
3901 AC_MSG_RESULT([$KEYSYMDEFS])
3902 AC_SUBST([KEYSYMDEFS])
3905 ### Checks for types
3907 ### Checks for structures
3909 ### Checks for compiler characteristics
3911 ### Checks for linker characteristics
3913 ### Checks for library functions
3916 if test "x${want_x11_xlib}" = "xyes"; then
3917 EFL_FIND_X(ECORE_X_XLIB,
3918 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3919 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3922 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3923 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3924 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3926 AC_MSG_ERROR([Xcursor is missing])
3930 if test "x${want_x11_xlib}" = "xyes" ; then
3931 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3932 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3933 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3934 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3935 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3936 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3937 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3938 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3939 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3940 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3942 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3944 if test "${want_xpresent}" = "yes"; then
3945 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3947 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3949 if test "${want_gesture}" = "yes"; then
3950 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3952 EFL_ADD_FEATURE([ECORE_X], [gesture])
3954 if test "${want_xinput2}" = "yes"; then
3955 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3957 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3959 if test "${want_xinput22}" = "yes"; then
3960 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3962 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3964 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3965 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3967 EFL_EVAL_PKGS([ECORE_X])
3968 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3973 if test "${want_x11_xcb}" = "yes"; then
3974 dnl note: added pixman-1 as ecore_xcb_region uses that
3975 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3976 [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])
3978 dnl TODO: remove these ifdefs from code!
3979 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3980 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3981 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3982 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3983 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3984 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3985 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3986 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3987 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3988 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3989 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3990 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3992 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3994 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3995 [1], [Build support for XCB Present])
3996 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3998 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
4000 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
4001 [1], [Build support for XCB xgesture])
4003 EFL_ADD_FEATURE([ECORE_X], [gesture])
4005 dnl input extension disabled currently in xcb as xcb-input has some issues
4006 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
4007 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
4009 dnl dri extension disabled currently in xcb
4010 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
4011 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
4013 EFL_EVAL_PKGS([ECORE_X])
4014 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
4016 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
4019 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
4021 AC_SUBST([HAVE_ECORE_X_BACKEND])
4023 EFL_LIB_END_OPTIONAL([Ecore_X])
4025 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
4026 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
4031 EFL_LIB_START([Ecore_Imf])
4033 ### Additional options to configure
4037 want_ecore_imf="yes"
4038 want_ecore_imf_xim="no"
4039 want_ecore_imf_scim="no"
4040 want_ecore_imf_ibus="no"
4041 want_ecore_imf_wayland="no"
4042 want_ecore_imf="yes"
4044 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
4045 want_ecore_imf="yes"
4046 want_ecore_imf_xim="yes"
4047 want_ecore_imf_scim="yes"
4048 want_ecore_imf_ibus="yes"
4049 if test "${want_wayland}" = "yes"; then
4050 want_ecore_imf_wayland="yes"
4054 ### Checks for programs
4056 ## Compatibility layers
4057 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
4059 ### Checks for libraries
4060 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
4061 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
4062 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
4063 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
4064 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
4066 if test "x${want_ecore_imf}" = "xyes" ; then
4067 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
4074 have_ecore_imf_ibus="no"
4075 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
4076 PKG_CHECK_MODULES([IBUS],
4077 [ibus-1.0 >= 1.4 glib-2.0],
4079 have_ecore_imf_ibus="yes"
4080 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
4082 [have_ecore_imf_ibus="no"])
4085 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
4086 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
4090 have_ecore_imf_scim="no"
4091 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
4092 PKG_CHECK_MODULES([SCIM],
4095 have_ecore_imf_scim="yes"
4096 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
4098 [have_ecore_imf_scim="no"])
4101 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
4102 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
4106 have_ecore_imf_xim="no"
4107 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
4109 EFL_FIND_X(ecore_imf_xim,
4113 have_ecore_imf_xim=yes
4114 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
4118 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
4119 EFL_ADD_FEATURE([ECORE_IMF], [xim])
4122 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
4123 PKG_CHECK_MODULES([WAYLAND],
4124 [wayland-client >= 1.8.0],
4126 have_ecore_imf_wayland="yes"
4127 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
4129 [have_ecore_imf_wayland="no"])
4132 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
4133 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
4135 ### Checks for header files
4137 ### Checks for types
4139 ### Checks for structures
4141 ### Checks for compiler characteristics
4143 ### Checks for linker characteristics
4145 ### Checks for library functions
4147 EFL_LIB_END([Ecore_Imf])
4148 #### End of Ecore_Imf
4152 EFL_LIB_START([Ecore_Imf_Evas])
4154 ### Additional options to configure
4158 ### Checks for programs
4160 ## Compatibility layers
4161 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
4163 ### Checks for libraries
4164 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
4165 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
4166 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
4167 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
4168 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
4169 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
4170 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
4171 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
4173 ### Checks for header files
4175 ### Checks for types
4177 ### Checks for structures
4179 ### Checks for compiler characteristics
4181 ### Checks for linker characteristics
4183 ### Checks for library functions
4185 EFL_LIB_END([Ecore_Imf_Evas])
4186 #### End of Ecore_Imf_Evas
4190 EFL_LIB_START([Ecore_Evas])
4192 ### Additional options to configure
4196 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
4197 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
4198 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
4199 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
4200 want_ecore_evas_extn="yes"
4201 want_ecore_evas_drm="${have_evas_engine_drm}"
4203 if test "x${have_ecore_ipc}" = "xno" || \
4204 test "x${efl_func_shm_open}" = "xno" || \
4205 test "x${have_windows}" = "xyes" ; then
4206 want_ecore_evas_extn="no"
4209 ### Checks for programs
4211 ## Compatibility layers
4212 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
4214 ### Checks for libraries
4215 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
4216 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
4217 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
4218 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
4219 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
4220 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
4221 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
4222 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
4223 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
4226 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
4227 ECORE_EVAS_MODULE([ews], [yes])
4228 ECORE_EVAS_MODULE([fb], [${want_fb}])
4229 ECORE_EVAS_MODULE([drm], [${want_drm}],
4230 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
4231 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
4232 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
4233 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
4235 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
4237 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
4238 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
4240 build_ecore_evas_sdl="no"
4241 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
4242 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
4243 build_ecore_evas_sdl="yes"
4244 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
4246 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
4247 [test "${build_ecore_evas_sdl}" = "yes"])
4249 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
4250 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
4252 build_ecore_evas_wayland="no"
4253 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
4254 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
4255 build_ecore_evas_wayland="yes"
4256 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
4258 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
4259 [test "${build_ecore_evas_wayland}" = "yes"])
4261 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
4262 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
4264 build_ecore_evas_win32="no"
4265 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
4266 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
4267 build_ecore_evas_win32="yes"
4268 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
4270 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
4271 [test "${build_ecore_evas_win32}" = "yes"])
4274 # XXX TODO: ecore_evas_x11
4276 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
4278 have_ecore_evas_software_xlib="no"
4279 have_ecore_evas_software_xcb="no"
4280 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
4281 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
4282 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
4283 have_ecore_evas_software_xlib="yes"
4285 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
4286 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
4288 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
4289 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
4290 have_ecore_evas_software_xcb="yes"
4292 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
4293 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
4297 # XXX TODO: ecore_evas_opengl_x11
4299 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
4301 have_ecore_evas_opengl_xlib="no"
4302 have_ecore_evas_opengl_xcb="no"
4303 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
4304 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
4305 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
4306 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4309 # opengl does not work with xcb (yet)
4310 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
4311 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
4312 have_ecore_evas_opengl_xcb="yes"
4314 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4315 PKG_CHECK_MODULES([XCB_X11],
4318 have_ecore_x_opengl_xcb="yes"
4319 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4320 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4321 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4323 [have_ecore_x_opengl_xcb="no"])
4325 have_ecore_x_opengl_xcb="no"
4326 AC_MSG_NOTICE([XCB-based OpenGL explicitly disabled])
4330 build_ecore_evas_x11="no"
4331 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4332 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4333 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4334 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4335 build_ecore_evas_x11="yes"
4337 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4339 EFL_EVAL_PKGS([ECORE_EVAS])
4341 ### Checks for header files
4343 ### Checks for types
4345 ### Checks for structures
4347 ### Checks for compiler characteristics
4349 ### Checks for linker characteristics
4351 ### Checks for library functions
4352 if test "x${want_gl_drm}" = "xyes" ; then
4353 EFL_CHECK_FUNCS([ECORE_EVAS], [dlopen])
4356 EFL_LIB_END([Ecore_Evas])
4357 #### End of Ecore_Evas
4360 EFL_LIB_START([Eio])
4362 ### Additional options to configure
4366 ### Checks for programs
4368 ## Compatibility layers
4369 EFL_PLATFORM_DEPEND([EIO], [evil])
4371 ### Checks for libraries
4372 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4373 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4374 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4375 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4376 EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
4377 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4379 EFL_ADD_LIBS([EIO], [-lm])
4381 ### Checks for header files
4383 ### Checks for types
4385 ### Checks for structures
4387 ### Checks for compiler characteristics
4389 ### Checks for linker characteristics
4391 ### Checks for library functions
4392 have_inotify="${ac_cv_header_sys_inotify_h}"
4393 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4395 have_notify_win32="${have_win32}"
4396 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4397 [test "x${have_notify_win32}" = "xyes"], [1],
4398 [File monitoring with Windows notification])
4399 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4401 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4402 [test "x${have_darwin}" = "xyes"], [1],
4403 [File monitoring with fsevent notification])
4404 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4406 AC_CHECK_FUNC([kevent])
4407 have_notify_kevent="${ac_cv_func_kevent}"
4408 AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
4409 [test "x${have_notify_kevent}" = "xyes"], [1],
4410 [File monitoring with kqueue/kevent mechanism])
4411 AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
4415 dnl TODO: remove these ifdefs from code!
4416 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4420 if test "x${want_eo_id}" = "xyes" ; then
4421 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4426 EFL_LIB_START([Efreet])
4428 ### Additional options to configure
4432 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4434 ### Checks for programs
4436 ## Compatibility layers
4437 EFL_PLATFORM_DEPEND([EFREET], [evil])
4439 ### Checks for libraries
4440 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4441 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4442 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4443 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4444 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4445 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4446 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4448 ### Checks for header files
4450 ### Checks for types
4452 ### Checks for structures
4454 ### Checks for compiler characteristics
4456 ### Checks for linker characteristics
4458 ### Checks for library functions
4460 EFL_LIB_END([Efreet])
4465 AC_ARG_ENABLE([physics],
4466 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4468 if test "x${enableval}" = "xyes" ; then
4471 CFOPT_WARNING="xyes"
4475 [want_physics="yes"])
4477 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4479 ### Additional options to configure
4483 ### Checks for programs
4485 ### Checks for libraries
4486 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4488 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4489 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4490 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4491 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4492 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4493 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4495 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4497 EFL_EVAL_PKGS([EPHYSICS])
4499 ### Checks for header files
4501 ### Checks for types
4503 ### Checks for structures
4505 ### Checks for compiler characteristics
4507 ### Checks for linker characteristics
4509 ### Checks for library functions
4511 EFL_LIB_END_OPTIONAL([EPhysics])
4512 #### End of EPhysics
4516 EFL_LIB_START([Edje])
4518 ### Additional options to configure
4522 AC_ARG_ENABLE([multisense],
4523 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=disabled@:>@])],
4525 if test "x${enableval}" = "xyes" ; then
4526 want_multisense="yes"
4528 want_multisense="no"
4529 CFOPT_WARNING="xyes"
4533 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4534 want_multisense="yes"
4536 want_multisense="no"
4540 # TODO: should we keep or remove these?
4541 want_edje_program_cache="no"
4542 want_edje_calc_cache="yes"
4543 want_fixed_point="no"
4545 ### Checks for programs
4547 ### Checks for libraries
4548 EFL_PLATFORM_DEPEND([EDJE], [evil])
4550 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4551 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4552 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4553 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4554 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4555 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4556 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4557 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4558 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4559 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4560 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4561 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4562 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4563 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4564 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4566 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4567 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4569 EFL_ADD_FEATURE([EDJE], [physics])
4570 EFL_ADD_FEATURE([EDJE], [multisense])
4571 EFL_ADD_FEATURE([EDJE], [lua-old])
4573 if test "${want_lua_old}" = "yes"; then
4574 EFL_CHECK_LUA_OLD([EDJE])
4576 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4579 EFL_ADD_LIBS([EDJE], [-lm])
4581 EFL_EVAL_PKGS([EDJE])
4583 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4584 [1], [Cache result of program glob matches])
4585 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4586 [1], [Cache result of calc glob matches])
4587 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4588 [1], [Use Fixed Point instead of FPU])
4590 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4591 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4592 [1], [Use Multisense])
4593 AC_SUBST([want_multisense])
4594 AC_SUBST([want_physics])
4596 ### Checks for header files
4598 AC_CHECK_HEADERS([ \
4602 ### Checks for types
4604 ### Checks for structures
4606 ### Checks for compiler characteristics
4608 ### Checks for linker characteristics
4610 ### Checks for library functions
4616 EFL_LIB_START([Edje_Cxx])
4618 EFL_EVAL_PKGS([EDJE_CXX])
4620 EFL_LIB_END([Edje_Cxx])
4621 #### End of Edje CXX
4624 EFL_LIB_START([Emotion])
4626 ## Compatibility layers
4627 EFL_PLATFORM_DEPEND([Emotion], [evil])
4630 if test "${efl_func_shm_open}" = "yes"; then
4631 want_emotion_generic="static"
4633 want_emotion_generic="no"
4636 ### Additional options to configure
4637 AC_ARG_ENABLE([xine],
4638 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4640 if test "x${enableval}" = "xyes" ; then
4648 AC_ARG_ENABLE([v4l2],
4649 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4651 if test "x${enableval}" = "xyes" ; then
4657 [want_v4l2="${efl_lib_optional_eeze}"])
4659 AC_ARG_ENABLE([libvlc],
4660 [AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
4662 if test "x${enableval}" = "xyes" ; then
4670 ### Checks for programs
4672 ### Checks for libraries
4673 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4674 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4675 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4676 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4677 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4678 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4679 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4680 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4682 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4683 EFL_ADD_FEATURE([EMOTION], [v4l2])
4687 have_gst_xoverlay="no"
4689 EMOTION_MODULE([xine], [${want_xine}])
4690 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4691 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4692 EMOTION_MODULE([libvlc], [${want_libvlc}])
4693 EMOTION_MODULE([generic], [${want_emotion_generic}])
4695 EFL_ADD_FEATURE([EMOTION], [xine])
4696 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4697 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4698 EFL_ADD_FEATURE([EMOTION], [libvlc])
4699 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4701 EFL_EVAL_PKGS([EMOTION])
4703 ### Checks for header files
4705 ### Checks for types
4707 ### Checks for structures
4709 ### Checks for compiler characteristics
4711 ### Checks for linker characteristics
4713 ### Checks for library functions
4715 if test "${want_v4l2}" = "yes"; then
4716 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4717 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4718 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4719 [#include <linux/videodev2.h>])
4722 ### Check availability
4724 EFL_LIB_END([Emotion])
4729 EFL_LIB_START([Ethumb])
4733 ### Additional options to configure
4735 ### Checks for programs
4737 ## Compatibility layers
4738 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4740 ### Checks for libraries
4741 EFL_PLATFORM_DEPEND([EINA], [evil])
4743 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4744 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4745 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4746 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4747 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4748 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4749 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4750 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4751 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4752 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4753 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4757 EFL_EVAL_PKGS([ETHUMB])
4759 ### Checks for header files
4761 ### Checks for types
4763 ### Checks for structures
4765 ### Checks for compiler characteristics
4767 ### Checks for linker characteristics
4769 ### Checks for library functions
4771 ### Check availability
4773 EFL_LIB_END([Ethumb])
4777 EFL_LIB_START([Ethumb_Client])
4781 ### Additional options to configure
4783 ### Checks for programs
4785 ## Compatibility layers
4786 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4788 ### Checks for libraries
4789 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4790 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4791 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4792 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4793 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4794 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4795 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4796 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4797 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4798 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4799 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4801 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4803 ### Checks for header files
4805 ### Checks for types
4807 ### Checks for structures
4809 ### Checks for compiler characteristics
4811 ### Checks for linker characteristics
4813 ### Checks for library functions
4815 ### Check availability
4817 EFL_LIB_END([Ethumb_Client])
4818 #### End of Ethumb_Client
4823 if test "${want_lua_old}" = "yes"; then
4827 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4831 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4833 ### Additional options to configure
4835 ### Checks for programs
4837 ## Compatibility layers
4838 EFL_PLATFORM_DEPEND([ELUA], [evil])
4840 ### Checks for libraries
4841 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4842 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4843 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4845 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4847 EFL_EVAL_PKGS([ELUA])
4849 ### Checks for header files
4851 ### Checks for types
4853 ### Checks for structures
4855 ### Checks for compiler characteristics
4857 ### Checks for linker characteristics
4859 ### Checks for library functions
4861 ### Check availability
4863 EFL_LIB_END_OPTIONAL([Elua])
4868 EFL_LIB_START([Elocation])
4872 ### Additional options to configure
4874 ### Checks for programs
4876 ### Checks for libraries
4877 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4878 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4879 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4880 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4881 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4883 EFL_ADD_LIBS([ELOCATION], [-lm])
4885 ### Checks for header files
4887 ### Checks for types
4889 ### Checks for structures
4891 ### Checks for compiler characteristics
4893 ### Checks for linker characteristics
4895 ### Checks for library functions
4897 ### Check availability
4899 EFL_LIB_END([Elocation])
4900 #### End of Elocation
4905 EFL_LIB_START_OPTIONAL([Efl_Js], [test "x${have_js}" = "xyes"])
4909 ### Additional options to configure
4911 ### Checks for programs
4913 ### Checks for libraries
4914 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eina])
4915 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eo])
4916 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore])
4917 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eet])
4918 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Evas])
4919 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Con])
4920 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Audio])
4921 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Efl])
4922 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Evas])
4923 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Edje])
4924 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emotion])
4925 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eldbus])
4926 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emile])
4927 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ethumb_Client])
4928 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eio])
4930 AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([EFL_JS], [-lv8]) ])
4932 EFL_EVAL_PKGS([EFL_JS])
4934 AM_COND_IF([HAVE_NODEJS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_NODEJS"], [])
4935 AM_COND_IF([HAVE_LIBUV], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_LIBUV"], [])
4936 AM_COND_IF([HAVE_JS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_JS"], [])
4938 AM_COND_IF([HAVE_V8_CREATE_PARAMS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
4939 AM_COND_IF([HAVE_V8_GLOBAL], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
4940 AC_SUBST([EFLJS_CXXFLAGS])
4942 ### Checks for header files
4944 ### Checks for types
4946 ### Checks for structures
4948 ### Checks for compiler characteristics
4950 ### Checks for linker characteristics
4952 ### Checks for library functions
4954 ### Check availability
4956 EFL_LIB_END_OPTIONAL([Efl_Js])
4959 ### Add Wayland server library if test is enabled
4960 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4961 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.8.0])
4962 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4965 AC_ARG_ENABLE([always-build-examples],
4966 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4968 if test "x${enableval}" = "xyes" ; then
4969 want_always_build_examples="yes"
4971 want_always_build_examples="no"
4974 [want_always_build_examples="no"])
4975 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4979 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-abb],
4980 [ You will be told when this is needed ],
4982 if test "x${enableval}" = "xyes" ; then
4991 build_ecore_buffer_x11_dri2="no"
4992 build_ecore_buffer_x11_dri3="no"
4993 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
4994 ### Checks for libraries
4995 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
4996 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
4997 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
4998 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
4999 [wayland-server >= 1.5.0 wayland-client >= 1.5.0])
5001 PKG_CHECK_MODULES([X11_DRI_COMMON],
5006 [have_x11_dri_common_pkgs="yes"],
5007 [have_x11_dri_common_pkgs="no"]
5010 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
5011 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
5013 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
5014 [have_x11_dri2_pkgs="yes"],
5015 [have_x11_dri2_pkgs="no"])
5016 PKG_CHECK_MODULES([X11_DRI3],
5024 [have_x11_dri3_pkgs="yes"],
5025 [have_x11_dri3_pkgs="no"])
5028 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
5029 build_ecore_buffer_x11_dri2="yes"
5030 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
5033 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
5034 build_ecore_buffer_x11_dri3="yes"
5035 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
5037 EFL_EVAL_PKGS([ECORE_BUFFER])
5039 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
5040 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
5041 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
5043 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
5045 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
5046 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
5048 #### End of Ecore_Buffer
5055 doc/previews/Makefile
5057 src/benchmarks/eina/Makefile
5058 src/benchmarks/eo/Makefile
5059 src/benchmarks/evas/Makefile
5060 src/examples/eina/Makefile
5061 src/examples/eina_cxx/Makefile
5062 src/examples/eet/Makefile
5063 src/examples/evas/Makefile
5064 src/examples/ecore/Makefile
5065 src/examples/ecore_avahi/Makefile
5066 src/examples/eio/Makefile
5067 src/examples/eldbus/Makefile
5068 src/examples/ephysics/Makefile
5069 src/examples/edje/Makefile
5070 src/examples/emotion/Makefile
5071 src/examples/emile/Makefile
5072 src/examples/ethumb_client/Makefile
5073 src/examples/elua/Makefile
5074 src/examples/eolian_cxx/Makefile
5075 src/examples/elocation/Makefile
5076 src/lib/eina/eina_config.h
5077 src/lib/eina/Makefile
5078 src/lib/ecore_x/ecore_x_version.h
5079 src/lib/efl/Efl_Config.h
5099 pc/evas-opengl-x11.pc
5100 pc/evas-opengl-sdl.pc
5101 pc/evas-opengl-cocoa.pc
5103 pc/evas-software-buffer.pc
5104 pc/evas-software-x11.pc
5105 pc/evas-software-gdi.pc
5106 pc/evas-software-ddraw.pc
5107 pc/evas-software-sdl.pc
5108 pc/evas-wayland-shm.pc
5109 pc/evas-wayland-egl.pc
5119 pc/ecore-input-evas.pc
5131 pc/ecore-imf-evas.pc
5133 pc/ecore-audio-cxx.pc
5153 dbus-services/org.enlightenment.Ethumb.service
5154 systemd-services/ethumb.service
5156 cmakeconfig/EflConfig.cmake
5157 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5158 cmakeconfig/EinaConfig.cmake
5159 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5160 cmakeconfig/EioConfig.cmake
5161 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5162 cmakeconfig/EezeConfig.cmake
5163 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5164 cmakeconfig/EoConfig.cmake
5165 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5166 cmakeconfig/EolianConfig.cmake
5167 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5168 cmakeconfig/EolianHelper.cmake
5169 cmakeconfig/EolianCxxConfig.cmake
5170 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5171 cmakeconfig/EinaCxxConfig.cmake
5172 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5173 cmakeconfig/EoCxxConfig.cmake
5174 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5175 cmakeconfig/EcoreCxxConfig.cmake
5176 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5177 cmakeconfig/EvasCxxConfig.cmake
5178 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5179 cmakeconfig/EetCxxConfig.cmake
5180 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5181 cmakeconfig/EetConfig.cmake
5182 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5183 cmakeconfig/EvasConfig.cmake
5184 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5185 cmakeconfig/EcoreConfig.cmake
5186 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5187 cmakeconfig/EdjeConfig.cmake
5188 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5189 cmakeconfig/EldbusConfig.cmake
5190 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5191 cmakeconfig/EfreetConfig.cmake
5192 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5193 cmakeconfig/EthumbConfig.cmake
5194 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5195 cmakeconfig/EthumbClientConfig.cmake
5196 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5197 cmakeconfig/EmotionConfig.cmake
5198 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5199 cmakeconfig/EluaConfig.cmake
5200 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5201 cmakeconfig/EmileConfig.cmake
5202 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5207 #### Work around bug in automake check macro
5208 ## yes it is hugly, but no choice here for now.
5209 $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
5211 if test -f $srcdir/config.status; then
5212 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"
5213 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
5218 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
5222 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
5223 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
5226 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
5229 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5232 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5236 if test "${have_linux}" = "yes"; then
5237 EFL_ADD_FEATURE([system], [inotify])
5238 EFL_ADD_FEATURE([system], [atfile_source])
5239 elif test "${have_windows}" = "yes"; then
5240 EFL_ADD_FEATURE([system], [notify_win32])
5242 EFL_ADD_FEATURE([system], [ipv6])
5244 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
5245 efl_have_spinlock="yes"
5247 efl_have_spinlock="no"
5249 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
5250 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
5251 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
5252 EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
5253 EFL_ADD_FEATURE([thread], [__thread], [${have_thread_specifier}])
5258 echo "------------------------------------------------------------------------"
5259 echo "$PACKAGE_NAME $PACKAGE_VERSION"
5260 echo "------------------------------------------------------------------------"
5263 if test "x${have_windows}" = "xyes" ; then
5264 osname="${host_os}(${_efl_windows_version})"
5269 if test "x${want_egl}" = "xyes" ; then
5275 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
5276 echo " EFL API Set...: ${efl_api}"
5277 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
5278 echo " System Feature: ${features_system}"
5279 echo " Threads.......: ${efl_have_threads} (${features_thread})"
5280 echo " Cryptography..: ${build_crypto}"
5281 echo " X11...........: ${with_x11}"
5282 echo " OpenGL........: ${with_opengl} ${opengl_egl}"
5283 echo " C++11.........: ${have_cxx11}"
5284 echo " JavaScript....: ${want_js}"
5285 echo " JavaScript flg: $EINA_JS_LIBS"
5286 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
5287 echo "Eo..............: yes (${features_eo})"
5288 echo "Eolian..........: yes (${features_eolian})"
5289 echo "Emile...........: yes (${features_emile})"
5290 echo "Eet.............: yes"
5291 echo "Evas............: yes (${features_evas})"
5292 echo " Engines.......: ${features_evas_engine}"
5293 echo " Image Loaders.: ${features_evas_loader}"
5294 if test "x${have_pixman}" = "xyes" ; then
5295 echo " Pixman........: ${features_evas_pixman}"
5297 echo "Ecore...........: yes (${features_ecore})"
5298 echo "Ecore_Con.......: yes (${features_ecore_con})"
5299 echo "Ecore_File......: yes"
5300 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
5301 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
5302 echo "Ecore_SDL.......: $want_sdl"
5303 echo "Ecore_Wayland...: $want_wayland"
5304 echo "Ecore_Wl2.......: $want_wayland"
5305 echo "IVI-Shell.......: $want_wayland_ivi_shell"
5306 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
5307 if test "${have_linux}" = "yes"; then
5308 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
5309 elif test "${have_ps3}" = "yes"; then
5310 echo "Ecore_PSL1GHT...: $have_ps3"
5311 elif test "${have_darwin}" = "yes"; then
5312 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
5313 elif test "${have_windows}" = "yes"; then
5314 echo "Ecore_Win32.....: $have_win32"
5316 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
5317 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
5318 echo "Ecore_Evas......: yes (${features_ecore_evas})"
5319 echo "Ector...........: yes"
5320 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
5321 echo "EPhysics........: ${efl_lib_optional_ephysics}"
5322 echo "Edje............: yes (${features_edje})"
5323 echo "Emotion.........: yes (${features_emotion})"
5324 echo "Ethumb..........: yes"
5325 echo "Ethumb_Client...: yes"
5326 echo "Elua............: $have_elua"
5327 if test "${build_tests}" = "none"; then
5328 echo "Tests...........: no"
5329 elif test "${build_tests}" = "auto"; then
5330 echo "Tests...........: make check (inexplicitly enabled)"
5331 elif test "${build_tests}" = "regular"; then
5332 echo "Tests...........: make check"
5333 elif test "${build_tests}" = "coverage"; then
5334 echo "Tests...........: make lcov-check"
5336 echo "Examples........: make examples (make install-examples)"
5337 if test "x${build_doc}" = "xyes"; then
5338 echo "Documentation...: make doc"
5340 echo "Documentation...: no"
5342 echo "Compilation.....: make (or gmake)"
5343 echo " CPPFLAGS......: $CPPFLAGS"
5344 echo " CFLAGS........: $CFLAGS"
5345 echo " CXXFLAGS......: $CXXFLAGS"
5346 echo " LDFLAGS.......: $LDFLAGS"
5347 echo " EFLJS_CXXFLAGS: $EFLJS_CXXFLAGS"
5349 if test "x${with_binary_edje_cc}" != "x"; then
5350 echo " edje_cc.......: ${with_binary_edje_cc}"
5353 if test "x${with_binary_eolian_gen}" != "x"; then
5354 echo " eolian_gen....: ${with_binary_eolian_gen}"
5357 if test "x${with_binary_eolian_cxx}" != "x"; then
5358 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
5361 if test "x${with_binary_elua_bin}" != "x"; then
5362 echo " elua..........: ${with_binary_elua_bin}"
5366 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
5367 echo " prefix........: $prefix"
5368 echo " dbus units....: $dbusservicedir"
5369 if test "${have_systemd_user_session}" = "yes"; then
5370 echo " systemd units.: $USER_SESSION_DIR"
5374 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
5375 echo " _________________________________________"
5376 echo "/ Systemd dependency is available on your \\"
5377 echo "| system, but you are building without |"
5378 echo "| systemd support. Don't forget to |"
5379 echo "| --enable-systemd if you want systemd |"
5380 echo "\\ integration for EFL. /"
5381 echo " -----------------------------------------"
5383 echo " \\ (oo)\\_______"
5384 echo " (__)\\ )\\/\\"
5389 if test -n "$CFOPT_WARNING"; then
5390 echo "_____________________________________________________________________"
5392 echo "==-- WARNING --=="
5394 echo "_____________________________________________________________________"
5395 if test "x${with_x11}" = "xxcb"; then
5396 echo "_____________________________________________________________________"
5397 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
5398 echo "is amazingly faster than Xlib (when used sensibly). It can be"
5399 echo "faster in a few corner cases on startup of an app, but it comes"
5400 echo "with many downsides. One of those is more complex code inside"
5401 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
5402 echo "the big catch is that OpenGL support basically requires Xlib anyway"
5403 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
5404 echo "gain nothing really in terms of speed and no savings in memory"
5405 echo "because Xlib is still linked, loaded and used, BUT instead you"
5406 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
5407 echo "toolkit and this is basically never tested by anyone working on"
5408 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
5409 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
5410 echo "off the memory footprint of a whole system and live with less"
5411 echo "tested code, and possibly unimplemented features in ecore_x. To"
5412 echo "remove the XCB setup, remove the --with-x11=xcb option to"
5414 echo "_____________________________________________________________________"
5416 if test "x${want_physics}" = "xno"; then
5417 echo "_____________________________________________________________________"
5418 echo "You have chosen to disable physics support. This disables lots of"
5419 echo "core functionality and is effectively never tested. You are going"
5420 echo "to find features that suddenly don't work and as a result cause"
5421 echo "a series of breakages. This is simply not tested so you are on"
5422 echo "your own in terms of ensuring everything works if you do this"
5423 echo "_____________________________________________________________________"
5425 if test "x${efl_have_threads}" = "xno"; then
5426 echo "_____________________________________________________________________"
5427 echo "You have disabled threading support. A lot of code is literally"
5428 echo "written to need threading. We never test or even build with"
5429 echo "threading disabled, so doing this is entering uncharted territory."
5430 echo "There is a very good chance things may not compile at all, or if"
5431 echo "the do, they will break at runtime in weird and wonderful ways."
5432 echo "Highly reconsider what you are doing here, or be prepared to deal"
5433 echo "with the fallout yourself."
5434 echo "_____________________________________________________________________"
5436 if test "x${want_fontconfig}" = "xno"; then
5437 echo "_____________________________________________________________________"
5438 echo "You have disabled fontconfig. This is going to make general font"
5439 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5440 echo "will work alongside some old-school ttf file path searching. This"
5441 echo "is very likely not what you want, so highly reconsider turning"
5442 echo "fontconfig off. Having it off will lead to visual problems like"
5443 echo "missing text in many UI areas etc."
5444 echo "_____________________________________________________________________"
5446 if test "x${want_fribidi}" = "xno"; then
5447 echo "_____________________________________________________________________"
5448 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5449 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5450 echo "you want to disable unless you know for absolute certain you"
5451 echo "will never encounter and have to display such scripts. Also"
5452 echo "note that we don't test with fribidi disabled so you may also"
5453 echo "trigger code paths with bugs that are never normally used."
5454 echo "_____________________________________________________________________"
5456 if test "x${want_pixman}" = "xyes"; then
5457 echo "_____________________________________________________________________"
5458 echo "Pixman allows you to replace some rendering paths in Evas with"
5459 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5460 echo "the rendering paths with Pixman enabled are not tested often so"
5461 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5462 echo "you wish to deal with these bugs."
5463 echo "_____________________________________________________________________"
5465 if test "x${have_tile_rotate}" = "xyes"; then
5466 echo "_____________________________________________________________________"
5467 echo "Tiled rotation code is not tested much, so be aware that you"
5468 echo "may introduce bugs by enabling this."
5469 echo "_____________________________________________________________________"
5471 if test "x${want_g_main_loop}" = "xyes"; then
5472 echo "_____________________________________________________________________"
5473 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5474 echo "regularly, but the glib mainloop integration (on by default) is."
5475 echo "You can use apps that use glib mainloop constructs by default"
5476 echo "this way, but the Ecore mainloop is not built on top of glib."
5477 echo "You have enabled ecore to be built on top of glib and thus you"
5478 echo "may experience bugs that normally would not be there. Be prepared"
5479 echo "to fix these if they arise."
5480 echo "_____________________________________________________________________"
5482 if test "x${want_gstreamer}" = "xyes"; then
5483 echo "_____________________________________________________________________"
5484 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5485 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5486 echo "and will eventually be removed entirely. Don't enable the old"
5487 echo "Gstreamer support unless you want to deal with the issues yourself."
5488 echo "_____________________________________________________________________"
5490 if test "x${want_gstreamer1}" = "xno"; then
5491 echo "_____________________________________________________________________"
5492 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5493 echo "this as it will heavily limit your media support options and render"
5494 echo "some functionality as useless, leading to visible application bugs."
5495 echo "_____________________________________________________________________"
5497 if test "x${want_eo_id}" = "xno"; then
5498 echo "_____________________________________________________________________"
5499 echo "Eo's ID abstraction interface is a major safety system that"
5500 echo "protects code from crashing or misbehaving in many cases. It does"
5501 echo "come at a slight cost, but the safety and protection is worth it."
5502 echo "Also by disabling this, you may also introduce security holes in"
5503 echo "EFL as well as cause all sorts of previously non-existant crashes."
5504 echo "Seriously reconsider disabling EO ID."
5505 echo "_____________________________________________________________________"
5507 if test "x${want_evas_cserve2}" = "xno"; then
5508 echo "_____________________________________________________________________"
5509 echo "Evas Cserve is built and on by default and no testing is done"
5510 echo "for the old non-cserve2 code paths, so by disabling this you"
5511 echo "may be introducing bugs. Be aware of this and be prepared to"
5512 echo "deal with the bugs as a result of this."
5513 echo "_____________________________________________________________________"
5515 if test "x${want_audio}" = "xno"; then
5516 echo "_____________________________________________________________________"
5517 echo "You disabled audio support in Ecore. This is not tested and may"
5518 echo "Create bugs for you due to it creating untested code paths."
5519 echo "Reconsider disabling audio."
5520 echo "_____________________________________________________________________"
5522 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5523 echo "_____________________________________________________________________"
5524 echo "The only audio output method supported by Ecore right now on your"
5525 echo "system is via Pulseaudio. You have disabled that and likely have"
5526 echo "broken a whole bunch of things in the process. Reconsider your"
5527 echo "configure options."
5528 echo "_____________________________________________________________________"
5530 if test "x${want_xinput2}" = "xno"; then
5531 echo "_____________________________________________________________________"
5532 echo "You have disabled xinput2 support. This means a whole lot of input"
5533 echo "devices in X11 will not work correctly. You likely do not want to"
5535 echo "_____________________________________________________________________"
5537 if test "x${want_xim}" = "xno"; then
5538 echo "_____________________________________________________________________"
5539 echo "You disabled XIM input method support. This is the most basic and"
5540 echo "core input method protocol supported in X11 and you almost certainly"
5541 echo "want the support for it. Input methods allow for complex text input"
5542 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5543 echo "on touch/mobile devices."
5544 echo "_____________________________________________________________________"
5546 if test "x${want_scim}" = "xno"; then
5547 echo "_____________________________________________________________________"
5548 echo "SCIM is a modern and very common input method framework and you"
5549 echo "disabled support for it. You very likely want the support for"
5550 echo "complex language input, so please reconsider this. Input methods"
5551 echo "allow for complex text input like for Chinese, Japanese and Korean"
5552 echo "as well as virtual keyboards on touch/mobile devices."
5553 echo "_____________________________________________________________________"
5555 if test "x${want_libmount}" = "xno"; then
5556 echo "_____________________________________________________________________"
5557 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5558 echo "for support of removable devices etc. and disabling this will"
5559 echo "hurt support for Enlightenment and its filemanager."
5560 echo "_____________________________________________________________________"
5562 if test "x${want_multisense}" = "xno"; then
5563 echo "_____________________________________________________________________"
5564 echo "Multisense has been disabled. This causes Edje audio suport to"
5565 echo "Simply not work, and will break applications and libraries"
5566 echo "that rely on it with users then reporting bugs."
5567 echo "If you want to mute audio, there are APIs and policies to do"
5568 echo "that, as opposed to compiling it out."
5569 echo "_____________________________________________________________________"
5571 if test "x${efl_api}" = "xeo"; then
5572 echo "_____________________________________________________________________"
5573 echo "Using the EO based EFL API only does not work at the moment. We still"
5574 echo "have a lot code that depends on the legacy interfaces. We provide"
5575 echo "this option for testing once we are able to migrate to the EO based"
5577 echo "If you are not working on this migration please leave the option set"
5578 echo "to both as it will break your build if set to eo."
5579 echo "_____________________________________________________________________"
5581 if test "x${want_libeeze}" = "xno"; then
5582 echo "_____________________________________________________________________"
5583 echo "Libeeze has been disabled, and it is used heavily for support of"
5584 echo "removable devices etc. and disabling this will hurt support for"
5585 echo "Enlightenment and its filemanager."
5586 echo "_____________________________________________________________________"
5588 echo "_____________________________________________________________________"
5590 echo "==-- WARNING --=="
5592 echo "_____________________________________________________________________"
5593 if test -n "$BARF_OK"; then
5594 echo "Please add the following option to acknowledge this:"
5595 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-abb"
5596 echo "_____________________________________________________________________"
5603 if test "x$prefix" != "x/usr"; then
5605 path=$dbusservicedir
5606 while test "x$old" != "x$path"; do
5608 eval path="\"$path\""
5610 resolved_dbusservicedir=$path
5613 path=$USER_SESSION_DIR
5614 while test "x$old" != "x$path"; do
5616 eval path="\"$path\""
5618 resolved_USER_SESSION_DIR=$path
5619 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5623 while test "x$old" != "x$path"; do
5625 eval path="\"$path\""
5627 resolved_datadir=$path
5630 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5631 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5632 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5633 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5638 needs_alert_systemd=0
5639 if test "$have_systemd_user_session" = "yes"; then
5640 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5641 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5642 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5643 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5645 needs_alert_systemd=1
5649 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5650 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5651 what_alert="dbus and systemd"
5652 elif test $needs_alert_dbus -eq 1; then
5655 what_alert="systemd"
5659 echo "#-------------------------------------------------------------------#"
5660 echo "##==-- ALERT --==##"
5661 echo "#-------------------------------------------------------------------#"
5663 echo " Your installation prefix is *NOT* /usr so this means you need"
5664 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5665 echo "be started when needed. You will need to do the following:"
5666 if test $needs_alert_dbus -eq 1; then
5668 echo "System-wide installation:"
5669 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5671 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5673 echo "User installation:"
5674 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5676 if test $needs_alert_systemd -eq 1; then
5678 echo "System-wide installation:"
5679 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5681 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5683 echo "User installation:"
5684 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5687 echo "#-------------------------------------------------------------------#"
5691 if test "x${efl_deprecated_option}" = "xyes"; then
5693 echo "#-------------------------------------------------------------------#"
5694 echo "##==-- ALERT --==##"
5695 echo "#-------------------------------------------------------------------#"
5697 echo " Your build script is using a deprecated option. It will get b0rken"
5698 echo "with the next release of EFL. You better update it now than later."
5700 echo "#-------------------------------------------------------------------#"