1 EFL_VERSION([1], [16], [99], [dev])
2 AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
5 AC_CONFIG_SRCDIR([configure.ac])
6 AC_CONFIG_MACRO_DIR([m4])
8 AC_CONFIG_HEADERS([config.h])
10 #ifndef EFL_CONFIG_H__
11 #define EFL_CONFIG_H__
14 #endif /* EFL_CONFIG_H__ */
18 AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects])
19 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
21 # Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
22 # http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
23 AC_USE_SYSTEM_EXTENSIONS
27 #### Apply configuring with legacy api's only, eo api's or both.
29 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
30 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
33 #### For the moment the Eo EFL API is not ready you need to explicitely optin.
34 EFL_ENABLE_EO_API_SUPPORT
35 EFL_ENABLE_BETA_API_SUPPORT
38 [AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
44 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
45 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
54 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
56 *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
59 AC_SUBST(EFL_API_LEGACY_DEF)
60 AC_SUBST(EFL_API_EO_DEF)
62 #### Additional options to configure
64 # string to identify the build
66 [AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
67 @<:@default=none@:>@])],
68 [EFL_BUILD_ID="${withval}"],
69 [EFL_BUILD_ID="none"])
70 AC_SUBST(EFL_BUILD_ID)
73 AC_ARG_WITH([profile],
74 [AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
75 @<:@default=dev@:>@])],
76 [build_profile=${withval}],
77 [build_profile=def_build_profile])
79 case "${build_profile}" in
83 AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
88 case "${build_profile}" in
94 # TODO: add some build "profile" (server, full, etc...)
97 [AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
98 openssl, gnutls or none.
99 @<:@default=openssl@:>@])],
100 [build_crypto=${withval}],
101 [build_crypto=openssl])
103 case "${build_crypto}" in
107 AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
112 [AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none.
113 @<:@default=none@:>@])],
114 [build_tests=${withval}],
119 case "${build_tests}" in
121 if test "${build_profile}" = "dev"; then
135 AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
139 AC_ARG_WITH([ecore-con-http-test-url],
140 [AS_HELP_STRING([--with-ecore-con-http-test-url=http://username:password@example.com],[Url of http server for testing with username and password])],[ECORE_CON_HTTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_HTTP_TEST_URL],["$withval"],[Http url for testing])])
142 AC_ARG_WITH([ecore-con-ftp-test-url],
143 [AS_HELP_STRING([--with-ecore-con-ftp-test-url=ftp://username:password@ftp.example.com?file=filename&directory=dir],[Url of ftp server for testing with username, password, complete filepath for upload with optional directory])],[ECORE_CON_FTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_FTP_TEST_URL],["$withval"],[Ftp url for testing])])
145 dbusservicedir="${datadir}/dbus-1/services"
146 AC_ARG_WITH([dbus-services],
147 [AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
148 [dbusservicedir=$withval])
149 AC_SUBST(dbusservicedir)
151 efl_deprecated_option="no"
152 EFL_WITH_BIN([edje], [edje-cc])
153 EFL_WITH_BIN([eolian], [eolian-gen])
154 EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
155 EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
159 requirements_pc_eflall=""
160 requirements_pc_deps_eflall=""
161 requirements_libs_eflall=""
162 requirements_cflags_eflall=""
164 requirements_pc_crypto=""
165 requirements_pc_deps_crypto=""
166 requirements_libs_crypto=""
167 requirements_cflags_crypto=""
171 # TODO: move me to m4 file that setups module/so related variables
174 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
179 MODULE_ARCH="v-v_maj.v_min"
183 MODULE_ARCH="v-v_maj.v_min"
187 MODULE_ARCH="v-v_maj.v_min"
192 EFL_VERSION_MAJOR="v_maj"
193 EFL_VERSION_MINOR="v_min"
194 AC_SUBST(EFL_VERSION_MAJOR)
195 AC_SUBST(EFL_VERSION_MINOR)
197 have_systemd_pkg="no"
206 # TODO: check cygwin* here
209 EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
219 have_systemd_pkg="auto"
223 case "$host_vendor" in
229 AC_SUBST([MODULE_ARCH])
230 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
231 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
232 AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
234 # TODO: move me to m4 file that setups the windows related variables
235 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
236 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
237 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
239 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
240 AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
241 AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
243 #### Checks for programs
247 if test "x${have_windows}" = "xyes" ; then
248 lt_cv_deplibs_check_method='pass_all'
250 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
251 LT_INIT([win32-dll disable-static pic-only])
256 AM_GNU_GETTEXT_VERSION([0.18])
258 m4_ifdef([AC_GNU_GETTEXT], [
259 AC_GNU_GETTEXT([external])
260 po_makefile_in=po/Makefile.in
264 m4_ifdef([AM_GNU_GETTEXT], [
265 AM_GNU_GETTEXT([external])
266 po_makefile_in=po/Makefile.in
273 AC_SUBST([LTLIBINTL])
274 LOCALE_DIR="${localedir}"
277 if test "x${POSUB}" = "x" ; then
281 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
294 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
296 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
297 AC_MSG_ERROR([efl requires a c99-capable compiler])
299 # We should be using ${CXX} here, but there is a bug in
300 # autotools macro and CXX is always set to g++ even if
301 # it's not found. So we are using an internal variable
302 # that does the work for now, may get broken in the future.
303 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
304 AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
312 if test "x${PKG_CONFIG}" = "x" ; then
313 AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
316 # doxygen program for documentation building
318 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
322 if test "${want_coverage}" = "yes" ; then
323 AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
324 if test "x${have_lcov}" = "xyes" ; then
325 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -fprofile-arcs -ftest-coverage"
326 EFLALL_COV_LIBS="${EFLALL_COV_LIBS} -lgcov"
327 if test "x${prefer_assert}" = "xno"; then
328 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
330 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0 -DDEBUG"
333 AC_MSG_ERROR([lcov is not found])
337 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
339 #### Checks for libraries
341 # check unit testing library
343 if test "${want_tests}" = "yes"; then
344 PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
346 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
349 # check for crypto/tls library to use
350 case "$build_crypto" in
352 EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16])
354 AM_PATH_LIBGCRYPT([], [:],
355 [AC_MSG_ERROR([libgcrypt required but not found])])
356 requirements_libs_crypto="${LIBGCRYPT_LIBS} ${requirements_libs_crypto}"
357 requirements_cflags_crypto="${LIBGCRYPT_CFLAGS} ${requirements_cflags_crypto}"
361 EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
364 AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
365 AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
369 AC_ARG_ENABLE([lua-old],
370 [AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
372 if test "x${enableval}" = "xyes" ; then
380 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
381 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
382 [1], [Use interpreted Lua (5.1 or 5.2)])
383 AC_SUBST([want_lua_old])
387 AC_ARG_ENABLE([liblz4],
388 [AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
390 if test "x${enableval}" = "xyes" ; then
391 # Only ships pc file since r120
392 PKG_CHECK_MODULES([LIBLZ4], [liblz4])
393 EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
394 EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
402 AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
403 AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
404 AC_SUBST([want_liblz4])
405 AC_SUBST([ENABLE_LIBLZ4])
407 #### Checks for header files
409 # Common Checks (keep names sorted for ease of use):
427 #### Checks for types
430 AC_CHECK_SIZEOF([wchar_t])
431 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
432 AC_SUBST([EINA_SIZEOF_WCHAR_T])
434 AC_CHECK_SIZEOF(int, 4)
435 AC_CHECK_SIZEOF(long, 4)
437 AC_CHECK_SIZEOF([uintptr_t])
439 AC_CHECK_TYPES([siginfo_t], [], [],
443 # include <siginfo.h>
447 #### Checks for structures
450 #### Checks for compiler characteristics
454 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
455 EFL_CHECK_LINKER_FLAGS([EFLALL], [-fvisibility=hidden -fdata-sections -ffunction-sections -Wl,--gc-sections -fno-strict-aliasing -Wl,--as-needed -Wl,--no-copy-dt-needed-entries])
456 case "${build_profile}" in
458 dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
459 AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
460 CFLAGS_save="${CFLAGS}"
461 CFLAGS="${CFLAGS} -Werror -Wshadow"
462 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
463 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
464 CFLAGS="${CFLAGS_save}"
475 EFL_ATTRIBUTE_ALWAYS_INLINE
477 EFLALL_LIBS="${EFLALL_LIBS}"
478 EFLALL_CFLAGS="${EFLALL_CFLAGS}"
480 ## CPU architecture specific assembly
484 build_cpu_altivec="no"
488 AC_ARG_ENABLE([neon],
489 [AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
491 if test "x${enableval}" = "xyes"; then
504 AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
506 AC_CHECK_HEADER([immintrin.h],
508 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
511 [build_cpu_sse3="no"])
512 AC_MSG_CHECKING([whether to build SSE3 code])
513 AC_MSG_RESULT([${build_cpu_sse3}])
515 if test "x$build_cpu_sse3" = "xyes" ; then
520 build_cpu_altivec="yes"
521 AC_CHECK_HEADER([altivec.h],
523 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
524 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
525 build_cpu_altivec="yes"
529 save_CPPFLAGS=$CPPFLAGS
530 CFLAGS=$CFLAGS" -maltivec"
531 CPPFLAGS=$CPPFLAGS" -maltivec"
532 unset ac_cv_header_altivec_h
533 AC_CHECK_HEADER([altivec.h],
535 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
536 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
537 build_cpu_altivec="yes"
539 [build_cpu_altivec="no"]
542 CPPFLAGS=$save_CPPFLAGS
545 if test "x${build_cpu_altivec}" = "xyes"; then
546 AC_MSG_CHECKING([whether to use altivec compiler flag])
547 if test "x$GCC" = "xyes"; then
548 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
549 altivec_cflags="-faltivec"
550 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
551 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
552 altivec_cflags="-maltivec"
553 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
556 AC_MSG_RESULT([${altivec_cflags}])
557 CFLAGS="$CFLAGS ${altivec_cflags}"
558 ALTIVEC_CFLAGS="-maltivec"
562 if test "x${want_neon}" = "xyes"; then
564 AC_MSG_CHECKING([whether to use NEON instructions])
565 CFLAGS_save="${CFLAGS}"
566 CFLAGS="${CFLAGS} -mfpu=neon -ftree-vectorize"
567 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
569 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
571 NEON_CFLAGS="-mfpu=neon"
576 CFLAGS="${CFLAGS_save}"
580 if test "x${want_neon}" = "xyes"; then
582 AC_MSG_CHECKING([whether to use NEON instructions])
583 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
585 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
586 AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
596 AC_SUBST([ALTIVEC_CFLAGS])
597 AC_SUBST([SSE3_CFLAGS])
598 AC_SUBST([NEON_CFLAGS])
600 #### Checks for linker characteristics
603 #### Checks for library functions
624 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl])
626 have_atfile_source="${ac_cv_func_fstatat}"
627 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
628 [test "x${have_atfile_source}" = "xyes"],
629 [1], [Use fstatat and other -at file functions])
633 ###################### EFL ######################
636 AC_ARG_ENABLE([libeeze],
637 [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
639 if test "x${enableval}" = "xyes"; then
648 if test "x${want_libeeze}" = "xyes" ; then
649 if test "x${have_linux}" = "xyes" ; then
659 AC_ARG_ENABLE([systemd],
660 [AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])],
662 if test "x${enableval}" = "xyes" ; then
671 systemd_dbus_prefix="# "
672 if test "${want_systemd}" = "yes"; then
673 systemd_dbus_prefix=""
675 AC_SUBST(systemd_dbus_prefix)
677 AC_ARG_WITH([systemdunitdir],
678 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
679 [USER_SESSION_DIR=${withval}])
680 if test "$want_systemd" == "no"; then
681 have_systemd_user_session="no"
682 elif test -n "${USER_SESSION_DIR}"; then
683 have_systemd_user_session="yes"
684 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
686 # Detect systemd user session directory properly
687 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
688 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
690 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
691 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
695 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
696 AC_SUBST([USER_SESSION_DIR])
698 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
699 PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
700 [have_systemd_pkg="yes"],
701 [have_systemd_pkg="no"])
704 # check for systemd library if requested
705 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
706 AC_MSG_ERROR([Systemd dependency requested but not found])
709 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
710 AM_CONDITIONAL([HAVE_SYSTEMD], [test "${want_systemd}" = "yes" -a "${have_systemd_pkg}" = "yes"])
711 #### Platform-dependent
716 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
720 ### Additional options to configure
721 EFL_SELECT_WINDOWS_VERSION
723 ### Checks for programs
725 ### Checks for libraries
727 EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
728 EVIL_DLFCN_LIBS="-lpsapi"
730 AC_SUBST([EVIL_DLFCN_LIBS])
732 ### Checks for header files
736 ### Checks for structures
738 ### Checks for compiler characteristics
740 EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
741 # TODO: should we have these at EFL (global?)
742 # Note: these warnings should not be used with C++ code
743 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
744 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
746 if test "x${have_win32}" = "xyes" ; then
747 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
748 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
751 AC_SUBST([EVIL_DLFCN_CPPFLAGS])
752 AC_SUBST([EVIL_CFLAGS_WRN])
753 AC_SUBST([EVIL_CXXFLAGS])
755 ### Checks for linker characteristics
757 ### Checks for library functions
759 DL_LIBS="lib/evil/libdl.la"
760 DL_INTERNAL_LIBS="lib/evil/libdl.la"
762 EFL_LIB_END_OPTIONAL([Evil])
764 AC_SUBST([USE_EVIL_CFLAGS])
765 AC_SUBST([USE_EVIL_LIBS])
770 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
772 ### Additional options to configure
776 ### Checks for programs
778 ### Checks for libraries
779 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
781 ### Checks for header files
785 ### Checks for structures
787 ### Checks for compiler characteristics
789 ### Checks for linker characteristics
791 ### Checks for library functions
793 EFL_LIB_END_OPTIONAL([Escape])
796 EFL_CHECK_FUNC([SHM], [shm_open])
797 SHM_LIBS="${requirements_libs_shm}"
801 AC_SUBST([DL_INTERNAL_LIBS])
802 #### End of Platform-dependent
807 EFL_LIB_START([Eina])
811 have_safety_checks="yes"
813 case "${build_profile}" in
815 with_max_log_level=""
816 have_stringshare_usage="no"
818 want_debug_malloc="no"
819 want_debug_threads="no"
820 want_default_mempool="no"
825 with_max_log_level=""
826 have_stringshare_usage="yes"
828 want_debug_malloc="yes"
829 want_debug_threads="yes"
830 want_default_mempool="yes"
835 with_max_log_level="3"
836 have_stringshare_usage="no"
838 want_debug_malloc="no"
839 want_debug_threads="no"
840 want_default_mempool="no"
845 PKG_CHECK_MODULES(UNWIND, [libunwind libunwind-generic],
846 [have_unwind=yes], [have_unwind=no])
847 AS_IF([test "x$have_unwind" = "xyes"],
848 [AC_DEFINE([HAVE_UNWIND], [1], [Have libunwind])])
849 AM_CONDITIONAL(HAVE_UNWIND, test "x$have_unwind" = "xyes")
851 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
852 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
853 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
855 if test -n "${with_max_log_level}"; then
856 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
857 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
860 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
861 [test "x${have_stringshare_usage}" = "xyes"],
862 [1], [Report Eina stringshare usage pattern])
864 ### Additional options to configure
865 AC_ARG_ENABLE([magic-debug],
866 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
868 if test "x${enableval}" = "xyes" ; then
869 have_magic_debug="yes"
871 have_magic_debug="no"
874 [have_magic_debug="yes"])
876 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
878 AC_ARG_WITH([xattr-tests-path],
879 [AS_HELP_STRING([--with-xattr-tests-path=DIR],[path of xattr enabled directory to create test files])],[XATTR_TEST_DIR=${withval}][AC_DEFINE_UNQUOTED([XATTR_TEST_DIR],["$withval"], [xattr enabled directory])])
881 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}][AC_DEFINE_UNQUOTED([EVAS_DICTS_HYPHEN_DIR],["$withval"], [Hunspell-compatible hyphen dictionaries install directory])])
884 ### Checks for programs
886 ### Checks for libraries
887 EFL_PLATFORM_DEPEND([EINA], [all])
889 EFL_ADD_LIBS([EINA], [-lm])
894 AC_ARG_ENABLE([valgrind],
895 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
897 if test "x${enableval}" = "xyes" ; then
904 if test "${want_valgrind}" = "auto"; then
905 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
907 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
910 if test "${want_valgrind}" = "no"; then
911 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
913 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
914 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
917 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
918 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
919 [1], [Turn on debugging overhead in mempool])
921 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
922 [test "x${want_cow_magic}" = "xyes" ],
923 [1], [Turn on Eina_Magic in Eina_Cow])
925 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd])
927 EFL_EVAL_PKGS([EINA])
933 PKG_CHECK_MODULES([GLIB],
938 if test "x${have_glib}" = "xyes" ; then
939 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
942 ### Checks for header files
944 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
945 CFLAGS_save="${CFLAGS}"
946 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
947 AC_CHECK_HEADERS([sys/mman.h])
948 CFLAGS="${CFLAGS_save}"
950 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
954 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
955 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
956 [1], [Define to 1 if you have a valid <dirent.h> header file.])
958 ### Checks for structures
960 ### Checks for compiler characteristics
961 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
963 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
964 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
965 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
967 ### Checks for linker characteristics
969 ### Checks for library functions
971 AC_CHECK_FUNCS([fchmod])
973 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize])
976 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
980 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
981 AC_MSG_RESULT([${enable_log}])
983 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
986 if test "x${efl_have_threads}" = "xno"; then
994 static __thread int a = 0;
996 [have_thread_specifier="yes"],
997 [have_thread_specifier="no"])
998 AC_MSG_CHECKING([for __thread specifier])
999 AC_MSG_RESULT([${have_thread_specifier}])
1000 if test "x${have_thread_specifier}" = "xyes" ; then
1001 AC_DEFINE([HAVE_THREAD_SPECIFIER], [1], [Have the __thread specifier])
1004 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
1005 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
1007 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
1008 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
1009 EINA_CONFIG([HAVE_PTHREAD_SETNAME], [test "x${efl_have_setname}" = "xyes"])
1010 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
1011 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
1012 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
1013 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1017 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1018 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1019 EINA_CHECK_MODULE([one-big], [static], [one big])
1021 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1027 EFL_LIB_START([Eina_Cxx])
1029 EFL_CXX_COMPILE_STDCXX_11([ext])
1030 AC_ARG_ENABLE([cxx-bindings],
1031 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1032 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1034 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1040 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1042 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1043 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1044 EFL_EVAL_PKGS([EINA_CXX])
1046 EFL_LIB_END([Eina_Cxx])
1047 #### End of Eina CXX
1055 ### Additional options to configure
1057 ### Checks for programs
1059 ## Compatibility layers
1060 EFL_PLATFORM_DEPEND([EO], [evil])
1062 ### Checks for libraries
1063 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1065 # Example (evas one)
1067 # TODO: add once elementary is merged
1068 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1069 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1071 ### Checks for header files
1073 ### Checks for types
1075 ### Checks for structures
1077 ### Checks for compiler characteristics
1079 ### Checks for linker characteristics
1081 ### Checks for library functions
1082 EFL_CHECK_FUNCS([EO], [dladdr])
1084 ### Check availability
1090 EFL_LIB_START([Eet_Cxx])
1092 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1093 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1095 EFL_EVAL_PKGS([EET_CXX])
1097 EFL_LIB_END([Eet_Cxx])
1102 EFL_LIB_START([Emile])
1106 ### Additional options to configure
1108 ### Checks for programs
1110 ### Checks for libraries
1112 EFL_CHECK_LIBS([EMILE], [libjpeg])
1114 ## Compatibility layers
1115 EFL_PLATFORM_DEPEND([EMILE], [evil])
1117 EFL_ADD_LIBS([EMILE], [-lm])
1119 # Cryptography support
1120 if test "$build_crypto" != "none" ; then
1121 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1122 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1123 EFL_CRYPTO_DEPEND([EMILE])
1126 EFL_CHECK_LIBS([EMILE], [zlib])
1128 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1130 EFL_EVAL_PKGS([EMILE])
1132 ### Checks for header files
1134 ### Checks for types
1136 ### Checks for structures
1138 ### Checks for compiler characteristics
1140 ### Checks for linker characteristics
1142 ### Checks for library functions
1144 ### Check availability
1146 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1148 EFL_LIB_END([Emile])
1154 EFL_LIB_START([Eet])
1158 ### Additional options to configure
1160 ### Checks for programs
1162 ### Checks for libraries
1164 EFL_CHECK_LIBS([EET], [libjpeg])
1166 ## Compatibility layers
1167 EFL_PLATFORM_DEPEND([EET], [evil])
1169 EFL_ADD_LIBS([EET], [-lm])
1171 # Cryptography support
1172 if test "$build_crypto" != "none" ; then
1173 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1174 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1175 EFL_CRYPTO_DEPEND([EET])
1178 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1179 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1181 EFL_EVAL_PKGS([EET])
1183 ### Checks for header files
1185 ### Checks for types
1187 ### Checks for structures
1189 ### Checks for compiler characteristics
1191 ### Checks for linker characteristics
1193 ### Checks for library functions
1195 ### Check availability
1201 EFL_LIB_START([Eo_Cxx])
1203 EFL_EVAL_PKGS([EO_CXX])
1205 EFL_LIB_END([Eo_Cxx])
1210 EFL_LIB_START([Eolian])
1214 ### Additional options to configure
1215 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1217 ### Checks for programs
1219 ## Compatibility layers
1220 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1222 ### Checks for libraries
1223 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1225 ### Checks for header files
1227 ### Checks for types
1229 ### Checks for structures
1231 ### Checks for compiler characteristics
1233 ### Checks for linker characteristics
1235 ### Checks for library functions
1237 ### Check availability
1239 EFL_LIB_END([Eolian])
1242 EFL_LIB_START([Eolian_Cxx])
1245 ### Additional options to configure
1247 ### Checks for programs
1249 ## Compatibility layers
1251 ### Checks for libraries
1252 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1253 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1255 ### Checks for header files
1257 ### Checks for types
1259 ### Checks for structures
1261 ### Checks for compiler characteristics
1263 ### Checks for linker characteristics
1265 ### Checks for library functions
1267 ### Check availability
1268 EFL_LIB_END([Eolian_Cxx])
1272 EFL_LIB_START([Efl])
1274 EFL_PLATFORM_DEPEND([EFL], [evil])
1275 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1276 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1278 EFL_ADD_LIBS([EFL], [-lm])
1285 EFL_LIB_START([Ector])
1290 ### Additional options to configure
1292 ### Checks for programs
1294 ### Checks for libraries
1296 ## Compatibility layers
1298 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1300 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1301 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1302 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1304 EFL_ADD_LIBS([ECTOR], [-lm])
1306 EFL_EVAL_PKGS([ECTOR])
1308 ### Checks for header files
1310 ### Checks for types
1312 ### Checks for structures
1314 ### Checks for compiler characteristics
1316 ### Checks for linker characteristics
1318 ### Checks for library functions
1320 ### Check availability
1322 EFL_LIB_END([ECTOR])
1328 EFL_LIB_START([Evas])
1330 ### Additional options to configure
1334 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1336 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1338 elif test "x${with_x11}" = "x"; then
1346 case "${with_x11}" in
1354 CFOPT_WARNING="xyes"
1360 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1365 AC_ARG_WITH([opengl],
1366 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1368 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1370 elif test "x${with_opengl}" = "x"; then
1374 case "${with_opengl}" in
1378 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1382 want_x11_xlib_opengl="no"
1383 want_x11_xcb_opengl="no"
1384 if test "${with_opengl}" != "none"; then
1385 want_x11_xlib_opengl="${want_x11_xlib}"
1386 want_x11_xcb_opengl="${want_x11_xcb}"
1387 want_x11_any_opengl="${want_x11_any}"
1391 AC_ARG_ENABLE([wayland],
1392 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1394 if test "x${enableval}" = "xyes" ; then
1400 [want_wayland="no"])
1402 if test "${want_wayland}" = "yes"; then
1403 EFL_PKG_CHECK_STRICT([wayland-client >= 1.8.0])
1407 AC_ARG_ENABLE([wayland-ivi-shell],
1408 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1410 if test "x${enableval}" = "xyes" ; then
1411 want_wayland_ivi_shell="yes"
1413 want_wayland_ivi_shell="no"
1416 [want_wayland_ivi_shell="no"])
1420 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1422 if test "x${enableval}" = "xyes" ; then
1431 AC_ARG_ENABLE([sdl],
1432 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
1434 if test "x${enableval}" = "xyes" ; then
1442 if test "${want_sdl}" = "yes"; then
1443 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
1446 # We only enable SDL with opengl if it is not the full version and not ES
1447 # This can be changed if we ported our SDL code over to SDL 2.0. For older
1448 # versions the SDL_opengles.h has never been released.
1450 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
1451 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
1453 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
1458 AC_ARG_ENABLE([cocoa],
1459 [AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])],
1461 if test "x${enableval}" = "xyes" ; then
1469 if test "${want_cocoa}" = "yes"; then
1470 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1473 m4_ifdef([AC_PROG_OBJC],
1475 if test "x${have_gnu_objc}" = "xyes" ; then
1476 AC_LANG_PUSH([Objective C])
1478 LIBS="$LIBS -framework Cocoa"
1482 #include <Cocoa/Cocoa.h>
1486 window = [[NSWindow alloc]
1487 initWithContentRect:NSMakeRect(0, 0, 1, 1)
1488 styleMask:(NSTitledWindowMask)
1489 backing:NSBackingStoreBuffered
1496 cocoa_ldflags="-framework Cocoa"
1500 AC_MSG_CHECKING([whether Cocoa framework is supported])
1501 AC_MSG_RESULT([${have_cocoa}])
1502 AC_LANG_POP([Objective C])
1506 AC_SUBST(cocoa_ldflags)
1508 if test "x${want_cocoa}" = "xyes"; then
1509 #test cocoa requirements (objc and Cocoa/Cocoa.h)
1510 cocoa_coreservices_ldflags=""
1511 have_cocoa_coreservices="no"
1512 m4_ifdef([AC_PROG_OBJC],
1514 if test "x${have_gnu_objc}" = "xyes" ; then
1515 AC_LANG_PUSH([Objective C])
1517 LIBS="$LIBS -framework CoreServices"
1521 #include <CoreServices/CoreServices.h>
1524 //test function here
1527 have_cocoa_coreservices="yes"
1528 cocoa_coreservices_ldflags="-framework CoreServices"
1530 [have_cocoa_coreservices="no"])
1532 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
1533 AC_MSG_RESULT([${have_cocoa_coreservices}])
1534 AC_LANG_POP([Objective C])
1538 AC_SUBST(cocoa_coreservices_ldflags)
1541 AC_ARG_ENABLE([drm],
1542 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
1544 if test "x${enableval}" = "xyes" ; then
1553 AC_ARG_ENABLE([gl-drm],
1554 [AC_HELP_STRING([--enable-gl-drm],
1555 [enable gl drm engine. @<:@default=disabled@:>@])],
1557 if test "x${enableval}" = "xyes" ; then
1565 AC_ARG_ENABLE([fontconfig],
1566 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
1568 if test "x${enableval}" = "xyes" ; then
1569 want_fontconfig="yes"
1571 want_fontconfig="no"
1572 CFOPT_WARNING="xyes"
1575 [want_fontconfig="yes"])
1578 AC_ARG_ENABLE([fribidi],
1579 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
1581 if test "x${enableval}" = "xyes" ; then
1585 CFOPT_WARNING="xyes"
1588 [want_fribidi="yes"])
1591 AC_ARG_ENABLE([eo_id],
1592 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
1594 if test "x${enableval}" = "xyes" ; then
1598 CFOPT_WARNING="xyes"
1604 AC_ARG_ENABLE([harfbuzz],
1605 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
1607 if test "x${enableval}" = "xyes" ; then
1613 [want_harfbuzz="no"])
1616 AC_ARG_ENABLE([hyphen],
1617 [AS_HELP_STRING([--enable-hyphen],[enable text hyphenation support. @<:@default=disabled@:>@])],
1619 if test "x${enableval}" = "xyes" ; then
1628 AC_ARG_ENABLE([egl],
1629 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
1631 if test "x${enableval}" = "xyes" ; then
1640 AC_ARG_ENABLE([pixman],
1641 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
1643 if test "x${enableval}" = "xyes" ; then
1645 CFOPT_WARNING="xyes"
1652 AC_ARG_ENABLE([pixman-font],
1653 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
1655 if test "x${enableval}" = "xyes" ; then
1656 have_pixman_font="yes"
1658 have_pixman_font="no"
1661 [have_pixman_font="no"])
1663 AC_ARG_ENABLE([pixman-rect],
1664 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
1666 if test "x${enableval}" = "xyes" ; then
1667 have_pixman_rect="yes"
1669 have_pixman_rect="no"
1672 [have_pixman_rect="no"])
1674 AC_ARG_ENABLE([pixman-line],
1675 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
1677 if test "x${enableval}" = "xyes" ; then
1678 have_pixman_line="yes"
1680 have_pixman_line="no"
1683 [have_pixman_line="no"])
1685 AC_ARG_ENABLE(pixman-poly,
1686 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
1688 if test "x${enableval}" = "xyes" ; then
1689 have_pixman_poly="yes"
1691 have_pixman_poly="no"
1694 [have_pixman_poly="no"])
1696 AC_ARG_ENABLE([pixman-image],
1697 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
1699 if test "x${enableval}" = "xyes" ; then
1700 have_pixman_image="yes"
1702 have_pixman_image="no"
1705 [have_pixman_image="no"])
1707 AC_ARG_ENABLE([pixman-image-scale-sample],
1708 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
1710 if test "x${enableval}" = "xyes" ; then
1711 have_pixman_image_scale_sample="yes"
1713 have_pixman_image_scale_sample="no"
1716 [have_pixman_image_scale_sample="no"])
1719 AC_ARG_ENABLE([tile-rotate],
1720 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
1722 if test "x${enableval}" = "xyes" ; then
1723 have_tile_rotate="yes"
1724 CFOPT_WARNING="xyes"
1726 have_tile_rotate="no"
1729 [have_tile_rotate="no"])
1732 AC_ARG_ENABLE([ecore-buffer],
1733 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
1735 if test "x${enableval}" = "xyes" ; then
1736 want_ecore_buffer="yes"
1738 want_ecore_buffer="no"
1741 [want_ecore_buffer="no"])
1745 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
1746 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
1747 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static)
1748 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
1749 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
1750 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
1751 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
1752 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
1753 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
1754 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
1755 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
1756 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
1757 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
1758 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
1759 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
1760 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
1761 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
1765 want_evas_engine_software_gdi="${have_win32}"
1766 want_evas_engine_software_ddraw="${have_win32}"
1767 want_evas_engine_gl_cocoa="${want_cocoa}"
1768 want_evas_engine_wayland_egl="no"
1769 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
1770 want_evas_engine_wayland_egl="yes"
1773 if test "${want_lua_old}" = "yes"; then
1774 EFL_CHECK_LUA_OLD([EVAS])
1776 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
1779 EFL_ADD_FEATURE([EVAS], [lua-old])
1781 EFL_CHECK_FUNC([EVAS], [dlsym])
1783 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
1784 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
1787 ### Checks for programs
1789 ### Checks for libraries
1791 ## Compatibility layers
1792 EFL_PLATFORM_DEPEND([EVAS], [all])
1793 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
1794 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
1795 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
1796 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
1797 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
1798 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
1800 EFL_ADD_LIBS([EVAS], [-lm])
1803 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
1805 ## optional dependencies
1808 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
1809 [FONTCONFIG], [fontconfig >= 2.5.0])
1812 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
1813 [FRIBIDI], [fribidi >= 0.19.2])
1816 have_harfbuzz_ft="no"
1817 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
1818 [HARFBUZZ], [harfbuzz >= 0.9.0])
1821 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
1823 if test "x${have_pixman}" = "xyes" ; then
1824 if test "x${have_pixman_font}" = "xyes" ; then
1825 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
1827 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
1829 if test "x${have_pixman_rect}" = "xyes" ; then
1830 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
1832 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
1834 if test "x${have_pixman_line}" = "xyes" ; then
1835 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
1837 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
1839 if test "x${have_pixman_poly}" = "xyes" ; then
1840 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
1842 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
1844 if test "x${have_pixman_image}" = "xyes" ; then
1845 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
1847 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
1849 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
1850 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
1852 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
1857 define([EVAS_ENGINE_DEP_CHECK_FB], [
1858 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
1861 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
1862 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
1865 EVAS_ENGINE([buffer], [static])
1866 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
1867 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
1870 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
1871 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
1872 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
1873 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
1874 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
1875 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
1876 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
1877 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
1882 have_evas_engine_software_xcb="no"
1883 if test "${with_x11}" = "xcb" ; then
1884 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
1886 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
1887 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
1890 AC_MSG_CHECKING([whether to build Software XCB Engine])
1891 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
1893 # No Software XCB ? Then try Software Xlib
1895 have_evas_engine_software_xlib="no"
1896 if test "x${want_x11_xcb}" = "xno" ; then
1897 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
1899 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
1900 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
1903 AC_MSG_CHECKING([whether to build Software Xlib Engine])
1904 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
1906 # If software_x11 is available, define everything needed for X11
1908 have_evas_engine_software_x11="no"
1909 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
1910 have_evas_engine_software_x11="yes"
1911 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
1913 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
1915 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
1916 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
1918 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
1920 # Needed for evas-software-x11.pc
1922 AC_SUBST([have_evas_engine_software_xlib])
1923 AC_SUBST([have_evas_engine_software_xcb])
1926 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
1927 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
1931 if test "${with_opengl}" = "es" ; then
1932 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
1937 have_evas_engine_gl_xcb="no"
1938 if test "${want_x11_xcb_opengl}" = "yes"; then
1939 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
1941 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
1942 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
1945 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
1946 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
1948 # No openGL XCB ? Then try OpenGL Xlib
1950 have_evas_engine_gl_xlib="no"
1951 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
1952 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
1954 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
1955 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
1958 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
1959 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
1961 # If opengl_x11 is available, define everything needed for X11
1963 have_evas_engine_gl_x11="no"
1964 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
1965 have_evas_engine_gl_x11="yes"
1966 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
1968 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
1970 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
1971 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
1973 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
1975 # Needed for evas-opengl-x11.pc
1977 AC_SUBST([have_evas_engine_gl_xlib])
1978 AC_SUBST([have_evas_engine_gl_xcb])
1982 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
1983 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
1984 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
1985 [#include <SDL2/SDL_video.h>])
1988 if test "${with_opengl}" = "es"; then
1989 AC_CHECK_DECL([SDL_OPENGLES],
1990 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
1991 [#include <SDL2/SDL_video.h>])
1995 evas_engine_gl_common_cflags=""
1996 if test "x${have_egl}" = "xyes"; then
1997 evas_engine_gl_common_libs="-lEGL"
1999 evas_engine_gl_common_libs="-lGL"
2002 # The lines below fix compiling/linking of gl_generic on OSX
2003 if test "x${have_darwin}" = "xyes"; then
2004 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
2005 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
2006 # CFLAGS and LIBS are determined by evas-gl_cocoa.
2007 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
2008 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
2010 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
2011 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
2012 # cannot compile (nor link).
2013 evas_engine_gl_common_libs=""
2014 evas_engine_gl_common_cflags=""
2016 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
2017 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
2018 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
2020 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2024 AC_SUBST([evas_engine_gl_common_cflags])
2025 AC_SUBST([evas_engine_gl_common_libs])
2027 have_evas_engine_gl_common="no"
2028 have_static_evas_engine_gl_common="no"
2029 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2030 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2031 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2032 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2033 test "x$have_evas_engine_gl_drm" = "xyes" || \
2034 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2035 have_evas_engine_gl_common="yes"
2037 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2038 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2039 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2040 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2041 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2042 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2043 have_evas_engine_gl_common="yes"
2044 have_static_evas_engine_gl_common="yes"
2047 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2048 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2051 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2053 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2054 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2057 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2062 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2063 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2064 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2065 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2066 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2067 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2068 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2069 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2070 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2071 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2072 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2073 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2074 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2075 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2076 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2077 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2078 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2080 EFL_EVAL_PKGS([EVAS])
2082 ### Checks for header files
2084 if test "x$want_hyphen" = "xyes" ; then
2086 EFL_CHECK_LIB_CODE([EVAS], [-lhyphen], [have_fct], [[
2096 if test "${have_fct}" = "no"; then
2097 AC_MSG_ERROR([Cannot find the hyphen library.])
2099 AC_DEFINE([HAVE_HYPHEN], [1], [have hunspell hyphen support])
2103 if test "x$have_harfbuzz" = "xyes" ; then
2105 CPPFLAGS_SAVE="$CPPFLAGS"
2106 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2107 # must have for usage with harfbuzz although harfbuzz may not have it.
2109 AC_CHECK_HEADER([hb-ft.h],
2111 have_harfbuzz_ft="yes"
2112 #Depend on harfbuzz ft for harfbuzz support
2113 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2115 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2117 CPPFLAGS="$CPPFLAGS_SAVE"
2120 ### Checks for types
2122 CPPFLAGS_SAVE="$CPPFLAGS"
2123 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2124 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2125 CPPFLAGS="$CPPFLAGS_SAVE"
2128 if test "x$have_fribidi" = "xyes" ; then
2129 CPPFLAGS_SAVE="$CPPFLAGS"
2130 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2131 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2132 CPPFLAGS="$CPPFLAGS_SAVE"
2135 ### Checks for structures
2137 AC_CHECK_TYPES([struct sigaction], [], [],
2138 [[#include <signal.h>]])
2140 ### Checks for compiler characteristics
2142 ### Checks for linker characteristics
2144 ### Checks for library functions
2146 AC_CHECK_FUNCS([siglongjmp])
2148 AC_CHECK_LIB([m], [lround],
2149 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2150 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2156 AC_ARG_ENABLE([cserve],
2157 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2159 if test "x${enableval}" = "xyes" ; then
2160 want_evas_cserve2="yes"
2162 want_evas_cserve2="no"
2163 CFOPT_WARNING="xyes"
2166 [want_evas_cserve2="yes"])
2168 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2169 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2172 # cserve2 only works on Linux so far.
2174 if test "x${efl_func_shm_open}" = "xno" ; then
2175 want_evas_cserve2="no"
2178 if test "x${want_evas_cserve2}" = "xyes"; then
2179 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
2180 want_evas_cserve2="no"
2182 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2183 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2187 AC_DEFINE_IF([EVAS_CSERVE2],
2188 [test "x${want_evas_cserve2}" = "xyes"],
2189 [1], [Shared cache server.])
2190 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2196 if test "x${have_tile_rotate}" = "xyes" ; then
2197 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2203 AC_ARG_WITH([evas-dither-mask],
2204 [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.
2205 @<:@default=big@:>@])],
2206 [build_evas_dither_mask=${withval}],
2207 [build_evas_dither_mask=big])
2209 case "${build_evas_dither_mask}" in
2211 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2214 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2217 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2220 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2223 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2226 EFL_ADD_FEATURE([EVAS], [fontconfig])
2227 EFL_ADD_FEATURE([EVAS], [fribidi])
2228 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2229 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2230 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2231 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2237 EFL_LIB_START([Evas_Cxx])
2239 EFL_EVAL_PKGS([EVAS_CXX])
2241 EFL_LIB_END([Evas_Cxx])
2242 #### End of Edje CXX
2246 EFL_LIB_START([Embryo])
2250 ### Additional options to configure
2252 ### Checks for programs
2254 ### Checks for libraries
2255 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2256 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2258 EFL_ADD_LIBS([EMBRYO], [-lm])
2260 ### Checks for header files
2262 ### Checks for types
2264 ### Checks for structures
2266 ### Checks for compiler characteristics
2268 ### Checks for linker characteristics
2270 ### Checks for library functions
2272 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2273 AC_MSG_ERROR([Cannot find fnmatch()])
2276 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2277 AC_MSG_ERROR([Cannot find gettimeofday()])
2280 ### Check availability
2282 EFL_LIB_END([Embryo])
2288 EFL_LIB_START([Ecore])
2290 ### Additional options to configure
2295 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
2297 if test "x${withval}" = "xyes" ; then
2300 if test "x${withval}" = "xalways" ; then
2309 AC_ARG_ENABLE([g-main-loop],
2310 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
2312 if test "x${enableval}" = "xyes" ; then
2313 want_g_main_loop="yes"
2314 CFOPT_WARNING="xyes"
2316 want_g_main_loop="no"
2319 [want_g_main_loop="no"])
2321 AC_ARG_ENABLE([gstreamer],
2322 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
2324 if test "x${enableval}" = "xyes" ; then
2325 want_gstreamer="yes"
2326 CFOPT_WARNING="xyes"
2331 [want_gstreamer="no"])
2333 AC_ARG_ENABLE([gstreamer1],
2334 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
2336 if test "x${enableval}" = "xyes" ; then
2337 want_gstreamer1="yes"
2339 want_gstreamer1="no"
2340 CFOPT_WARNING="xyes"
2343 [want_gstreamer1="yes"])
2345 AC_ARG_ENABLE([tizen],
2346 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
2348 if test "x${enableval}" = "xyes" ; then
2356 if test "${want_tizen}" = "yes"; then
2357 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
2359 [have_tizen_vconf="yes"],
2360 [have_tizen_vconf="no"])
2361 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
2364 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
2365 if test "${have_tizen_vconf}" = "yes"; then
2366 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
2371 if test "${have_windows}" = "yes"; then
2376 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2380 want_ecore_timer_dump="no"
2381 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2382 want_ecore_timer_dump="yes"
2383 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
2386 ### Checks for programs
2388 ### Checks for libraries
2389 EFL_PLATFORM_DEPEND([ECORE], [all])
2390 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
2391 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2392 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
2394 EFL_ADD_LIBS([ECORE], [-lm])
2398 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
2399 if test "x${have_glib}" = "xno"; then
2400 want_g_main_loop="no"
2403 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd])
2405 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
2406 EFL_ADD_FEATURE([ECORE], [glib])
2407 EFL_ADD_FEATURE([ECORE], [g-main-loop])
2409 want_glib_integration_always=no
2410 if test "x${with_glib}" = "xalways" ; then
2411 want_glib_integration_always="yes"
2412 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
2415 if test "x${want_g_main_loop}" = "xyes" ; then
2416 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
2419 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
2420 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
2421 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
2424 if test "${want_gstreamer1}" = "yes"; then
2425 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
2427 if test "${want_gstreamer}" = "yes"; then
2428 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
2430 AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"])
2432 EFL_EVAL_PKGS([ECORE])
2434 ### Checks for header files
2438 AC_CHECK_HEADERS([sys/socket.h])
2440 AC_CHECK_HEADERS([ \
2452 #ifdef HAVE_SYS_SOCKET_H
2453 # include <sys/socket.h>
2457 AC_CHECK_HEADERS([net/if.h], [], [],
2460 # include <stdlib.h>
2461 # include <stddef.h>
2464 # include <stdlib.h>
2467 #if HAVE_SYS_SOCKET_H
2468 # include <sys/socket.h>
2472 ### Checks for types
2474 ### Checks for structures
2476 ### Checks for compiler characteristics
2478 ### Checks for linker characteristics
2480 ### Checks for library functions
2492 int i = isfinite(0);
2495 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.])
2498 [have_isfinite="no"])
2500 AC_MSG_CHECKING([for isfinite])
2501 AC_MSG_RESULT([${have_isfinite}])
2503 # mallinfo, timerfd_create, clock_gettime
2505 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
2507 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
2508 AC_CHECK_LIB([rt], [clock_gettime],
2510 EFL_ADD_LIBS([ECORE], [-lrt])
2511 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
2515 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2517 # coroutine function specific
2522 #include <ucontext.h>
2528 [have_ucontext="yes"],
2529 [have_ucontext="no"])
2531 AC_MSG_CHECKING([for ucontext])
2532 AC_MSG_RESULT([${have_ucontext}])
2543 [have_setjmp="yes"],
2546 AC_MSG_CHECKING([for setjmp])
2547 AC_MSG_RESULT([${have_setjmp}])
2549 if test "X${have_windows}" = "xyes"; then
2550 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
2551 EFL_ADD_FEATURE([system], [coroutine], [fiber])
2552 elif test "x${have_ucontext}" = "xyes"; then
2553 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
2554 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
2555 elif test "x${have_setjmp}" = "xyes"; then
2556 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
2557 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
2559 AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...])
2562 ### Check availability
2564 EFL_LIB_END([Ecore])
2568 EFL_LIB_START([Ecore_Cxx])
2570 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
2571 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
2572 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
2573 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2575 EFL_EVAL_PKGS([ECORE_CXX])
2577 EFL_LIB_END([Ecore_Cxx])
2578 #### End of Ecore CXX
2582 EFL_LIB_START([Ecore_Con])
2586 want_ecore_con_local_sockets="yes"
2587 want_ecore_con_abstract_sockets="yes"
2589 if test "${have_win32}" = "yes"; then
2591 want_ecore_con_abstract_sockets="no"
2592 elif test "${have_darwin}" = "yes"; then
2594 want_ecore_con_abstract_sockets="yes"
2595 elif test "${have_ps3}" = "yes"; then
2597 want_ecore_con_local_sockets="no"
2598 want_ecore_con_abstract_sockets="no"
2603 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
2604 [test "x${want_ecore_con_local_sockets}" = "xyes"],
2605 [1], [Have local sockets support])
2606 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
2607 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
2608 [1], [Have abstract sockets namespace])
2610 ### Checks for programs
2612 ### Checks for libraries
2613 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2614 if test "$build_crypto" != "none" ; then
2615 EFL_CRYPTO_DEPEND([ECORE_CON])
2617 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2618 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
2619 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
2620 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2621 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2623 EFL_ADD_LIBS([ECORE_CON], [-lm])
2625 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2626 [CARES], [libcares >= 1.6.1])
2627 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2629 if test "x$have_cares" = "xyes" ; then
2630 ecore_con_resolver="cares"
2631 elif test "x$ac_cv_prog_cc_c99" != "xno" ; then
2632 ecore_con_resolver="dns.c"
2634 ecore_con_resolver="fork"
2637 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
2639 EFL_ADD_FEATURE([ECORE_CON], [cares])
2640 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
2641 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2642 EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}])
2643 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2645 EFL_EVAL_PKGS([ECORE_CON])
2647 ### Checks for header files
2649 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
2651 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2652 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
2655 ### Checks for types
2658 AC_CHECK_TYPES([struct ipv6_mreq],
2662 #ifdef HAVE_NETINET_IN_H
2663 # include <netinet/in.h>
2665 #ifdef HAVE_WS2TCPIP_H
2666 # include <ws2tcpip.h>
2670 AC_DEFINE_IF([HAVE_IPV6],
2671 [test "x${have_ipv6}" = "xyes"],
2672 [1], [Define if IPV6 is supported])
2673 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
2675 ### Checks for structures
2677 ### Checks for compiler characteristics
2679 ### Checks for linker characteristics
2681 ### Checks for library functions
2683 EFL_LIB_END([Ecore_Con])
2684 #### End of Ecore_Con
2689 EFL_LIB_START([Ecore_Ipc])
2693 ### Additional options to configure
2695 ### Checks for programs
2697 ## Compatibility layers
2698 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2700 ### Checks for libraries
2701 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
2702 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2703 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2704 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2706 EFL_ADD_LIBS([ECORE_IPC], [-lm])
2708 ### Checks for header files
2710 AC_CHECK_HEADERS([winsock2.h])
2712 ### Checks for types
2714 ### Checks for structures
2716 ### Checks for compiler characteristics
2718 ### Checks for linker characteristics
2720 ### Checks for library functions
2722 EFL_LIB_END([Ecore_Ipc])
2723 #### End of Ecore_Ipc
2728 EFL_LIB_START([Ecore_File])
2730 ### Additional options to configure
2734 ### Checks for programs
2736 ## Compatibility layers
2737 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2739 ### Checks for libraries
2740 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
2741 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
2742 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2743 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2744 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2746 ### Checks for header files
2748 ### Checks for types
2750 ### Checks for structures
2752 ### Checks for compiler characteristics
2754 ### Checks for linker characteristics
2756 ### Checks for library functions
2758 EFL_LIB_END([Ecore_File])
2759 #### End of Ecore_File
2763 EFL_LIB_START([Ecore_Input])
2765 ### Additional options to configure
2769 ### Checks for programs
2771 ## Compatibility layers
2772 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2774 ### Checks for libraries
2775 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2776 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2777 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
2779 ### Checks for header files
2781 ### Checks for types
2783 ### Checks for structures
2785 ### Checks for compiler characteristics
2787 ### Checks for linker characteristics
2789 ### Checks for library functions
2791 EFL_LIB_END([Ecore_Input])
2792 #### End of Ecore_Input
2795 #### Ecore_Input_Evas
2796 EFL_LIB_START([Ecore_Input_Evas])
2798 ### Additional options to configure
2802 ### Checks for programs
2804 ## Compatibility layers
2805 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2807 ### Checks for libraries
2808 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
2809 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
2810 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2811 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2812 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2813 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2814 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2816 ### Checks for header files
2818 ### Checks for types
2820 ### Checks for structures
2822 ### Checks for compiler characteristics
2824 ### Checks for linker characteristics
2826 ### Checks for library functions
2828 EFL_LIB_END([Ecore_Input_Evas])
2829 #### End of Ecore_Input_Evas
2833 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"])
2835 ### Additional options to configure
2839 ### Checks for programs
2841 ### Checks for libraries
2842 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
2843 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2844 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2845 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2847 ### Checks for header files
2849 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2851 ### Checks for types
2853 ### Checks for structures
2855 ### Checks for compiler characteristics
2857 ### Checks for linker characteristics
2859 ### Checks for library functions
2861 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2862 #### End of Ecore_Cocoa
2866 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2868 ### Additional options to configure
2869 AC_ARG_ENABLE([tslib],
2870 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2872 if test "x${enableval}" = "xyes" ; then
2877 ], [want_tslib="yes"])
2881 ### Checks for programs
2883 ### Checks for libraries
2884 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2885 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
2886 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2887 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2889 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2890 EFL_ADD_FEATURE([ECORE_FB], [tslib])
2892 EFL_EVAL_PKGS([ECORE_FB])
2894 ### Checks for header files
2897 AC_CHECK_HEADER([linux/fb.h],
2898 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
2899 if test "${have_ecore_fb}" = "no"; then
2900 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
2903 ### Checks for types
2905 ### Checks for structures
2907 ### Checks for compiler characteristics
2909 ### Checks for linker characteristics
2911 ### Checks for library functions
2913 EFL_LIB_END_OPTIONAL([Ecore_FB])
2914 #### End of Ecore_FB
2918 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2920 ### Additional options to configure
2924 ### Checks for programs
2926 ### Checks for libraries
2927 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2929 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
2930 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2931 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2932 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2934 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
2936 ### Checks for header files
2938 ### Checks for types
2940 ### Checks for structures
2942 ### Checks for compiler characteristics
2944 ### Checks for linker characteristics
2946 ### Checks for library functions
2948 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
2949 #### End of Ecore_Psl1ght
2953 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2955 ### Additional options to configure
2959 ### Checks for programs
2961 ### Checks for libraries
2962 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
2963 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
2964 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2965 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2966 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2968 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2970 EFL_EVAL_PKGS([ECORE_SDL])
2972 ### Checks for header files
2974 ### Checks for types
2976 ### Checks for structures
2978 ### Checks for compiler characteristics
2980 ### Checks for linker characteristics
2982 ### Checks for library functions
2984 EFL_LIB_END_OPTIONAL([Ecore_SDL])
2985 #### End of Ecore_SDL
2989 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"])
2991 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
2992 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
2995 ### Additional options to configure
2999 ### Checks for programs
3001 ### Checks for libraries
3002 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
3003 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
3004 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
3005 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
3007 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
3008 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0])
3010 EFL_EVAL_PKGS([ECORE_WAYLAND])
3012 ### Checks for header files
3014 ### Checks for types
3016 ### Checks for structures
3018 ### Checks for compiler characteristics
3020 ### Checks for linker characteristics
3022 ### Checks for library functions
3024 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
3025 #### End of Ecore_Wayland
3028 EFL_LIB_START([Eldbus])
3030 ### Additional options to configure
3034 ### Checks for programs
3036 ## Compatibility layers
3037 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3039 ### Checks for libraries
3040 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3041 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3042 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3044 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3046 EFL_EVAL_PKGS([ELDBUS])
3048 ### Checks for header files
3050 ### Checks for types
3052 ### Checks for structures
3054 ### Checks for compiler characteristics
3056 ### Checks for linker characteristics
3058 ### Checks for library functions
3060 EFL_LIB_END([Eldbus])
3065 have_libmount_new="no"
3066 have_libmount_old="no"
3067 have_eeze_mount="no"
3069 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3071 ### Additional options to configure
3072 AC_ARG_WITH([mount],
3073 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3074 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3075 AC_ARG_WITH([umount],
3076 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3077 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3078 AC_ARG_WITH([eject],
3079 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3080 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3084 ### Checks for programs
3086 ### Checks for libraries
3087 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3088 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3089 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3090 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3091 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3092 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3093 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3095 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3097 AC_ARG_ENABLE([libmount],
3098 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3100 if test "x${enableval}" = "xyes" ; then
3104 CFOPT_WARNING="xyes"
3107 [want_libmount="yes"])
3109 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3110 [EEZE_MOUNT], [mount >= 2.18.0])
3111 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3113 PKG_CHECK_EXISTS([libudev < 199],
3114 [have_libudev_old="yes"],
3115 [have_libudev_old="no"])
3116 AC_MSG_CHECKING([Use old libudev API (before 199)])
3117 AC_MSG_RESULT([${have_libudev_old}])
3119 PKG_CHECK_EXISTS([mount < 2.19.0],
3120 [have_libmount_old="yes"],
3121 [have_libmount_old="no"])
3122 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3123 AC_MSG_RESULT([${have_libmount_old}])
3125 PKG_CHECK_EXISTS([mount == 2.19.0],
3126 [have_libmount_219="yes"],
3127 [have_libmount_219="no"])
3128 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3129 AC_MSG_RESULT([${have_libmount_219}])
3131 PKG_CHECK_EXISTS([mount > 2.19.0],
3132 [have_libmount_new="yes"],
3133 [have_libmount_new="no"])
3134 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3135 AC_MSG_RESULT([${have_libmount_new}])
3137 if test "x${have_libudev_old}" = "xyes"; then
3138 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3141 if test "x${have_libmount_old}" = "xyes"; then
3142 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3146 if test "${want_tizen}" = "yes"; then
3147 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3149 EFL_ADD_FEATURE([EEZE], [tizen])
3151 EFL_EVAL_PKGS([EEZE])
3153 ### Checks for header files
3155 ### Checks for types
3157 ### Checks for structures
3159 ### Checks for compiler characteristics
3161 ### Checks for linker characteristics
3163 ### Checks for library functions
3165 ### Checks for binaries
3166 if test "x$with_eeze_mount" = "xdetect"; then
3167 AC_PATH_PROG([with_eeze_mount], [mount], [])
3169 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3171 if test "x$with_eeze_umount" = "xdetect";then
3172 AC_PATH_PROG([with_eeze_umount], [umount], [])
3174 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3176 if test "x$with_eeze_eject" = "xdetect";then
3177 AC_PATH_PROG([with_eeze_eject], [eject], [])
3179 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3181 EFL_LIB_END_OPTIONAL([Eeze])
3183 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3184 [test "x${have_libmount_new}" = "xyes"])
3185 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3186 [test "x${have_libmount_old}" = "xyes"])
3187 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3188 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3193 have_libinput_new="no"
3194 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_drm}" = "yes"])
3196 ### Additional options to configure
3199 AC_SUBST([SUID_CFLAGS])
3200 AC_SUBST([SUID_LDFLAGS])
3204 ### Checks for programs
3206 ### Checks for libraries
3207 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3208 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3209 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3210 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3211 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3212 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3214 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3215 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3217 # API change from 0.7 to 0.8. So we define this to support both for now.
3218 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3219 [have_libinput_new="yes"],
3220 [have_libinput_new="no"])
3221 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3222 AC_MSG_RESULT([${have_libinput_new}])
3223 if test "x${have_libinput_new}" = "xyes";then
3224 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3226 if test "x${have_libinput_new}" = "xno";then
3227 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3231 EFL_EVAL_PKGS([ECORE_DRM])
3233 ### Checks for header files
3235 ### Checks for types
3237 ### Checks for structures
3239 ### Checks for compiler characteristics
3241 ### Checks for linker characteristics
3243 ### Checks for library functions
3245 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3246 #### End of Ecore_Drm
3251 AC_ARG_ENABLE([audio],
3252 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3254 if test "x${enableval}" = "xyes" ; then
3258 CFOPT_WARNING="xyes"
3263 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3265 ### Additional options to configure
3267 # ALSA support is still not there, thus no option for it yet.
3270 # sndfile is mandatory otherwise it won't read from/write to files.
3271 # TODO: if confirmed sndfile is mandatory, remove this variable
3272 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3275 AC_ARG_ENABLE([pulseaudio],
3276 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3278 if test "x${enableval}" = "xyes" ; then
3279 want_pulseaudio="yes"
3281 want_pulseaudio="no"
3282 CFOPT_WARNING="xyes"
3285 [want_pulseaudio="yes"])
3287 if test "x${have_darwin}" = "xyes"; then
3288 want_pulseaudio="no"
3290 want_coreaudio="yes"
3297 if test "x${want_coreaudio}" = "xyes"; then
3298 coreaudio_ldflags=""
3301 LIBS="$LIBS -framework CoreAudio"
3305 #include <CoreAudio/CoreAudio.h>
3309 AudioDeviceID dev_id;
3310 AudioObjectPropertyAddress prop = {
3311 kAudioHardwarePropertyDefaultOutputDevice,
3312 kAudioObjectPropertyScopeGlobal,
3313 kAudioObjectPropertyElementMaster
3315 size = sizeof(AudioDeviceID);
3316 AudioObjectGetPropertyData(kAudioObjectSystemObject, &prop, 0, NULL,
3320 have_coreaudio="yes"
3321 coreaudio_ldflags="-framework CoreAudio"
3323 [have_coreaudio="no"])
3325 AC_MSG_CHECKING([whether Apple CoreAudio framework is supported])
3326 AC_MSG_RESULT([${have_coreaudio}])
3328 AC_SUBST(coreaudio_ldflags)
3329 if test "x${have_coreaudio}" = "xyes"; then
3330 AC_DEFINE([HAVE_COREAUDIO], [1], [CoreAudio support enabled])
3332 AC_DEFINE([HAVE_COREAUDIO], [0], [CoreAudio support disabled])
3338 ### Checks for programs
3340 ## Compatibility layers
3341 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3343 ### Checks for libraries
3344 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3345 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3346 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3347 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3348 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3350 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3352 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa])
3353 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse])
3354 EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile])
3356 EFL_EVAL_PKGS([ECORE_AUDIO])
3358 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3359 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3360 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3361 EFL_ADD_FEATURE([ECORE_AUDIO], [coreaudio])
3363 ### Checks for header files
3365 ### Checks for types
3367 ### Checks for structures
3369 ### Checks for compiler characteristics
3371 ### Checks for linker characteristics
3373 ### Checks for library functions
3375 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3376 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3377 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3378 AM_CONDITIONAL([HAVE_ECORE_AUDIO_CORE_AUDIO], [test "x${want_coreaudio}" = "xyes"])
3380 #### End of Ecore_Audio
3382 #### Ecore Audio CXX
3383 EFL_LIB_START([Ecore_Audio_Cxx])
3385 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3387 EFL_LIB_END([Ecore_Audio_Cxx])
3388 #### End of Ecore Audio CXX
3391 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3393 ### Additional options to configure
3397 ### Checks for programs
3399 ### Checks for libraries
3400 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3401 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3402 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3403 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3404 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3406 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3407 AC_SUBST([ECORE_WIN32_LIBS])
3409 ### Checks for header files
3411 ### Checks for types
3413 ### Checks for structures
3415 ### Checks for compiler characteristics
3417 ### Checks for linker characteristics
3419 ### Checks for library functions
3421 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3422 #### End of Ecore_Win32
3426 EFL_LIB_START([Ecore_Avahi])
3430 ### Additional options to configure
3434 AC_ARG_ENABLE([avahi],
3435 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3437 if test "x${enableval}" = "xyes" ; then
3446 ### Checks for programs
3448 ## Compatibility layers
3449 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3451 ### Checks for libraries
3452 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
3453 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
3454 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
3456 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
3458 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
3460 # Needed bu example as they use avahi directly in that case
3461 if test "x${have_avahi}" = "xyes"; then
3462 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
3465 EFL_EVAL_PKGS([ECORE_AVAHI])
3467 ### Checks for header files
3469 ### Checks for types
3471 ### Checks for structures
3473 ### Checks for compiler characteristics
3475 ### Checks for linker characteristics
3477 ### Checks for library functions
3479 EFL_LIB_END([Ecore_Avahi])
3481 #### End of Ecore_Avahi
3485 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
3487 ### Additional options to configure
3489 AC_ARG_ENABLE([gesture],
3490 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
3492 if test "x${enableval}" = "xyes" ; then
3498 [want_gesture="no"])
3500 AC_ARG_ENABLE([xpresent],
3501 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
3503 if test "x${enableval}" = "xyes" ; then
3509 [want_xpresent="no"])
3511 AC_ARG_ENABLE([xinput2],
3512 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
3514 if test "x${enableval}" = "xyes" ; then
3518 CFOPT_WARNING="xyes"
3521 [want_xinput2="yes"])
3523 AC_ARG_ENABLE([xinput22],
3524 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
3526 if test "x${enableval}" = "xyes" ; then
3532 [want_xinput22="no"])
3534 AC_ARG_ENABLE([xim],
3535 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
3537 if test "x${enableval}" = "xyes" ; then
3541 CFOPT_WARNING="xyes"
3546 AC_ARG_ENABLE([scim],
3547 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
3549 if test "x${enableval}" = "xyes" ; then
3553 CFOPT_WARNING="xyes"
3558 AC_ARG_ENABLE([ibus],
3559 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
3561 if test "x${enableval}" = "xyes" ; then
3571 ### Checks for programs
3573 ### Checks for libraries
3574 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
3575 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
3576 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
3577 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
3583 ### Checks for header files
3585 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
3587 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
3588 FOUND_MAXHOSTNAMELEN="not found"
3594 #include <sys/param.h>
3597 int h = MAXHOSTNAMELEN;
3601 FOUND_MAXHOSTNAMELEN="sys/param.h"
3602 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
3612 int h = MAXHOSTNAMELEN;
3616 FOUND_MAXHOSTNAMELEN="netdb.h"
3617 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
3620 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
3621 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
3625 if test "x${want_x11_xcb}" = "xyes" ; then
3626 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
3627 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
3629 if test -f "$KEYSYMDEFDIR/$i"; then
3630 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
3631 elif test "x$i" = "xkeysymdef.h"; then
3632 AC_MSG_ERROR([Cannot find keysymdef.h])
3635 AC_MSG_CHECKING([keysym definitions])
3636 AC_MSG_RESULT([$KEYSYMDEFS])
3637 AC_SUBST([KEYSYMDEFS])
3640 ### Checks for types
3642 ### Checks for structures
3644 ### Checks for compiler characteristics
3646 ### Checks for linker characteristics
3648 ### Checks for library functions
3651 if test "x${want_x11_xlib}" = "xyes"; then
3652 EFL_FIND_X(ECORE_X_XLIB,
3653 [X11/Xlib.h X11/Xcursor/Xcursor.h],
3654 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
3657 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
3658 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
3659 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
3661 AC_MSG_ERROR([Xcursor is missing])
3665 if test "x${want_x11_xlib}" = "xyes" ; then
3666 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
3667 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
3668 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
3669 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
3670 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
3671 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
3672 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
3673 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
3674 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
3675 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
3677 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
3679 if test "${want_xpresent}" = "yes"; then
3680 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
3682 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3684 if test "${want_gesture}" = "yes"; then
3685 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
3687 EFL_ADD_FEATURE([ECORE_X], [gesture])
3689 if test "${want_xinput2}" = "yes"; then
3690 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
3692 EFL_ADD_FEATURE([ECORE_X], [xinput2])
3694 if test "${want_xinput22}" = "yes"; then
3695 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
3697 EFL_ADD_FEATURE([ECORE_X], [xinput22])
3699 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
3700 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
3702 EFL_EVAL_PKGS([ECORE_X])
3703 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
3708 if test "${want_x11_xcb}" = "yes"; then
3709 dnl note: added pixman-1 as ecore_xcb_region uses that
3710 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
3711 [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])
3713 dnl TODO: remove these ifdefs from code!
3714 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
3715 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
3716 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
3717 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
3718 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
3719 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
3720 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
3721 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
3722 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
3723 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
3724 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
3725 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
3727 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
3729 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
3730 [1], [Build support for XCB Present])
3731 EFL_ADD_FEATURE([ECORE_X], [xpresent])
3733 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
3735 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
3736 [1], [Build support for XCB xgesture])
3738 EFL_ADD_FEATURE([ECORE_X], [gesture])
3740 dnl input extension disabled currently in xcb as xcb-input has some issues
3741 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
3742 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
3744 dnl dri extension disabled currently in xcb
3745 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
3746 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
3748 EFL_EVAL_PKGS([ECORE_X])
3749 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
3751 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
3754 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
3756 AC_SUBST([HAVE_ECORE_X_BACKEND])
3758 EFL_LIB_END_OPTIONAL([Ecore_X])
3760 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
3761 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
3766 EFL_LIB_START([Ecore_Imf])
3768 ### Additional options to configure
3772 want_ecore_imf="yes"
3773 want_ecore_imf_xim="no"
3774 want_ecore_imf_scim="no"
3775 want_ecore_imf_ibus="no"
3776 want_ecore_imf_wayland="no"
3777 want_ecore_imf="yes"
3779 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
3780 want_ecore_imf="yes"
3781 want_ecore_imf_xim="yes"
3782 want_ecore_imf_scim="yes"
3783 want_ecore_imf_ibus="yes"
3784 if test "${want_wayland}" = "yes"; then
3785 want_ecore_imf_wayland="yes"
3789 ### Checks for programs
3791 ## Compatibility layers
3792 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
3794 ### Checks for libraries
3795 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
3796 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
3797 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
3798 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
3799 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
3801 if test "x${want_ecore_imf}" = "xyes" ; then
3802 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
3809 have_ecore_imf_ibus="no"
3810 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
3811 PKG_CHECK_MODULES([IBUS],
3812 [ibus-1.0 >= 1.4 glib-2.0],
3814 have_ecore_imf_ibus="yes"
3815 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
3817 [have_ecore_imf_ibus="no"])
3820 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
3821 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
3825 have_ecore_imf_scim="no"
3826 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
3827 PKG_CHECK_MODULES([SCIM],
3830 have_ecore_imf_scim="yes"
3831 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
3833 [have_ecore_imf_scim="no"])
3836 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
3837 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
3841 have_ecore_imf_xim="no"
3842 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
3844 EFL_FIND_X(ecore_imf_xim,
3848 have_ecore_imf_xim=yes
3849 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
3853 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
3854 EFL_ADD_FEATURE([ECORE_IMF], [xim])
3857 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
3858 PKG_CHECK_MODULES([WAYLAND],
3859 [wayland-client >= 1.8.0],
3861 have_ecore_imf_wayland="yes"
3862 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
3864 [have_ecore_imf_wayland="no"])
3867 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
3868 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
3870 ### Checks for header files
3872 ### Checks for types
3874 ### Checks for structures
3876 ### Checks for compiler characteristics
3878 ### Checks for linker characteristics
3880 ### Checks for library functions
3882 EFL_LIB_END([Ecore_Imf])
3883 #### End of Ecore_Imf
3887 EFL_LIB_START([Ecore_Imf_Evas])
3889 ### Additional options to configure
3893 ### Checks for programs
3895 ## Compatibility layers
3896 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
3898 ### Checks for libraries
3899 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
3900 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
3901 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
3902 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
3903 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
3904 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
3905 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
3906 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
3908 ### Checks for header files
3910 ### Checks for types
3912 ### Checks for structures
3914 ### Checks for compiler characteristics
3916 ### Checks for linker characteristics
3918 ### Checks for library functions
3920 EFL_LIB_END([Ecore_Imf_Evas])
3921 #### End of Ecore_Imf_Evas
3925 EFL_LIB_START([Ecore_Evas])
3927 ### Additional options to configure
3931 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
3932 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
3933 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
3934 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
3935 want_ecore_evas_extn="yes"
3936 want_ecore_evas_drm="${have_evas_engine_drm}"
3938 if test "x${have_ecore_ipc}" = "xno" || \
3939 test "x${efl_func_shm_open}" = "xno" || \
3940 test "x${have_windows}" = "xyes" ; then
3941 want_ecore_evas_extn="no"
3944 ### Checks for programs
3946 ## Compatibility layers
3947 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
3949 ### Checks for libraries
3950 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
3951 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
3952 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
3953 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
3954 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
3955 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
3956 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
3957 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
3958 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
3961 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
3962 ECORE_EVAS_MODULE([ews], [yes])
3963 ECORE_EVAS_MODULE([fb], [${want_fb}])
3964 ECORE_EVAS_MODULE([drm], [${want_drm}],
3965 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm])])
3966 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
3967 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm])])
3968 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
3970 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
3972 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
3973 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
3975 build_ecore_evas_sdl="no"
3976 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
3977 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
3978 build_ecore_evas_sdl="yes"
3979 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
3981 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
3982 [test "${build_ecore_evas_sdl}" = "yes"])
3984 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
3985 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
3987 build_ecore_evas_wayland="no"
3988 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
3989 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
3990 build_ecore_evas_wayland="yes"
3991 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
3993 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
3994 [test "${build_ecore_evas_wayland}" = "yes"])
3996 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
3997 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
3999 build_ecore_evas_win32="no"
4000 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
4001 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
4002 build_ecore_evas_win32="yes"
4003 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
4005 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
4006 [test "${build_ecore_evas_win32}" = "yes"])
4009 # XXX TODO: ecore_evas_x11
4011 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
4013 have_ecore_evas_software_xlib="no"
4014 have_ecore_evas_software_xcb="no"
4015 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
4016 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
4017 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
4018 have_ecore_evas_software_xlib="yes"
4020 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
4021 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
4023 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
4024 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
4025 have_ecore_evas_software_xcb="yes"
4027 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
4028 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
4032 # XXX TODO: ecore_evas_opengl_x11
4034 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
4036 have_ecore_evas_opengl_xlib="no"
4037 have_ecore_evas_opengl_xcb="no"
4038 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
4039 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
4040 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
4041 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4044 # opengl does not work with xcb (yet)
4045 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
4046 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
4047 have_ecore_evas_opengl_xcb="yes"
4049 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4050 PKG_CHECK_MODULES([XCB_X11],
4053 have_ecore_x_opengl_xcb="yes"
4054 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4055 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4056 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4058 [have_ecore_x_opengl_xcb="no"])
4060 have_ecore_x_opengl_xcb="no"
4061 AC_MSG_NOTICE([XCB-based OpenGL explicitly disabled])
4065 build_ecore_evas_x11="no"
4066 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4067 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4068 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4069 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4070 build_ecore_evas_x11="yes"
4072 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4074 EFL_EVAL_PKGS([ECORE_EVAS])
4076 ### Checks for header files
4078 ### Checks for types
4080 ### Checks for structures
4082 ### Checks for compiler characteristics
4084 ### Checks for linker characteristics
4086 ### Checks for library functions
4088 EFL_LIB_END([Ecore_Evas])
4089 #### End of Ecore_Evas
4092 EFL_LIB_START([Eio])
4094 ### Additional options to configure
4098 ### Checks for programs
4100 ## Compatibility layers
4101 EFL_PLATFORM_DEPEND([EIO], [evil])
4103 ### Checks for libraries
4104 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4105 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4106 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4107 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4108 EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
4109 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4111 EFL_ADD_LIBS([EIO], [-lm])
4113 ### Checks for header files
4115 ### Checks for types
4117 ### Checks for structures
4119 ### Checks for compiler characteristics
4121 ### Checks for linker characteristics
4123 ### Checks for library functions
4124 have_inotify="${ac_cv_header_sys_inotify_h}"
4125 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4127 have_notify_win32="${have_win32}"
4128 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4129 [test "x${have_notify_win32}" = "xyes"], [1],
4130 [File monitoring with Windows notification])
4131 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4133 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4134 [test "x${have_darwin}" = "xyes"], [1],
4135 [File monitoring with fsevent notification])
4136 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4138 AC_CHECK_FUNC([kevent])
4139 have_notify_kevent="${ac_cv_func_kevent}"
4140 AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
4141 [test "x${have_notify_kevent}" = "xyes"], [1],
4142 [File monitoring with kqueue/kevent mechanism])
4143 AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
4147 dnl TODO: remove these ifdefs from code!
4148 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4152 if test "x${want_eo_id}" = "xyes" ; then
4153 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4158 EFL_LIB_START([Efreet])
4160 ### Additional options to configure
4164 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4166 ### Checks for programs
4168 ## Compatibility layers
4169 EFL_PLATFORM_DEPEND([EFREET], [evil])
4171 ### Checks for libraries
4172 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4173 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4174 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4175 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4176 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4177 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4178 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4180 ### Checks for header files
4182 ### Checks for types
4184 ### Checks for structures
4186 ### Checks for compiler characteristics
4188 ### Checks for linker characteristics
4190 ### Checks for library functions
4192 EFL_LIB_END([Efreet])
4197 AC_ARG_ENABLE([physics],
4198 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4200 if test "x${enableval}" = "xyes" ; then
4203 CFOPT_WARNING="xyes"
4207 [want_physics="yes"])
4209 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4211 ### Additional options to configure
4215 ### Checks for programs
4217 ### Checks for libraries
4218 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4220 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4221 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4222 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4223 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4224 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4225 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4227 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4229 EFL_EVAL_PKGS([EPHYSICS])
4231 ### Checks for header files
4233 ### Checks for types
4235 ### Checks for structures
4237 ### Checks for compiler characteristics
4239 ### Checks for linker characteristics
4241 ### Checks for library functions
4243 EFL_LIB_END_OPTIONAL([EPhysics])
4244 #### End of EPhysics
4248 EFL_LIB_START([Edje])
4250 ### Additional options to configure
4254 AC_ARG_ENABLE([multisense],
4255 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=disabled@:>@])],
4257 if test "x${enableval}" = "xyes" ; then
4258 want_multisense="yes"
4260 want_multisense="no"
4261 CFOPT_WARNING="xyes"
4265 if test "x${want_pulseaudio}" = "xyes" -o "x${want_coreaudio}" = "xyes"; then
4266 want_multisense="yes"
4268 want_multisense="no"
4272 # TODO: should we keep or remove these?
4273 want_edje_program_cache="no"
4274 want_edje_calc_cache="yes"
4275 want_fixed_point="no"
4277 ### Checks for programs
4279 ### Checks for libraries
4280 EFL_PLATFORM_DEPEND([EDJE], [evil])
4282 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4283 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4284 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4285 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4286 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4287 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4288 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4289 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4290 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4291 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4292 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4293 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4294 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4295 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4296 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4298 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4299 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4301 EFL_ADD_FEATURE([EDJE], [physics])
4302 EFL_ADD_FEATURE([EDJE], [multisense])
4303 EFL_ADD_FEATURE([EDJE], [lua-old])
4305 if test "${want_lua_old}" = "yes"; then
4306 EFL_CHECK_LUA_OLD([EDJE])
4308 EFL_DEPEND_PKG([EDJE], [LUAJIT], [luajit >= 2.0.0])
4311 EFL_ADD_LIBS([EDJE], [-lm])
4313 EFL_EVAL_PKGS([EDJE])
4315 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4316 [1], [Cache result of program glob matches])
4317 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4318 [1], [Cache result of calc glob matches])
4319 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4320 [1], [Use Fixed Point instead of FPU])
4322 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4323 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4324 [1], [Use Multisense])
4325 AC_SUBST([want_multisense])
4326 AC_SUBST([want_physics])
4328 ### Checks for header files
4330 AC_CHECK_HEADERS([ \
4334 ### Checks for types
4336 ### Checks for structures
4338 ### Checks for compiler characteristics
4340 ### Checks for linker characteristics
4342 ### Checks for library functions
4348 EFL_LIB_START([Edje_Cxx])
4350 EFL_EVAL_PKGS([EDJE_CXX])
4352 EFL_LIB_END([Edje_Cxx])
4353 #### End of Edje CXX
4356 EFL_LIB_START([Emotion])
4358 ## Compatibility layers
4359 EFL_PLATFORM_DEPEND([Emotion], [evil])
4362 if test "${efl_func_shm_open}" = "yes"; then
4363 want_emotion_generic="static"
4365 want_emotion_generic="no"
4368 ### Additional options to configure
4369 AC_ARG_ENABLE([xine],
4370 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4372 if test "x${enableval}" = "xyes" ; then
4380 AC_ARG_ENABLE([v4l2],
4381 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4383 if test "x${enableval}" = "xyes" ; then
4389 [want_v4l2="${efl_lib_optional_eeze}"])
4391 AC_ARG_ENABLE([libvlc],
4392 [AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
4394 if test "x${enableval}" = "xyes" ; then
4402 ### Checks for programs
4404 ### Checks for libraries
4405 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4406 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4407 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4408 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4409 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4410 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4411 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4412 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4414 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4415 EFL_ADD_FEATURE([EMOTION], [v4l2])
4419 have_gst_xoverlay="no"
4421 EMOTION_MODULE([xine], [${want_xine}])
4422 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4423 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4424 EMOTION_MODULE([libvlc], [${want_libvlc}])
4425 EMOTION_MODULE([generic], [${want_emotion_generic}])
4427 EFL_ADD_FEATURE([EMOTION], [xine])
4428 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4429 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4430 EFL_ADD_FEATURE([EMOTION], [libvlc])
4431 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4433 EFL_EVAL_PKGS([EMOTION])
4435 ### Checks for header files
4437 ### Checks for types
4439 ### Checks for structures
4441 ### Checks for compiler characteristics
4443 ### Checks for linker characteristics
4445 ### Checks for library functions
4447 if test "${want_v4l2}" = "yes"; then
4448 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4449 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4450 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4451 [#include <linux/videodev2.h>])
4454 ### Check availability
4456 EFL_LIB_END([Emotion])
4461 EFL_LIB_START([Ethumb])
4465 ### Additional options to configure
4467 ### Checks for programs
4469 ## Compatibility layers
4470 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4472 ### Checks for libraries
4473 EFL_PLATFORM_DEPEND([EINA], [evil])
4475 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4476 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4477 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4478 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4479 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4480 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4481 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4482 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4483 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4484 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4485 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4489 EFL_EVAL_PKGS([ETHUMB])
4491 ### Checks for header files
4493 ### Checks for types
4495 ### Checks for structures
4497 ### Checks for compiler characteristics
4499 ### Checks for linker characteristics
4501 ### Checks for library functions
4503 ### Check availability
4505 EFL_LIB_END([Ethumb])
4509 EFL_LIB_START([Ethumb_Client])
4513 ### Additional options to configure
4515 ### Checks for programs
4517 ## Compatibility layers
4518 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4520 ### Checks for libraries
4521 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4522 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4523 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4524 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4525 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4526 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4527 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4528 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4529 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4530 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4531 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4533 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4535 ### Checks for header files
4537 ### Checks for types
4539 ### Checks for structures
4541 ### Checks for compiler characteristics
4543 ### Checks for linker characteristics
4545 ### Checks for library functions
4547 ### Check availability
4549 EFL_LIB_END([Ethumb_Client])
4550 #### End of Ethumb_Client
4555 if test "${want_lua_old}" = "yes"; then
4559 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4563 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4565 ### Additional options to configure
4567 ### Checks for programs
4569 ## Compatibility layers
4570 EFL_PLATFORM_DEPEND([ELUA], [evil])
4572 ### Checks for libraries
4573 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
4574 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
4575 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
4577 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
4579 EFL_EVAL_PKGS([ELUA])
4581 ### Checks for header files
4583 ### Checks for types
4585 ### Checks for structures
4587 ### Checks for compiler characteristics
4589 ### Checks for linker characteristics
4591 ### Checks for library functions
4593 ### Check availability
4595 EFL_LIB_END_OPTIONAL([Elua])
4600 EFL_LIB_START([Elocation])
4604 ### Additional options to configure
4606 ### Checks for programs
4608 ### Checks for libraries
4609 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
4610 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
4611 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
4612 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
4613 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
4615 EFL_ADD_LIBS([ELOCATION], [-lm])
4617 ### Checks for header files
4619 ### Checks for types
4621 ### Checks for structures
4623 ### Checks for compiler characteristics
4625 ### Checks for linker characteristics
4627 ### Checks for library functions
4629 ### Check availability
4631 EFL_LIB_END([Elocation])
4632 #### End of Elocation
4634 ### Add Wayland server library if test is enabled
4635 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
4636 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.8.0])
4637 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
4640 AC_ARG_ENABLE([always-build-examples],
4641 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
4643 if test "x${enableval}" = "xyes" ; then
4644 want_always_build_examples="yes"
4646 want_always_build_examples="no"
4649 [want_always_build_examples="no"])
4650 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
4654 AC_ARG_ENABLE([i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba],
4655 [ You will be told when this is needed ],
4657 if test "x${enableval}" = "xyes" ; then
4666 build_ecore_buffer_x11_dri2="no"
4667 build_ecore_buffer_x11_dri3="no"
4668 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
4669 ### Checks for libraries
4670 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
4671 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
4672 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
4673 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
4674 [wayland-server >= 1.5.0 wayland-client >= 1.5.0])
4676 PKG_CHECK_MODULES([X11_DRI_COMMON],
4681 [have_x11_dri_common_pkgs="yes"],
4682 [have_x11_dri_common_pkgs="no"]
4685 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
4686 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
4688 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
4689 [have_x11_dri2_pkgs="yes"],
4690 [have_x11_dri2_pkgs="no"])
4691 PKG_CHECK_MODULES([X11_DRI3],
4699 [have_x11_dri3_pkgs="yes"],
4700 [have_x11_dri3_pkgs="no"])
4703 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
4704 build_ecore_buffer_x11_dri2="yes"
4705 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
4708 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
4709 build_ecore_buffer_x11_dri3="yes"
4710 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
4712 EFL_EVAL_PKGS([ECORE_BUFFER])
4714 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
4715 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
4716 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
4718 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
4720 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
4721 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
4723 #### End of Ecore_Buffer
4730 doc/previews/Makefile
4732 src/benchmarks/eina/Makefile
4733 src/benchmarks/eo/Makefile
4734 src/benchmarks/evas/Makefile
4735 src/examples/eina/Makefile
4736 src/examples/eina_cxx/Makefile
4737 src/examples/eet/Makefile
4738 src/examples/eo/Makefile
4739 src/examples/evas/Makefile
4740 src/examples/ecore/Makefile
4741 src/examples/ecore_avahi/Makefile
4742 src/examples/eio/Makefile
4743 src/examples/eldbus/Makefile
4744 src/examples/ephysics/Makefile
4745 src/examples/edje/Makefile
4746 src/examples/emotion/Makefile
4747 src/examples/ethumb_client/Makefile
4748 src/examples/elua/Makefile
4749 src/examples/eolian_cxx/Makefile
4750 src/examples/elocation/Makefile
4751 src/lib/eina/eina_config.h
4752 src/lib/ecore_x/ecore_x_version.h
4753 src/lib/efl/Efl_Config.h
4769 pc/evas-opengl-x11.pc
4770 pc/evas-opengl-sdl.pc
4771 pc/evas-opengl-cocoa.pc
4773 pc/evas-software-buffer.pc
4774 pc/evas-software-x11.pc
4775 pc/evas-software-gdi.pc
4776 pc/evas-software-ddraw.pc
4777 pc/evas-software-sdl.pc
4778 pc/evas-wayland-shm.pc
4779 pc/evas-wayland-egl.pc
4789 pc/ecore-input-evas.pc
4800 pc/ecore-imf-evas.pc
4802 pc/ecore-audio-cxx.pc
4822 dbus-services/org.enlightenment.Ethumb.service
4823 systemd-services/ethumb.service
4825 cmakeconfig/EflConfig.cmake
4826 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4827 cmakeconfig/EinaConfig.cmake
4828 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4829 cmakeconfig/EioConfig.cmake
4830 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4831 cmakeconfig/EezeConfig.cmake
4832 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4833 cmakeconfig/EoConfig.cmake
4834 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4835 cmakeconfig/EolianConfig.cmake
4836 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4837 cmakeconfig/EolianHelper.cmake
4838 cmakeconfig/EolianCxxConfig.cmake
4839 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4840 cmakeconfig/EinaCxxConfig.cmake
4841 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4842 cmakeconfig/EoCxxConfig.cmake
4843 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4844 cmakeconfig/EcoreCxxConfig.cmake
4845 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4846 cmakeconfig/EvasCxxConfig.cmake
4847 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4848 cmakeconfig/EetCxxConfig.cmake
4849 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4850 cmakeconfig/EetConfig.cmake
4851 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4852 cmakeconfig/EvasConfig.cmake
4853 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4854 cmakeconfig/EcoreConfig.cmake
4855 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4856 cmakeconfig/EdjeConfig.cmake
4857 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4858 cmakeconfig/EldbusConfig.cmake
4859 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4860 cmakeconfig/EfreetConfig.cmake
4861 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4862 cmakeconfig/EthumbConfig.cmake
4863 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4864 cmakeconfig/EthumbClientConfig.cmake
4865 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4866 cmakeconfig/EmotionConfig.cmake
4867 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4868 cmakeconfig/EluaConfig.cmake
4869 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4870 cmakeconfig/EmileConfig.cmake
4871 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
4876 #### Work around bug in automake check macro
4877 ## yes it is hugly, but no choice here for now.
4878 $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
4880 if test -f $srcdir/config.status; then
4881 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"
4882 $SED -i "s|as_fn_exit 0|$TO|" $srcdir/config.status
4887 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
4891 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
4892 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
4895 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
4898 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4901 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
4905 if test "${have_linux}" = "yes"; then
4906 EFL_ADD_FEATURE([system], [inotify])
4907 EFL_ADD_FEATURE([system], [atfile_source])
4908 elif test "${have_windows}" = "yes"; then
4909 EFL_ADD_FEATURE([system], [notify_win32])
4911 EFL_ADD_FEATURE([system], [ipv6])
4913 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
4914 efl_have_spinlock="yes"
4916 efl_have_spinlock="no"
4918 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
4919 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
4920 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
4921 EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
4922 EFL_ADD_FEATURE([thread], [__thread], [${have_thread_specifier}])
4927 echo "------------------------------------------------------------------------"
4928 echo "$PACKAGE_NAME $PACKAGE_VERSION"
4929 echo "------------------------------------------------------------------------"
4932 if test "x${have_windows}" = "xyes" ; then
4933 osname="${host_os}(${_efl_windows_version})"
4938 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
4939 echo " EFL API Set...: ${efl_api}"
4940 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
4941 echo " System Feature: ${features_system}"
4942 echo " Threads.......: ${efl_have_threads} (${features_thread})"
4943 echo " Cryptography..: ${build_crypto}"
4944 echo " X11...........: ${with_x11}"
4945 echo " OpenGL........: ${with_opengl}"
4946 echo " C++11.........: ${have_cxx11}"
4947 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
4948 echo "Eo..............: yes (${features_eo})"
4949 echo "Eolian..........: yes (${features_eolian})"
4950 echo "Emile...........: yes (${features_emile})"
4951 echo "Eet.............: yes"
4952 echo "Evas............: yes (${features_evas})"
4953 echo " Engines.......: ${features_evas_engine}"
4954 echo " Image Loaders.: ${features_evas_loader}"
4955 if test "x${have_pixman}" = "xyes" ; then
4956 echo " Pixman........: ${features_evas_pixman}"
4958 echo "Ecore...........: yes (${features_ecore})"
4959 echo "Ecore_Con.......: yes (${features_ecore_con})"
4960 echo "Ecore_File......: yes"
4961 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
4962 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
4963 echo "Ecore_SDL.......: $want_sdl"
4964 echo "Ecore_Wayland...: $want_wayland"
4965 echo "IVI-Shell.......: $want_wayland_ivi_shell"
4966 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
4967 if test "${have_linux}" = "yes"; then
4968 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
4969 elif test "${have_ps3}" = "yes"; then
4970 echo "Ecore_PSL1GHT...: $have_ps3"
4971 elif test "${have_darwin}" = "yes"; then
4972 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
4973 elif test "${have_windows}" = "yes"; then
4974 echo "Ecore_Win32.....: $have_win32"
4976 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
4977 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
4978 echo "Ecore_Evas......: yes (${features_ecore_evas})"
4979 echo "Ector...........: yes"
4980 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
4981 echo "EPhysics........: ${efl_lib_optional_ephysics}"
4982 echo "Edje............: yes (${features_edje})"
4983 echo "Emotion.........: yes (${features_emotion})"
4984 echo "Ethumb..........: yes"
4985 echo "Ethumb_Client...: yes"
4986 echo "Elua............: $have_elua"
4987 if test "${build_tests}" = "none"; then
4988 echo "Tests...........: no"
4989 elif test "${build_tests}" = "auto"; then
4990 echo "Tests...........: make check (inexplicitly enabled)"
4991 elif test "${build_tests}" = "regular"; then
4992 echo "Tests...........: make check"
4993 elif test "${build_tests}" = "coverage"; then
4994 echo "Tests...........: make lcov-check"
4996 echo "Examples........: make examples (make install-examples)"
4997 if test "x${build_doc}" = "xyes"; then
4998 echo "Documentation...: make doc"
5000 echo "Documentation...: no"
5002 echo "Compilation.....: make (or gmake)"
5003 echo " CPPFLAGS......: $CPPFLAGS"
5004 echo " CFLAGS........: $CFLAGS"
5005 echo " CXXFLAGS......: $CXXFLAGS"
5006 echo " LDFLAGS.......: $LDFLAGS"
5008 if test "x${with_binary_edje_cc}" != "x"; then
5009 echo " edje_cc.......: ${with_binary_edje_cc}"
5012 if test "x${with_binary_eolian_gen}" != "x"; then
5013 echo " eolian_gen....: ${with_binary_eolian_gen}"
5016 if test "x${with_binary_eolian_cxx}" != "x"; then
5017 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
5020 if test "x${with_binary_elua_bin}" != "x"; then
5021 echo " elua..........: ${with_binary_elua_bin}"
5025 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
5026 echo " prefix........: $prefix"
5027 echo " dbus units....: $dbusservicedir"
5028 if test "${have_systemd_user_session}" = "yes"; then
5029 echo " systemd units.: $USER_SESSION_DIR"
5033 if test "x${have_systemd_pkg}" = "xyes" -a "x${want_systemd}" = "xno"; then
5034 echo " _________________________________________"
5035 echo "/ Systemd dependency is available on your \\"
5036 echo "| system, but you are building without |"
5037 echo "| systemd support. Don't forget to |"
5038 echo "| --enable-systemd if you want systemd |"
5039 echo "\\ integration for EFL. /"
5040 echo " -----------------------------------------"
5042 echo " \\ (oo)\\_______"
5043 echo " (__)\\ )\\/\\"
5048 if test -n "$CFOPT_WARNING"; then
5049 echo "_____________________________________________________________________"
5051 echo "==-- WARNING --=="
5053 echo "_____________________________________________________________________"
5054 if test "x${with_x11}" = "xxcb"; then
5055 echo "_____________________________________________________________________"
5056 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
5057 echo "is amazingly faster than Xlib (when used sensibly). It can be"
5058 echo "faster in a few corner cases on startup of an app, but it comes"
5059 echo "with many downsides. One of those is more complex code inside"
5060 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
5061 echo "the big catch is that OpenGL support basically requires Xlib anyway"
5062 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
5063 echo "gain nothing really in terms of speed and no savings in memory"
5064 echo "because Xlib is still linked, loaded and used, BUT instead you"
5065 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
5066 echo "toolkit and this is basically never tested by anyone working on"
5067 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
5068 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
5069 echo "off the memory footprint of a whole system and live with less"
5070 echo "tested code, and possibly unimplemented features in ecore_x. To"
5071 echo "remove the XCB setup, remove the --with-x11=xcb option to"
5073 echo "_____________________________________________________________________"
5075 if test "x${want_physics}" = "xno"; then
5076 echo "_____________________________________________________________________"
5077 echo "You have chosen to disable physics support. This disables lots of"
5078 echo "core functionality and is effectively never tested. You are going"
5079 echo "to find features that suddenly don't work and as a result cause"
5080 echo "a series of breakages. This is simply not tested so you are on"
5081 echo "your own in terms of ensuring everything works if you do this"
5082 echo "_____________________________________________________________________"
5084 if test "x${efl_have_threads}" = "xno"; then
5085 echo "_____________________________________________________________________"
5086 echo "You have disabled threading support. A lot of code is literally"
5087 echo "written to need threading. We never test or even build with"
5088 echo "threading disabled, so doing this is entering uncharted territory."
5089 echo "There is a very good chance things may not compile at all, or if"
5090 echo "the do, they will break at runtime in weird and wonderful ways."
5091 echo "Highly reconsider what you are doing here, or be prepared to deal"
5092 echo "with the fallout yourself."
5093 echo "_____________________________________________________________________"
5095 if test "x${want_fontconfig}" = "xno"; then
5096 echo "_____________________________________________________________________"
5097 echo "You have disabled fontconfig. This is going to make general font"
5098 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5099 echo "will work alongside some old-school ttf file path searching. This"
5100 echo "is very likely not what you want, so highly reconsider turning"
5101 echo "fontconfig off. Having it off will lead to visual problems like"
5102 echo "missing text in many UI areas etc."
5103 echo "_____________________________________________________________________"
5105 if test "x${want_fribidi}" = "xno"; then
5106 echo "_____________________________________________________________________"
5107 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5108 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5109 echo "you want to disable unless you know for absolute certain you"
5110 echo "will never encounter and have to display such scripts. Also"
5111 echo "note that we don't test with fribidi disabled so you may also"
5112 echo "trigger code paths with bugs that are never normally used."
5113 echo "_____________________________________________________________________"
5115 if test "x${want_pixman}" = "xyes"; then
5116 echo "_____________________________________________________________________"
5117 echo "Pixman allows you to replace some rendering paths in Evas with"
5118 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5119 echo "the rendering paths with Pixman enabled are not tested often so"
5120 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5121 echo "you wish to deal with these bugs."
5122 echo "_____________________________________________________________________"
5124 if test "x${have_tile_rotate}" = "xyes"; then
5125 echo "_____________________________________________________________________"
5126 echo "Tiled rotation code is not tested much, so be aware that you"
5127 echo "may introduce bugs by enabling this."
5128 echo "_____________________________________________________________________"
5130 if test "x${want_g_main_loop}" = "xyes"; then
5131 echo "_____________________________________________________________________"
5132 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5133 echo "regularly, but the glib mainloop integration (on by default) is."
5134 echo "You can use apps that use glib mainloop constructs by default"
5135 echo "this way, but the Ecore mainloop is not built on top of glib."
5136 echo "You have enabled ecore to be built on top of glib and thus you"
5137 echo "may experience bugs that normally would not be there. Be prepared"
5138 echo "to fix these if they arise."
5139 echo "_____________________________________________________________________"
5141 if test "x${want_gstreamer}" = "xyes"; then
5142 echo "_____________________________________________________________________"
5143 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5144 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5145 echo "and will eventually be removed entirely. Don't enable the old"
5146 echo "Gstreamer support unless you want to deal with the issues yourself."
5147 echo "_____________________________________________________________________"
5149 if test "x${want_gstreamer1}" = "xno"; then
5150 echo "_____________________________________________________________________"
5151 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5152 echo "this as it will heavily limit your media support options and render"
5153 echo "some functionality as useless, leading to visible application bugs."
5154 echo "_____________________________________________________________________"
5156 if test "x${want_eo_id}" = "xno"; then
5157 echo "_____________________________________________________________________"
5158 echo "Eo's ID abstraction interface is a major safety system that"
5159 echo "protects code from crashing or misbehaving in many cases. It does"
5160 echo "come at a slight cost, but the safety and protection is worth it."
5161 echo "Also by disabling this, you may also introduce security holes in"
5162 echo "EFL as well as cause all sorts of previously non-existant crashes."
5163 echo "Seriously reconsider disabling EO ID."
5164 echo "_____________________________________________________________________"
5166 if test "x${want_evas_cserve2}" = "xno"; then
5167 echo "_____________________________________________________________________"
5168 echo "Evas Cserve is built and on by default and no testing is done"
5169 echo "for the old non-cserve2 code paths, so by disabling this you"
5170 echo "may be introducing bugs. Be aware of this and be prepared to"
5171 echo "deal with the bugs as a result of this."
5172 echo "_____________________________________________________________________"
5174 if test "x${want_audio}" = "xno"; then
5175 echo "_____________________________________________________________________"
5176 echo "You disabled audio support in Ecore. This is not tested and may"
5177 echo "Create bugs for you due to it creating untested code paths."
5178 echo "Reconsider disabling audio."
5179 echo "_____________________________________________________________________"
5181 if test "x${have_darwin}" = "xno" -a "x${want_pulseaudio}" = "xno"; then
5182 echo "_____________________________________________________________________"
5183 echo "The only audio output method supported by Ecore right now on your"
5184 echo "system is via Pulseaudio. You have disabled that and likely have"
5185 echo "broken a whole bunch of things in the process. Reconsider your"
5186 echo "configure options."
5187 echo "_____________________________________________________________________"
5189 if test "x${want_xinput2}" = "xno"; then
5190 echo "_____________________________________________________________________"
5191 echo "You have disabled xinput2 support. This means a whole lot of input"
5192 echo "devices in X11 will not work correctly. You likely do not want to"
5194 echo "_____________________________________________________________________"
5196 if test "x${want_xim}" = "xno"; then
5197 echo "_____________________________________________________________________"
5198 echo "You disabled XIM input method support. This is the most basic and"
5199 echo "core input method protocol supported in X11 and you almost certainly"
5200 echo "want the support for it. Input methods allow for complex text input"
5201 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
5202 echo "on touch/mobile devices."
5203 echo "_____________________________________________________________________"
5205 if test "x${want_scim}" = "xno"; then
5206 echo "_____________________________________________________________________"
5207 echo "SCIM is a modern and very common input method framework and you"
5208 echo "disabled support for it. You very likely want the support for"
5209 echo "complex language input, so please reconsider this. Input methods"
5210 echo "allow for complex text input like for Chinese, Japanese and Korean"
5211 echo "as well as virtual keyboards on touch/mobile devices."
5212 echo "_____________________________________________________________________"
5214 if test "x${want_libmount}" = "xno"; then
5215 echo "_____________________________________________________________________"
5216 echo "Libmount has been disabled, and it is used heavily inside Eeze"
5217 echo "for support of removable devices etc. and disabling this will"
5218 echo "hurt support for Enlightenment and its filemanager."
5219 echo "_____________________________________________________________________"
5221 if test "x${want_multisense}" = "xno"; then
5222 echo "_____________________________________________________________________"
5223 echo "Multisense has been disabled. This causes Edje audio suport to"
5224 echo "Simply not work, and will break applications and libraries"
5225 echo "that rely on it with users then reporting bugs."
5226 echo "If you want to mute audio, there are APIs and policies to do"
5227 echo "that, as opposed to compiling it out."
5228 echo "_____________________________________________________________________"
5230 if test "x${efl_api}" = "xeo"; then
5231 echo "_____________________________________________________________________"
5232 echo "Using the EO based EFL API only does not work at the moment. We still"
5233 echo "have a lot code that depends on the legacy interfaces. We provide"
5234 echo "this option for testing once we are able to migrate to the EO based"
5236 echo "If you are not working on this migration please leave the option set"
5237 echo "to both as it will break your build if set to eo."
5238 echo "_____________________________________________________________________"
5240 if test "x${want_libeeze}" = "xno"; then
5241 echo "_____________________________________________________________________"
5242 echo "Libeeze has been disabled, and it is used heavily for support of"
5243 echo "removable devices etc. and disabling this will hurt support for"
5244 echo "Enlightenment and its filemanager."
5245 echo "_____________________________________________________________________"
5247 echo "_____________________________________________________________________"
5249 echo "==-- WARNING --=="
5251 echo "_____________________________________________________________________"
5252 if test -n "$BARF_OK"; then
5253 echo "Please add the following option to acknowledge this:"
5254 echo " --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-aba"
5255 echo "_____________________________________________________________________"
5262 if test "x$prefix" != "x/usr"; then
5264 path=$dbusservicedir
5265 while test "x$old" != "x$path"; do
5267 eval path="\"$path\""
5269 resolved_dbusservicedir=$path
5272 path=$USER_SESSION_DIR
5273 while test "x$old" != "x$path"; do
5275 eval path="\"$path\""
5277 resolved_USER_SESSION_DIR=$path
5278 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
5282 while test "x$old" != "x$path"; do
5284 eval path="\"$path\""
5286 resolved_datadir=$path
5289 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
5290 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
5291 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5292 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
5297 needs_alert_systemd=0
5298 if test "$have_systemd_user_session" = "yes"; then
5299 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
5300 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
5301 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
5302 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
5304 needs_alert_systemd=1
5308 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
5309 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
5310 what_alert="dbus and systemd"
5311 elif test $needs_alert_dbus -eq 1; then
5314 what_alert="systemd"
5318 echo "#-------------------------------------------------------------------#"
5319 echo "##==-- ALERT --==##"
5320 echo "#-------------------------------------------------------------------#"
5322 echo " Your installation prefix is *NOT* /usr so this means you need"
5323 echo "to ensure some files are visible to $what_alert otherwise services cannot"
5324 echo "be started when needed. You will need to do the following:"
5325 if test $needs_alert_dbus -eq 1; then
5327 echo "System-wide installation:"
5328 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
5330 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
5332 echo "User installation:"
5333 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
5335 if test $needs_alert_systemd -eq 1; then
5337 echo "System-wide installation:"
5338 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
5340 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
5342 echo "User installation:"
5343 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
5346 echo "#-------------------------------------------------------------------#"
5350 if test "x${efl_deprecated_option}" = "xyes"; then
5352 echo "#-------------------------------------------------------------------#"
5353 echo "##==-- ALERT --==##"
5354 echo "#-------------------------------------------------------------------#"
5356 echo " Your build script is using a deprecated option. It will get b0rken"
5357 echo "with the next release of EFL. You better update it now than later."
5359 echo "#-------------------------------------------------------------------#"