1 EFL_VERSION([1], [18], [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 explicitly optin.
34 EFL_ENABLE_EO_API_SUPPORT
35 EFL_ENABLE_BETA_API_SUPPORT
38 [AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
44 EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
45 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
54 EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
56 *) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
59 AC_SUBST(EFL_API_LEGACY_DEF)
60 AC_SUBST(EFL_API_EO_DEF)
62 #### Additional options to configure
64 # string to identify the build
66 [AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
67 @<:@default=none@:>@])],
68 [EFL_BUILD_ID="${withval}"],
69 [EFL_BUILD_ID="none"])
70 AC_SUBST(EFL_BUILD_ID)
73 AC_ARG_WITH([profile],
74 [AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
75 @<:@default=dev@:>@])],
76 [build_profile=${withval}],
77 [build_profile=def_build_profile])
79 case "${build_profile}" in
83 AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
88 eina_log_backtrace="yes"
89 case "${build_profile}" in
92 eina_log_backtrace="no"
96 # Enable CRI & ERR backtrace by default for release but not for dev/debug
97 AC_DEFINE_IF([EINA_LOG_BACKTRACE_ENABLE], [test "x${eina_log_backtrace}" = "xyes"], [1], [Default log level triggering backtraces])
99 # TODO: add some build "profile" (server, full, etc...)
101 AC_ARG_WITH([crypto],
102 [AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
103 openssl, gnutls or none.
104 @<:@default=openssl@:>@])],
105 [build_crypto=${withval}],
106 [build_crypto=openssl])
108 case "${build_crypto}" in
112 AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
117 [AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none.
118 @<:@default=none@:>@])],
119 [build_tests=${withval}],
124 case "${build_tests}" in
126 if test "${build_profile}" = "dev"; then
140 AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
144 AC_ARG_WITH([ecore-con-http-test-url],
145 [AS_HELP_STRING([--with-ecore-con-http-test-url=http://username:password@example.com],[Url of http server for testing with username and password])],[ECORE_CON_HTTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_HTTP_TEST_URL],["$withval"],[Http url for testing])])
147 AC_ARG_WITH([ecore-con-ftp-test-url],
148 [AS_HELP_STRING([--with-ecore-con-ftp-test-url=ftp://username:password@ftp.example.com?file=filename&directory=dir],[Url of ftp server for testing with username, password, complete filepath for upload with optional directory])],[ECORE_CON_FTP_TEST_URL=${withval}][AC_DEFINE_UNQUOTED([ECORE_CON_FTP_TEST_URL],["$withval"],[Ftp url for testing])])
150 dbusservicedir="${datadir}/dbus-1/services"
151 AC_ARG_WITH([dbus-services],
152 [AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
153 [dbusservicedir=$withval])
154 AC_SUBST(dbusservicedir)
156 efl_deprecated_option="no"
157 EFL_WITH_BIN([eet], [eet-eet])
158 EFL_WITH_BIN([edje], [edje-cc])
159 EFL_WITH_BIN([eolian], [eolian-gen])
160 EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
161 EFL_WITH_BIN([eolian-js], [eolian-js])
162 EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
163 EFL_WITH_BIN([eldbus], [eldbus_codegen])
164 EFL_WITH_BIN([elementary], [elementary-codegen])
165 EFL_WITH_BIN([elementary], [elm-prefs-cc])
169 requirements_pc_eflall=""
170 requirements_pc_deps_eflall=""
171 requirements_libs_eflall=""
172 requirements_cflags_eflall=""
174 requirements_pc_crypto=""
175 requirements_pc_deps_crypto=""
176 requirements_libs_crypto=""
177 requirements_cflags_crypto=""
181 # TODO: move me to m4 file that setups module/so related variables
184 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
189 MODULE_ARCH="v-v_maj.v_min"
193 MODULE_ARCH="v-v_maj.v_min"
197 MODULE_ARCH="v-v_maj.v_min"
202 EFL_VERSION_MAJOR="v_maj"
203 EFL_VERSION_MINOR="v_min"
204 AC_SUBST(EFL_VERSION_MAJOR)
205 AC_SUBST(EFL_VERSION_MINOR)
207 ELM_UNIX_DEF="#undef"
208 ELM_WIN32_DEF="#undef"
210 have_systemd_pkg="no"
219 # TODO: check cygwin* here
222 ELM_WIN32_DEF="#define"
223 EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
227 ELM_UNIX_DEF="#define"
231 ELM_UNIX_DEF="#define"
235 have_systemd_pkg="auto"
237 ELM_UNIX_DEF="#define"
240 ELM_UNIX_DEF="#define"
244 case "$host_vendor" in
250 AC_SUBST([MODULE_ARCH])
251 AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
252 AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
253 AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
255 # TODO: move me to m4 file that setups the windows related variables
256 AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
257 AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
258 AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
260 AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
261 AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
262 AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
264 AC_SUBST([ELM_UNIX_DEF])
265 AC_SUBST([ELM_WIN32_DEF])
267 #### Checks for programs
271 if test "x${have_windows}" = "xyes" ; then
272 lt_cv_deplibs_check_method='pass_all'
274 m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
275 LT_INIT([win32-dll disable-static pic-only])
278 CXXFLAGS="${CXXFLAGS} -fPIC -DPIC"
279 LDFLAGS="${LDFLAGS} -fPIC -DPIC"
283 AM_GNU_GETTEXT_VERSION([0.18])
285 m4_ifdef([AC_GNU_GETTEXT], [
286 AC_GNU_GETTEXT([external])
287 po_makefile_in=po/Makefile.in
291 m4_ifdef([AM_GNU_GETTEXT], [
292 AM_GNU_GETTEXT([external])
293 po_makefile_in=po/Makefile.in
300 AC_SUBST([LTLIBINTL])
301 LOCALE_DIR="${localedir}"
304 if test "x${POSUB}" = "x" ; then
308 AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
321 AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
323 if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
324 AC_MSG_ERROR([efl requires a c99-capable compiler])
326 # We should be using ${CXX} here, but there is a bug in
327 # autotools macro and CXX is always set to g++ even if
328 # it's not found. So we are using an internal variable
329 # that does the work for now, may get broken in the future.
330 if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
331 AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
339 if test "x${PKG_CONFIG}" = "x" ; then
340 AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
343 # doxygen program for documentation building
345 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
349 if test "${want_coverage}" = "yes" ; then
350 AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
351 if test "x${have_lcov}" = "xyes" ; then
352 AC_SEARCH_LIBS([__gcov_init], [gcov])
353 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-arcs -ftest-coverage])
354 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
355 EFL_CHECK_LINKER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
356 if test "x${prefer_assert}" = "xno"; then
357 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
359 EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0"
362 AC_MSG_ERROR([lcov is not found])
366 AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
368 #### Checks for libraries
370 # check unit testing library
372 if test "${want_tests}" = "yes"; then
373 PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
375 AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
378 # check for crypto/tls library to use
379 case "$build_crypto" in
381 EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16])
383 AM_PATH_LIBGCRYPT([], [:],
384 [AC_MSG_ERROR([libgcrypt required but not found])])
385 requirements_libs_crypto="${LIBGCRYPT_LIBS} ${requirements_libs_crypto}"
386 requirements_cflags_crypto="${LIBGCRYPT_CFLAGS} ${requirements_cflags_crypto}"
390 EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
393 AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
394 AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
398 AC_ARG_ENABLE([lua-old],
399 [AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
401 if test "x${enableval}" = "xyes" ; then
409 AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
410 AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
411 [1], [Use interpreted Lua (5.1 or 5.2)])
412 AC_SUBST([want_lua_old])
416 AC_ARG_ENABLE([liblz4],
417 [AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
419 if test "x${enableval}" = "xyes" ; then
420 # Only ships pc file since r120
421 PKG_CHECK_MODULES([LIBLZ4], [liblz4])
422 EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
423 EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
431 AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
432 AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
433 AC_SUBST([want_liblz4])
434 AC_SUBST([ENABLE_LIBLZ4])
438 AC_ARG_ENABLE([vnc-server],
439 [AS_HELP_STRING([--enable-vnc-server],[Build Ecore_Evas VNC module. @<:@default=disabled@:>@])],
441 if test "x${enableval}" = "xyes" ; then
442 PKG_CHECK_MODULES([LIBVNCSERVER], [libvncserver])
443 want_vnc_server="yes"
448 [want_vnc_server="no"])
450 #### Checks for header files
452 # Common Checks (keep names sorted for ease of use):
472 #### Checks for defines in headers
474 EFL_CHECK_DEFINE(TCP_CORK, netinet/tcp.h)
475 EFL_CHECK_DEFINE(TCP_NOPUSH, netinet/tcp.h)
476 EFL_CHECK_DEFINE(UDP_CORK, netinet/udp.h)
478 #### Checks for types
481 AC_CHECK_SIZEOF([wchar_t])
482 EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
483 AC_SUBST([EINA_SIZEOF_WCHAR_T])
485 AC_CHECK_SIZEOF(int, 4)
486 AC_CHECK_SIZEOF(long, 4)
488 AC_CHECK_SIZEOF([uintptr_t])
489 EINA_SIZEOF_UINTPTR_T=$ac_cv_sizeof_uintptr_t
490 AC_SUBST([EINA_SIZEOF_UINTPTR_T])
492 AC_CHECK_TYPES([siginfo_t], [], [],
496 # include <siginfo.h>
500 #### Checks for structures
503 #### Checks for compiler characteristics
507 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
508 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])
509 case "${build_profile}" in
511 dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
512 AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
513 CFLAGS_save="${CFLAGS}"
514 CFLAGS="${CFLAGS} -Werror -Wshadow"
515 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
516 EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
517 CFLAGS="${CFLAGS_save}"
528 EFL_ATTRIBUTE_ALWAYS_INLINE
530 EFLALL_LIBS="${EFLALL_LIBS}"
531 EFLALL_CFLAGS="${EFLALL_CFLAGS}"
533 ## CPU architecture specific assembly
537 build_cpu_altivec="no"
541 AC_ARG_ENABLE([neon],
542 [AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
544 if test "x${enableval}" = "xyes"; then
557 AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
559 AC_CHECK_HEADER([immintrin.h],
561 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
564 [build_cpu_sse3="no"])
565 AC_MSG_CHECKING([whether to build SSE3 code])
566 AC_MSG_RESULT([${build_cpu_sse3}])
568 if test "x$build_cpu_sse3" = "xyes" ; then
573 build_cpu_altivec="yes"
574 AC_CHECK_HEADER([altivec.h],
576 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
577 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
578 build_cpu_altivec="yes"
582 save_CPPFLAGS=$CPPFLAGS
583 CFLAGS=$CFLAGS" -maltivec"
584 CPPFLAGS=$CPPFLAGS" -maltivec"
585 unset ac_cv_header_altivec_h
586 AC_CHECK_HEADER([altivec.h],
588 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
589 AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
590 build_cpu_altivec="yes"
592 [build_cpu_altivec="no"]
595 CPPFLAGS=$save_CPPFLAGS
598 if test "x${build_cpu_altivec}" = "xyes"; then
599 AC_MSG_CHECKING([whether to use altivec compiler flag])
600 if test "x$GCC" = "xyes"; then
601 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
602 altivec_cflags="-faltivec"
603 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
604 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
605 altivec_cflags="-maltivec"
606 AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
609 AC_MSG_RESULT([${altivec_cflags}])
610 CFLAGS="$CFLAGS ${altivec_cflags}"
611 ALTIVEC_CFLAGS="-maltivec"
615 if test "x${want_neon}" = "xyes"; then
617 AC_MSG_CHECKING([whether to use NEON instructions])
618 CFLAGS_save="${CFLAGS}"
619 CFLAGS="-mfpu=neon -ftree-vectorize ${CFLAGS}"
620 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
622 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
624 NEON_CFLAGS="-mfpu=neon"
629 CFLAGS="${CFLAGS_save}"
633 if test "x${want_neon}" = "xyes"; then
635 AC_MSG_CHECKING([whether to use NEON instructions])
636 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
638 AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
639 AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
649 AC_SUBST([ALTIVEC_CFLAGS])
650 AC_SUBST([SSE3_CFLAGS])
651 AC_SUBST([NEON_CFLAGS])
653 #### Checks for linker characteristics
656 #### Checks for library functions
678 EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl sched_getcpu])
680 have_atfile_source="${ac_cv_func_fstatat}"
681 AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
682 [test "x${have_atfile_source}" = "xyes"],
683 [1], [Use fstatat and other -at file functions])
687 ###################### EFL ######################
690 AC_ARG_ENABLE([libeeze],
691 [AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
693 if test "x${enableval}" = "xyes"; then
702 if test "x${want_libeeze}" = "xyes" ; then
703 if test "x${have_linux}" = "xyes" ; then
713 AC_ARG_ENABLE([systemd],
714 [AS_HELP_STRING([--disable-systemd],[Disable systemd support. @<:@default=enabled@:>@])],
716 if test "x${enableval}" = "xyes" ; then
723 systemd_dbus_prefix="# "
724 if test "${want_systemd}" = "yes"; then
725 systemd_dbus_prefix=""
727 AC_SUBST(systemd_dbus_prefix)
729 AC_ARG_WITH([systemdunitdir],
730 AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
731 [USER_SESSION_DIR=${withval}])
732 if test "$want_systemd" == "no"; then
733 have_systemd_user_session="no"
734 elif test -n "${USER_SESSION_DIR}"; then
735 have_systemd_user_session="yes"
736 AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
738 # Detect systemd user session directory properly
739 EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
740 [have_systemd_user_session="yes"], [have_systemd_user_session="no"])
742 if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
743 AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
747 AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
748 AC_SUBST([USER_SESSION_DIR])
750 if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
751 PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
753 have_systemd_pkg="yes"
754 AC_DEFINE_UNQUOTED([HAVE_SYSTEMD_LOGIN_209],[1],[Defined if systemd >= 209])
756 [have_systemd_pkg="no"])
759 # check for systemd library if requested
760 if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
761 AC_MSG_ERROR([Systemd dependency requested but not found])
764 AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
765 AM_CONDITIONAL([HAVE_SYSTEMD], [test "${want_systemd}" = "yes" -a "${have_systemd_pkg}" = "yes"])
766 #### Platform-dependent
769 EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
773 ### Additional options to configure
774 EFL_SELECT_WINDOWS_VERSION
776 ### Checks for programs
778 ### Checks for libraries
780 EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid])
782 ### Checks for header files
786 ### Checks for structures
788 ### Checks for compiler characteristics
790 EVIL_CPPFLAGS="-DPSAPI_VERSION=1"
791 # TODO: should we have these at EFL (global?)
792 # Note: these warnings should not be used with C++ code
793 EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
794 EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
796 if test "x${have_win32}" = "xyes" ; then
797 EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
798 EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
801 AC_SUBST([EVIL_CPPFLAGS])
802 AC_SUBST([EVIL_CFLAGS_WRN])
803 AC_SUBST([EVIL_CXXFLAGS])
805 ### Checks for linker characteristics
807 ### Checks for library functions
809 EFL_LIB_END_OPTIONAL([Evil])
811 AC_SUBST([USE_EVIL_CFLAGS])
812 AC_SUBST([USE_EVIL_LIBS])
817 EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
819 ### Additional options to configure
823 ### Checks for programs
825 ### Checks for libraries
826 EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
828 ### Checks for header files
832 ### Checks for structures
834 ### Checks for compiler characteristics
836 ### Checks for linker characteristics
838 ### Checks for library functions
840 EFL_LIB_END_OPTIONAL([Escape])
843 EFL_CHECK_FUNC([SHM], [shm_open])
844 SHM_LIBS="${requirements_libs_shm}"
848 AC_SUBST([DL_INTERNAL_LIBS])
849 #### End of Platform-dependent
854 EFL_LIB_START([Eina])
858 have_safety_checks="yes"
860 case "${build_profile}" in
862 with_max_log_level=""
863 have_stringshare_usage="no"
865 want_debug_malloc="no"
866 want_debug_threads="no"
867 want_default_mempool="no"
872 with_max_log_level=""
873 have_stringshare_usage="yes"
875 want_debug_malloc="yes"
876 want_debug_threads="yes"
877 want_default_mempool="yes"
882 with_max_log_level="3"
883 have_stringshare_usage="no"
885 want_debug_malloc="no"
886 want_debug_threads="no"
887 want_default_mempool="no"
894 EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
895 EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
896 EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
898 if test -n "${with_max_log_level}"; then
899 AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
900 AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
903 AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
904 [test "x${have_stringshare_usage}" = "xyes"],
905 [1], [Report Eina stringshare usage pattern])
907 ### Additional options to configure
908 AC_ARG_ENABLE([magic-debug],
909 [AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
911 if test "x${enableval}" = "xyes" ; then
912 have_magic_debug="yes"
914 have_magic_debug="no"
917 [have_magic_debug="yes"])
919 AC_ARG_ENABLE([debug-threads],
920 [AS_HELP_STRING([--enable-debug-threads], [enable debugging of eina threads @<:@default=disabled@:>@])],
922 if test "x${enableval}" = "xyes" ; then
923 want_debug_threads="yes"
925 want_debug_threads="no"
929 EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
931 AC_ARG_WITH([xattr-tests-path],
932 [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])])
934 evas_dicts_hyphen_dir="/usr/share/hyphen/"
935 AC_ARG_WITH([dictionaries-hyphen-dir],
936 [AS_HELP_STRING([--with-dictionaries-hyphen-dir=DIR],[path of hunspell-compatible hyphen dictionaries])], [evas_dicts_hyphen_dir=$withval])
937 AC_DEFINE_UNQUOTED([EVAS_DICTS_HYPHEN_DIR],["$evas_dicts_hyphen_dir"], [Hunspell-compatible hyphen dictionaries install directory])
939 ### Checks for programs
941 ### Checks for libraries
942 EFL_PLATFORM_DEPEND([EINA], [all])
944 EFL_ADD_LIBS([EINA], [-lm])
949 AC_ARG_ENABLE([valgrind],
950 [AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
952 if test "x${enableval}" = "xyes" ; then
959 if test "${want_valgrind}" = "auto"; then
960 PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
962 AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
965 if test "${want_valgrind}" = "no"; then
966 AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
968 PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
969 AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
972 AC_DEFINE_IF([EINA_DEBUG_MALLOC],
973 [test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
974 [1], [Turn on debugging overhead in mempool])
976 AC_DEFINE_IF([EINA_COW_MAGIC_ON],
977 [test "x${want_cow_magic}" = "xyes" ],
978 [1], [Turn on Eina_Magic in Eina_Cow])
980 EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd])
982 EFL_EVAL_PKGS([EINA])
988 PKG_CHECK_MODULES([GLIB],
993 if test "x${have_glib}" = "xyes" ; then
994 GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
997 ### Checks for header files
999 # sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
1000 CFLAGS_save="${CFLAGS}"
1001 CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
1002 AC_CHECK_HEADERS([sys/mman.h])
1003 CFLAGS="${CFLAGS_save}"
1005 AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
1007 ### Checks for types
1009 EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
1010 AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
1011 [1], [Define to 1 if you have a valid <dirent.h> header file.])
1013 ### Checks for structures
1015 ### Checks for compiler characteristics
1016 EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
1018 EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
1019 EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
1020 EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
1022 ### Checks for linker characteristics
1024 ### Checks for library functions
1026 AC_CHECK_FUNCS([fchmod])
1028 EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize prctl])
1031 if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
1035 AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
1036 AC_MSG_RESULT([${enable_log}])
1038 EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
1041 if test "x${efl_have_threads}" = "xno"; then
1042 CFOPT_WARNING="xyes"
1049 static __thread int a = 0;
1051 [have_thread_specifier="yes"],
1052 [have_thread_specifier="no"])
1053 AC_MSG_CHECKING([for __thread specifier])
1054 AC_MSG_RESULT([${have_thread_specifier}])
1055 if test "x${have_thread_specifier}" = "xyes" ; then
1056 AC_DEFINE([HAVE_THREAD_SPECIFIER], [1], [Have the __thread specifier])
1059 EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
1060 EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
1062 EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
1063 EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
1064 EINA_CONFIG([HAVE_PTHREAD_SETNAME], [test "x${efl_have_setname}" = "xyes"])
1065 EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
1066 EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
1067 EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
1068 EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
1072 EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
1073 EINA_CHECK_MODULE([pass-through], [static], [pass through])
1074 EINA_CHECK_MODULE([one-big], [static], [one big])
1076 EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
1082 EFL_LIB_START([Eina_Cxx])
1084 EFL_CXX_COMPILE_STDCXX_11([ext])
1085 AC_ARG_ENABLE([cxx-bindings],
1086 [AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
1087 [want_cxx11="${enableval}"], [want_cxx11="yes"])
1089 if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
1095 AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"])
1097 EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
1098 EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
1099 EFL_EVAL_PKGS([EINA_CXX])
1101 EFL_LIB_END([Eina_Cxx])
1102 #### End of Eina CXX
1105 [AS_HELP_STRING([--with-js=@<:@nodejs/libv8/libuv/none@:>@],[enable JavaScript bindings using nodejs or libv8/libuv as build dependencies. The libuv option implies libv8. @<:@default=none@:>@])],
1106 [want_js="${withval}"], [want_js="none"])
1112 AC_CHECK_HEADERS([node/v8.h nodejs/deps/v8/v8.h nodejs/deps/v8/include/v8.h nodejs/src/v8.h v8.h],
1115 v8_header_define=AS_TR_CPP([HAVE_]AC_header)
1116 EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$v8_header_define"
1119 [AC_MSG_ERROR([Could not find v8 include headers from nodejs.])])
1120 AC_CHECK_HEADERS([node/node.h nodejs/deps/node/node.h nodejs/deps/node/include/node.h nodejs/src/node.h node.h],
1122 node_header_define=AS_TR_CPP([HAVE_]AC_header)
1123 EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$node_header_define"
1126 [AC_MSG_ERROR([Could not find node include headers from nodejs.])])
1127 AC_CHECK_HEADERS([node/uv.h nodejs/deps/uv/uv.h nodejs/deps/uv/include/uv.h nodejs/src/uv.h uv.h],
1129 uv_header_define=AS_TR_CPP([HAVE_]AC_header)
1130 EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$uv_header_define"
1133 [AC_MSG_ERROR([Could not find uv include headers from nodejs.])])
1136 AC_CHECK_HEADERS([v8.h],
1141 [AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
1144 AC_CHECK_HEADERS([v8.h],
1149 [AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
1150 AC_CHECK_HEADERS([uv.h],
1152 [AC_MSG_ERROR([Could not find uv include headers from libuv.])])
1156 *) AC_MSG_ERROR([Invalid javascript dependency (${want_js}): must be none, nodejs, libv8 or libuv]) ;;
1160 have_v8_create_params="no"
1161 if test "$want_js" != "none" ; then
1165 #include "$v8_header"
1168 v8::Isolate::CreateParams create_params; create_params.array_buffer_allocator = nullptr;
1172 AC_DEFINE(HAVE_V8_CREATE_PARAMS, 1, [Define to 1 if you must pass create_params explicitly.])
1173 have_v8_create_params="yes"
1174 AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... yes])
1177 AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... no])
1182 #include "$v8_header"
1183 #include <type_traits>
1186 static_assert((std::is_same< ::v8::Global<void>, ::v8::UniquePersistent<void>>::value), "");
1190 AC_DEFINE(HAVE_V8_GLOBAL, 1, [Define to 1 if you must pass create_params explicitly.])
1191 have_v8_global="yes"
1192 AC_MSG_NOTICE([checking for v8::Global<T> class... yes])
1195 AC_MSG_NOTICE([checking for v8::Global<T> class... no])
1198 AM_CONDITIONAL([HAVE_V8_CREATE_PARAMS], [test "x${have_v8_create_params}" = "xyes"])
1199 AM_CONDITIONAL([HAVE_V8_GLOBAL], [test "x${have_v8_global}" = "xyes"])
1200 AC_SUBST([HAVE_V8_CREATE_PARAMS])
1201 AC_SUBST([HAVE_V8_GLOBAL])
1204 AM_CONDITIONAL([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"])
1205 AC_DEFINE_IF([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"],
1206 [1], [Using NodeJS])
1208 AC_SUBST([HAVE_NODEJS])
1211 if test "x${want_js}" != "xnone" ; then
1214 AM_CONDITIONAL([HAVE_JS], [test "x${have_js}" = "xyes"])
1215 AC_DEFINE_IF([HAVE_JS], [test "x${have_js}" = "xyes"], [1], [Compiling bindings for JavaScript])
1218 AM_CONDITIONAL([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"])
1219 AC_DEFINE_IF([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"],
1220 [1], [Compiling libuv event loop integration])
1221 AC_SUBST([HAVE_LIBUV])
1223 # For efljspack mime handling
1224 AM_CONDITIONAL([HAVE_XDG_DATA_HOME], [test "x${XDG_DATA_HOME}" != "x"])
1225 AM_COND_IF([HAVE_XDG_DATA_HOME], [AC_SUBST([XDG_DATA_HOME])], [AC_SUBST([XDG_DATA_HOME], "$HOME/.local/share")])
1228 EFL_LIB_START_OPTIONAL([Eina_Js], [test "x${have_js}" = "xyes"])
1229 EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eina])
1230 EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eo])
1231 EFL_ADD_CFLAGS([EINA_JS], [${EFL_PTHREAD_CFLAGS}])
1232 EFL_EVAL_PKGS([EINA_JS])
1234 EFL_LIB_END_OPTIONAL([Eina_Js])
1238 EFL_LIB_START_OPTIONAL([Ecore_Js], [test "x${have_js}" = "xyes"])
1240 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore])
1241 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore_file])
1242 EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [efl])
1243 EFL_ADD_CFLAGS([ECORE_JS], [${EFL_PTHREAD_CFLAGS}])
1244 EFL_EVAL_PKGS([ECORE_JS])
1246 EFL_LIB_END_OPTIONAL([Ecore_Js])
1247 #### End of Ecore JS
1250 EFL_LIB_START_OPTIONAL([Eio_Js], [test "x${have_js}" = "xyes"])
1252 EFL_INTERNAL_DEPEND_PKG([EIO_JS], [eio])
1253 EFL_ADD_CFLAGS([EIO_JS], [${EFL_PTHREAD_CFLAGS}])
1254 EFL_EVAL_PKGS([EIO_JS])
1256 EFL_LIB_END_OPTIONAL([Eio_Js])
1260 EFL_LIB_START_OPTIONAL([Ethumb_Js], [test "x${have_js}" = "xyes"])
1262 EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb])
1263 EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb_client])
1264 EFL_ADD_CFLAGS([ETHUMB_JS], [${EFL_PTHREAD_CFLAGS}])
1265 EFL_EVAL_PKGS([ETHUMB_JS])
1267 EFL_LIB_END_OPTIONAL([Ethumb_Js])
1268 #### End of Ethumb JS
1271 EFL_LIB_START_OPTIONAL([Eldbus_Js], [test "x${have_js}" = "xyes"])
1273 EFL_INTERNAL_DEPEND_PKG([ELDBUS_JS], [eldbus])
1274 EFL_ADD_CFLAGS([ELDBUS_JS], [${EFL_PTHREAD_CFLAGS}])
1275 EFL_EVAL_PKGS([ELDBUS_JS])
1277 EFL_LIB_END_OPTIONAL([Eldbus_Js])
1278 #### End of Eldbus JS
1281 EFL_LIB_START_OPTIONAL([Eo_Js], [test "x${have_js}" = "xyes"])
1283 EFL_INTERNAL_DEPEND_PKG([EO_JS], [eina])
1284 EFL_ADD_CFLAGS([EO_JS], [${EFL_PTHREAD_CFLAGS}])
1285 EFL_EVAL_PKGS([EO_JS])
1287 EFL_LIB_END_OPTIONAL([Eo_Js])
1296 ### Additional options to configure
1298 ### Checks for programs
1300 ## Compatibility layers
1301 EFL_PLATFORM_DEPEND([EO], [evil])
1303 ### Checks for libraries
1304 EFL_INTERNAL_DEPEND_PKG([EO], [eina])
1306 # Example (evas one)
1308 # TODO: add once elementary is merged
1309 #PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
1310 AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
1312 ### Checks for header files
1314 ### Checks for types
1316 ### Checks for structures
1318 ### Checks for compiler characteristics
1320 ### Checks for linker characteristics
1322 ### Checks for library functions
1323 EFL_CHECK_FUNCS([EO], [dladdr])
1325 ### Check availability
1331 EFL_LIB_START([Eet_Cxx])
1333 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
1334 EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
1336 EFL_EVAL_PKGS([EET_CXX])
1338 EFL_LIB_END([Eet_Cxx])
1343 EFL_LIB_START([Emile])
1347 ### Additional options to configure
1349 ### Checks for programs
1351 ### Checks for libraries
1353 EFL_CHECK_LIBS([EMILE], [libjpeg])
1355 ## Compatibility layers
1356 EFL_PLATFORM_DEPEND([EMILE], [evil])
1358 EFL_ADD_LIBS([EMILE], [-lm])
1360 # Cryptography support
1361 if test "$build_crypto" != "none" ; then
1362 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
1363 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
1364 EFL_CRYPTO_DEPEND([EMILE])
1367 EFL_CHECK_LIBS([EMILE], [zlib])
1369 EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
1370 requirements_cflags_emile="${requirements_cflags_emile} -I\${top_srcdir}/src/lib/efl -I\${top_builddir}/src/lib/efl"
1371 requirements_pc_emile="efl >= ${PACKAGE_VERSION} ${requirements_pc_emile}"
1373 EFL_EVAL_PKGS([EMILE])
1375 ### Checks for header files
1377 ### Checks for types
1379 ### Checks for structures
1381 ### Checks for compiler characteristics
1383 ### Checks for linker characteristics
1385 ### Checks for library functions
1387 ### Check availability
1389 EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
1391 EFL_LIB_END([Emile])
1397 EFL_LIB_START([Eet])
1401 ### Additional options to configure
1403 ### Checks for programs
1405 ### Checks for libraries
1407 EFL_CHECK_LIBS([EET], [libjpeg])
1409 ## Compatibility layers
1410 EFL_PLATFORM_DEPEND([EET], [evil])
1412 EFL_ADD_LIBS([EET], [-lm])
1414 # Cryptography support
1415 if test "$build_crypto" != "none" ; then
1416 AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
1417 AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
1418 EFL_CRYPTO_DEPEND([EET])
1421 EFL_INTERNAL_DEPEND_PKG([EET], [eina])
1422 EFL_INTERNAL_DEPEND_PKG([EET], [emile])
1423 requirements_pc_eet="${requirements_pc_eet} ${requirements_pc_emile}"
1424 requirements_cflags_eet="${requirements_cflags_eet} ${requirements_cflags_emile}"
1426 EFL_EVAL_PKGS([EET])
1428 ### Checks for header files
1430 ### Checks for types
1432 ### Checks for structures
1434 ### Checks for compiler characteristics
1436 ### Checks for linker characteristics
1438 ### Checks for library functions
1440 ### Check availability
1446 EFL_LIB_START([Eo_Cxx])
1448 EFL_EVAL_PKGS([EO_CXX])
1450 EFL_LIB_END([Eo_Cxx])
1455 EFL_LIB_START([Eolian])
1459 ### Additional options to configure
1460 EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
1462 ### Checks for programs
1464 ## Compatibility layers
1465 EFL_PLATFORM_DEPEND([EOLIAN], [evil])
1467 ### Checks for libraries
1468 EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
1470 ### Checks for header files
1472 ### Checks for types
1474 ### Checks for structures
1476 ### Checks for compiler characteristics
1478 ### Checks for linker characteristics
1480 ### Checks for library functions
1482 ### Check availability
1484 EFL_LIB_END([Eolian])
1487 EFL_LIB_START_OPTIONAL([Eolian_Js], [test "${have_js}" = "yes"])
1489 EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eina])
1490 EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eolian])
1492 EFL_LIB_END_OPTIONAL([Eolian_Js])
1496 EFL_LIB_START([Eolian_Cxx])
1499 ### Additional options to configure
1501 ### Checks for programs
1503 ## Compatibility layers
1505 ### Checks for libraries
1506 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
1507 EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
1509 ### Checks for header files
1511 ### Checks for types
1513 ### Checks for structures
1515 ### Checks for compiler characteristics
1517 ### Checks for linker characteristics
1519 ### Checks for library functions
1521 ### Check availability
1522 EFL_LIB_END([Eolian_Cxx])
1526 EFL_LIB_START([Efl])
1528 EFL_PLATFORM_DEPEND([EFL], [evil])
1529 EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
1530 EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
1532 EFL_ADD_LIBS([EFL], [-lm])
1539 EFL_LIB_START([Ector])
1544 ### Additional options to configure
1546 ### Checks for programs
1548 ### Checks for libraries
1550 ## Compatibility layers
1552 EFL_PLATFORM_DEPEND([ECTOR], [evil])
1554 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
1555 EFL_INTERNAL_DEPEND_PKG([ECTOR], [emile])
1556 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eet])
1557 EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
1558 EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
1560 EFL_ADD_LIBS([ECTOR], [-lm])
1562 EFL_EVAL_PKGS([ECTOR])
1564 ### Checks for header files
1566 ### Checks for types
1568 ### Checks for structures
1570 ### Checks for compiler characteristics
1572 ### Checks for linker characteristics
1574 ### Checks for library functions
1576 ### Check availability
1578 EFL_LIB_END([ECTOR])
1585 EFL_LIB_START([Ecore])
1587 ### Additional options to configure
1592 [AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
1594 if test "x${withval}" = "xyes" ; then
1597 if test "x${withval}" = "xalways" ; then
1606 AC_ARG_ENABLE([g-main-loop],
1607 [AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
1609 if test "x${enableval}" = "xyes" ; then
1610 want_g_main_loop="yes"
1611 CFOPT_WARNING="xyes"
1613 want_g_main_loop="no"
1616 [want_g_main_loop="no"])
1617 AC_ARG_ENABLE([libuv],
1618 [AS_HELP_STRING([--enable-libuv],[enable ecore_main_loop based on libuv. @<:@default=disabled@:>@])],
1620 if test "x${enableval}" = "xyes" ; then
1622 CFOPT_WARNING="xyes"
1629 AC_ARG_ENABLE([gstreamer],
1630 [AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
1632 if test "x${enableval}" = "xyes" ; then
1633 want_gstreamer="yes"
1634 CFOPT_WARNING="xyes"
1639 [want_gstreamer="no"])
1641 AC_ARG_ENABLE([gstreamer1],
1642 [AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
1644 if test "x${enableval}" = "xyes" ; then
1645 want_gstreamer1="yes"
1647 want_gstreamer1="no"
1648 CFOPT_WARNING="xyes"
1651 [want_gstreamer1="yes"])
1653 AC_ARG_ENABLE([tizen],
1654 [AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
1656 if test "x${enableval}" = "xyes" ; then
1664 if test "${want_tizen}" = "yes"; then
1665 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
1667 [have_tizen_vconf="yes"],
1668 [have_tizen_vconf="no"])
1669 PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
1672 AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
1673 if test "${have_tizen_vconf}" = "yes"; then
1674 AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
1677 AC_ARG_ENABLE([ecore_wayland],
1678 [AS_HELP_STRING([--enable-ecore-wayland],[enable legacy Ecore_Wayland support. @<:@default=disabled@:>@])],
1680 if test "x${enableval}" = "xyes" ; then
1681 want_ecore_wayland="yes"
1683 want_ecore_wayland="no"
1686 [want_ecore_wayland="no"])
1688 AC_ARG_ENABLE([ecore_drm],
1689 [AS_HELP_STRING([--enable-ecore-drm],[enable legacy Ecore_Drm support. @<:@default=disabled@:>@])],
1691 if test "x${enableval}" = "xyes" ; then
1692 want_ecore_drm="yes"
1697 [want_ecore_drm="no"])
1701 if test "${have_windows}" = "yes"; then
1706 if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
1710 want_ecore_timer_dump="no"
1711 if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
1712 want_ecore_timer_dump="yes"
1713 AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
1716 ### Checks for programs
1718 ### Checks for libraries
1719 EFL_PLATFORM_DEPEND([ECORE], [all])
1720 EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
1721 EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
1722 EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
1724 EFL_ADD_LIBS([ECORE], [-lm])
1728 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
1729 if test "x${have_glib}" = "xno"; then
1730 want_g_main_loop="no"
1733 EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd])
1735 EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
1736 EFL_ADD_FEATURE([ECORE], [glib])
1737 EFL_ADD_FEATURE([ECORE], [g-main-loop])
1738 EFL_ADD_FEATURE([ECORE], [libuv])
1740 want_glib_integration_always=no
1741 if test "x${with_glib}" = "xalways" ; then
1742 want_glib_integration_always="yes"
1743 AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
1746 if test "x${want_g_main_loop}" = "xyes" ; then
1747 AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
1748 if test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv" ; then
1749 AC_MSG_ERROR([Can't define glib and libuv integration together])
1753 # not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
1754 if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
1755 AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
1758 if test "${want_gstreamer1}" = "yes"; then
1759 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
1761 if test "${want_gstreamer}" = "yes"; then
1762 PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
1765 AM_CONDITIONAL([HAVE_GSTREAMER], [test "x${want_gstreamer}" = "xyes" -o "x${want_gstreamer1}" = "xyes"])
1766 AM_CONDITIONAL([HAVE_GSTREAMER0], [test "x${want_gstreamer}" = "xyes"])
1767 AM_CONDITIONAL([HAVE_GSTREAMER1], [test "x${want_gstreamer1}" = "xyes"])
1769 EFL_EVAL_PKGS([ECORE])
1771 ### Checks for header files
1775 AC_CHECK_HEADERS([sys/socket.h])
1777 AC_CHECK_HEADERS([ \
1792 #ifdef HAVE_SYS_SOCKET_H
1793 # include <sys/socket.h>
1797 AC_CHECK_HEADERS([net/if.h], [], [],
1800 # include <stdlib.h>
1801 # include <stddef.h>
1804 # include <stdlib.h>
1807 #if HAVE_SYS_SOCKET_H
1808 # include <sys/socket.h>
1812 ### Checks for types
1814 ### Checks for structures
1816 ### Checks for compiler characteristics
1818 ### Checks for linker characteristics
1820 ### Checks for library functions
1832 int i = isfinite(0);
1835 AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have 'isfinite', as a function or macro.])
1838 [have_isfinite="no"])
1840 AC_MSG_CHECKING([for isfinite])
1841 AC_MSG_RESULT([${have_isfinite}])
1843 # mallinfo, timerfd_create, clock_gettime
1845 AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
1847 if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
1848 AC_CHECK_LIB([rt], [clock_gettime],
1850 EFL_ADD_LIBS([ECORE], [-lrt])
1851 AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
1855 EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
1857 # coroutine function specific
1862 #include <ucontext.h>
1868 [have_ucontext="yes"],
1869 [have_ucontext="no"])
1871 AC_MSG_CHECKING([for ucontext])
1872 AC_MSG_RESULT([${have_ucontext}])
1883 [have_setjmp="yes"],
1886 AC_MSG_CHECKING([for setjmp])
1887 AC_MSG_RESULT([${have_setjmp}])
1889 if test "X${have_windows}" = "xyes"; then
1890 AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
1891 EFL_ADD_FEATURE([system], [coroutine], [fiber])
1892 elif test "x${have_ucontext}" = "xyes"; then
1893 AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
1894 EFL_ADD_FEATURE([system], [coroutine], [ucontext])
1895 elif test "x${have_setjmp}" = "xyes"; then
1896 AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
1897 EFL_ADD_FEATURE([system], [coroutine], [setjmp])
1899 AC_MSG_ERROR([You do not have a working way to implement coroutine. Exiting...])
1902 ### Check availability
1904 EFL_LIB_END([Ecore])
1909 EFL_LIB_START([Evas])
1911 ### Additional options to configure
1915 [AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])])
1917 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes" || test "x${have_darwin}" = "xyes"; then
1919 elif test "x${with_x11}" = "x"; then
1927 case "${with_x11}" in
1935 CFOPT_WARNING="xyes"
1941 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1946 AC_ARG_WITH([opengl],
1947 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1949 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1951 elif test "x${with_opengl}" = "x"; then
1955 case "${with_opengl}" in
1959 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1963 want_x11_xlib_opengl="no"
1964 want_x11_xcb_opengl="no"
1965 if test "${with_opengl}" != "none"; then
1966 want_x11_xlib_opengl="${want_x11_xlib}"
1967 want_x11_xcb_opengl="${want_x11_xcb}"
1968 want_x11_any_opengl="${want_x11_any}"
1972 AC_ARG_ENABLE([wayland],
1973 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1975 if test "x${enableval}" = "xyes" ; then
1981 [want_wayland="no"])
1983 if test "${want_wayland}" = "yes"; then
1984 EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0])
1988 AC_ARG_ENABLE([wayland-ivi-shell],
1989 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1991 if test "x${enableval}" = "xyes" ; then
1992 want_wayland_ivi_shell="yes"
1994 want_wayland_ivi_shell="no"
1997 [want_wayland_ivi_shell="no"])
2001 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
2003 if test "x${enableval}" = "xyes" ; then
2012 AC_ARG_ENABLE([eglfs],
2013 [AS_HELP_STRING([--enable-eglfs],[enable hardware accelerated framebuffer access. @<:@default=disabled@:>@])],
2015 if test "x${enableval}" = "xyes" ; then
2025 AC_ARG_ENABLE([sdl],
2026 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
2028 if test "x${enableval}" = "xyes" ; then
2036 if test "${want_sdl}" = "yes"; then
2037 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
2040 # We only enable SDL with opengl if it is the full version and not ES
2041 # This can be changed if we ported our SDL code over to SDL 2.0. For older
2042 # versions the SDL_opengles.h has never been released.
2044 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
2045 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
2047 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
2052 AC_ARG_ENABLE([cocoa],
2053 [AS_HELP_STRING([--enable-cocoa],[enable Cocoa backend on Mac OS X. @<:@default=enabled@:>@])],
2055 if test "x${enableval}" = "xyes" ; then
2063 if test "${want_cocoa}" = "yes"; then
2064 #test cocoa requirements (objc and Cocoa/Cocoa.h)
2067 m4_ifdef([AC_PROG_OBJC],
2069 AC_LANG_PUSH([Objective C])
2071 LIBS="$LIBS -framework Cocoa"
2075 #include <Cocoa/Cocoa.h>
2079 window = [[NSWindow alloc]
2080 initWithContentRect:NSMakeRect(0, 0, 1, 1)
2081 styleMask:(NSTitledWindowMask)
2082 backing:NSBackingStoreBuffered
2089 cocoa_ldflags="-framework Cocoa"
2093 AC_MSG_CHECKING([whether Cocoa framework is supported])
2094 AC_MSG_RESULT([${have_cocoa}])
2095 AC_LANG_POP([Objective C])
2098 AC_SUBST(cocoa_ldflags)
2100 if test "x${have_cocoa}" = "xyes"; then
2101 #test cocoa requirements (objc and Cocoa/Cocoa.h)
2102 cocoa_coreservices_ldflags=""
2103 have_cocoa_coreservices="no"
2104 m4_ifdef([AC_PROG_OBJC],
2106 AC_LANG_PUSH([Objective C])
2108 LIBS="$LIBS -framework CoreServices"
2112 #include <CoreServices/CoreServices.h>
2115 //test function here
2118 have_cocoa_coreservices="yes"
2119 cocoa_coreservices_ldflags="-framework CoreServices"
2121 [have_cocoa_coreservices="no"])
2123 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
2124 AC_MSG_RESULT([${have_cocoa_coreservices}])
2125 AC_LANG_POP([Objective C])
2128 AC_SUBST(cocoa_coreservices_ldflags)
2130 AC_ARG_ENABLE([elput],
2131 [AS_HELP_STRING([--enable-elput],[enable elput library. @<:@default=disabled@:>@])],
2133 if test "x${enableval}" = "xyes" ; then
2140 if test "x${want_wayland}" = "xyes" ; then
2148 AC_ARG_ENABLE([drm],
2149 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
2151 if test "x${enableval}" = "xyes" ; then
2152 if test "x${want_elput}" != "xyes" ; then
2153 AC_MSG_ERROR([elput is required to build drm support])
2162 AC_ARG_ENABLE([gl-drm],
2163 [AC_HELP_STRING([--enable-gl-drm],
2164 [enable gl drm engine. @<:@default=disabled@:>@])],
2166 if test "x${enableval}" = "xyes" ; then
2174 AC_ARG_ENABLE([fontconfig],
2175 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
2177 if test "x${enableval}" = "xyes" ; then
2178 want_fontconfig="yes"
2180 want_fontconfig="no"
2181 CFOPT_WARNING="xyes"
2184 [want_fontconfig="yes"])
2187 AC_ARG_ENABLE([fribidi],
2188 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
2190 if test "x${enableval}" = "xyes" ; then
2194 CFOPT_WARNING="xyes"
2197 [want_fribidi="yes"])
2200 AC_ARG_ENABLE([eo_id],
2201 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
2203 if test "x${enableval}" = "xyes" ; then
2207 CFOPT_WARNING="xyes"
2213 AC_ARG_ENABLE([harfbuzz],
2214 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
2216 if test "x${enableval}" = "xyes" ; then
2222 [want_harfbuzz="no"])
2225 AC_ARG_ENABLE([hyphen],
2226 [AS_HELP_STRING([--enable-hyphen],[enable text hyphenation support. @<:@default=disabled@:>@])],
2228 if test "x${enableval}" = "xyes" ; then
2237 AC_ARG_ENABLE([egl],
2238 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
2240 if test "x${enableval}" = "xyes" ; then
2248 # Verify OpenGL + EGL modes match (full+glx or es+egl)
2249 if test "x${want_egl}" = "xyes" && test "x${with_opengl}" != "xes" ; then
2250 AC_MSG_ERROR([Full OpenGL with EGL is not supported, please add --with-opengl=es to your configure options to switch to EGL + OpenGL ES.])
2252 if test "x${want_egl}" = "xno" && test "x${with_opengl}" = "xes" ; then
2253 AC_MSG_ERROR([OpenGL ES requires EGL, please add --enable-egl to your configure options to switch to EGL + OpenGL ES.])
2257 AC_ARG_ENABLE([pixman],
2258 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
2260 if test "x${enableval}" = "xyes" ; then
2262 CFOPT_WARNING="xyes"
2269 AC_ARG_ENABLE([pixman-font],
2270 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
2272 if test "x${enableval}" = "xyes" ; then
2273 have_pixman_font="yes"
2275 have_pixman_font="no"
2278 [have_pixman_font="no"])
2280 AC_ARG_ENABLE([pixman-rect],
2281 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
2283 if test "x${enableval}" = "xyes" ; then
2284 have_pixman_rect="yes"
2286 have_pixman_rect="no"
2289 [have_pixman_rect="no"])
2291 AC_ARG_ENABLE([pixman-line],
2292 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
2294 if test "x${enableval}" = "xyes" ; then
2295 have_pixman_line="yes"
2297 have_pixman_line="no"
2300 [have_pixman_line="no"])
2302 AC_ARG_ENABLE(pixman-poly,
2303 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
2305 if test "x${enableval}" = "xyes" ; then
2306 have_pixman_poly="yes"
2308 have_pixman_poly="no"
2311 [have_pixman_poly="no"])
2313 AC_ARG_ENABLE([pixman-image],
2314 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
2316 if test "x${enableval}" = "xyes" ; then
2317 have_pixman_image="yes"
2319 have_pixman_image="no"
2322 [have_pixman_image="no"])
2324 AC_ARG_ENABLE([pixman-image-scale-sample],
2325 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
2327 if test "x${enableval}" = "xyes" ; then
2328 have_pixman_image_scale_sample="yes"
2330 have_pixman_image_scale_sample="no"
2333 [have_pixman_image_scale_sample="no"])
2336 AC_ARG_ENABLE([tile-rotate],
2337 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
2339 if test "x${enableval}" = "xyes" ; then
2340 have_tile_rotate="yes"
2341 CFOPT_WARNING="xyes"
2343 have_tile_rotate="no"
2346 [have_tile_rotate="no"])
2349 AC_ARG_ENABLE([ecore-buffer],
2350 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
2352 if test "x${enableval}" = "xyes" ; then
2353 want_ecore_buffer="yes"
2355 want_ecore_buffer="no"
2358 [want_ecore_buffer="no"])
2363 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
2382 want_generic="static"
2391 ARG_ENABLE_EVAS_VG_LOADER(SVG, static)
2392 ARG_ENABLE_EVAS_VG_LOADER(EET, static)
2395 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
2396 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
2397 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, [${want_generic}])
2398 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
2399 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
2400 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
2401 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
2402 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
2403 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
2404 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
2405 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
2406 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
2407 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
2408 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
2409 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
2410 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
2411 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
2415 want_evas_engine_software_gdi="${have_win32}"
2416 want_evas_engine_software_ddraw="${have_win32}"
2417 want_evas_engine_gl_cocoa="${have_cocoa}"
2418 want_evas_engine_wayland_egl="no"
2419 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
2420 want_evas_engine_wayland_egl="yes"
2423 if test "${want_lua_old}" = "yes"; then
2424 EFL_CHECK_LUA_OLD([EVAS])
2426 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
2429 EFL_ADD_FEATURE([EVAS], [lua-old])
2431 EFL_CHECK_FUNC([EVAS], [dlsym])
2433 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
2434 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
2437 ### Checks for programs
2439 ### Checks for libraries
2441 ## Compatibility layers
2442 EFL_PLATFORM_DEPEND([EVAS], [all])
2443 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
2444 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
2445 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
2446 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
2447 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
2448 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
2449 EFL_INTERNAL_DEPEND_PKG([EVAS], [ecore])
2451 EFL_ADD_LIBS([EVAS], [-lm])
2454 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
2456 ## optional dependencies
2459 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
2460 [FONTCONFIG], [fontconfig >= 2.5.0])
2463 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
2464 [FRIBIDI], [fribidi >= 0.19.2])
2467 have_harfbuzz_ft="no"
2468 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
2469 [HARFBUZZ], [harfbuzz >= 0.9.0])
2472 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
2474 if test "x${have_pixman}" = "xyes" ; then
2475 if test "x${have_pixman_font}" = "xyes" ; then
2476 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
2478 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
2480 if test "x${have_pixman_rect}" = "xyes" ; then
2481 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
2483 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
2485 if test "x${have_pixman_line}" = "xyes" ; then
2486 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
2488 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
2490 if test "x${have_pixman_poly}" = "xyes" ; then
2491 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
2493 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
2495 if test "x${have_pixman_image}" = "xyes" ; then
2496 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
2498 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
2500 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
2501 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
2503 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
2508 define([EVAS_ENGINE_DEP_CHECK_FB], [
2509 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
2512 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
2513 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
2516 EVAS_ENGINE([buffer], [static])
2517 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
2518 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
2521 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
2522 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
2523 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
2524 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
2525 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
2526 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
2527 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
2528 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
2529 EVAS_CHECK_ENGINE([eglfs], [${want_eglfs}], [no], [OpenGL Fb])
2534 have_evas_engine_software_xcb="no"
2535 if test "${with_x11}" = "xcb" ; then
2536 EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
2538 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false])
2539 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false])
2542 AC_MSG_CHECKING([whether to build Software XCB Engine])
2543 AC_MSG_RESULT([${have_evas_engine_software_xcb}])
2545 # No Software XCB ? Then try Software Xlib
2547 have_evas_engine_software_xlib="no"
2548 if test "x${want_x11_xcb}" = "xno" ; then
2549 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
2551 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
2552 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
2555 AC_MSG_CHECKING([whether to build Software Xlib Engine])
2556 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
2558 # If software_x11 is available, define everything needed for X11
2560 have_evas_engine_software_x11="no"
2561 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
2562 have_evas_engine_software_x11="yes"
2563 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
2565 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
2567 if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then
2568 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
2570 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"])
2572 # Needed for evas-software-x11.pc
2574 AC_SUBST([have_evas_engine_software_xlib])
2575 AC_SUBST([have_evas_engine_software_xcb])
2578 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
2579 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
2583 if test "${with_opengl}" = "es" ; then
2584 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
2589 have_evas_engine_gl_xcb="no"
2590 if test "${want_x11_xcb_opengl}" = "yes"; then
2591 EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
2593 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false])
2594 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false])
2597 AC_MSG_CHECKING([whether to build OpenGL XCB Engine])
2598 AC_MSG_RESULT([${have_evas_engine_gl_xcb}])
2600 # No openGL XCB ? Then try OpenGL Xlib
2602 have_evas_engine_gl_xlib="no"
2603 if test "x${have_evas_engine_gl_xcb}" = "xno" ; then
2604 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
2606 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false])
2607 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false])
2610 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
2611 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
2613 # If opengl_x11 is available, define everything needed for X11
2615 have_evas_engine_gl_x11="no"
2616 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
2617 have_evas_engine_gl_x11="yes"
2618 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
2620 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
2622 if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then
2623 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
2625 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"])
2627 # Needed for evas-opengl-x11.pc
2629 AC_SUBST([have_evas_engine_gl_xlib])
2630 AC_SUBST([have_evas_engine_gl_xcb])
2634 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
2635 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
2636 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
2637 [#include <SDL2/SDL_video.h>])
2640 if test "${with_opengl}" = "es"; then
2641 AC_CHECK_DECL([SDL_OPENGLES],
2642 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
2643 [#include <SDL2/SDL_video.h>])
2647 evas_engine_gl_common_cflags=""
2648 if test "x${have_egl}" = "xyes"; then
2649 evas_engine_gl_common_libs="-lEGL"
2651 evas_engine_gl_common_libs="-lGL"
2654 # The lines below fix compiling/linking of gl_generic on OSX
2655 if test "x${have_darwin}" = "xyes"; then
2656 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
2657 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
2658 # CFLAGS and LIBS are determined by evas-gl_cocoa.
2659 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
2660 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
2662 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
2663 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
2664 # cannot compile (nor link).
2665 evas_engine_gl_common_libs=""
2666 evas_engine_gl_common_cflags=""
2668 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
2669 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
2670 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
2672 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2676 AC_SUBST([evas_engine_gl_common_cflags])
2677 AC_SUBST([evas_engine_gl_common_libs])
2679 have_evas_engine_gl_common="no"
2680 have_static_evas_engine_gl_common="no"
2681 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2682 test "x$have_evas_engine_gl_xcb" = "xyes" || \
2683 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2684 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2685 test "x$have_evas_engine_gl_drm" = "xyes" || \
2686 test "x$have_evas_engine_eglfs" = "xyes" || \
2687 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2688 have_evas_engine_gl_common="yes"
2690 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2691 test "x$have_evas_engine_gl_xcb" = "xstatic" || \
2692 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2693 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2694 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2695 test "x$have_evas_engine_eglfs" = "xstatic" || \
2696 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2697 have_evas_engine_gl_common="yes"
2698 have_static_evas_engine_gl_common="yes"
2701 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2702 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2705 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2707 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2708 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2711 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2713 have_evas_engine_wayland_common="no"
2714 if test "x$have_evas_engine_wayland_egl" = "xstatic" || \
2715 test "x$have_evas_engine_wayland_shm" = "xstatic" || \
2716 test "x$have_evas_engine_wayland_egl" = "xyes" || \
2717 test "x$have_evas_engine_wayland_shm" = "xyes"; then
2718 have_evas_engine_wayland_common="yes"
2721 if test "x$have_evas_engine_wayland_common" = "xyes"; then
2722 AC_DEFINE([BUILD_ENGINE_WAYLAND_COMMON], [1], [Building any wayland evas engine])
2724 AM_CONDITIONAL([BUILD_ENGINE_WAYLAND_COMMON], [test "x${have_evas_engine_wayland_common}" = "xyes"])
2728 EVAS_CHECK_VG_LOADER([SVG], [${want_evas_vg_loader_svg}])
2729 EVAS_CHECK_VG_LOADER([EET], [${want_evas_vg_loader_eet}])
2733 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2734 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2735 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2736 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2737 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2738 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2739 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2740 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2741 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2742 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2743 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2744 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2745 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2746 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2747 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2748 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2749 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2751 EFL_EVAL_PKGS([EVAS])
2753 ### Checks for header files
2755 if test "x$want_hyphen" = "xyes" ; then
2757 EFL_CHECK_LIB_CODE([EVAS], [-lhyphen], [have_fct], [[
2767 if test "${have_fct}" = "no"; then
2768 AC_MSG_ERROR([Cannot find the hyphen library.])
2770 AC_DEFINE([HAVE_HYPHEN], [1], [have hunspell hyphen support])
2774 if test "x$have_harfbuzz" = "xyes" ; then
2776 CPPFLAGS_SAVE="$CPPFLAGS"
2777 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2778 # must have for usage with harfbuzz although harfbuzz may not have it.
2780 AC_CHECK_HEADER([hb-ft.h],
2782 have_harfbuzz_ft="yes"
2783 #Depend on harfbuzz ft for harfbuzz support
2784 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2786 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2788 CPPFLAGS="$CPPFLAGS_SAVE"
2791 ### Checks for types
2793 CPPFLAGS_SAVE="$CPPFLAGS"
2794 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2795 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2796 CPPFLAGS="$CPPFLAGS_SAVE"
2799 if test "x$have_fribidi" = "xyes" ; then
2800 CPPFLAGS_SAVE="$CPPFLAGS"
2801 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2802 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2803 CPPFLAGS="$CPPFLAGS_SAVE"
2806 ### Checks for structures
2808 AC_CHECK_TYPES([struct sigaction], [], [],
2809 [[#include <signal.h>]])
2811 ### Checks for compiler characteristics
2813 ### Checks for linker characteristics
2815 ### Checks for library functions
2817 AC_CHECK_FUNCS([siglongjmp])
2819 AC_CHECK_LIB([m], [lround],
2820 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2821 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2827 AC_ARG_ENABLE([cserve],
2828 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2830 if test "x${enableval}" = "xyes" ; then
2831 want_evas_cserve2="yes"
2833 want_evas_cserve2="no"
2834 CFOPT_WARNING="xyes"
2837 [want_evas_cserve2="yes"])
2839 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2840 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2843 # cserve2 only works on Linux so far.
2845 if test "x${efl_func_shm_open}" = "xno" ; then
2846 want_evas_cserve2="no"
2849 if test "x${want_evas_cserve2}" = "xyes"; then
2850 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
2851 want_evas_cserve2="no"
2853 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2854 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2858 AC_DEFINE_IF([EVAS_CSERVE2],
2859 [test "x${want_evas_cserve2}" = "xyes"],
2860 [1], [Shared cache server.])
2861 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2867 if test "x${have_tile_rotate}" = "xyes" ; then
2868 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2874 AC_ARG_WITH([evas-dither-mask],
2875 [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.
2876 @<:@default=big@:>@])],
2877 [build_evas_dither_mask=${withval}],
2878 [build_evas_dither_mask=big])
2880 case "${build_evas_dither_mask}" in
2882 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2885 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2888 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2891 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2894 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2897 EFL_ADD_FEATURE([EVAS], [fontconfig])
2898 EFL_ADD_FEATURE([EVAS], [fribidi])
2899 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2900 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2901 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2902 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2903 EFL_ADD_FEATURE([EVAS], [hyphen])
2905 #### Generic backend
2907 ### Options to turn off generic loaders for evas
2908 AC_ARG_ENABLE([poppler],
2909 [AS_HELP_STRING([--disable-poppler],[disable pdf support. @<:@default=enabled@:>@])],
2911 if test "x${enableval}" = "xyes" ; then
2918 AC_ARG_ENABLE([spectre],
2919 [AS_HELP_STRING([--disable-spectre],[disable postscript support. @<:@default=enabled@:>@])],
2921 if test "x${enableval}" = "xyes" ; then
2928 AC_ARG_ENABLE([libraw],
2929 [AS_HELP_STRING([--disable-libraw],[disable libraw support. @<:@default=enabled@:>@])],
2931 if test "x${enableval}" = "xyes" ; then
2938 AC_ARG_ENABLE([librsvg],
2939 [AS_HELP_STRING([--disable-librsvg],[disable svg support. @<:@default=enabled@:>@])],
2941 if test "x${enableval}" = "xyes" ; then
2948 AC_ARG_ENABLE([xcf],
2949 [AS_HELP_STRING([--disable-xcf],[disable xcf support. @<:@default=enabled@:>@])],
2951 if test "x${enableval}" = "xyes" ; then
2963 ### Check needed dependency for each generic loader
2964 if test "x${want_poppler}" = "xyes"; then
2965 PKG_CHECK_MODULES([POPPLER], [poppler-cpp >= 0.12], [have_poppler="yes"])
2968 if test "x${want_spectre}" = "xyes"; then
2969 PKG_CHECK_MODULES([SPECTRE], [libspectre], [have_spectre="yes"])
2972 if test "x${want_libraw}" = "xyes"; then
2973 PKG_CHECK_MODULES([LIBRAW], [libraw], [have_raw="yes"])
2976 if test "x${want_rsvg}" = "xyes"; then
2977 PKG_CHECK_MODULES([RSVG], [librsvg-2.0 >= 2.14.0 cairo >= 1.0.0], [have_rsvg="yes"])
2979 [SVG_2_36], [librsvg-2.0 >= 2.36.0 cairo >= 1.0.0],
2981 have_rsvg_2_36="yes"
2982 AC_DEFINE(HAVE_SVG_2_36, 1, [Have librsvg >= 2.36])
2984 [have_rsvg_2_36="no"])
2987 AM_CONDITIONAL([HAVE_POPPLER], [test "x${have_poppler}" = "xyes"])
2988 AM_CONDITIONAL([HAVE_SPECTRE], [test "x${have_spectre}" = "xyes"])
2989 AM_CONDITIONAL([HAVE_LIBRAW], [test "x${have_raw}" = "xyes"])
2990 AM_CONDITIONAL([HAVE_RSVG], [test "x${have_rsvg}" = "xyes"])
2991 AM_CONDITIONAL([HAVE_XCF], [test "x${want_xcf}" = "xyes"])
2993 EFL_ADD_FEATURE([EVAS_LOADER], [poppler], [${have_poppler}])
2994 EFL_ADD_FEATURE([EVAS_LOADER], [spectre], [${have_spectre}])
2995 EFL_ADD_FEATURE([EVAS_LOADER], [raw], [${have_raw}])
2996 EFL_ADD_FEATURE([EVAS_LOADER], [rsvg], [${have_rsvg}])
2997 EFL_ADD_FEATURE([EVAS_LOADER], [xcf], [${want_xcf}])
3003 EFL_LIB_START([Evas_Cxx])
3005 EFL_EVAL_PKGS([EVAS_CXX])
3007 EFL_LIB_END([Evas_Cxx])
3008 #### End of Edje CXX
3012 EFL_LIB_START([Embryo])
3016 ### Additional options to configure
3018 ### Checks for programs
3020 ### Checks for libraries
3021 EFL_PLATFORM_DEPEND([EMBRYO], [all])
3022 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
3024 EFL_ADD_LIBS([EMBRYO], [-lm])
3026 ### Checks for header files
3028 ### Checks for types
3030 ### Checks for structures
3032 ### Checks for compiler characteristics
3034 ### Checks for linker characteristics
3036 ### Checks for library functions
3038 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
3039 AC_MSG_ERROR([Cannot find fnmatch()])
3042 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
3043 AC_MSG_ERROR([Cannot find gettimeofday()])
3046 ### Check availability
3048 EFL_LIB_END([Embryo])
3053 EFL_LIB_START([Ecore_Cxx])
3055 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
3056 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
3057 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
3058 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
3059 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Efl])
3061 EFL_EVAL_PKGS([ECORE_CXX])
3063 EFL_LIB_END([Ecore_Cxx])
3064 #### End of Ecore CXX
3068 EFL_LIB_START([Ecore_Con])
3072 want_ecore_con_local_sockets="yes"
3073 want_ecore_con_abstract_sockets="yes"
3075 if test "${have_win32}" = "yes"; then
3076 want_ecore_con_abstract_sockets="no"
3077 elif test "${have_darwin}" = "yes"; then
3078 want_ecore_con_abstract_sockets="yes"
3079 elif test "${have_ps3}" = "yes"; then
3080 want_ecore_con_local_sockets="no"
3081 want_ecore_con_abstract_sockets="no"
3084 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
3085 [test "x${want_ecore_con_local_sockets}" = "xyes"],
3086 [1], [Have local sockets support])
3087 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
3088 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
3089 [1], [Have abstract sockets namespace])
3091 ### Checks for programs
3093 ### Checks for libraries
3094 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
3095 if test "$build_crypto" != "none" ; then
3096 EFL_CRYPTO_DEPEND([ECORE_CON])
3098 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
3099 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [efl])
3100 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
3101 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
3102 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
3103 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
3105 EFL_ADD_LIBS([ECORE_CON], [-lm])
3107 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
3109 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
3110 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
3111 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
3113 EFL_EVAL_PKGS([ECORE_CON])
3115 ### Checks for header files
3117 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
3119 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
3120 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
3123 ### Checks for types
3126 AC_CHECK_TYPES([struct ipv6_mreq],
3130 #ifdef HAVE_NETINET_IN_H
3131 # include <netinet/in.h>
3133 #ifdef HAVE_WS2TCPIP_H
3134 # include <ws2tcpip.h>
3138 AC_DEFINE_IF([HAVE_IPV6],
3139 [test "x${have_ipv6}" = "xyes"],
3140 [1], [Define if IPV6 is supported])
3141 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
3143 ### Checks for structures
3145 ### Checks for compiler characteristics
3147 ### Checks for linker characteristics
3149 ### Checks for library functions
3150 AC_CHECK_FUNCS([accept4])
3152 EFL_LIB_END([Ecore_Con])
3153 #### End of Ecore_Con
3158 EFL_LIB_START([Ecore_Ipc])
3162 ### Additional options to configure
3164 ### Checks for programs
3166 ## Compatibility layers
3167 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
3169 ### Checks for libraries
3170 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
3171 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
3172 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
3173 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [efl])
3174 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
3176 EFL_ADD_LIBS([ECORE_IPC], [-lm])
3178 ### Checks for header files
3180 AC_CHECK_HEADERS([winsock2.h])
3182 ### Checks for types
3184 ### Checks for structures
3186 ### Checks for compiler characteristics
3188 ### Checks for linker characteristics
3190 ### Checks for library functions
3192 EFL_LIB_END([Ecore_Ipc])
3193 #### End of Ecore_Ipc
3198 EFL_LIB_START([Ecore_File])
3200 ### Additional options to configure
3204 ### Checks for programs
3206 ## Compatibility layers
3207 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
3209 ### Checks for libraries
3210 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
3211 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
3212 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
3213 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
3214 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [efl])
3215 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
3217 ### Checks for header files
3219 ### Checks for types
3221 ### Checks for structures
3223 ### Checks for compiler characteristics
3225 ### Checks for linker characteristics
3227 ### Checks for library functions
3229 EFL_LIB_END([Ecore_File])
3230 #### End of Ecore_File
3234 have_libmount_new="no"
3235 have_libmount_old="no"
3236 have_eeze_mount="no"
3238 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3240 ### Additional options to configure
3241 AC_ARG_WITH([mount],
3242 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3243 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3244 AC_ARG_WITH([umount],
3245 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3246 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3247 AC_ARG_WITH([eject],
3248 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3249 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3253 ### Checks for programs
3255 ### Checks for libraries
3256 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3257 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3258 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3259 EFL_INTERNAL_DEPEND_PKG([EEZE], [efl])
3260 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3261 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3262 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3263 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3265 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3267 AC_ARG_ENABLE([libmount],
3268 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3270 if test "x${enableval}" = "xyes" ; then
3274 CFOPT_WARNING="xyes"
3277 [want_libmount="yes"])
3279 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3280 [EEZE_MOUNT], [mount >= 2.18.0])
3281 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3283 PKG_CHECK_EXISTS([libudev < 199],
3284 [have_libudev_old="yes"],
3285 [have_libudev_old="no"])
3286 AC_MSG_CHECKING([Use old libudev API (before 199)])
3287 AC_MSG_RESULT([${have_libudev_old}])
3289 PKG_CHECK_EXISTS([mount < 2.19.0],
3290 [have_libmount_old="yes"],
3291 [have_libmount_old="no"])
3292 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3293 AC_MSG_RESULT([${have_libmount_old}])
3295 PKG_CHECK_EXISTS([mount == 2.19.0],
3296 [have_libmount_219="yes"],
3297 [have_libmount_219="no"])
3298 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3299 AC_MSG_RESULT([${have_libmount_219}])
3301 PKG_CHECK_EXISTS([mount > 2.19.0],
3302 [have_libmount_new="yes"],
3303 [have_libmount_new="no"])
3304 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3305 AC_MSG_RESULT([${have_libmount_new}])
3307 if test "x${have_libudev_old}" = "xyes"; then
3308 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3311 if test "x${have_libmount_old}" = "xyes"; then
3312 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3316 if test "${want_tizen}" = "yes"; then
3317 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3319 EFL_ADD_FEATURE([EEZE], [tizen])
3321 EFL_EVAL_PKGS([EEZE])
3323 ### Checks for header files
3325 ### Checks for types
3327 ### Checks for structures
3329 ### Checks for compiler characteristics
3331 ### Checks for linker characteristics
3333 ### Checks for library functions
3335 ### Checks for binaries
3336 if test "x$with_eeze_mount" = "xdetect"; then
3337 AC_PATH_PROG([with_eeze_mount], [mount], [])
3339 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3341 if test "x$with_eeze_umount" = "xdetect";then
3342 AC_PATH_PROG([with_eeze_umount], [umount], [])
3344 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3346 if test "x$with_eeze_eject" = "xdetect";then
3347 AC_PATH_PROG([with_eeze_eject], [eject], [])
3349 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3351 EFL_LIB_END_OPTIONAL([Eeze])
3353 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3354 [test "x${have_libmount_new}" = "xyes"])
3355 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3356 [test "x${have_libmount_old}" = "xyes"])
3357 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3358 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3363 EFL_LIB_START([Ecore_Input])
3365 ### Additional options to configure
3369 ### Checks for programs
3371 ## Compatibility layers
3372 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
3374 ### Checks for libraries
3375 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
3376 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
3377 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [efl])
3378 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
3380 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [${efl_lib_optional_eeze}], [eeze])
3382 ### Checks for header files
3384 ### Checks for types
3386 ### Checks for structures
3388 ### Checks for compiler characteristics
3390 ### Checks for linker characteristics
3392 ### Checks for library functions
3394 EFL_LIB_END([Ecore_Input])
3395 #### End of Ecore_Input
3398 #### Ecore_Input_Evas
3399 EFL_LIB_START([Ecore_Input_Evas])
3401 ### Additional options to configure
3405 ### Checks for programs
3407 ## Compatibility layers
3408 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
3410 ### Checks for libraries
3411 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
3412 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
3413 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
3414 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
3415 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
3416 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
3417 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
3419 ### Checks for header files
3421 ### Checks for types
3423 ### Checks for structures
3425 ### Checks for compiler characteristics
3427 ### Checks for linker characteristics
3429 ### Checks for library functions
3431 EFL_LIB_END([Ecore_Input_Evas])
3432 #### End of Ecore_Input_Evas
3436 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${have_cocoa}" = "yes"])
3438 ### Additional options to configure
3442 ### Checks for programs
3444 ### Checks for libraries
3445 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
3446 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
3447 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
3448 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [efl])
3449 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
3450 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [evas])
3451 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [emile])
3453 ### Checks for header files
3455 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
3457 ### Checks for types
3459 ### Checks for structures
3461 ### Checks for compiler characteristics
3463 ### Checks for linker characteristics
3465 ### Checks for library functions
3467 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
3468 #### End of Ecore_Cocoa
3472 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
3474 ### Additional options to configure
3475 AC_ARG_ENABLE([tslib],
3476 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
3478 if test "x${enableval}" = "xyes" ; then
3483 ], [want_tslib="yes"])
3487 ### Checks for programs
3489 ### Checks for libraries
3490 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
3491 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
3492 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
3493 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [efl])
3494 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
3496 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
3497 EFL_ADD_FEATURE([ECORE_FB], [tslib])
3499 EFL_EVAL_PKGS([ECORE_FB])
3501 ### Checks for header files
3504 AC_CHECK_HEADER([linux/fb.h],
3505 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
3506 if test "${have_ecore_fb}" = "no"; then
3507 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
3510 ### Checks for types
3512 ### Checks for structures
3514 ### Checks for compiler characteristics
3516 ### Checks for linker characteristics
3518 ### Checks for library functions
3520 EFL_LIB_END_OPTIONAL([Ecore_FB])
3521 #### End of Ecore_FB
3525 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
3527 ### Additional options to configure
3531 ### Checks for programs
3533 ### Checks for libraries
3534 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
3536 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
3537 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
3538 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
3539 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [efl])
3540 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
3542 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
3544 ### Checks for header files
3546 ### Checks for types
3548 ### Checks for structures
3550 ### Checks for compiler characteristics
3552 ### Checks for linker characteristics
3554 ### Checks for library functions
3556 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
3557 #### End of Ecore_Psl1ght
3561 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
3563 ### Additional options to configure
3567 ### Checks for programs
3569 ### Checks for libraries
3570 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
3571 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
3572 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
3573 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
3574 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [efl])
3575 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
3577 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
3579 EFL_EVAL_PKGS([ECORE_SDL])
3581 ### Checks for header files
3583 ### Checks for types
3585 ### Checks for structures
3587 ### Checks for compiler characteristics
3589 ### Checks for linker characteristics
3591 ### Checks for library functions
3593 EFL_LIB_END_OPTIONAL([Ecore_SDL])
3594 #### End of Ecore_SDL
3598 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_ecore_wayland}" = "yes"])
3600 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3601 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
3604 ### Additional options to configure
3608 ### Checks for programs
3610 ### Checks for libraries
3611 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
3612 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
3613 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
3614 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [efl])
3615 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
3617 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
3618 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0 uuid])
3620 EFL_EVAL_PKGS([ECORE_WAYLAND])
3622 ### Checks for header files
3624 ### Checks for types
3626 ### Checks for structures
3628 ### Checks for compiler characteristics
3630 ### Checks for linker characteristics
3632 ### Checks for library functions
3634 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
3635 #### End of Ecore_Wayland
3638 EFL_LIB_START_OPTIONAL([Ecore_Wl2], [test "${want_wayland}" = "yes"])
3640 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3641 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wl2 IVI-Shell Support])
3644 ### Additional options to configure
3648 ### Checks for programs
3650 ### Checks for libraries
3651 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore-input])
3652 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore])
3653 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eo])
3654 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [efl])
3655 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina])
3657 EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND],
3658 [wayland-server >= 1.11.0 wayland-client >= 1.11.0 xkbcommon >= 0.6.0])
3660 EFL_EVAL_PKGS([ECORE_WL2])
3662 ### Checks for header files
3664 ### Checks for types
3666 ### Checks for structures
3668 ### Checks for compiler characteristics
3670 ### Checks for linker characteristics
3672 ### Checks for library functions
3674 EFL_LIB_END_OPTIONAL([Ecore_Wl2])
3675 #### End of Ecore_Wl2
3678 EFL_LIB_START([Eldbus])
3680 ### Additional options to configure
3684 ### Checks for programs
3686 ## Compatibility layers
3687 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3689 ### Checks for libraries
3690 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3691 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [efl])
3692 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3693 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3695 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3697 EFL_EVAL_PKGS([ELDBUS])
3699 ### Checks for header files
3701 ### Checks for types
3703 ### Checks for structures
3705 ### Checks for compiler characteristics
3707 ### Checks for linker characteristics
3709 ### Checks for library functions
3711 EFL_LIB_END([Eldbus])
3717 have_libinput_new="no"
3718 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_ecore_drm}" = "yes"])
3720 ### Additional options to configure
3723 AC_SUBST([SUID_CFLAGS])
3724 AC_SUBST([SUID_LDFLAGS])
3728 ### Checks for programs
3730 ### Checks for libraries
3731 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3732 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3733 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3734 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3735 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3736 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [efl])
3737 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3739 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3740 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3742 EFL_ADD_LIBS([ECORE_DRM], [-lm])
3744 # API change from 0.7 to 0.8. So we define this to support both for now.
3745 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3746 [have_libinput_new="yes"],
3747 [have_libinput_new="no"])
3748 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3749 AC_MSG_RESULT([${have_libinput_new}])
3750 if test "x${have_libinput_new}" = "xyes";then
3751 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3753 if test "x${have_libinput_new}" = "xno";then
3754 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3758 EFL_EVAL_PKGS([ECORE_DRM])
3760 ### Checks for header files
3762 ### Checks for types
3764 ### Checks for structures
3766 ### Checks for compiler characteristics
3768 ### Checks for linker characteristics
3770 ### Checks for library functions
3772 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3773 #### End of Ecore_Drm
3777 have_libinput_new="no"
3778 EFL_LIB_START_OPTIONAL([Elput], [test "${want_elput}" = "yes"])
3780 ### Additional options to configure
3783 AC_SUBST([SUID_CFLAGS])
3784 AC_SUBST([SUID_LDFLAGS])
3788 ### Checks for programs
3790 ### Checks for libraries
3791 EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore])
3792 EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore-input])
3793 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eldbus])
3794 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze])
3795 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo])
3796 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina])
3798 EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0 libudev])
3800 EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd])
3801 EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}])
3803 EFL_ADD_LIBS([ELPUT], [-lm])
3805 # API change from 0.7 to 0.8. So we define this to support both for now.
3806 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3807 [have_libinput_new="yes"],
3808 [have_libinput_new="no"])
3809 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3810 AC_MSG_RESULT([${have_libinput_new}])
3811 if test "x${have_libinput_new}" = "xyes";then
3812 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3814 if test "x${have_libinput_new}" = "xno";then
3815 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3819 EFL_EVAL_PKGS([ELPUT])
3821 ### Checks for header files
3823 ### Checks for types
3825 ### Checks for structures
3827 ### Checks for compiler characteristics
3829 ### Checks for linker characteristics
3831 ### Checks for library functions
3833 EFL_LIB_END_OPTIONAL([Elput])
3837 have_libinput_new="no"
3838 EFL_LIB_START_OPTIONAL([Ecore_Drm2], [test "${want_drm}" = "yes"])
3840 ### Additional options to configure
3843 AC_SUBST([SUID_CFLAGS])
3844 AC_SUBST([SUID_LDFLAGS])
3848 ### Checks for programs
3850 ### Checks for libraries
3851 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eo])
3852 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [efl])
3853 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eina])
3854 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [ecore])
3855 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [elput])
3856 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eeze])
3858 EFL_DEPEND_PKG([ECORE_DRM2], [DRM], [libdrm >= 2.4 gbm])
3860 EFL_ADD_LIBS([ECORE_DRM2], [-lm])
3862 AC_CHECK_LIB(drm, drmModeAtomicCommit, AC_DEFINE(HAVE_ATOMIC_DRM, [], [Atomic modeset supported]))
3864 EFL_EVAL_PKGS([ECORE_DRM2])
3866 ### Checks for header files
3868 ### Checks for types
3870 ### Checks for structures
3872 ### Checks for compiler characteristics
3874 ### Checks for linker characteristics
3876 ### Checks for library functions
3878 EFL_LIB_END_OPTIONAL([Ecore_Drm2])
3879 #### End of Ecore_Drm2
3884 AC_ARG_ENABLE([audio],
3885 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3887 if test "x${enableval}" = "xyes" ; then
3891 CFOPT_WARNING="xyes"
3896 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3898 ### Additional options to configure
3900 # ALSA support is still not there, thus no option for it yet.
3903 # sndfile is mandatory otherwise it won't read from/write to files.
3904 # TODO: if confirmed sndfile is mandatory, remove this variable
3905 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3908 AC_ARG_ENABLE([pulseaudio],
3909 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3911 if test "x${enableval}" = "xyes" ; then
3912 want_pulseaudio="yes"
3914 want_pulseaudio="no"
3915 CFOPT_WARNING="xyes"
3918 [want_pulseaudio="yes"])
3922 ### Checks for programs
3924 ## Compatibility layers
3925 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3927 ### Checks for libraries
3928 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3929 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3930 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3931 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [efl])
3932 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3933 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3935 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3937 if test "x${want_alsa}" = "xyes" ; then
3938 PKG_CHECK_MODULES([ECORE_AUDIO_ALSA], [alsa])
3939 AC_DEFINE([HAVE_ALSA], [1], [Alsa support])
3941 if test "x${want_pulseaudio}" = "xyes" ; then
3942 PKG_CHECK_MODULES([ECORE_AUDIO_PULSE], [libpulse])
3943 AC_DEFINE([HAVE_PULSE], [1], [Pulseaudio support])
3945 if test "x${want_sndfile}" = "xyes" ; then
3946 PKG_CHECK_MODULES([ECORE_AUDIO_SNDFILE], [sndfile])
3947 AC_DEFINE([HAVE_SNDFILE], [1], [Sndfile support])
3950 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_ALSA], [${want_alsa}], [ALSA], [alsa])
3951 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_PULSE], [${want_pulseaudio}], [PULSE], [libpulse])
3952 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_SNDFILE], [${want_sndfile}], [SNDFILE], [sndfile])
3954 EFL_EVAL_PKGS([ECORE_AUDIO])
3956 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3957 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3958 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3960 ### Checks for header files
3962 ### Checks for types
3964 ### Checks for structures
3966 ### Checks for compiler characteristics
3968 ### Checks for linker characteristics
3970 ### Checks for library functions
3972 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3973 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3974 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3976 #### End of Ecore_Audio
3978 #### Ecore Audio CXX
3979 EFL_LIB_START([Ecore_Audio_Cxx])
3981 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3983 EFL_LIB_END([Ecore_Audio_Cxx])
3984 #### End of Ecore Audio CXX
3987 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3989 ### Additional options to configure
3993 ### Checks for programs
3995 ### Checks for libraries
3996 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3997 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3998 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3999 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
4000 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [efl])
4001 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
4003 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
4004 AC_SUBST([ECORE_WIN32_LIBS])
4006 ### Checks for header files
4008 ### Checks for types
4010 ### Checks for structures
4012 ### Checks for compiler characteristics
4014 ### Checks for linker characteristics
4016 ### Checks for library functions
4018 EFL_LIB_END_OPTIONAL([Ecore_Win32])
4019 #### End of Ecore_Win32
4023 EFL_LIB_START([Ecore_Avahi])
4027 ### Additional options to configure
4031 AC_ARG_ENABLE([avahi],
4032 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
4034 if test "x${enableval}" = "xyes" ; then
4043 ### Checks for programs
4045 ## Compatibility layers
4046 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
4048 ### Checks for libraries
4049 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
4050 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
4051 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
4052 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [efl])
4054 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
4056 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
4058 # Needed bu example as they use avahi directly in that case
4059 if test "x${have_avahi}" = "xyes"; then
4060 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
4063 EFL_EVAL_PKGS([ECORE_AVAHI])
4065 ### Checks for header files
4067 ### Checks for types
4069 ### Checks for structures
4071 ### Checks for compiler characteristics
4073 ### Checks for linker characteristics
4075 ### Checks for library functions
4077 EFL_LIB_END([Ecore_Avahi])
4079 #### End of Ecore_Avahi
4083 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
4085 ### Additional options to configure
4087 AC_ARG_ENABLE([gesture],
4088 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
4090 if test "x${enableval}" = "xyes" ; then
4096 [want_gesture="no"])
4098 AC_ARG_ENABLE([xpresent],
4099 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
4101 if test "x${enableval}" = "xyes" ; then
4107 [want_xpresent="no"])
4109 AC_ARG_ENABLE([xinput2],
4110 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
4112 if test "x${enableval}" = "xyes" ; then
4116 CFOPT_WARNING="xyes"
4119 [want_xinput2="yes"])
4121 AC_ARG_ENABLE([xinput22],
4122 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
4124 if test "x${enableval}" = "xyes" ; then
4130 [want_xinput22="no"])
4132 AC_ARG_ENABLE([xim],
4133 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
4135 if test "x${enableval}" = "xyes" ; then
4139 CFOPT_WARNING="xyes"
4144 AC_ARG_ENABLE([scim],
4145 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
4147 if test "x${enableval}" = "xyes" ; then
4151 CFOPT_WARNING="xyes"
4156 AC_ARG_ENABLE([ibus],
4157 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
4159 if test "x${enableval}" = "xyes" ; then
4169 ### Checks for programs
4171 ### Checks for libraries
4172 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
4173 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
4174 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
4175 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [efl])
4176 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
4182 ### Checks for header files
4184 AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
4186 if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
4187 FOUND_MAXHOSTNAMELEN="not found"
4193 #include <sys/param.h>
4196 int h = MAXHOSTNAMELEN;
4200 FOUND_MAXHOSTNAMELEN="sys/param.h"
4201 AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
4211 int h = MAXHOSTNAMELEN;
4215 FOUND_MAXHOSTNAMELEN="netdb.h"
4216 AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
4219 AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
4220 AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
4224 if test "x${want_x11_xcb}" = "xyes" ; then
4225 KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
4226 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
4228 if test -f "$KEYSYMDEFDIR/$i"; then
4229 KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
4230 elif test "x$i" = "xkeysymdef.h"; then
4231 AC_MSG_ERROR([Cannot find keysymdef.h])
4234 AC_MSG_CHECKING([keysym definitions])
4235 AC_MSG_RESULT([$KEYSYMDEFS])
4236 AC_SUBST([KEYSYMDEFS])
4239 ### Checks for types
4241 ### Checks for structures
4243 ### Checks for compiler characteristics
4245 ### Checks for linker characteristics
4247 ### Checks for library functions
4250 if test "x${want_x11_xlib}" = "xyes"; then
4251 EFL_FIND_X(ECORE_X_XLIB,
4252 [X11/Xlib.h X11/Xcursor/Xcursor.h],
4253 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
4256 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
4257 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
4258 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
4260 AC_MSG_ERROR([Xcursor is missing])
4264 if test "x${want_x11_xlib}" = "xyes" ; then
4265 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
4266 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
4267 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
4268 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
4269 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
4270 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
4271 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
4272 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
4273 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
4274 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
4276 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
4278 if test "${want_xpresent}" = "yes"; then
4279 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
4281 EFL_ADD_FEATURE([ECORE_X], [xpresent])
4283 if test "${want_gesture}" = "yes"; then
4284 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
4286 EFL_ADD_FEATURE([ECORE_X], [gesture])
4288 if test "${want_xinput2}" = "yes"; then
4289 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
4291 EFL_ADD_FEATURE([ECORE_X], [xinput2])
4293 if test "${want_xinput22}" = "yes"; then
4294 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
4296 EFL_ADD_FEATURE([ECORE_X], [xinput22])
4298 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
4299 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
4301 EFL_EVAL_PKGS([ECORE_X])
4302 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
4307 if test "${want_x11_xcb}" = "yes"; then
4308 dnl note: added pixman-1 as ecore_xcb_region uses that
4309 EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
4310 [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])
4312 dnl TODO: remove these ifdefs from code!
4313 AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
4314 AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
4315 AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
4316 AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
4317 AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
4318 AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
4319 AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
4320 AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
4321 AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
4322 AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
4323 AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
4324 AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
4326 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_xpresent}], [ECORE_XCB_XPRESENT],
4328 AC_DEFINE_IF([ECORE_XCB_XPRESENT], [test "${want_xpresent}" = "yes"],
4329 [1], [Build support for XCB Present])
4330 EFL_ADD_FEATURE([ECORE_X], [xpresent])
4332 EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
4334 AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
4335 [1], [Build support for XCB xgesture])
4337 EFL_ADD_FEATURE([ECORE_X], [gesture])
4339 dnl input extension disabled currently in xcb as xcb-input has some issues
4340 dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
4341 dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
4343 dnl dri extension disabled currently in xcb
4344 dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
4345 dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
4347 EFL_EVAL_PKGS([ECORE_X])
4348 EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
4350 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
4353 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
4355 AC_SUBST([HAVE_ECORE_X_BACKEND])
4357 EFL_LIB_END_OPTIONAL([Ecore_X])
4359 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
4360 AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
4365 EFL_LIB_START([Ecore_Imf])
4367 ### Additional options to configure
4371 want_ecore_imf="yes"
4372 want_ecore_imf_xim="no"
4373 want_ecore_imf_scim="no"
4374 want_ecore_imf_ibus="no"
4375 want_ecore_imf_wayland="no"
4376 want_ecore_imf="yes"
4378 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
4379 want_ecore_imf="yes"
4380 want_ecore_imf_xim="yes"
4381 want_ecore_imf_scim="yes"
4382 want_ecore_imf_ibus="yes"
4383 if test "${want_wayland}" = "yes"; then
4384 want_ecore_imf_wayland="yes"
4388 ### Checks for programs
4390 ## Compatibility layers
4391 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
4393 ### Checks for libraries
4394 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
4395 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
4396 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
4397 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
4398 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [efl])
4399 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
4401 if test "x${want_ecore_imf}" = "xyes" ; then
4402 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
4409 have_ecore_imf_ibus="no"
4410 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
4411 PKG_CHECK_MODULES([IBUS],
4412 [ibus-1.0 >= 1.4 glib-2.0],
4414 have_ecore_imf_ibus="yes"
4415 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
4417 [have_ecore_imf_ibus="no"])
4420 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
4421 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
4425 have_ecore_imf_scim="no"
4426 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
4427 PKG_CHECK_MODULES([SCIM],
4430 have_ecore_imf_scim="yes"
4431 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
4433 [have_ecore_imf_scim="no"])
4436 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
4437 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
4441 have_ecore_imf_xim="no"
4442 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
4444 EFL_FIND_X(ecore_imf_xim,
4448 have_ecore_imf_xim=yes
4449 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
4453 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
4454 EFL_ADD_FEATURE([ECORE_IMF], [xim])
4457 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
4458 PKG_CHECK_MODULES([WAYLAND],
4459 [wayland-client >= 1.11.0],
4461 have_ecore_imf_wayland="yes"
4462 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
4464 [have_ecore_imf_wayland="no"])
4467 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
4468 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
4470 ### Checks for header files
4472 ### Checks for types
4474 ### Checks for structures
4476 ### Checks for compiler characteristics
4478 ### Checks for linker characteristics
4480 ### Checks for library functions
4482 EFL_LIB_END([Ecore_Imf])
4483 #### End of Ecore_Imf
4487 EFL_LIB_START([Ecore_Imf_Evas])
4489 ### Additional options to configure
4493 ### Checks for programs
4495 ## Compatibility layers
4496 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
4498 ### Checks for libraries
4499 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
4500 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
4501 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
4502 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
4503 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
4504 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
4505 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
4506 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
4508 ### Checks for header files
4510 ### Checks for types
4512 ### Checks for structures
4514 ### Checks for compiler characteristics
4516 ### Checks for linker characteristics
4518 ### Checks for library functions
4520 EFL_LIB_END([Ecore_Imf_Evas])
4521 #### End of Ecore_Imf_Evas
4525 EFL_LIB_START([Ecore_Evas])
4527 ### Additional options to configure
4531 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
4532 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
4533 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
4534 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
4535 want_ecore_evas_extn="yes"
4536 want_ecore_evas_drm="${have_evas_engine_drm}"
4538 if test "x${have_ecore_ipc}" = "xno" || \
4539 test "x${efl_func_shm_open}" = "xno" || \
4540 test "x${have_windows}" = "xyes" ; then
4541 want_ecore_evas_extn="no"
4544 ### Checks for programs
4546 ## Compatibility layers
4547 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
4549 ### Checks for libraries
4550 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
4551 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
4552 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
4553 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
4554 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
4555 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
4556 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
4557 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
4558 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
4561 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
4562 ECORE_EVAS_MODULE([ews], [yes])
4563 ECORE_EVAS_MODULE([fb], [${want_fb}])
4564 ECORE_EVAS_MODULE([drm], [${want_drm}],
4565 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm2])])
4566 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
4567 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm2])])
4568 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
4570 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
4572 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
4573 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
4575 build_ecore_evas_sdl="no"
4576 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
4577 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
4578 build_ecore_evas_sdl="yes"
4579 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
4581 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
4582 [test "${build_ecore_evas_sdl}" = "yes"])
4584 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
4585 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
4587 build_ecore_evas_wayland="no"
4588 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
4589 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
4590 build_ecore_evas_wayland="yes"
4591 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
4593 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
4594 [test "${build_ecore_evas_wayland}" = "yes"])
4596 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
4597 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
4599 build_ecore_evas_win32="no"
4600 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
4601 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
4602 build_ecore_evas_win32="yes"
4603 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
4605 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
4606 [test "${build_ecore_evas_win32}" = "yes"])
4609 # XXX TODO: ecore_evas_x11
4610 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
4612 have_ecore_evas_software_xlib="no"
4613 have_ecore_evas_software_xcb="no"
4614 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
4615 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
4616 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
4617 have_ecore_evas_software_xlib="yes"
4619 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
4620 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
4622 have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
4623 if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
4624 have_ecore_evas_software_xcb="yes"
4626 if test "x$have_ecore_evas_software_xcb" = "xyes"; then
4627 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB Engine Support])
4631 # XXX TODO: ecore_evas_opengl_x11
4633 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
4635 have_ecore_evas_opengl_xlib="no"
4636 have_ecore_evas_opengl_xcb="no"
4637 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
4638 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
4639 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
4640 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4643 # opengl does not work with xcb (yet)
4644 have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
4645 if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
4646 have_ecore_evas_opengl_xcb="yes"
4648 if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
4649 PKG_CHECK_MODULES([XCB_X11],
4652 have_ecore_x_opengl_xcb="yes"
4653 requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
4654 AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
4655 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
4657 [have_ecore_x_opengl_xcb="no"])
4659 have_ecore_x_opengl_xcb="no"
4660 AC_MSG_NOTICE([XCB-based OpenGL explicitly disabled])
4664 build_ecore_evas_x11="no"
4665 build_ecore_evas_vnc="no"
4666 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4667 test "x$have_ecore_evas_opengl_x11" = "xyes" || \
4668 test "x$have_ecore_evas_software_xcb" = "xyes"; then
4669 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4670 build_ecore_evas_x11="yes"
4671 if test "$want_vnc_server" = "yes"; then
4672 build_ecore_evas_vnc="yes"
4675 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4677 AM_CONDITIONAL([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"])
4678 AC_DEFINE_IF([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"], [1], [Build Ecore_Evas VNC module])
4679 EFL_ADD_FEATURE([ECORE_EVAS], [vnc_server], [${build_ecore_evas_vnc}])
4681 EFL_EVAL_PKGS([ECORE_EVAS])
4683 ### Checks for header files
4685 ### Checks for types
4687 ### Checks for structures
4689 ### Checks for compiler characteristics
4691 ### Checks for linker characteristics
4693 ### Checks for library functions
4694 if test "x${want_gl_drm}" = "xyes" ; then
4695 EFL_CHECK_FUNCS([ECORE_EVAS], [dlopen])
4698 EFL_LIB_END([Ecore_Evas])
4699 #### End of Ecore_Evas
4702 EFL_LIB_START([Eio])
4704 ### Additional options to configure
4708 ### Checks for programs
4710 ## Compatibility layers
4711 EFL_PLATFORM_DEPEND([EIO], [evil])
4713 ### Checks for libraries
4714 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4715 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore-file])
4716 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4717 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4718 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4719 EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
4720 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4721 EFL_INTERNAL_DEPEND_PKG([EIO], [efreet-mime])
4723 EFL_ADD_LIBS([EIO], [-lm])
4725 ### Checks for header files
4727 ### Checks for types
4729 ### Checks for structures
4731 ### Checks for compiler characteristics
4733 ### Checks for linker characteristics
4735 ### Checks for library functions
4736 have_inotify="${ac_cv_header_sys_inotify_h}"
4737 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4739 have_notify_win32="${have_win32}"
4740 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4741 [test "x${have_notify_win32}" = "xyes"], [1],
4742 [File monitoring with Windows notification])
4743 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4745 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4746 [test "x${have_darwin}" = "xyes"], [1],
4747 [File monitoring with fsevent notification])
4748 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4750 AC_CHECK_FUNC([kevent])
4751 have_notify_kevent="${ac_cv_func_kevent}"
4752 AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
4753 [test "x${have_notify_kevent}" = "xyes"], [1],
4754 [File monitoring with kqueue/kevent mechanism])
4755 AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
4759 dnl TODO: remove these ifdefs from code!
4760 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4764 if test "x${want_eo_id}" = "xyes" ; then
4765 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4770 EFL_LIB_START([Efreet])
4772 ### Additional options to configure
4776 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4778 ### Checks for programs
4780 ## Compatibility layers
4781 EFL_PLATFORM_DEPEND([EFREET], [evil])
4783 ### Checks for libraries
4784 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4785 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4786 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4787 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4788 EFL_INTERNAL_DEPEND_PKG([EFREET], [efl])
4789 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4790 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4791 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4793 ### Checks for header files
4795 ### Checks for types
4797 ### Checks for structures
4799 ### Checks for compiler characteristics
4801 ### Checks for linker characteristics
4803 ### Checks for library functions
4805 EFL_LIB_END([Efreet])
4810 AC_ARG_ENABLE([physics],
4811 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4813 if test "x${enableval}" = "xyes" ; then
4816 CFOPT_WARNING="xyes"
4820 [want_physics="yes"])
4822 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4824 ### Additional options to configure
4828 ### Checks for programs
4830 ### Checks for libraries
4831 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4833 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4834 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4835 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4836 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4837 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4838 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4840 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4842 EFL_EVAL_PKGS([EPHYSICS])
4844 ### Checks for header files
4846 ### Checks for types
4848 ### Checks for structures
4850 ### Checks for compiler characteristics
4852 ### Checks for linker characteristics
4854 ### Checks for library functions
4856 EFL_LIB_END_OPTIONAL([EPhysics])
4857 #### End of EPhysics
4861 EFL_LIB_START([Edje])
4863 ### Additional options to configure
4867 AC_ARG_ENABLE([multisense],
4868 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=disabled@:>@])],
4870 if test "x${enableval}" = "xyes" ; then
4871 want_multisense="yes"
4873 want_multisense="no"
4874 CFOPT_WARNING="xyes"
4878 if test "x${want_pulseaudio}" = "xyes"; then
4879 want_multisense="yes"
4881 want_multisense="no"
4885 # TODO: should we keep or remove these?
4886 want_edje_program_cache="no"
4887 want_edje_calc_cache="yes"
4888 want_fixed_point="no"
4890 ### Checks for programs
4892 ### Checks for libraries
4893 EFL_PLATFORM_DEPEND([EDJE], [evil])
4895 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4896 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4897 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4898 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4899 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4900 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4901 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4902 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4903 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4904 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4905 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4906 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4907 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4908 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4909 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4911 if test "x${want_physics}" = "xyes" ; then
4912 AC_DEFINE([HAVE_EPHYSICS], [1], [EPhysics Support])
4913 EDJE_CFLAGS="-I\$(top_srcdir)/src/lib/ephysics ${EDJE_CFLAGS}"
4915 dnl EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4917 if test "x${want_lua_old}" = "xyes"; then
4918 EFL_CHECK_LUA_OLD([EDJE_LUA])
4920 PKG_CHECK_MODULES([EDJE_LUA], [luajit >= 2.0.0])
4923 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4925 EFL_ADD_FEATURE([EDJE], [physics])
4926 EFL_ADD_FEATURE([EDJE], [multisense])
4927 EFL_ADD_FEATURE([EDJE], [lua-old])
4929 EFL_ADD_LIBS([EDJE], [-lm])
4931 EFL_EVAL_PKGS([EDJE])
4933 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4934 [1], [Cache result of program glob matches])
4935 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4936 [1], [Cache result of calc glob matches])
4937 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4938 [1], [Use Fixed Point instead of FPU])
4940 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4941 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4942 [1], [Use Multisense])
4943 AC_SUBST([want_multisense])
4944 AC_SUBST([want_physics])
4946 ### Checks for header files
4948 AC_CHECK_HEADERS([ \
4952 ### Checks for types
4954 ### Checks for structures
4956 ### Checks for compiler characteristics
4958 ### Checks for linker characteristics
4960 ### Checks for library functions
4966 EFL_LIB_START([Edje_Cxx])
4968 EFL_EVAL_PKGS([EDJE_CXX])
4970 EFL_LIB_END([Edje_Cxx])
4971 #### End of Edje CXX
4974 EFL_LIB_START([Emotion])
4976 ## Compatibility layers
4977 EFL_PLATFORM_DEPEND([Emotion], [evil])
4980 if test "${efl_func_shm_open}" = "yes"; then
4981 want_emotion_generic="static"
4983 want_emotion_generic="no"
4986 ### Additional options to configure
4987 AC_ARG_ENABLE([xine],
4988 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4990 if test "x${enableval}" = "xyes" ; then
4998 AC_ARG_ENABLE([v4l2],
4999 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
5001 if test "x${enableval}" = "xyes" ; then
5007 [want_v4l2="${efl_lib_optional_eeze}"])
5009 AC_ARG_ENABLE([libvlc],
5010 [AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
5012 if test "x${enableval}" = "xyes" ; then
5020 ### Checks for programs
5022 ### Checks for libraries
5023 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
5024 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
5025 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
5026 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
5027 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
5028 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
5029 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
5030 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
5032 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
5033 EFL_ADD_FEATURE([EMOTION], [v4l2])
5037 have_gst_xoverlay="no"
5039 EMOTION_MODULE([xine], [${want_xine}])
5040 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
5041 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
5042 EMOTION_MODULE([libvlc], [${want_libvlc}])
5043 EMOTION_MODULE([generic], [${want_emotion_generic}])
5045 EFL_ADD_FEATURE([EMOTION], [xine])
5046 EFL_ADD_FEATURE([EMOTION], [gstreamer])
5047 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
5048 EFL_ADD_FEATURE([EMOTION], [libvlc])
5049 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
5051 EFL_EVAL_PKGS([EMOTION])
5053 ### Checks for header files
5055 ### Checks for types
5057 ### Checks for structures
5059 ### Checks for compiler characteristics
5061 ### Checks for linker characteristics
5063 ### Checks for library functions
5065 if test "${want_v4l2}" = "yes"; then
5066 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
5067 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
5068 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
5069 [#include <linux/videodev2.h>])
5072 ### Check availability
5075 EMOTION_GENERIC_PLAYER([GENERIC_VLC], [no], [libvlc >= 2.0])
5076 EFL_ADD_FEATURE([EMOTION], [generic_vlc], [${with_generic_vlc}])
5078 EFL_LIB_END([Emotion])
5082 EFL_LIB_START([Ethumb])
5086 ### Additional options to configure
5088 ### Checks for programs
5090 ## Compatibility layers
5091 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
5093 ### Checks for libraries
5094 EFL_PLATFORM_DEPEND([EINA], [evil])
5096 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
5097 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
5098 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
5099 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
5100 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
5101 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
5102 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
5103 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
5104 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
5105 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
5106 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
5110 EFL_EVAL_PKGS([ETHUMB])
5112 ### Checks for header files
5114 ### Checks for types
5116 ### Checks for structures
5118 ### Checks for compiler characteristics
5120 ### Checks for linker characteristics
5122 ### Checks for library functions
5124 ### Check availability
5126 EFL_LIB_END([Ethumb])
5130 EFL_LIB_START([Ethumb_Client])
5134 ### Additional options to configure
5136 ### Checks for programs
5138 ## Compatibility layers
5139 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
5141 ### Checks for libraries
5142 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
5143 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
5144 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
5145 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
5146 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
5147 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
5148 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
5149 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
5150 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
5151 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
5152 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
5154 EFL_EVAL_PKGS([ETHUMB_CLIENT])
5156 ### Checks for header files
5158 ### Checks for types
5160 ### Checks for structures
5162 ### Checks for compiler characteristics
5164 ### Checks for linker characteristics
5166 ### Checks for library functions
5168 ### Check availability
5170 EFL_LIB_END([Ethumb_Client])
5171 #### End of Ethumb_Client
5176 if test "${want_lua_old}" = "yes"; then
5180 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
5184 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
5186 ### Additional options to configure
5188 ### Checks for programs
5190 ## Compatibility layers
5191 EFL_PLATFORM_DEPEND([ELUA], [evil])
5193 ### Checks for libraries
5194 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
5195 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
5196 EFL_INTERNAL_DEPEND_PKG([ELUA], [efl])
5197 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
5198 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore_file])
5200 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
5202 EFL_EVAL_PKGS([ELUA])
5204 ### Checks for header files
5206 ### Checks for types
5208 ### Checks for structures
5210 ### Checks for compiler characteristics
5212 ### Checks for linker characteristics
5214 ### Checks for library functions
5216 ### Check availability
5218 EFL_LIB_END_OPTIONAL([Elua])
5223 EFL_LIB_START([Elocation])
5227 ### Additional options to configure
5229 ### Checks for programs
5231 ### Checks for libraries
5232 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
5233 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
5234 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
5235 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [efl])
5236 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
5237 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
5239 EFL_ADD_LIBS([ELOCATION], [-lm])
5241 ### Checks for header files
5243 ### Checks for types
5245 ### Checks for structures
5247 ### Checks for compiler characteristics
5249 ### Checks for linker characteristics
5251 ### Checks for library functions
5253 ### Check availability
5255 EFL_LIB_END([Elocation])
5256 #### End of Elocation
5261 EFL_LIB_START_OPTIONAL([Efl_Js], [test "x${have_js}" = "xyes"])
5265 ### Additional options to configure
5267 ### Checks for programs
5269 ### Checks for libraries
5270 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eina])
5271 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eo])
5272 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore])
5273 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eet])
5274 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Evas])
5275 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Con])
5276 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Audio])
5277 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Efl])
5278 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Evas])
5279 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Edje])
5280 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emotion])
5281 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eldbus])
5282 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emile])
5283 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ethumb_Client])
5284 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eio])
5285 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Elementary])
5287 AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([EFL_JS], [-lv8]) ])
5289 EFL_EVAL_PKGS([EFL_JS])
5291 AM_COND_IF([HAVE_NODEJS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_NODEJS"], [])
5292 AM_COND_IF([HAVE_LIBUV], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_LIBUV"], [])
5293 AM_COND_IF([HAVE_JS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_JS"], [])
5295 AM_COND_IF([HAVE_V8_CREATE_PARAMS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
5296 AM_COND_IF([HAVE_V8_GLOBAL], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
5297 AC_SUBST([EFLJS_CXXFLAGS])
5299 ### Checks for header files
5301 ### Checks for types
5303 ### Checks for structures
5305 ### Checks for compiler characteristics
5307 ### Checks for linker characteristics
5309 ### Checks for library functions
5311 ### Check availability
5313 EFL_LIB_END_OPTIONAL([Efl_Js])
5316 ### Add Wayland server library if test is enabled
5317 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
5318 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.11.0])
5319 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
5322 AC_ARG_ENABLE([always-build-examples],
5323 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
5325 if test "x${enableval}" = "xyes" ; then
5326 want_always_build_examples="yes"
5328 want_always_build_examples="no"
5331 [want_always_build_examples="no"])
5332 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
5336 AC_ARG_ENABLE([i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb],
5337 [ You will be told when this is needed ],
5339 if test "x${enableval}" = "xyes" ; then
5348 build_ecore_buffer_x11_dri2="no"
5349 build_ecore_buffer_x11_dri3="no"
5350 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
5351 ### Checks for libraries
5352 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
5353 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
5354 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [efl])
5355 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
5356 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
5357 [wayland-server >= 1.11.0 wayland-client >= 1.11.0])
5359 PKG_CHECK_MODULES([X11_DRI_COMMON],
5364 [have_x11_dri_common_pkgs="yes"],
5365 [have_x11_dri_common_pkgs="no"]
5368 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
5369 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
5371 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
5372 [have_x11_dri2_pkgs="yes"],
5373 [have_x11_dri2_pkgs="no"])
5374 PKG_CHECK_MODULES([X11_DRI3],
5382 [have_x11_dri3_pkgs="yes"],
5383 [have_x11_dri3_pkgs="no"])
5386 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
5387 build_ecore_buffer_x11_dri2="yes"
5388 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
5391 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
5392 build_ecore_buffer_x11_dri3="yes"
5393 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
5395 EFL_EVAL_PKGS([ECORE_BUFFER])
5397 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
5398 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
5399 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
5401 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
5403 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
5404 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
5406 #### End of Ecore_Buffer
5411 EFL_LIB_START([Elementary])
5415 ### Additional options to configure
5417 ## Elementary base dir
5419 AC_ARG_WITH([elementary-base-dir],
5420 [AS_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
5421 [elementary_base_dir=${withval}],
5422 [elementary_base_dir=".elementary"])
5424 AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
5425 AC_DEFINE_UNQUOTED([ELEMENTARY_BASE_DIR], ["${elementary_base_dir}"], ["subdirectory for all elementary data"])
5429 AC_ARG_ENABLE([debug],
5430 [AS_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
5431 [want_elementary_debug=$enableval],
5432 [want_elementary_debug="no"])
5434 ELM_DEBUG_DEF="#undef"
5435 if test "x$want_elementary_debug" = "xyes"; then
5436 AC_DEFINE([HAVE_ELEMENTARY_DEBUG], [1], [Elementary debug.])
5437 ELM_DEBUG_DEF="#define"
5439 AC_SUBST([ELM_DEBUG_DEF])
5441 ## quicklaunch support
5443 AC_ARG_ENABLE([quick-launch],
5444 [AS_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
5445 [want_quicklaunch=$enableval],
5446 [want_quicklaunch="auto"])
5448 ### Checks for programs
5450 ### Checks for libraries
5452 ## Compatibility layers
5454 EFL_PLATFORM_DEPEND([ELEMENTARY], [evil])
5456 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eina])
5457 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emile])
5458 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eet])
5459 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eo])
5460 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efl])
5461 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [evas])
5462 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore])
5463 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-evas])
5464 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-file])
5465 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-input])
5466 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [edje])
5467 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb])
5468 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb_client])
5469 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emotion])
5470 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-imf])
5471 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-con])
5472 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eldbus])
5473 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet])
5474 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-mime])
5475 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-trash])
5476 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eio])
5477 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [elocation])
5479 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_x11_any}], [ecore_x])
5480 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_fb}], [ecore_fb])
5481 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${have_ps3}], [ecore_psl1ght])
5482 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_sdl}], [ecore_sdl])
5483 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_ecore_evas_gl_cocoa}], [ecore_cocoa])
5484 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_win32}], [ecore_win32])
5485 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_drm}], [ecore_drm2])
5486 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_wayland}], [ecore_wl2])
5488 EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_elput}], [ELPUT], [xkbcommon])
5489 EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_wayland}], [WAYLAND], [wayland-client])
5491 dnl Special case deps for ecore_drm
5492 if test "${want_drm}" = "yes"; then
5493 EFL_DEPEND_PKG([ELEMENTARY], [DRM], [libdrm])
5494 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eeze])
5497 EFL_ADD_LIBS([ELEMENTARY], [-lm])
5499 ELM_CHECK_BACKEND([X], [${want_x11_any}])
5500 ELM_CHECK_BACKEND([FB], [${want_fb}])
5501 ELM_CHECK_BACKEND([PSL1GHT], [${have_ps3}])
5502 ELM_CHECK_BACKEND([SDL], [${want_sdl}])
5503 ELM_CHECK_BACKEND([Cocoa], [${want_ecore_evas_gl_cocoa}])
5504 ELM_CHECK_BACKEND([Win32], [${build_ecore_evas_win32}])
5505 ELM_CHECK_BACKEND([Wl2], [${build_ecore_evas_wayland}])
5506 ELM_CHECK_BACKEND([DRM], [${want_drm}])
5508 EFL_EVAL_PKGS([ELEMENTARY])
5510 ### Checks for header files
5512 ELM_ALLOCA_H_DEF="#undef"
5513 AC_CHECK_HEADER([alloca.h], [ELM_ALLOCA_H_DEF="#define"])
5514 AC_SUBST([ELM_ALLOCA_H_DEF])
5516 ELM_LIBINTL_H_DEF="#undef"
5517 AC_CHECK_HEADER([libintl.h], [ELM_LIBINTL_H_DEF="#define"])
5518 AC_SUBST([ELM_LIBINTL_H_DEF])
5520 ELM_DIRENT_H_DEF="#undef"
5521 AC_CHECK_HEADER([dirent.h], [ELM_DIRENT_H_DEF="#define"])
5522 AC_SUBST([ELM_DIRENT_H_DEF])
5524 AC_CHECK_HEADER([sys/mman.h], [have_mman="yes"], [have_mman="no"])
5525 if test "x${have_mman}" = "xyes"; then
5526 AC_DEFINE([HAVE_MMAN_H], [1], [Have sys/mman.h header file])
5529 AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
5533 AC_CHECK_HEADERS([crt_externs.h])
5537 ### Checks for types
5539 ### Checks for structures
5541 ### Checks for compiler characteristics
5543 ### Checks for linker characteristics
5552 AC_CHECK_LIB([socket], [connect],
5555 requirements_libs_elm="-lsocket ${requirements_libs_elm}"
5567 AC_SUBST([requirements_libs_elm])
5569 AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
5571 # Check if we can build binary with quicklaunch support
5574 ### Checks for library functions
5576 EFL_CHECK_FUNCS([ELEMENTARY], [dlopen])
5580 AC_CHECK_FUNCS([geteuid getuid getpwent])
5582 if test "x${want_quicklaunch}" != "xno"; then
5583 AC_CHECK_FUNCS([fork clearenv])
5586 build_quicklaunch="no"
5587 if test "x${ac_cv_func_fork}" = "xyes" -a "x${efl_func_dlopen}" = "xyes"; then
5588 build_quicklaunch="yes"
5591 AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x${build_quicklaunch}" = "xyes"])
5592 EFL_ADD_FEATURE([ELEMENTARY], [quicklaunch], [${build_quicklaunch}])
5599 # define _GNU_SOURCE 1
5603 extern char **environ;
5606 [AC_DEFINE([HAVE_ENVIRON], [1], [extern environ exists])])
5610 AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
5614 ### Check availability
5616 EFL_LIB_END([Elementary])
5618 #### End of Elementary
5622 EFL_LIB_START([Elementary_Cxx])
5624 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina_Cxx])
5625 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eet_Cxx])
5626 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore_Cxx])
5627 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore])
5628 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina])
5629 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eo])
5630 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Efl])
5631 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Elementary])
5633 EFL_EVAL_PKGS([ELEMENTARY_CXX])
5635 EFL_LIB_END([Elementary_Cxx])
5636 #### End of Ecore CXX
5640 EFL_LIB_START_OPTIONAL([Elementary_Js], [test "x${have_js}" = "xyes"])
5644 ### Additional options to configure
5646 ### Checks for programs
5648 ### Checks for libraries
5649 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eina])
5650 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eo])
5651 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore])
5652 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eet])
5653 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Evas])
5654 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Con])
5655 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Audio])
5656 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl])
5657 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Evas])
5658 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Edje])
5659 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emotion])
5660 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eldbus])
5661 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emile])
5662 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ethumb_Client])
5663 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eio])
5664 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Elementary])
5665 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl_Js])
5667 AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([ELEMENTARY_JS], [-lv8]) ])
5669 EFL_EVAL_PKGS([ELEMENTARY_JS])
5671 AM_COND_IF([HAVE_NODEJS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_NODEJS"], [])
5672 AM_COND_IF([HAVE_LIBUV], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_LIBUV"], [])
5673 AM_COND_IF([HAVE_JS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_JS"], [])
5675 AM_COND_IF([HAVE_V8_CREATE_PARAMS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
5676 AM_COND_IF([HAVE_V8_GLOBAL], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
5677 AC_SUBST([ELEMENTARYJS_CXXFLAGS])
5679 ### Checks for header files
5681 ### Checks for types
5683 ### Checks for structures
5685 ### Checks for compiler characteristics
5687 ### Checks for linker characteristics
5689 ### Checks for library functions
5691 ### Check availability
5693 EFL_LIB_END_OPTIONAL([ELEMENTARY_JS])
5697 AC_ARG_ENABLE([cancel-ok],
5698 [AS_HELP_STRING([--enable-cancel-ok],[Enable ordering of cancel and ok buttons to be cancel first, then ok instead of ok then cancel. @<:@default=disabled@:>@])],
5700 if test "x${enableval}" = "xyes" ; then
5701 ELM_EDJE_DEFINES="$ELM_EDJE_DEFINES -DELM_CANCEL_OK=1"
5704 AC_SUBST(ELM_EDJE_DEFINES)
5707 ## Disable warning for OS that have a specifc configuration
5721 config/default/Makefile
5722 config/default/base.src
5723 config/mobile/Makefile
5724 config/mobile/base.src
5725 config/standard/Makefile
5726 config/standard/base.src
5729 doc/previews/Makefile
5730 doc/widgets/Makefile
5732 src/benchmarks/eina/Makefile
5733 src/benchmarks/eo/Makefile
5734 src/benchmarks/evas/Makefile
5735 src/examples/eina/Makefile
5736 src/examples/eina_cxx/Makefile
5737 src/examples/eet/Makefile
5738 src/examples/evas/Makefile
5739 src/examples/ecore/Makefile
5740 src/examples/ecore_avahi/Makefile
5741 src/examples/eio/Makefile
5742 src/examples/eldbus/Makefile
5743 src/examples/ephysics/Makefile
5744 src/examples/edje/Makefile
5745 src/examples/emotion/Makefile
5746 src/examples/emile/Makefile
5747 src/examples/ethumb_client/Makefile
5748 src/examples/elua/Makefile
5749 src/examples/eolian_cxx/Makefile
5750 src/examples/elocation/Makefile
5751 src/examples/elementary/Makefile
5752 src/lib/eina/eina_config.h
5753 src/lib/ecore_x/ecore_x_version.h
5754 src/lib/efl/Efl_Config.h
5755 src/lib/elementary/Elementary_Options.h
5756 src/scripts/eo/eo_debug
5778 pc/evas-opengl-x11.pc
5779 pc/evas-opengl-sdl.pc
5780 pc/evas-opengl-cocoa.pc
5782 pc/evas-software-buffer.pc
5783 pc/evas-software-x11.pc
5784 pc/evas-software-gdi.pc
5785 pc/evas-software-ddraw.pc
5786 pc/evas-software-sdl.pc
5787 pc/evas-wayland-shm.pc
5788 pc/evas-wayland-egl.pc
5798 pc/ecore-input-evas.pc
5810 pc/ecore-imf-evas.pc
5812 pc/ecore-audio-cxx.pc
5833 pc/elementary-cxx.pc
5836 dbus-services/org.enlightenment.Ethumb.service
5837 systemd-services/ethumb.service
5839 cmakeconfig/EflConfig.cmake
5840 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5841 cmakeconfig/EinaConfig.cmake
5842 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5843 cmakeconfig/EioConfig.cmake
5844 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5845 cmakeconfig/EezeConfig.cmake
5846 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5847 cmakeconfig/EoConfig.cmake
5848 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5849 cmakeconfig/EolianConfig.cmake
5850 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5851 cmakeconfig/EolianHelper.cmake
5852 cmakeconfig/EolianCxxConfig.cmake
5853 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5854 cmakeconfig/EinaCxxConfig.cmake
5855 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5856 cmakeconfig/EoCxxConfig.cmake
5857 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5858 cmakeconfig/EcoreCxxConfig.cmake
5859 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5860 cmakeconfig/EvasCxxConfig.cmake
5861 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5862 cmakeconfig/EetCxxConfig.cmake
5863 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5864 cmakeconfig/EetConfig.cmake
5865 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5866 cmakeconfig/EvasConfig.cmake
5867 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5868 cmakeconfig/EcoreConfig.cmake
5869 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5870 cmakeconfig/EdjeConfig.cmake
5871 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5872 cmakeconfig/EldbusConfig.cmake
5873 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5874 cmakeconfig/EfreetConfig.cmake
5875 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5876 cmakeconfig/EthumbConfig.cmake
5877 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5878 cmakeconfig/EthumbClientConfig.cmake
5879 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5880 cmakeconfig/EmotionConfig.cmake
5881 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5882 cmakeconfig/EluaConfig.cmake
5883 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5884 cmakeconfig/EmileConfig.cmake
5885 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5886 cmakeconfig/ElementaryConfigVersion.cmake
5887 cmakeconfig/ElementaryConfig.cmake
5894 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
5898 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
5899 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
5902 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
5905 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5908 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5912 if test "${have_linux}" = "yes"; then
5913 EFL_ADD_FEATURE([system], [inotify])
5914 EFL_ADD_FEATURE([system], [atfile_source])
5915 elif test "${have_windows}" = "yes"; then
5916 EFL_ADD_FEATURE([system], [notify_win32])
5918 EFL_ADD_FEATURE([system], [ipv6])
5920 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
5921 efl_have_spinlock="yes"
5923 efl_have_spinlock="no"
5925 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
5926 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
5927 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
5928 EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
5929 EFL_ADD_FEATURE([thread], [__thread], [${have_thread_specifier}])
5934 echo "------------------------------------------------------------------------"
5935 echo "$PACKAGE_NAME $PACKAGE_VERSION"
5936 echo "------------------------------------------------------------------------"
5939 if test "x${have_windows}" = "xyes" ; then
5940 osname="${host_os}(${_efl_windows_version})"
5945 if test "x${want_egl}" = "xyes" ; then
5951 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
5952 echo " EFL API Set...: ${efl_api}"
5953 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
5954 echo " System Feature: ${features_system}"
5955 echo " Threads.......: ${efl_have_threads} (${features_thread})"
5956 echo " Cryptography..: ${build_crypto}"
5957 echo " X11...........: ${with_x11}"
5958 echo " OpenGL........: ${with_opengl} ${opengl_egl}"
5959 echo " C++11.........: ${have_cxx11}"
5960 echo " JavaScript....: ${want_js}"
5961 echo " JavaScript flg: $EINA_JS_LIBS"
5962 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
5963 echo "Eo..............: yes (${features_eo})"
5964 echo "Eolian..........: yes (${features_eolian})"
5965 echo "Emile...........: yes (${features_emile})"
5966 echo "Eet.............: yes"
5967 echo "Evas............: yes (${features_evas})"
5968 echo " Engines.......: ${features_evas_engine}"
5969 echo " Vg Loaders : ${features_evas_vg_loader}"
5970 echo " Image Loaders.: ${features_evas_loader}"
5971 if test "x${have_pixman}" = "xyes" ; then
5972 echo " Pixman........: ${features_evas_pixman}"
5974 echo "Ecore...........: yes (${features_ecore})"
5975 echo "Ecore_Con.......: yes (${features_ecore_con})"
5976 echo "Ecore_File......: yes"
5977 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
5978 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
5979 echo "Ecore_SDL.......: $want_sdl"
5980 echo "Ecore_Drm.......: $want_ecore_drm"
5981 echo "Ecore_Drm2......: $want_drm"
5982 echo "Ecore_Wayland...: $want_ecore_wayland"
5983 echo "Ecore_Wl2.......: $want_wayland"
5984 echo "IVI-Shell.......: $want_wayland_ivi_shell"
5985 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
5986 if test "${have_linux}" = "yes"; then
5987 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
5988 elif test "${have_ps3}" = "yes"; then
5989 echo "Ecore_PSL1GHT...: $have_ps3"
5990 elif test "${have_darwin}" = "yes"; then
5991 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
5992 elif test "${have_windows}" = "yes"; then
5993 echo "Ecore_Win32.....: $have_win32"
5995 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
5996 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
5997 echo "Ecore_Evas......: yes (${features_ecore_evas})"
5998 echo "Elput...........: $want_elput (${features_elput})"
5999 echo "Ector...........: yes"
6000 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
6001 echo "EPhysics........: ${efl_lib_optional_ephysics}"
6002 echo "Edje............: yes (${features_edje})"
6003 echo "Emotion.........: yes (${features_emotion})"
6004 echo "Ethumb..........: yes"
6005 echo "Ethumb_Client...: yes"
6006 echo "Elua............: $have_elua"
6007 echo "Elementary......: yes (${features_elementary})"
6012 if test "${build_tests}" = "none"; then
6013 echo "Tests...........: no"
6014 elif test "${build_tests}" = "auto"; then
6015 echo "Tests...........: make check (inexplicitly enabled)"
6016 elif test "${build_tests}" = "regular"; then
6017 echo "Tests...........: make check"
6018 elif test "${build_tests}" = "coverage"; then
6019 echo "Tests...........: make lcov-check"
6021 echo "Examples........: make examples (make install-examples)"
6022 if test "x${build_doc}" = "xyes"; then
6023 echo "Documentation...: make doc"
6025 echo "Documentation...: no"
6027 echo "Compilation.....: make (or gmake)"
6028 echo " CPPFLAGS......: $CPPFLAGS"
6029 echo " CFLAGS........: $CFLAGS"
6030 echo " CXXFLAGS......: $CXXFLAGS"
6031 echo " LDFLAGS.......: $LDFLAGS"
6032 echo " EFLJS_CXXFLAGS: $EFLJS_CXXFLAGS"
6034 if test "x${with_binary_edje_cc}" != "x"; then
6035 echo " edje_cc.......: ${with_binary_edje_cc}"
6038 if test "x${with_binary_eolian_gen}" != "x"; then
6039 echo " eolian_gen....: ${with_binary_eolian_gen}"
6042 if test "x${with_binary_eolian_cxx}" != "x"; then
6043 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
6046 if test "x${with_binary_elua_bin}" != "x"; then
6047 echo " elua..........: ${with_binary_elua_bin}"
6051 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
6052 echo " prefix........: $prefix"
6053 echo " dbus units....: $dbusservicedir"
6054 if test "${have_systemd_user_session}" = "yes"; then
6055 echo " systemd units.: $USER_SESSION_DIR"
6059 if test -n "$CFOPT_WARNING"; then
6060 echo "_____________________________________________________________________"
6062 echo "==-- WARNING --=="
6064 echo "_____________________________________________________________________"
6065 if test "x${with_x11}" = "xxcb"; then
6066 echo "_____________________________________________________________________"
6067 echo "You have chosen to use XCB instead of Xlib. It is a myth that XCB"
6068 echo "is amazingly faster than Xlib (when used sensibly). It can be"
6069 echo "faster in a few corner cases on startup of an app, but it comes"
6070 echo "with many downsides. One of those is more complex code inside"
6071 echo "ecore_x, which is far less tested in XCB mode than Xlib. Also"
6072 echo "the big catch is that OpenGL support basically requires Xlib anyway"
6073 echo "so if you want OpenGL in X11, you need Xlib regardless and so you"
6074 echo "gain nothing really in terms of speed and no savings in memory"
6075 echo "because Xlib is still linked, loaded and used, BUT instead you"
6076 echo "have OpenGL drivers working with an hybrid XCB/Xlib (mostly XCB)"
6077 echo "toolkit and this is basically never tested by anyone working on"
6078 echo "the OpenGL drivers, so you will have bugs. Do not enable XCB"
6079 echo "and use OpenGL. XCB is only useful if you wish to shave a few Kb"
6080 echo "off the memory footprint of a whole system and live with less"
6081 echo "tested code, and possibly unimplemented features in ecore_x. To"
6082 echo "remove the XCB setup, remove the --with-x11=xcb option to"
6084 echo "_____________________________________________________________________"
6086 if test "x${want_physics}" = "xno"; then
6087 echo "_____________________________________________________________________"
6088 echo "You have chosen to disable physics support. This disables lots of"
6089 echo "core functionality and is effectively never tested. You are going"
6090 echo "to find features that suddenly don't work and as a result cause"
6091 echo "a series of breakages. This is simply not tested so you are on"
6092 echo "your own in terms of ensuring everything works if you do this"
6093 echo "_____________________________________________________________________"
6095 if test "x${efl_have_threads}" = "xno"; then
6096 echo "_____________________________________________________________________"
6097 echo "You have disabled threading support. A lot of code is literally"
6098 echo "written to need threading. We never test or even build with"
6099 echo "threading disabled, so doing this is entering uncharted territory."
6100 echo "There is a very good chance things may not compile at all, or if"
6101 echo "the do, they will break at runtime in weird and wonderful ways."
6102 echo "Highly reconsider what you are doing here, or be prepared to deal"
6103 echo "with the fallout yourself."
6104 echo "_____________________________________________________________________"
6106 if test "x${want_fontconfig}" = "xno"; then
6107 echo "_____________________________________________________________________"
6108 echo "You have disabled fontconfig. This is going to make general font"
6109 echo "searching not work, and only some very direct 'load /path/file.ttf'"
6110 echo "will work alongside some old-school ttf file path searching. This"
6111 echo "is very likely not what you want, so highly reconsider turning"
6112 echo "fontconfig off. Having it off will lead to visual problems like"
6113 echo "missing text in many UI areas etc."
6114 echo "_____________________________________________________________________"
6116 if test "x${want_fribidi}" = "xno"; then
6117 echo "_____________________________________________________________________"
6118 echo "Fribidi is used for handling right-to-left text (like Arabic,"
6119 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
6120 echo "you want to disable unless you know for absolute certain you"
6121 echo "will never encounter and have to display such scripts. Also"
6122 echo "note that we don't test with fribidi disabled so you may also"
6123 echo "trigger code paths with bugs that are never normally used."
6124 echo "_____________________________________________________________________"
6126 if test "x${want_pixman}" = "xyes"; then
6127 echo "_____________________________________________________________________"
6128 echo "Pixman allows you to replace some rendering paths in Evas with"
6129 echo "Pixman. Pixman may or may not be faster (probably slower), and"
6130 echo "the rendering paths with Pixman enabled are not tested often so"
6131 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
6132 echo "you wish to deal with these bugs."
6133 echo "_____________________________________________________________________"
6135 if test "x${have_tile_rotate}" = "xyes"; then
6136 echo "_____________________________________________________________________"
6137 echo "Tiled rotation code is not tested much, so be aware that you"
6138 echo "may introduce bugs by enabling this."
6139 echo "_____________________________________________________________________"
6141 if test "x${want_g_main_loop}" = "xyes"; then
6142 echo "_____________________________________________________________________"
6143 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
6144 echo "regularly, but the glib mainloop integration (on by default) is."
6145 echo "You can use apps that use glib mainloop constructs by default"
6146 echo "this way, but the Ecore mainloop is not built on top of glib."
6147 echo "You have enabled ecore to be built on top of glib and thus you"
6148 echo "may experience bugs that normally would not be there. Be prepared"
6149 echo "to fix these if they arise."
6150 echo "_____________________________________________________________________"
6152 if test "x${want_gstreamer}" = "xyes"; then
6153 echo "_____________________________________________________________________"
6154 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
6155 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
6156 echo "and will eventually be removed entirely. Don't enable the old"
6157 echo "Gstreamer support unless you want to deal with the issues yourself."
6158 echo "_____________________________________________________________________"
6160 if test "x${want_gstreamer1}" = "xno"; then
6161 echo "_____________________________________________________________________"
6162 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
6163 echo "this as it will heavily limit your media support options and render"
6164 echo "some functionality as useless, leading to visible application bugs."
6165 echo "_____________________________________________________________________"
6167 if test "x${want_eo_id}" = "xno"; then
6168 echo "_____________________________________________________________________"
6169 echo "Eo's ID abstraction interface is a major safety system that"
6170 echo "protects code from crashing or misbehaving in many cases. It does"
6171 echo "come at a slight cost, but the safety and protection is worth it."
6172 echo "Also by disabling this, you may also introduce security holes in"
6173 echo "EFL as well as cause all sorts of previously non-existant crashes."
6174 echo "Seriously reconsider disabling EO ID."
6175 echo "_____________________________________________________________________"
6177 if test "x${want_evas_cserve2}" = "xno"; then
6178 echo "_____________________________________________________________________"
6179 echo "Evas Cserve is built and on by default and no testing is done"
6180 echo "for the old non-cserve2 code paths, so by disabling this you"
6181 echo "may be introducing bugs. Be aware of this and be prepared to"
6182 echo "deal with the bugs as a result of this."
6183 echo "_____________________________________________________________________"
6185 if test "x${want_audio}" = "xno"; then
6186 echo "_____________________________________________________________________"
6187 echo "You disabled audio support in Ecore. This is not tested and may"
6188 echo "Create bugs for you due to it creating untested code paths."
6189 echo "Reconsider disabling audio."
6190 echo "_____________________________________________________________________"
6192 if test "x${want_pulseaudio}" = "xno"; then
6193 echo "_____________________________________________________________________"
6194 echo "The only audio output method supported by Ecore right now on your"
6195 echo "system is via Pulseaudio. You have disabled that and likely have"
6196 echo "broken a whole bunch of things in the process. Reconsider your"
6197 echo "configure options."
6198 echo "_____________________________________________________________________"
6200 if test "x${want_xinput2}" = "xno"; then
6201 echo "_____________________________________________________________________"
6202 echo "You have disabled xinput2 support. This means a whole lot of input"
6203 echo "devices in X11 will not work correctly. You likely do not want to"
6205 echo "_____________________________________________________________________"
6207 if test "x${want_xim}" = "xno"; then
6208 echo "_____________________________________________________________________"
6209 echo "You disabled XIM input method support. This is the most basic and"
6210 echo "core input method protocol supported in X11 and you almost certainly"
6211 echo "want the support for it. Input methods allow for complex text input"
6212 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
6213 echo "on touch/mobile devices."
6214 echo "_____________________________________________________________________"
6216 if test "x${want_scim}" = "xno"; then
6217 echo "_____________________________________________________________________"
6218 echo "SCIM is a modern and very common input method framework and you"
6219 echo "disabled support for it. You very likely want the support for"
6220 echo "complex language input, so please reconsider this. Input methods"
6221 echo "allow for complex text input like for Chinese, Japanese and Korean"
6222 echo "as well as virtual keyboards on touch/mobile devices."
6223 echo "_____________________________________________________________________"
6225 if test "x${want_libmount}" = "xno"; then
6226 echo "_____________________________________________________________________"
6227 echo "Libmount has been disabled, and it is used heavily inside Eeze"
6228 echo "for support of removable devices etc. and disabling this will"
6229 echo "hurt support for Enlightenment and its filemanager."
6230 echo "_____________________________________________________________________"
6232 if test "x${want_multisense}" = "xno"; then
6233 echo "_____________________________________________________________________"
6234 echo "Multisense has been disabled. This causes Edje audio suport to"
6235 echo "Simply not work, and will break applications and libraries"
6236 echo "that rely on it with users then reporting bugs."
6237 echo "If you want to mute audio, there are APIs and policies to do"
6238 echo "that, as opposed to compiling it out."
6239 echo "_____________________________________________________________________"
6241 if test "x${efl_api}" = "xeo"; then
6242 echo "_____________________________________________________________________"
6243 echo "Using the EO based EFL API only does not work at the moment. We still"
6244 echo "have a lot code that depends on the legacy interfaces. We provide"
6245 echo "this option for testing once we are able to migrate to the EO based"
6247 echo "If you are not working on this migration please leave the option set"
6248 echo "to both as it will break your build if set to eo."
6249 echo "_____________________________________________________________________"
6251 if test "x${want_libeeze}" = "xno"; then
6252 echo "_____________________________________________________________________"
6253 echo "Libeeze has been disabled, and it is used heavily for support of"
6254 echo "removable devices etc. and disabling this will hurt support for"
6255 echo "Enlightenment and its filemanager."
6256 echo "_____________________________________________________________________"
6258 echo "_____________________________________________________________________"
6260 echo "==-- WARNING --=="
6262 echo "_____________________________________________________________________"
6263 if test -n "$BARF_OK"; then
6264 echo "Please add the following option to acknowledge this:"
6265 echo " --enable-i-really-know-what-i-am-doing-and-that-this-will-probably-break-things-and-i-will-fix-them-myself-and-send-patches-abb"
6266 echo "_____________________________________________________________________"
6273 if test "x$prefix" != "x/usr"; then
6275 path=$dbusservicedir
6276 while test "x$old" != "x$path"; do
6278 eval path="\"$path\""
6280 resolved_dbusservicedir=$path
6283 path=$USER_SESSION_DIR
6284 while test "x$old" != "x$path"; do
6286 eval path="\"$path\""
6288 resolved_USER_SESSION_DIR=$path
6289 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
6293 while test "x$old" != "x$path"; do
6295 eval path="\"$path\""
6297 resolved_datadir=$path
6300 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
6301 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
6302 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
6303 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
6308 needs_alert_systemd=0
6309 if test "$have_systemd_user_session" = "yes"; then
6310 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
6311 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
6312 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
6313 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
6315 needs_alert_systemd=1
6319 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
6320 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
6321 what_alert="dbus and systemd"
6322 elif test $needs_alert_dbus -eq 1; then
6325 what_alert="systemd"
6329 echo "#-------------------------------------------------------------------#"
6330 echo "##==-- ALERT --==##"
6331 echo "#-------------------------------------------------------------------#"
6333 echo " Your installation prefix is *NOT* /usr so this means you need"
6334 echo "to ensure some files are visible to $what_alert otherwise services cannot"
6335 echo "be started when needed. You will need to do the following:"
6336 if test $needs_alert_dbus -eq 1; then
6338 echo "System-wide installation:"
6339 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
6341 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
6343 echo "User installation:"
6344 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
6346 if test $needs_alert_systemd -eq 1; then
6348 echo "System-wide installation:"
6349 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
6351 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
6353 echo "User installation:"
6354 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
6357 echo "#-------------------------------------------------------------------#"
6360 elif test "x${have_darwin}" = "xyes"; then
6362 echo "#-------------------------------------------------------------------#"
6363 echo "##==-- ALERT --==##"
6364 echo "#-------------------------------------------------------------------#"
6366 echo " If you are running Mac OS X >= 10.11 (starting from El Capitan)"
6367 echo " you will have TROUBLE with the prefix you have chosen (/usr)..."
6368 echo " Don't make it double and consider to use the default prefix"
6369 echo " (/usr/local). This is because of Apple's SIP that provides MAC"
6370 echo " and prevents ANYONE modifying the system."
6372 echo "#-------------------------------------------------------------------#"
6375 if test "x${efl_deprecated_option}" = "xyes"; then
6377 echo "#-------------------------------------------------------------------#"
6378 echo "##==-- ALERT --==##"
6379 echo "#-------------------------------------------------------------------#"
6381 echo " Your build script is using a deprecated option. It will get b0rken"
6382 echo "with the next release of EFL. You better update it now than later."
6384 echo "#-------------------------------------------------------------------#"