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|none],[Use X11 (Xlib) or not])])
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
1926 case "${with_x11}" in
1935 AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
1940 AC_ARG_WITH([opengl],
1941 [AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
1943 if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
1945 elif test "x${with_opengl}" = "x"; then
1949 case "${with_opengl}" in
1953 AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
1957 want_x11_xlib_opengl="no"
1958 if test "${with_opengl}" != "none"; then
1959 want_x11_xlib_opengl="${want_x11_xlib}"
1960 want_x11_any_opengl="${want_x11_any}"
1964 AC_ARG_ENABLE([wayland],
1965 [AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
1967 if test "x${enableval}" = "xyes" ; then
1973 [want_wayland="no"])
1975 if test "${want_wayland}" = "yes"; then
1976 EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0])
1980 AC_ARG_ENABLE([wayland-ivi-shell],
1981 [AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
1983 if test "x${enableval}" = "xyes" ; then
1984 want_wayland_ivi_shell="yes"
1986 want_wayland_ivi_shell="no"
1989 [want_wayland_ivi_shell="no"])
1993 [AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
1995 if test "x${enableval}" = "xyes" ; then
2004 AC_ARG_ENABLE([eglfs],
2005 [AS_HELP_STRING([--enable-eglfs],[enable hardware accelerated framebuffer access. @<:@default=disabled@:>@])],
2007 if test "x${enableval}" = "xyes" ; then
2017 AC_ARG_ENABLE([sdl],
2018 [AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
2020 if test "x${enableval}" = "xyes" ; then
2028 if test "${want_sdl}" = "yes"; then
2029 EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
2032 # We only enable SDL with opengl if it is the full version and not ES
2033 # This can be changed if we ported our SDL code over to SDL 2.0. For older
2034 # versions the SDL_opengles.h has never been released.
2036 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
2037 AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
2039 if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
2044 AC_ARG_ENABLE([cocoa],
2045 [AS_HELP_STRING([--enable-cocoa],[enable Cocoa backend on Mac OS X. @<:@default=enabled@:>@])],
2047 if test "x${enableval}" = "xyes" ; then
2055 if test "${want_cocoa}" = "yes"; then
2056 #test cocoa requirements (objc and Cocoa/Cocoa.h)
2059 m4_ifdef([AC_PROG_OBJC],
2061 AC_LANG_PUSH([Objective C])
2063 LIBS="$LIBS -framework Cocoa"
2067 #include <Cocoa/Cocoa.h>
2071 window = [[NSWindow alloc]
2072 initWithContentRect:NSMakeRect(0, 0, 1, 1)
2073 styleMask:(NSTitledWindowMask)
2074 backing:NSBackingStoreBuffered
2081 cocoa_ldflags="-framework Cocoa"
2085 AC_MSG_CHECKING([whether Cocoa framework is supported])
2086 AC_MSG_RESULT([${have_cocoa}])
2087 AC_LANG_POP([Objective C])
2090 AC_SUBST(cocoa_ldflags)
2092 if test "x${have_cocoa}" = "xyes"; then
2093 #test cocoa requirements (objc and Cocoa/Cocoa.h)
2094 cocoa_coreservices_ldflags=""
2095 have_cocoa_coreservices="no"
2096 m4_ifdef([AC_PROG_OBJC],
2098 AC_LANG_PUSH([Objective C])
2100 LIBS="$LIBS -framework CoreServices"
2104 #include <CoreServices/CoreServices.h>
2107 //test function here
2110 have_cocoa_coreservices="yes"
2111 cocoa_coreservices_ldflags="-framework CoreServices"
2113 [have_cocoa_coreservices="no"])
2115 AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
2116 AC_MSG_RESULT([${have_cocoa_coreservices}])
2117 AC_LANG_POP([Objective C])
2120 AC_SUBST(cocoa_coreservices_ldflags)
2122 AC_ARG_ENABLE([elput],
2123 [AS_HELP_STRING([--enable-elput],[enable elput library. @<:@default=disabled@:>@])],
2125 if test "x${enableval}" = "xyes" ; then
2132 if test "x${want_wayland}" = "xyes" ; then
2140 AC_ARG_ENABLE([drm],
2141 [AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
2143 if test "x${enableval}" = "xyes" ; then
2144 if test "x${want_elput}" != "xyes" ; then
2145 AC_MSG_ERROR([elput is required to build drm support])
2154 AC_ARG_ENABLE([gl-drm],
2155 [AC_HELP_STRING([--enable-gl-drm],
2156 [enable gl drm engine. @<:@default=disabled@:>@])],
2158 if test "x${enableval}" = "xyes" ; then
2166 AC_ARG_ENABLE([fontconfig],
2167 [AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
2169 if test "x${enableval}" = "xyes" ; then
2170 want_fontconfig="yes"
2172 want_fontconfig="no"
2173 CFOPT_WARNING="xyes"
2176 [want_fontconfig="yes"])
2179 AC_ARG_ENABLE([fribidi],
2180 [AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
2182 if test "x${enableval}" = "xyes" ; then
2186 CFOPT_WARNING="xyes"
2189 [want_fribidi="yes"])
2192 AC_ARG_ENABLE([eo_id],
2193 [AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])],
2195 if test "x${enableval}" = "xyes" ; then
2199 CFOPT_WARNING="xyes"
2205 AC_ARG_ENABLE([harfbuzz],
2206 [AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
2208 if test "x${enableval}" = "xyes" ; then
2214 [want_harfbuzz="no"])
2217 AC_ARG_ENABLE([hyphen],
2218 [AS_HELP_STRING([--enable-hyphen],[enable text hyphenation support. @<:@default=disabled@:>@])],
2220 if test "x${enableval}" = "xyes" ; then
2229 AC_ARG_ENABLE([egl],
2230 [AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
2232 if test "x${enableval}" = "xyes" ; then
2240 # Verify OpenGL + EGL modes match (full+glx or es+egl)
2241 if test "x${want_egl}" = "xyes" && test "x${with_opengl}" != "xes" ; then
2242 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.])
2244 if test "x${want_egl}" = "xno" && test "x${with_opengl}" = "xes" ; then
2245 AC_MSG_ERROR([OpenGL ES requires EGL, please add --enable-egl to your configure options to switch to EGL + OpenGL ES.])
2249 AC_ARG_ENABLE([pixman],
2250 [AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
2252 if test "x${enableval}" = "xyes" ; then
2254 CFOPT_WARNING="xyes"
2261 AC_ARG_ENABLE([pixman-font],
2262 [AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
2264 if test "x${enableval}" = "xyes" ; then
2265 have_pixman_font="yes"
2267 have_pixman_font="no"
2270 [have_pixman_font="no"])
2272 AC_ARG_ENABLE([pixman-rect],
2273 [AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
2275 if test "x${enableval}" = "xyes" ; then
2276 have_pixman_rect="yes"
2278 have_pixman_rect="no"
2281 [have_pixman_rect="no"])
2283 AC_ARG_ENABLE([pixman-line],
2284 [AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
2286 if test "x${enableval}" = "xyes" ; then
2287 have_pixman_line="yes"
2289 have_pixman_line="no"
2292 [have_pixman_line="no"])
2294 AC_ARG_ENABLE(pixman-poly,
2295 AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
2297 if test "x${enableval}" = "xyes" ; then
2298 have_pixman_poly="yes"
2300 have_pixman_poly="no"
2303 [have_pixman_poly="no"])
2305 AC_ARG_ENABLE([pixman-image],
2306 [AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
2308 if test "x${enableval}" = "xyes" ; then
2309 have_pixman_image="yes"
2311 have_pixman_image="no"
2314 [have_pixman_image="no"])
2316 AC_ARG_ENABLE([pixman-image-scale-sample],
2317 [AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
2319 if test "x${enableval}" = "xyes" ; then
2320 have_pixman_image_scale_sample="yes"
2322 have_pixman_image_scale_sample="no"
2325 [have_pixman_image_scale_sample="no"])
2328 AC_ARG_ENABLE([tile-rotate],
2329 [AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
2331 if test "x${enableval}" = "xyes" ; then
2332 have_tile_rotate="yes"
2333 CFOPT_WARNING="xyes"
2335 have_tile_rotate="no"
2338 [have_tile_rotate="no"])
2341 AC_ARG_ENABLE([ecore-buffer],
2342 [AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
2344 if test "x${enableval}" = "xyes" ; then
2345 want_ecore_buffer="yes"
2347 want_ecore_buffer="no"
2350 [want_ecore_buffer="no"])
2355 AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
2374 want_generic="static"
2383 ARG_ENABLE_EVAS_VG_LOADER(SVG, static)
2384 ARG_ENABLE_EVAS_VG_LOADER(EET, static)
2387 ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
2388 ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
2389 ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, [${want_generic}])
2390 ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
2391 ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
2392 ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
2393 ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
2394 ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
2395 ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
2396 ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
2397 ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
2398 ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
2399 ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
2400 ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
2401 ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
2402 ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
2403 ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
2407 want_evas_engine_software_gdi="${have_win32}"
2408 want_evas_engine_software_ddraw="${have_win32}"
2409 want_evas_engine_gl_cocoa="${have_cocoa}"
2410 want_evas_engine_wayland_egl="no"
2411 if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
2412 want_evas_engine_wayland_egl="yes"
2415 if test "${want_lua_old}" = "yes"; then
2416 EFL_CHECK_LUA_OLD([EVAS])
2418 EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
2421 EFL_ADD_FEATURE([EVAS], [lua-old])
2423 EFL_CHECK_FUNC([EVAS], [dlsym])
2425 if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
2426 AC_MSG_ERROR([OpenGL cannot work without dlsym()])
2429 ### Checks for programs
2431 ### Checks for libraries
2433 ## Compatibility layers
2434 EFL_PLATFORM_DEPEND([EVAS], [all])
2435 EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
2436 EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
2437 EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
2438 EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
2439 EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
2440 EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
2441 EFL_INTERNAL_DEPEND_PKG([EVAS], [ecore])
2443 EFL_ADD_LIBS([EVAS], [-lm])
2446 EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
2448 ## optional dependencies
2451 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
2452 [FONTCONFIG], [fontconfig >= 2.5.0])
2455 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
2456 [FRIBIDI], [fribidi >= 0.19.2])
2459 have_harfbuzz_ft="no"
2460 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
2461 [HARFBUZZ], [harfbuzz >= 0.9.0])
2464 EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
2466 if test "x${have_pixman}" = "xyes" ; then
2467 if test "x${have_pixman_font}" = "xyes" ; then
2468 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
2470 EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
2472 if test "x${have_pixman_rect}" = "xyes" ; then
2473 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
2475 EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
2477 if test "x${have_pixman_line}" = "xyes" ; then
2478 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
2480 EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
2482 if test "x${have_pixman_poly}" = "xyes" ; then
2483 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
2485 EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
2487 if test "x${have_pixman_image}" = "xyes" ; then
2488 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
2490 EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
2492 if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
2493 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
2495 EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
2500 define([EVAS_ENGINE_DEP_CHECK_FB], [
2501 AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
2504 define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [
2505 AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])])
2508 EVAS_ENGINE([buffer], [static])
2509 EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
2510 EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT])
2513 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
2514 EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
2515 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
2516 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
2517 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
2518 EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
2519 EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
2520 EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
2521 EVAS_CHECK_ENGINE([eglfs], [${want_eglfs}], [no], [OpenGL Fb])
2526 have_evas_engine_software_xlib="no"
2527 EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
2528 AC_MSG_CHECKING([whether to build Software Xlib Engine])
2529 AC_MSG_RESULT([${have_evas_engine_software_xlib}])
2531 # If software_x11 is available, define everything needed for X11
2533 have_evas_engine_software_x11="no"
2534 if test "x${have_evas_engine_software_xlib}" = "xyes" || test "x${have_evas_engine_software_xlib}" = "xstatic"; then
2535 have_evas_engine_software_x11="yes"
2536 AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
2538 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
2540 if test "x${have_evas_engine_software_xlib}" = "xstatic"; then
2541 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
2543 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xlib}" = "xstatic"])
2545 # Needed for evas-software-x11.pc
2547 AC_SUBST([have_evas_engine_software_xlib])
2550 AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
2551 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
2555 if test "${with_opengl}" = "es" ; then
2556 AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
2561 have_evas_engine_gl_xlib="no"
2562 EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
2564 AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
2565 AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
2567 # If opengl_x11 is available, define everything needed for X11
2569 have_evas_engine_gl_x11="no"
2570 if test "x${have_evas_engine_gl_xlib}" = "xyes" || test "x${have_evas_engine_gl_xlib}" = "xstatic"; then
2571 have_evas_engine_gl_x11="yes"
2572 AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
2574 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
2576 if test "x${have_evas_engine_gl_xlib}" = "xstatic"; then
2577 AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
2579 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xlib}" = "xstatic"])
2581 # Needed for evas-opengl-x11.pc
2583 AC_SUBST([have_evas_engine_gl_xlib])
2587 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
2588 AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
2589 [AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
2590 [#include <SDL2/SDL_video.h>])
2593 if test "${with_opengl}" = "es"; then
2594 AC_CHECK_DECL([SDL_OPENGLES],
2595 [AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
2596 [#include <SDL2/SDL_video.h>])
2600 evas_engine_gl_common_cflags=""
2601 if test "x${have_egl}" = "xyes"; then
2602 evas_engine_gl_common_libs="-lEGL"
2604 evas_engine_gl_common_libs="-lGL"
2607 # The lines below fix compiling/linking of gl_generic on OSX
2608 if test "x${have_darwin}" = "xyes"; then
2609 if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
2610 # If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
2611 # CFLAGS and LIBS are determined by evas-gl_cocoa.
2612 evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
2613 evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
2615 # If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
2616 # is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
2617 # cannot compile (nor link).
2618 evas_engine_gl_common_libs=""
2619 evas_engine_gl_common_cflags=""
2621 if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
2622 evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
2623 evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
2625 ### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
2629 AC_SUBST([evas_engine_gl_common_cflags])
2630 AC_SUBST([evas_engine_gl_common_libs])
2632 have_evas_engine_gl_common="no"
2633 have_static_evas_engine_gl_common="no"
2634 if test "x$have_evas_engine_gl_xlib" = "xyes" || \
2635 test "x$have_evas_engine_gl_sdl" = "xyes" || \
2636 test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2637 test "x$have_evas_engine_gl_drm" = "xyes" || \
2638 test "x$have_evas_engine_eglfs" = "xyes" || \
2639 test "x$have_evas_engine_wayland_egl" = "xyes"; then
2640 have_evas_engine_gl_common="yes"
2642 if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
2643 test "x$have_evas_engine_gl_sdl" = "xstatic" || \
2644 test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2645 test "x$have_evas_engine_gl_drm" = "xstatic" || \
2646 test "x$have_evas_engine_eglfs" = "xstatic" || \
2647 test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2648 have_evas_engine_gl_common="yes"
2649 have_static_evas_engine_gl_common="yes"
2652 if test "x${have_evas_engine_gl_common}" = "xyes"; then
2653 AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
2656 AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
2658 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
2659 AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
2662 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2664 have_evas_engine_wayland_common="no"
2665 if test "x$have_evas_engine_wayland_egl" = "xstatic" || \
2666 test "x$have_evas_engine_wayland_shm" = "xstatic" || \
2667 test "x$have_evas_engine_wayland_egl" = "xyes" || \
2668 test "x$have_evas_engine_wayland_shm" = "xyes"; then
2669 have_evas_engine_wayland_common="yes"
2672 if test "x$have_evas_engine_wayland_common" = "xyes"; then
2673 AC_DEFINE([BUILD_ENGINE_WAYLAND_COMMON], [1], [Building any wayland evas engine])
2675 AM_CONDITIONAL([BUILD_ENGINE_WAYLAND_COMMON], [test "x${have_evas_engine_wayland_common}" = "xyes"])
2679 EVAS_CHECK_VG_LOADER([SVG], [${want_evas_vg_loader_svg}])
2680 EVAS_CHECK_VG_LOADER([EET], [${want_evas_vg_loader_eet}])
2684 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
2685 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
2686 EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
2687 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
2688 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
2689 EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2690 EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2691 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
2692 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
2693 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
2694 EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
2695 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
2696 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
2697 EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
2698 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2699 EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2700 EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2702 EFL_EVAL_PKGS([EVAS])
2704 ### Checks for header files
2706 if test "x$want_hyphen" = "xyes" ; then
2708 EFL_CHECK_LIB_CODE([EVAS], [-lhyphen], [have_fct], [[
2718 if test "${have_fct}" = "no"; then
2719 AC_MSG_ERROR([Cannot find the hyphen library.])
2721 AC_DEFINE([HAVE_HYPHEN], [1], [have hunspell hyphen support])
2725 if test "x$have_harfbuzz" = "xyes" ; then
2727 CPPFLAGS_SAVE="$CPPFLAGS"
2728 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2729 # must have for usage with harfbuzz although harfbuzz may not have it.
2731 AC_CHECK_HEADER([hb-ft.h],
2733 have_harfbuzz_ft="yes"
2734 #Depend on harfbuzz ft for harfbuzz support
2735 AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
2737 [AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
2739 CPPFLAGS="$CPPFLAGS_SAVE"
2742 ### Checks for types
2744 CPPFLAGS_SAVE="$CPPFLAGS"
2745 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2746 AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
2747 CPPFLAGS="$CPPFLAGS_SAVE"
2750 if test "x$have_fribidi" = "xyes" ; then
2751 CPPFLAGS_SAVE="$CPPFLAGS"
2752 CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2753 AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2754 CPPFLAGS="$CPPFLAGS_SAVE"
2757 ### Checks for structures
2759 AC_CHECK_TYPES([struct sigaction], [], [],
2760 [[#include <signal.h>]])
2762 ### Checks for compiler characteristics
2764 ### Checks for linker characteristics
2766 ### Checks for library functions
2768 AC_CHECK_FUNCS([siglongjmp])
2770 AC_CHECK_LIB([m], [lround],
2771 [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
2772 [EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2778 AC_ARG_ENABLE([cserve],
2779 [AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
2781 if test "x${enableval}" = "xyes" ; then
2782 want_evas_cserve2="yes"
2784 want_evas_cserve2="no"
2785 CFOPT_WARNING="xyes"
2788 [want_evas_cserve2="yes"])
2790 if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2791 EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2794 # cserve2 only works on Linux so far.
2796 if test "x${efl_func_shm_open}" = "xno" ; then
2797 want_evas_cserve2="no"
2800 if test "x${want_evas_cserve2}" = "xyes"; then
2801 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
2802 want_evas_cserve2="no"
2804 EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2805 AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2809 AC_DEFINE_IF([EVAS_CSERVE2],
2810 [test "x${want_evas_cserve2}" = "xyes"],
2811 [1], [Shared cache server.])
2812 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
2818 if test "x${have_tile_rotate}" = "xyes" ; then
2819 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2825 AC_ARG_WITH([evas-dither-mask],
2826 [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.
2827 @<:@default=big@:>@])],
2828 [build_evas_dither_mask=${withval}],
2829 [build_evas_dither_mask=big])
2831 case "${build_evas_dither_mask}" in
2833 AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
2836 AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
2839 AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
2842 AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
2845 AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
2848 EFL_ADD_FEATURE([EVAS], [fontconfig])
2849 EFL_ADD_FEATURE([EVAS], [fribidi])
2850 EFL_ADD_FEATURE([EVAS], [harfbuzz])
2851 EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
2852 EFL_ADD_FEATURE([EVAS], [tile-rotate])
2853 EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
2854 EFL_ADD_FEATURE([EVAS], [hyphen])
2856 #### Generic backend
2858 ### Options to turn off generic loaders for evas
2859 AC_ARG_ENABLE([poppler],
2860 [AS_HELP_STRING([--disable-poppler],[disable pdf support. @<:@default=enabled@:>@])],
2862 if test "x${enableval}" = "xyes" ; then
2869 AC_ARG_ENABLE([spectre],
2870 [AS_HELP_STRING([--disable-spectre],[disable postscript support. @<:@default=enabled@:>@])],
2872 if test "x${enableval}" = "xyes" ; then
2879 AC_ARG_ENABLE([libraw],
2880 [AS_HELP_STRING([--disable-libraw],[disable libraw support. @<:@default=enabled@:>@])],
2882 if test "x${enableval}" = "xyes" ; then
2889 AC_ARG_ENABLE([librsvg],
2890 [AS_HELP_STRING([--disable-librsvg],[disable svg support. @<:@default=enabled@:>@])],
2892 if test "x${enableval}" = "xyes" ; then
2899 AC_ARG_ENABLE([xcf],
2900 [AS_HELP_STRING([--disable-xcf],[disable xcf support. @<:@default=enabled@:>@])],
2902 if test "x${enableval}" = "xyes" ; then
2914 ### Check needed dependency for each generic loader
2915 if test "x${want_poppler}" = "xyes"; then
2916 PKG_CHECK_MODULES([POPPLER], [poppler-cpp >= 0.12], [have_poppler="yes"])
2919 if test "x${want_spectre}" = "xyes"; then
2920 PKG_CHECK_MODULES([SPECTRE], [libspectre], [have_spectre="yes"])
2923 if test "x${want_libraw}" = "xyes"; then
2924 PKG_CHECK_MODULES([LIBRAW], [libraw], [have_raw="yes"])
2927 if test "x${want_rsvg}" = "xyes"; then
2928 PKG_CHECK_MODULES([RSVG], [librsvg-2.0 >= 2.14.0 cairo >= 1.0.0], [have_rsvg="yes"])
2930 [SVG_2_36], [librsvg-2.0 >= 2.36.0 cairo >= 1.0.0],
2932 have_rsvg_2_36="yes"
2933 AC_DEFINE(HAVE_SVG_2_36, 1, [Have librsvg >= 2.36])
2935 [have_rsvg_2_36="no"])
2938 AM_CONDITIONAL([HAVE_POPPLER], [test "x${have_poppler}" = "xyes"])
2939 AM_CONDITIONAL([HAVE_SPECTRE], [test "x${have_spectre}" = "xyes"])
2940 AM_CONDITIONAL([HAVE_LIBRAW], [test "x${have_raw}" = "xyes"])
2941 AM_CONDITIONAL([HAVE_RSVG], [test "x${have_rsvg}" = "xyes"])
2942 AM_CONDITIONAL([HAVE_XCF], [test "x${want_xcf}" = "xyes"])
2944 EFL_ADD_FEATURE([EVAS_LOADER], [poppler], [${have_poppler}])
2945 EFL_ADD_FEATURE([EVAS_LOADER], [spectre], [${have_spectre}])
2946 EFL_ADD_FEATURE([EVAS_LOADER], [raw], [${have_raw}])
2947 EFL_ADD_FEATURE([EVAS_LOADER], [rsvg], [${have_rsvg}])
2948 EFL_ADD_FEATURE([EVAS_LOADER], [xcf], [${want_xcf}])
2954 EFL_LIB_START([Evas_Cxx])
2956 EFL_EVAL_PKGS([EVAS_CXX])
2958 EFL_LIB_END([Evas_Cxx])
2959 #### End of Edje CXX
2963 EFL_LIB_START([Embryo])
2967 ### Additional options to configure
2969 ### Checks for programs
2971 ### Checks for libraries
2972 EFL_PLATFORM_DEPEND([EMBRYO], [all])
2973 EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2975 EFL_ADD_LIBS([EMBRYO], [-lm])
2977 ### Checks for header files
2979 ### Checks for types
2981 ### Checks for structures
2983 ### Checks for compiler characteristics
2985 ### Checks for linker characteristics
2987 ### Checks for library functions
2989 if ! test "x${efl_func_fnmatch}" = "xyes" ; then
2990 AC_MSG_ERROR([Cannot find fnmatch()])
2993 if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
2994 AC_MSG_ERROR([Cannot find gettimeofday()])
2997 ### Check availability
2999 EFL_LIB_END([Embryo])
3004 EFL_LIB_START([Ecore_Cxx])
3006 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
3007 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
3008 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
3009 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
3010 EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Efl])
3012 EFL_EVAL_PKGS([ECORE_CXX])
3014 EFL_LIB_END([Ecore_Cxx])
3015 #### End of Ecore CXX
3019 EFL_LIB_START([Ecore_Con])
3023 want_ecore_con_local_sockets="yes"
3024 want_ecore_con_abstract_sockets="yes"
3026 if test "${have_win32}" = "yes"; then
3027 want_ecore_con_abstract_sockets="no"
3028 elif test "${have_darwin}" = "yes"; then
3029 want_ecore_con_abstract_sockets="yes"
3030 elif test "${have_ps3}" = "yes"; then
3031 want_ecore_con_local_sockets="no"
3032 want_ecore_con_abstract_sockets="no"
3035 AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
3036 [test "x${want_ecore_con_local_sockets}" = "xyes"],
3037 [1], [Have local sockets support])
3038 AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
3039 [test "x${want_ecore_con_abstract_sockets}" = "xyes"],
3040 [1], [Have abstract sockets namespace])
3042 ### Checks for programs
3044 ### Checks for libraries
3045 EFL_PLATFORM_DEPEND([ECORE_CON], [all])
3046 if test "$build_crypto" != "none" ; then
3047 EFL_CRYPTO_DEPEND([ECORE_CON])
3049 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
3050 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [efl])
3051 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
3052 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
3053 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
3054 EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
3056 EFL_ADD_LIBS([ECORE_CON], [-lm])
3058 EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
3060 EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
3061 EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
3062 EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
3064 EFL_EVAL_PKGS([ECORE_CON])
3066 ### Checks for header files
3068 AC_CHECK_HEADERS([ws2tcpip.h netdb.h])
3070 if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
3071 AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
3074 ### Checks for types
3077 AC_CHECK_TYPES([struct ipv6_mreq],
3081 #ifdef HAVE_NETINET_IN_H
3082 # include <netinet/in.h>
3084 #ifdef HAVE_WS2TCPIP_H
3085 # include <ws2tcpip.h>
3089 AC_DEFINE_IF([HAVE_IPV6],
3090 [test "x${have_ipv6}" = "xyes"],
3091 [1], [Define if IPV6 is supported])
3092 AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
3094 ### Checks for structures
3096 ### Checks for compiler characteristics
3098 ### Checks for linker characteristics
3100 ### Checks for library functions
3101 AC_CHECK_FUNCS([accept4])
3103 EFL_LIB_END([Ecore_Con])
3104 #### End of Ecore_Con
3109 EFL_LIB_START([Ecore_Ipc])
3113 ### Additional options to configure
3115 ### Checks for programs
3117 ## Compatibility layers
3118 EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
3120 ### Checks for libraries
3121 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
3122 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
3123 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
3124 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [efl])
3125 EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
3127 EFL_ADD_LIBS([ECORE_IPC], [-lm])
3129 ### Checks for header files
3131 AC_CHECK_HEADERS([winsock2.h])
3133 ### Checks for types
3135 ### Checks for structures
3137 ### Checks for compiler characteristics
3139 ### Checks for linker characteristics
3141 ### Checks for library functions
3143 EFL_LIB_END([Ecore_Ipc])
3144 #### End of Ecore_Ipc
3149 EFL_LIB_START([Ecore_File])
3151 ### Additional options to configure
3155 ### Checks for programs
3157 ## Compatibility layers
3158 EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
3160 ### Checks for libraries
3161 EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
3162 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
3163 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
3164 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
3165 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [efl])
3166 EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
3168 ### Checks for header files
3170 ### Checks for types
3172 ### Checks for structures
3174 ### Checks for compiler characteristics
3176 ### Checks for linker characteristics
3178 ### Checks for library functions
3180 EFL_LIB_END([Ecore_File])
3181 #### End of Ecore_File
3185 have_libmount_new="no"
3186 have_libmount_old="no"
3187 have_eeze_mount="no"
3189 EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
3191 ### Additional options to configure
3192 AC_ARG_WITH([mount],
3193 [AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
3194 [with_eeze_mount=$withval], [with_eeze_mount="detect"])
3195 AC_ARG_WITH([umount],
3196 [AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
3197 [with_eeze_umount=$withval], [with_eeze_umount="detect"])
3198 AC_ARG_WITH([eject],
3199 [AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
3200 [with_eeze_eject=$withval], [with_eeze_eject="detect"])
3204 ### Checks for programs
3206 ### Checks for libraries
3207 EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
3208 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
3209 EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
3210 EFL_INTERNAL_DEPEND_PKG([EEZE], [efl])
3211 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
3212 EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
3213 EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
3214 EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
3216 EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
3218 AC_ARG_ENABLE([libmount],
3219 [AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
3221 if test "x${enableval}" = "xyes" ; then
3225 CFOPT_WARNING="xyes"
3228 [want_libmount="yes"])
3230 EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
3231 [EEZE_MOUNT], [mount >= 2.18.0])
3232 EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
3234 PKG_CHECK_EXISTS([libudev < 199],
3235 [have_libudev_old="yes"],
3236 [have_libudev_old="no"])
3237 AC_MSG_CHECKING([Use old libudev API (before 199)])
3238 AC_MSG_RESULT([${have_libudev_old}])
3240 PKG_CHECK_EXISTS([mount < 2.19.0],
3241 [have_libmount_old="yes"],
3242 [have_libmount_old="no"])
3243 AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
3244 AC_MSG_RESULT([${have_libmount_old}])
3246 PKG_CHECK_EXISTS([mount == 2.19.0],
3247 [have_libmount_219="yes"],
3248 [have_libmount_219="no"])
3249 AC_MSG_CHECKING([Use libmount 2.19.0 API])
3250 AC_MSG_RESULT([${have_libmount_219}])
3252 PKG_CHECK_EXISTS([mount > 2.19.0],
3253 [have_libmount_new="yes"],
3254 [have_libmount_new="no"])
3255 AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
3256 AC_MSG_RESULT([${have_libmount_new}])
3258 if test "x${have_libudev_old}" = "xyes"; then
3259 AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
3262 if test "x${have_libmount_old}" = "xyes"; then
3263 AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
3267 if test "${want_tizen}" = "yes"; then
3268 PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
3270 EFL_ADD_FEATURE([EEZE], [tizen])
3272 EFL_EVAL_PKGS([EEZE])
3274 ### Checks for header files
3276 ### Checks for types
3278 ### Checks for structures
3280 ### Checks for compiler characteristics
3282 ### Checks for linker characteristics
3284 ### Checks for library functions
3286 ### Checks for binaries
3287 if test "x$with_eeze_mount" = "xdetect"; then
3288 AC_PATH_PROG([with_eeze_mount], [mount], [])
3290 AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
3292 if test "x$with_eeze_umount" = "xdetect";then
3293 AC_PATH_PROG([with_eeze_umount], [umount], [])
3295 AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
3297 if test "x$with_eeze_eject" = "xdetect";then
3298 AC_PATH_PROG([with_eeze_eject], [eject], [])
3300 AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
3302 EFL_LIB_END_OPTIONAL([Eeze])
3304 AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
3305 [test "x${have_libmount_new}" = "xyes"])
3306 AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
3307 [test "x${have_libmount_old}" = "xyes"])
3308 AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
3309 AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
3314 EFL_LIB_START([Ecore_Input])
3316 ### Additional options to configure
3320 ### Checks for programs
3322 ## Compatibility layers
3323 EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
3325 ### Checks for libraries
3326 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
3327 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
3328 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [efl])
3329 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
3331 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [${efl_lib_optional_eeze}], [eeze])
3333 ### Checks for header files
3335 ### Checks for types
3337 ### Checks for structures
3339 ### Checks for compiler characteristics
3341 ### Checks for linker characteristics
3343 ### Checks for library functions
3345 EFL_LIB_END([Ecore_Input])
3346 #### End of Ecore_Input
3349 #### Ecore_Input_Evas
3350 EFL_LIB_START([Ecore_Input_Evas])
3352 ### Additional options to configure
3356 ### Checks for programs
3358 ## Compatibility layers
3359 EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
3361 ### Checks for libraries
3362 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
3363 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
3364 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
3365 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
3366 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
3367 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
3368 EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
3370 ### Checks for header files
3372 ### Checks for types
3374 ### Checks for structures
3376 ### Checks for compiler characteristics
3378 ### Checks for linker characteristics
3380 ### Checks for library functions
3382 EFL_LIB_END([Ecore_Input_Evas])
3383 #### End of Ecore_Input_Evas
3387 EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${have_cocoa}" = "yes"])
3389 ### Additional options to configure
3393 ### Checks for programs
3395 ### Checks for libraries
3396 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
3397 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
3398 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
3399 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [efl])
3400 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
3401 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [evas])
3402 EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [emile])
3404 ### Checks for header files
3406 EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
3408 ### Checks for types
3410 ### Checks for structures
3412 ### Checks for compiler characteristics
3414 ### Checks for linker characteristics
3416 ### Checks for library functions
3418 EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
3419 #### End of Ecore_Cocoa
3423 EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
3425 ### Additional options to configure
3426 AC_ARG_ENABLE([tslib],
3427 [AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
3429 if test "x${enableval}" = "xyes" ; then
3434 ], [want_tslib="yes"])
3438 ### Checks for programs
3440 ### Checks for libraries
3441 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
3442 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
3443 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
3444 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [efl])
3445 EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
3447 EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
3448 EFL_ADD_FEATURE([ECORE_FB], [tslib])
3450 EFL_EVAL_PKGS([ECORE_FB])
3452 ### Checks for header files
3455 AC_CHECK_HEADER([linux/fb.h],
3456 [AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
3457 if test "${have_ecore_fb}" = "no"; then
3458 AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
3461 ### Checks for types
3463 ### Checks for structures
3465 ### Checks for compiler characteristics
3467 ### Checks for linker characteristics
3469 ### Checks for library functions
3471 EFL_LIB_END_OPTIONAL([Ecore_FB])
3472 #### End of Ecore_FB
3476 EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
3478 ### Additional options to configure
3482 ### Checks for programs
3484 ### Checks for libraries
3485 EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
3487 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
3488 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
3489 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
3490 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [efl])
3491 EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
3493 EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
3495 ### Checks for header files
3497 ### Checks for types
3499 ### Checks for structures
3501 ### Checks for compiler characteristics
3503 ### Checks for linker characteristics
3505 ### Checks for library functions
3507 EFL_LIB_END_OPTIONAL([Ecore_Psl1ght])
3508 #### End of Ecore_Psl1ght
3512 EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
3514 ### Additional options to configure
3518 ### Checks for programs
3520 ### Checks for libraries
3521 EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
3522 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
3523 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
3524 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
3525 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [efl])
3526 EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
3528 EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
3530 EFL_EVAL_PKGS([ECORE_SDL])
3532 ### Checks for header files
3534 ### Checks for types
3536 ### Checks for structures
3538 ### Checks for compiler characteristics
3540 ### Checks for linker characteristics
3542 ### Checks for library functions
3544 EFL_LIB_END_OPTIONAL([Ecore_SDL])
3545 #### End of Ecore_SDL
3549 EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_ecore_wayland}" = "yes"])
3551 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3552 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
3555 ### Additional options to configure
3559 ### Checks for programs
3561 ### Checks for libraries
3562 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
3563 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
3564 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
3565 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [efl])
3566 EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
3568 EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
3569 [wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0 uuid])
3571 EFL_EVAL_PKGS([ECORE_WAYLAND])
3573 ### Checks for header files
3575 ### Checks for types
3577 ### Checks for structures
3579 ### Checks for compiler characteristics
3581 ### Checks for linker characteristics
3583 ### Checks for library functions
3585 EFL_LIB_END_OPTIONAL([Ecore_Wayland])
3586 #### End of Ecore_Wayland
3589 EFL_LIB_START_OPTIONAL([Ecore_Wl2], [test "${want_wayland}" = "yes"])
3591 if test "x${want_wayland_ivi_shell}" = "xyes" ; then
3592 AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wl2 IVI-Shell Support])
3595 ### Additional options to configure
3599 ### Checks for programs
3601 ### Checks for libraries
3602 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore-input])
3603 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore])
3604 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eo])
3605 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [efl])
3606 EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina])
3608 EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND],
3609 [wayland-server >= 1.11.0 wayland-client >= 1.11.0 xkbcommon >= 0.6.0])
3611 EFL_EVAL_PKGS([ECORE_WL2])
3613 ### Checks for header files
3615 ### Checks for types
3617 ### Checks for structures
3619 ### Checks for compiler characteristics
3621 ### Checks for linker characteristics
3623 ### Checks for library functions
3625 EFL_LIB_END_OPTIONAL([Ecore_Wl2])
3626 #### End of Ecore_Wl2
3629 EFL_LIB_START([Eldbus])
3631 ### Additional options to configure
3635 ### Checks for programs
3637 ## Compatibility layers
3638 EFL_PLATFORM_DEPEND([ELDBUS], [evil])
3640 ### Checks for libraries
3641 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
3642 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [efl])
3643 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
3644 EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
3646 EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
3648 EFL_EVAL_PKGS([ELDBUS])
3650 ### Checks for header files
3652 ### Checks for types
3654 ### Checks for structures
3656 ### Checks for compiler characteristics
3658 ### Checks for linker characteristics
3660 ### Checks for library functions
3662 EFL_LIB_END([Eldbus])
3668 have_libinput_new="no"
3669 EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_ecore_drm}" = "yes"])
3671 ### Additional options to configure
3674 AC_SUBST([SUID_CFLAGS])
3675 AC_SUBST([SUID_LDFLAGS])
3679 ### Checks for programs
3681 ### Checks for libraries
3682 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
3683 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
3684 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
3685 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
3686 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
3687 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [efl])
3688 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
3690 EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
3691 EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0])
3693 EFL_ADD_LIBS([ECORE_DRM], [-lm])
3695 # API change from 0.7 to 0.8. So we define this to support both for now.
3696 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3697 [have_libinput_new="yes"],
3698 [have_libinput_new="no"])
3699 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3700 AC_MSG_RESULT([${have_libinput_new}])
3701 if test "x${have_libinput_new}" = "xyes";then
3702 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3704 if test "x${have_libinput_new}" = "xno";then
3705 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3709 EFL_EVAL_PKGS([ECORE_DRM])
3711 ### Checks for header files
3713 ### Checks for types
3715 ### Checks for structures
3717 ### Checks for compiler characteristics
3719 ### Checks for linker characteristics
3721 ### Checks for library functions
3723 EFL_LIB_END_OPTIONAL([Ecore_Drm])
3724 #### End of Ecore_Drm
3728 have_libinput_new="no"
3729 EFL_LIB_START_OPTIONAL([Elput], [test "${want_elput}" = "yes"])
3731 ### Additional options to configure
3734 AC_SUBST([SUID_CFLAGS])
3735 AC_SUBST([SUID_LDFLAGS])
3739 ### Checks for programs
3741 ### Checks for libraries
3742 EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore])
3743 EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore-input])
3744 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eldbus])
3745 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze])
3746 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo])
3747 EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina])
3749 EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 0.6.0 xkbcommon >= 0.3.0 libudev])
3751 EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd])
3752 EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}])
3754 EFL_ADD_LIBS([ELPUT], [-lm])
3756 # API change from 0.7 to 0.8. So we define this to support both for now.
3757 PKG_CHECK_EXISTS([libinput >= 0.8.0],
3758 [have_libinput_new="yes"],
3759 [have_libinput_new="no"])
3760 AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)])
3761 AC_MSG_RESULT([${have_libinput_new}])
3762 if test "x${have_libinput_new}" = "xyes";then
3763 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8])
3765 if test "x${have_libinput_new}" = "xno";then
3766 AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8])
3770 EFL_EVAL_PKGS([ELPUT])
3772 ### Checks for header files
3774 ### Checks for types
3776 ### Checks for structures
3778 ### Checks for compiler characteristics
3780 ### Checks for linker characteristics
3782 ### Checks for library functions
3784 EFL_LIB_END_OPTIONAL([Elput])
3788 have_libinput_new="no"
3789 EFL_LIB_START_OPTIONAL([Ecore_Drm2], [test "${want_drm}" = "yes"])
3791 ### Additional options to configure
3794 AC_SUBST([SUID_CFLAGS])
3795 AC_SUBST([SUID_LDFLAGS])
3799 ### Checks for programs
3801 ### Checks for libraries
3802 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eo])
3803 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [efl])
3804 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eina])
3805 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [ecore])
3806 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [elput])
3807 EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eeze])
3809 EFL_DEPEND_PKG([ECORE_DRM2], [DRM], [libdrm >= 2.4 gbm])
3811 EFL_ADD_LIBS([ECORE_DRM2], [-lm])
3813 AC_CHECK_LIB(drm, drmModeAtomicCommit, AC_DEFINE(HAVE_ATOMIC_DRM, [], [Atomic modeset supported]))
3815 EFL_EVAL_PKGS([ECORE_DRM2])
3817 ### Checks for header files
3819 ### Checks for types
3821 ### Checks for structures
3823 ### Checks for compiler characteristics
3825 ### Checks for linker characteristics
3827 ### Checks for library functions
3829 EFL_LIB_END_OPTIONAL([Ecore_Drm2])
3830 #### End of Ecore_Drm2
3835 AC_ARG_ENABLE([audio],
3836 [AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
3838 if test "x${enableval}" = "xyes" ; then
3842 CFOPT_WARNING="xyes"
3847 EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
3849 ### Additional options to configure
3851 # ALSA support is still not there, thus no option for it yet.
3854 # sndfile is mandatory otherwise it won't read from/write to files.
3855 # TODO: if confirmed sndfile is mandatory, remove this variable
3856 # TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
3859 AC_ARG_ENABLE([pulseaudio],
3860 [AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
3862 if test "x${enableval}" = "xyes" ; then
3863 want_pulseaudio="yes"
3865 want_pulseaudio="no"
3866 CFOPT_WARNING="xyes"
3869 [want_pulseaudio="yes"])
3873 ### Checks for programs
3875 ## Compatibility layers
3876 EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
3878 ### Checks for libraries
3879 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
3880 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
3881 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
3882 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [efl])
3883 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
3884 EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
3886 EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
3888 if test "x${want_alsa}" = "xyes" ; then
3889 PKG_CHECK_MODULES([ECORE_AUDIO_ALSA], [alsa])
3890 AC_DEFINE([HAVE_ALSA], [1], [Alsa support])
3892 if test "x${want_pulseaudio}" = "xyes" ; then
3893 PKG_CHECK_MODULES([ECORE_AUDIO_PULSE], [libpulse])
3894 AC_DEFINE([HAVE_PULSE], [1], [Pulseaudio support])
3896 if test "x${want_sndfile}" = "xyes" ; then
3897 PKG_CHECK_MODULES([ECORE_AUDIO_SNDFILE], [sndfile])
3898 AC_DEFINE([HAVE_SNDFILE], [1], [Sndfile support])
3901 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_ALSA], [${want_alsa}], [ALSA], [alsa])
3902 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_PULSE], [${want_pulseaudio}], [PULSE], [libpulse])
3903 dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_SNDFILE], [${want_sndfile}], [SNDFILE], [sndfile])
3905 EFL_EVAL_PKGS([ECORE_AUDIO])
3907 EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
3908 EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
3909 EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
3911 ### Checks for header files
3913 ### Checks for types
3915 ### Checks for structures
3917 ### Checks for compiler characteristics
3919 ### Checks for linker characteristics
3921 ### Checks for library functions
3923 EFL_LIB_END_OPTIONAL([Ecore_Audio])
3924 AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
3925 AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
3927 #### End of Ecore_Audio
3929 #### Ecore Audio CXX
3930 EFL_LIB_START([Ecore_Audio_Cxx])
3932 EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
3934 EFL_LIB_END([Ecore_Audio_Cxx])
3935 #### End of Ecore Audio CXX
3938 EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
3940 ### Additional options to configure
3944 ### Checks for programs
3946 ### Checks for libraries
3947 EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
3948 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
3949 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
3950 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
3951 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [efl])
3952 EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
3954 EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
3955 AC_SUBST([ECORE_WIN32_LIBS])
3957 ### Checks for header files
3959 ### Checks for types
3961 ### Checks for structures
3963 ### Checks for compiler characteristics
3965 ### Checks for linker characteristics
3967 ### Checks for library functions
3969 EFL_LIB_END_OPTIONAL([Ecore_Win32])
3970 #### End of Ecore_Win32
3974 EFL_LIB_START([Ecore_Avahi])
3978 ### Additional options to configure
3982 AC_ARG_ENABLE([avahi],
3983 [AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
3985 if test "x${enableval}" = "xyes" ; then
3994 ### Checks for programs
3996 ## Compatibility layers
3997 EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
3999 ### Checks for libraries
4000 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
4001 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
4002 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
4003 EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [efl])
4005 EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
4007 EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
4009 # Needed bu example as they use avahi directly in that case
4010 if test "x${have_avahi}" = "xyes"; then
4011 PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
4014 EFL_EVAL_PKGS([ECORE_AVAHI])
4016 ### Checks for header files
4018 ### Checks for types
4020 ### Checks for structures
4022 ### Checks for compiler characteristics
4024 ### Checks for linker characteristics
4026 ### Checks for library functions
4028 EFL_LIB_END([Ecore_Avahi])
4030 #### End of Ecore_Avahi
4034 EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
4036 ### Additional options to configure
4038 AC_ARG_ENABLE([gesture],
4039 [AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
4041 if test "x${enableval}" = "xyes" ; then
4047 [want_gesture="no"])
4049 AC_ARG_ENABLE([xpresent],
4050 [AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
4052 if test "x${enableval}" = "xyes" ; then
4058 [want_xpresent="no"])
4060 AC_ARG_ENABLE([xinput2],
4061 [AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
4063 if test "x${enableval}" = "xyes" ; then
4067 CFOPT_WARNING="xyes"
4070 [want_xinput2="yes"])
4072 AC_ARG_ENABLE([xinput22],
4073 [AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
4075 if test "x${enableval}" = "xyes" ; then
4081 [want_xinput22="no"])
4083 AC_ARG_ENABLE([xim],
4084 [AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
4086 if test "x${enableval}" = "xyes" ; then
4090 CFOPT_WARNING="xyes"
4095 AC_ARG_ENABLE([scim],
4096 [AS_HELP_STRING([--disable-scim],[disable SCIM.])],
4098 if test "x${enableval}" = "xyes" ; then
4102 CFOPT_WARNING="xyes"
4107 AC_ARG_ENABLE([ibus],
4108 [AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
4110 if test "x${enableval}" = "xyes" ; then
4120 ### Checks for programs
4122 ### Checks for libraries
4123 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
4124 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
4125 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
4126 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [efl])
4127 EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
4131 ### Checks for types
4133 ### Checks for structures
4135 ### Checks for compiler characteristics
4137 ### Checks for linker characteristics
4139 ### Checks for library functions
4142 if test "x${want_x11_xlib}" = "xyes"; then
4143 EFL_FIND_X(ECORE_X_XLIB,
4144 [X11/Xlib.h X11/Xcursor/Xcursor.h],
4145 [X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
4148 AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
4149 EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
4150 EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
4152 AC_MSG_ERROR([Xcursor is missing])
4156 if test "x${want_x11_xlib}" = "xyes" ; then
4157 ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
4158 ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
4159 ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
4160 ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
4161 ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
4162 ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
4163 ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
4164 ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
4165 ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
4166 ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
4168 PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
4170 if test "${want_xpresent}" = "yes"; then
4171 ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
4173 EFL_ADD_FEATURE([ECORE_X], [xpresent])
4175 if test "${want_gesture}" = "yes"; then
4176 ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
4178 EFL_ADD_FEATURE([ECORE_X], [gesture])
4180 if test "${want_xinput2}" = "yes"; then
4181 ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
4183 EFL_ADD_FEATURE([ECORE_X], [xinput2])
4185 if test "${want_xinput22}" = "yes"; then
4186 ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
4188 EFL_ADD_FEATURE([ECORE_X], [xinput22])
4190 AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
4191 HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
4193 EFL_EVAL_PKGS([ECORE_X])
4194 EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
4197 EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
4199 AC_SUBST([HAVE_ECORE_X_BACKEND])
4201 EFL_LIB_END_OPTIONAL([Ecore_X])
4203 AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
4208 EFL_LIB_START([Ecore_Imf])
4210 ### Additional options to configure
4214 want_ecore_imf="yes"
4215 want_ecore_imf_xim="no"
4216 want_ecore_imf_scim="no"
4217 want_ecore_imf_ibus="no"
4218 want_ecore_imf_wayland="no"
4219 want_ecore_imf="yes"
4221 if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
4222 want_ecore_imf="yes"
4223 want_ecore_imf_xim="yes"
4224 want_ecore_imf_scim="yes"
4225 want_ecore_imf_ibus="yes"
4226 if test "${want_wayland}" = "yes"; then
4227 want_ecore_imf_wayland="yes"
4231 ### Checks for programs
4233 ## Compatibility layers
4234 EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
4236 ### Checks for libraries
4237 EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
4238 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
4239 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
4240 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
4241 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [efl])
4242 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
4244 if test "x${want_ecore_imf}" = "xyes" ; then
4245 AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
4252 have_ecore_imf_ibus="no"
4253 if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
4254 PKG_CHECK_MODULES([IBUS],
4255 [ibus-1.0 >= 1.4 glib-2.0],
4257 have_ecore_imf_ibus="yes"
4258 AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
4260 [have_ecore_imf_ibus="no"])
4263 AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
4264 EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
4268 have_ecore_imf_scim="no"
4269 if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
4270 PKG_CHECK_MODULES([SCIM],
4273 have_ecore_imf_scim="yes"
4274 AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
4276 [have_ecore_imf_scim="no"])
4279 AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
4280 EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
4284 have_ecore_imf_xim="no"
4285 if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
4287 EFL_FIND_X(ecore_imf_xim,
4291 have_ecore_imf_xim=yes
4292 AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
4296 AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
4297 EFL_ADD_FEATURE([ECORE_IMF], [xim])
4300 if test "x${want_ecore_imf_wayland}" = "xyes" ; then
4301 PKG_CHECK_MODULES([WAYLAND],
4302 [wayland-client >= 1.11.0],
4304 have_ecore_imf_wayland="yes"
4305 AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
4307 [have_ecore_imf_wayland="no"])
4310 AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
4311 EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
4313 ### Checks for header files
4315 ### Checks for types
4317 ### Checks for structures
4319 ### Checks for compiler characteristics
4321 ### Checks for linker characteristics
4323 ### Checks for library functions
4325 EFL_LIB_END([Ecore_Imf])
4326 #### End of Ecore_Imf
4330 EFL_LIB_START([Ecore_Imf_Evas])
4332 ### Additional options to configure
4336 ### Checks for programs
4338 ## Compatibility layers
4339 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
4341 ### Checks for libraries
4342 EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
4343 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
4344 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
4345 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
4346 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
4347 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
4348 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
4349 EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
4351 ### Checks for header files
4353 ### Checks for types
4355 ### Checks for structures
4357 ### Checks for compiler characteristics
4359 ### Checks for linker characteristics
4361 ### Checks for library functions
4363 EFL_LIB_END([Ecore_Imf_Evas])
4364 #### End of Ecore_Imf_Evas
4368 EFL_LIB_START([Ecore_Evas])
4370 ### Additional options to configure
4374 want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
4375 want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
4376 want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
4377 want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
4378 want_ecore_evas_extn="yes"
4379 want_ecore_evas_drm="${have_evas_engine_drm}"
4381 if test "x${have_ecore_ipc}" = "xno" || \
4382 test "x${efl_func_shm_open}" = "xno" || \
4383 test "x${have_windows}" = "xyes" ; then
4384 want_ecore_evas_extn="no"
4387 ### Checks for programs
4389 ## Compatibility layers
4390 EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
4392 ### Checks for libraries
4393 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
4394 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
4395 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
4396 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
4397 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
4398 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
4399 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
4400 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
4401 EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
4404 ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
4405 ECORE_EVAS_MODULE([ews], [yes])
4406 ECORE_EVAS_MODULE([fb], [${want_fb}])
4407 ECORE_EVAS_MODULE([drm], [${want_drm}],
4408 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_drm}], [ecore-drm2])])
4409 ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}],
4410 [EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [${want_gl_drm}], [ecore-drm2])])
4411 ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
4413 ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
4415 ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
4416 ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
4418 build_ecore_evas_sdl="no"
4419 if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
4420 test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
4421 build_ecore_evas_sdl="yes"
4422 AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
4424 AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
4425 [test "${build_ecore_evas_sdl}" = "yes"])
4427 ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
4428 ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
4430 build_ecore_evas_wayland="no"
4431 if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
4432 test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
4433 build_ecore_evas_wayland="yes"
4434 AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
4436 AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
4437 [test "${build_ecore_evas_wayland}" = "yes"])
4439 ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
4440 ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
4442 build_ecore_evas_win32="no"
4443 if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
4444 test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
4445 build_ecore_evas_win32="yes"
4446 AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
4448 AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
4449 [test "${build_ecore_evas_win32}" = "yes"])
4452 # XXX TODO: ecore_evas_x11
4453 ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
4455 have_ecore_evas_software_xlib="no"
4456 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
4457 have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
4458 if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
4459 have_ecore_evas_software_xlib="yes"
4461 if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
4462 AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
4466 # XXX TODO: ecore_evas_opengl_x11
4468 ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
4470 have_ecore_evas_opengl_xlib="no"
4471 if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
4472 have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
4473 if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
4474 AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
4478 build_ecore_evas_x11="no"
4479 build_ecore_evas_vnc="no"
4480 if test "x$have_ecore_evas_software_x11" = "xyes" || \
4481 test "x$have_ecore_evas_opengl_x11" = "xyes"; then
4482 AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
4483 build_ecore_evas_x11="yes"
4484 if test "$want_vnc_server" = "yes"; then
4485 build_ecore_evas_vnc="yes"
4488 AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
4490 AM_CONDITIONAL([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"])
4491 AC_DEFINE_IF([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"], [1], [Build Ecore_Evas VNC module])
4492 EFL_ADD_FEATURE([ECORE_EVAS], [vnc_server], [${build_ecore_evas_vnc}])
4494 EFL_EVAL_PKGS([ECORE_EVAS])
4496 ### Checks for header files
4498 ### Checks for types
4500 ### Checks for structures
4502 ### Checks for compiler characteristics
4504 ### Checks for linker characteristics
4506 ### Checks for library functions
4507 if test "x${want_gl_drm}" = "xyes" ; then
4508 EFL_CHECK_FUNCS([ECORE_EVAS], [dlopen])
4511 EFL_LIB_END([Ecore_Evas])
4512 #### End of Ecore_Evas
4515 EFL_LIB_START([Eio])
4517 ### Additional options to configure
4521 ### Checks for programs
4523 ## Compatibility layers
4524 EFL_PLATFORM_DEPEND([EIO], [evil])
4526 ### Checks for libraries
4527 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
4528 EFL_INTERNAL_DEPEND_PKG([EIO], [ecore-file])
4529 EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
4530 EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
4531 EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
4532 EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
4533 EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
4534 EFL_INTERNAL_DEPEND_PKG([EIO], [efreet-mime])
4536 EFL_ADD_LIBS([EIO], [-lm])
4538 ### Checks for header files
4540 ### Checks for types
4542 ### Checks for structures
4544 ### Checks for compiler characteristics
4546 ### Checks for linker characteristics
4548 ### Checks for library functions
4549 have_inotify="${ac_cv_header_sys_inotify_h}"
4550 AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
4552 have_notify_win32="${have_win32}"
4553 AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
4554 [test "x${have_notify_win32}" = "xyes"], [1],
4555 [File monitoring with Windows notification])
4556 AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
4558 AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
4559 [test "x${have_darwin}" = "xyes"], [1],
4560 [File monitoring with fsevent notification])
4561 AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
4563 AC_CHECK_FUNC([kevent])
4564 have_notify_kevent="${ac_cv_func_kevent}"
4565 AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
4566 [test "x${have_notify_kevent}" = "xyes"], [1],
4567 [File monitoring with kqueue/kevent mechanism])
4568 AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
4572 dnl TODO: remove these ifdefs from code!
4573 AC_DEFINE([HAVE_EIO], [1], [Have eio library])
4577 if test "x${want_eo_id}" = "xyes" ; then
4578 AC_DEFINE([HAVE_EO_ID], [1], [Have eo id])
4583 EFL_LIB_START([Efreet])
4585 ### Additional options to configure
4589 AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
4591 ### Checks for programs
4593 ## Compatibility layers
4594 EFL_PLATFORM_DEPEND([EFREET], [evil])
4596 ### Checks for libraries
4597 EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
4598 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
4599 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
4600 EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
4601 EFL_INTERNAL_DEPEND_PKG([EFREET], [efl])
4602 EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
4603 EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
4604 EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
4606 ### Checks for header files
4608 ### Checks for types
4610 ### Checks for structures
4612 ### Checks for compiler characteristics
4614 ### Checks for linker characteristics
4616 ### Checks for library functions
4618 EFL_LIB_END([Efreet])
4623 AC_ARG_ENABLE([physics],
4624 [AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
4626 if test "x${enableval}" = "xyes" ; then
4629 CFOPT_WARNING="xyes"
4633 [want_physics="yes"])
4635 EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
4637 ### Additional options to configure
4641 ### Checks for programs
4643 ### Checks for libraries
4644 EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
4646 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
4647 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
4648 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
4649 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
4650 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
4651 EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
4653 EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
4655 EFL_EVAL_PKGS([EPHYSICS])
4657 ### Checks for header files
4659 ### Checks for types
4661 ### Checks for structures
4663 ### Checks for compiler characteristics
4665 ### Checks for linker characteristics
4667 ### Checks for library functions
4669 EFL_LIB_END_OPTIONAL([EPhysics])
4670 #### End of EPhysics
4674 EFL_LIB_START([Edje])
4676 ### Additional options to configure
4680 AC_ARG_ENABLE([multisense],
4681 [AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=disabled@:>@])],
4683 if test "x${enableval}" = "xyes" ; then
4684 want_multisense="yes"
4686 want_multisense="no"
4687 CFOPT_WARNING="xyes"
4691 if test "x${want_pulseaudio}" = "xyes"; then
4692 want_multisense="yes"
4694 want_multisense="no"
4698 # TODO: should we keep or remove these?
4699 want_edje_program_cache="no"
4700 want_edje_calc_cache="yes"
4701 want_fixed_point="no"
4703 ### Checks for programs
4705 ### Checks for libraries
4706 EFL_PLATFORM_DEPEND([EDJE], [evil])
4708 EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
4709 EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
4710 EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
4711 EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
4712 EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
4713 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
4714 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
4715 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
4716 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
4717 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
4718 EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
4719 EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
4720 EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
4721 EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
4722 EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
4724 if test "x${want_physics}" = "xyes" ; then
4725 AC_DEFINE([HAVE_EPHYSICS], [1], [EPhysics Support])
4726 EDJE_CFLAGS="-I\$(top_srcdir)/src/lib/ephysics ${EDJE_CFLAGS}"
4728 dnl EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
4730 if test "x${want_lua_old}" = "xyes"; then
4731 EFL_CHECK_LUA_OLD([EDJE_LUA])
4733 PKG_CHECK_MODULES([EDJE_LUA], [luajit >= 2.0.0])
4736 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
4738 EFL_ADD_FEATURE([EDJE], [physics])
4739 EFL_ADD_FEATURE([EDJE], [multisense])
4740 EFL_ADD_FEATURE([EDJE], [lua-old])
4742 EFL_ADD_LIBS([EDJE], [-lm])
4744 EFL_EVAL_PKGS([EDJE])
4746 AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
4747 [1], [Cache result of program glob matches])
4748 AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
4749 [1], [Cache result of calc glob matches])
4750 AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
4751 [1], [Use Fixed Point instead of FPU])
4753 AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
4754 AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
4755 [1], [Use Multisense])
4756 AC_SUBST([want_multisense])
4757 AC_SUBST([want_physics])
4759 ### Checks for header files
4761 AC_CHECK_HEADERS([ \
4765 ### Checks for types
4767 ### Checks for structures
4769 ### Checks for compiler characteristics
4771 ### Checks for linker characteristics
4773 ### Checks for library functions
4779 EFL_LIB_START([Edje_Cxx])
4781 EFL_EVAL_PKGS([EDJE_CXX])
4783 EFL_LIB_END([Edje_Cxx])
4784 #### End of Edje CXX
4787 EFL_LIB_START([Emotion])
4789 ## Compatibility layers
4790 EFL_PLATFORM_DEPEND([Emotion], [evil])
4793 if test "${efl_func_shm_open}" = "yes"; then
4794 want_emotion_generic="static"
4796 want_emotion_generic="no"
4799 ### Additional options to configure
4800 AC_ARG_ENABLE([xine],
4801 [AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
4803 if test "x${enableval}" = "xyes" ; then
4811 AC_ARG_ENABLE([v4l2],
4812 [AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
4814 if test "x${enableval}" = "xyes" ; then
4820 [want_v4l2="${efl_lib_optional_eeze}"])
4822 AC_ARG_ENABLE([libvlc],
4823 [AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
4825 if test "x${enableval}" = "xyes" ; then
4833 ### Checks for programs
4835 ### Checks for libraries
4836 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
4837 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
4838 EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
4839 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
4840 EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
4841 EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
4842 EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
4843 EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
4845 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
4846 EFL_ADD_FEATURE([EMOTION], [v4l2])
4850 have_gst_xoverlay="no"
4852 EMOTION_MODULE([xine], [${want_xine}])
4853 EMOTION_MODULE([gstreamer], [${want_gstreamer}])
4854 EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
4855 EMOTION_MODULE([libvlc], [${want_libvlc}])
4856 EMOTION_MODULE([generic], [${want_emotion_generic}])
4858 EFL_ADD_FEATURE([EMOTION], [xine])
4859 EFL_ADD_FEATURE([EMOTION], [gstreamer])
4860 EFL_ADD_FEATURE([EMOTION], [gstreamer1])
4861 EFL_ADD_FEATURE([EMOTION], [libvlc])
4862 EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
4864 EFL_EVAL_PKGS([EMOTION])
4866 ### Checks for header files
4868 ### Checks for types
4870 ### Checks for structures
4872 ### Checks for compiler characteristics
4874 ### Checks for linker characteristics
4876 ### Checks for library functions
4878 if test "${want_v4l2}" = "yes"; then
4879 AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
4880 [AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
4881 [AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
4882 [#include <linux/videodev2.h>])
4885 ### Check availability
4888 EMOTION_GENERIC_PLAYER([GENERIC_VLC], [no], [libvlc >= 2.0])
4889 EFL_ADD_FEATURE([EMOTION], [generic_vlc], [${with_generic_vlc}])
4891 EFL_LIB_END([Emotion])
4895 EFL_LIB_START([Ethumb])
4899 ### Additional options to configure
4901 ### Checks for programs
4903 ## Compatibility layers
4904 EFL_PLATFORM_DEPEND([ETHUMB], [evil])
4906 ### Checks for libraries
4907 EFL_PLATFORM_DEPEND([EINA], [evil])
4909 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
4910 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
4911 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
4912 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
4913 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
4914 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
4915 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
4916 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
4917 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
4918 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
4919 EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
4923 EFL_EVAL_PKGS([ETHUMB])
4925 ### Checks for header files
4927 ### Checks for types
4929 ### Checks for structures
4931 ### Checks for compiler characteristics
4933 ### Checks for linker characteristics
4935 ### Checks for library functions
4937 ### Check availability
4939 EFL_LIB_END([Ethumb])
4943 EFL_LIB_START([Ethumb_Client])
4947 ### Additional options to configure
4949 ### Checks for programs
4951 ## Compatibility layers
4952 EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
4954 ### Checks for libraries
4955 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
4956 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
4957 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
4958 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
4959 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
4960 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
4961 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
4962 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
4963 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
4964 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
4965 EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
4967 EFL_EVAL_PKGS([ETHUMB_CLIENT])
4969 ### Checks for header files
4971 ### Checks for types
4973 ### Checks for structures
4975 ### Checks for compiler characteristics
4977 ### Checks for linker characteristics
4979 ### Checks for library functions
4981 ### Check availability
4983 EFL_LIB_END([Ethumb_Client])
4984 #### End of Ethumb_Client
4989 if test "${want_lua_old}" = "yes"; then
4993 EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
4997 AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
4999 ### Additional options to configure
5001 ### Checks for programs
5003 ## Compatibility layers
5004 EFL_PLATFORM_DEPEND([ELUA], [evil])
5006 ### Checks for libraries
5007 EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
5008 EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
5009 EFL_INTERNAL_DEPEND_PKG([ELUA], [efl])
5010 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
5011 EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore_file])
5013 EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
5015 EFL_EVAL_PKGS([ELUA])
5017 ### Checks for header files
5019 ### Checks for types
5021 ### Checks for structures
5023 ### Checks for compiler characteristics
5025 ### Checks for linker characteristics
5027 ### Checks for library functions
5029 ### Check availability
5031 EFL_LIB_END_OPTIONAL([Elua])
5036 EFL_LIB_START([Elocation])
5040 ### Additional options to configure
5042 ### Checks for programs
5044 ### Checks for libraries
5045 EFL_PLATFORM_DEPEND([ELOCATION], [evil])
5046 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
5047 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
5048 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [efl])
5049 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
5050 EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
5052 EFL_ADD_LIBS([ELOCATION], [-lm])
5054 ### Checks for header files
5056 ### Checks for types
5058 ### Checks for structures
5060 ### Checks for compiler characteristics
5062 ### Checks for linker characteristics
5064 ### Checks for library functions
5066 ### Check availability
5068 EFL_LIB_END([Elocation])
5069 #### End of Elocation
5074 EFL_LIB_START_OPTIONAL([Efl_Js], [test "x${have_js}" = "xyes"])
5078 ### Additional options to configure
5080 ### Checks for programs
5082 ### Checks for libraries
5083 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eina])
5084 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eo])
5085 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore])
5086 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eet])
5087 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Evas])
5088 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Con])
5089 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Audio])
5090 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Efl])
5091 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Evas])
5092 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Edje])
5093 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emotion])
5094 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eldbus])
5095 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emile])
5096 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ethumb_Client])
5097 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eio])
5098 EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Elementary])
5100 AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([EFL_JS], [-lv8]) ])
5102 EFL_EVAL_PKGS([EFL_JS])
5104 AM_COND_IF([HAVE_NODEJS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_NODEJS"], [])
5105 AM_COND_IF([HAVE_LIBUV], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_LIBUV"], [])
5106 AM_COND_IF([HAVE_JS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_JS"], [])
5108 AM_COND_IF([HAVE_V8_CREATE_PARAMS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
5109 AM_COND_IF([HAVE_V8_GLOBAL], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
5110 AC_SUBST([EFLJS_CXXFLAGS])
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_OPTIONAL([Efl_Js])
5129 ### Add Wayland server library if test is enabled
5130 if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
5131 EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.11.0])
5132 EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
5135 AC_ARG_ENABLE([always-build-examples],
5136 [AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
5138 if test "x${enableval}" = "xyes" ; then
5139 want_always_build_examples="yes"
5141 want_always_build_examples="no"
5144 [want_always_build_examples="no"])
5145 AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
5149 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],
5150 [ You will be told when this is needed ],
5152 if test "x${enableval}" = "xyes" ; then
5161 build_ecore_buffer_x11_dri2="no"
5162 build_ecore_buffer_x11_dri3="no"
5163 EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
5164 ### Checks for libraries
5165 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
5166 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
5167 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [efl])
5168 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
5169 EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
5170 [wayland-server >= 1.11.0 wayland-client >= 1.11.0])
5172 PKG_CHECK_MODULES([X11_DRI_COMMON],
5177 [have_x11_dri_common_pkgs="yes"],
5178 [have_x11_dri_common_pkgs="no"]
5181 if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
5182 EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
5184 PKG_CHECK_MODULES([X11_DRI2], [libdri2],
5185 [have_x11_dri2_pkgs="yes"],
5186 [have_x11_dri2_pkgs="no"])
5187 PKG_CHECK_MODULES([X11_DRI3],
5195 [have_x11_dri3_pkgs="yes"],
5196 [have_x11_dri3_pkgs="no"])
5199 if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
5200 build_ecore_buffer_x11_dri2="yes"
5201 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
5204 if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
5205 build_ecore_buffer_x11_dri3="yes"
5206 AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
5208 EFL_EVAL_PKGS([ECORE_BUFFER])
5210 EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
5211 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
5212 EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
5214 EFL_LIB_END_OPTIONAL([Ecore_Buffer])
5216 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
5217 AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
5219 #### End of Ecore_Buffer
5224 EFL_LIB_START([Elementary])
5228 ### Additional options to configure
5230 ## Elementary base dir
5232 AC_ARG_WITH([elementary-base-dir],
5233 [AS_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
5234 [elementary_base_dir=${withval}],
5235 [elementary_base_dir=".elementary"])
5237 AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
5238 AC_DEFINE_UNQUOTED([ELEMENTARY_BASE_DIR], ["${elementary_base_dir}"], ["subdirectory for all elementary data"])
5242 AC_ARG_ENABLE([debug],
5243 [AS_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
5244 [want_elementary_debug=$enableval],
5245 [want_elementary_debug="no"])
5247 ELM_DEBUG_DEF="#undef"
5248 if test "x$want_elementary_debug" = "xyes"; then
5249 AC_DEFINE([HAVE_ELEMENTARY_DEBUG], [1], [Elementary debug.])
5250 ELM_DEBUG_DEF="#define"
5252 AC_SUBST([ELM_DEBUG_DEF])
5254 ## quicklaunch support
5256 AC_ARG_ENABLE([quick-launch],
5257 [AS_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
5258 [want_quicklaunch=$enableval],
5259 [want_quicklaunch="auto"])
5261 ### Checks for programs
5263 ### Checks for libraries
5265 ## Compatibility layers
5267 EFL_PLATFORM_DEPEND([ELEMENTARY], [evil])
5269 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eina])
5270 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emile])
5271 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eet])
5272 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eo])
5273 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efl])
5274 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [evas])
5275 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore])
5276 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-evas])
5277 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-file])
5278 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-input])
5279 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [edje])
5280 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb])
5281 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb_client])
5282 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emotion])
5283 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-imf])
5284 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-con])
5285 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eldbus])
5286 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet])
5287 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-mime])
5288 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-trash])
5289 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eio])
5290 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [elocation])
5292 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_x11_any}], [ecore_x])
5293 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_fb}], [ecore_fb])
5294 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${have_ps3}], [ecore_psl1ght])
5295 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_sdl}], [ecore_sdl])
5296 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_ecore_evas_gl_cocoa}], [ecore_cocoa])
5297 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_win32}], [ecore_win32])
5298 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_drm}], [ecore_drm2])
5299 EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_wayland}], [ecore_wl2])
5301 EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_elput}], [ELPUT], [xkbcommon])
5302 EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_wayland}], [WAYLAND], [wayland-client])
5304 dnl Special case deps for ecore_drm
5305 if test "${want_drm}" = "yes"; then
5306 EFL_DEPEND_PKG([ELEMENTARY], [DRM], [libdrm])
5307 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eeze])
5310 EFL_ADD_LIBS([ELEMENTARY], [-lm])
5312 ELM_CHECK_BACKEND([X], [${want_x11_any}])
5313 ELM_CHECK_BACKEND([FB], [${want_fb}])
5314 ELM_CHECK_BACKEND([PSL1GHT], [${have_ps3}])
5315 ELM_CHECK_BACKEND([SDL], [${want_sdl}])
5316 ELM_CHECK_BACKEND([Cocoa], [${want_ecore_evas_gl_cocoa}])
5317 ELM_CHECK_BACKEND([Win32], [${build_ecore_evas_win32}])
5318 ELM_CHECK_BACKEND([Wl2], [${build_ecore_evas_wayland}])
5319 ELM_CHECK_BACKEND([DRM], [${want_drm}])
5321 EFL_EVAL_PKGS([ELEMENTARY])
5323 ### Checks for header files
5325 ELM_ALLOCA_H_DEF="#undef"
5326 AC_CHECK_HEADER([alloca.h], [ELM_ALLOCA_H_DEF="#define"])
5327 AC_SUBST([ELM_ALLOCA_H_DEF])
5329 ELM_LIBINTL_H_DEF="#undef"
5330 AC_CHECK_HEADER([libintl.h], [ELM_LIBINTL_H_DEF="#define"])
5331 AC_SUBST([ELM_LIBINTL_H_DEF])
5333 ELM_DIRENT_H_DEF="#undef"
5334 AC_CHECK_HEADER([dirent.h], [ELM_DIRENT_H_DEF="#define"])
5335 AC_SUBST([ELM_DIRENT_H_DEF])
5337 AC_CHECK_HEADER([sys/mman.h], [have_mman="yes"], [have_mman="no"])
5338 if test "x${have_mman}" = "xyes"; then
5339 AC_DEFINE([HAVE_MMAN_H], [1], [Have sys/mman.h header file])
5342 AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
5346 AC_CHECK_HEADERS([crt_externs.h])
5350 ### Checks for types
5352 ### Checks for structures
5354 ### Checks for compiler characteristics
5356 ### Checks for linker characteristics
5365 AC_CHECK_LIB([socket], [connect],
5368 requirements_libs_elm="-lsocket ${requirements_libs_elm}"
5380 AC_SUBST([requirements_libs_elm])
5382 AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
5384 # Check if we can build binary with quicklaunch support
5387 ### Checks for library functions
5389 EFL_CHECK_FUNCS([ELEMENTARY], [dlopen])
5393 AC_CHECK_FUNCS([geteuid getuid getpwent])
5395 if test "x${want_quicklaunch}" != "xno"; then
5396 AC_CHECK_FUNCS([fork clearenv])
5399 build_quicklaunch="no"
5400 if test "x${ac_cv_func_fork}" = "xyes" -a "x${efl_func_dlopen}" = "xyes"; then
5401 build_quicklaunch="yes"
5404 AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x${build_quicklaunch}" = "xyes"])
5405 EFL_ADD_FEATURE([ELEMENTARY], [quicklaunch], [${build_quicklaunch}])
5412 # define _GNU_SOURCE 1
5416 extern char **environ;
5419 [AC_DEFINE([HAVE_ENVIRON], [1], [extern environ exists])])
5423 AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
5427 ### Check availability
5429 EFL_LIB_END([Elementary])
5431 #### End of Elementary
5435 EFL_LIB_START([Elementary_Cxx])
5437 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina_Cxx])
5438 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eet_Cxx])
5439 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore_Cxx])
5440 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore])
5441 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina])
5442 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eo])
5443 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Efl])
5444 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Elementary])
5446 EFL_EVAL_PKGS([ELEMENTARY_CXX])
5448 EFL_LIB_END([Elementary_Cxx])
5449 #### End of Ecore CXX
5453 EFL_LIB_START_OPTIONAL([Elementary_Js], [test "x${have_js}" = "xyes"])
5457 ### Additional options to configure
5459 ### Checks for programs
5461 ### Checks for libraries
5462 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eina])
5463 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eo])
5464 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore])
5465 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eet])
5466 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Evas])
5467 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Con])
5468 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Audio])
5469 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl])
5470 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Evas])
5471 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Edje])
5472 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emotion])
5473 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eldbus])
5474 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emile])
5475 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ethumb_Client])
5476 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eio])
5477 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Elementary])
5478 EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl_Js])
5480 AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([ELEMENTARY_JS], [-lv8]) ])
5482 EFL_EVAL_PKGS([ELEMENTARY_JS])
5484 AM_COND_IF([HAVE_NODEJS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_NODEJS"], [])
5485 AM_COND_IF([HAVE_LIBUV], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_LIBUV"], [])
5486 AM_COND_IF([HAVE_JS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_JS"], [])
5488 AM_COND_IF([HAVE_V8_CREATE_PARAMS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
5489 AM_COND_IF([HAVE_V8_GLOBAL], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
5490 AC_SUBST([ELEMENTARYJS_CXXFLAGS])
5492 ### Checks for header files
5494 ### Checks for types
5496 ### Checks for structures
5498 ### Checks for compiler characteristics
5500 ### Checks for linker characteristics
5502 ### Checks for library functions
5504 ### Check availability
5506 EFL_LIB_END_OPTIONAL([ELEMENTARY_JS])
5510 AC_ARG_ENABLE([cancel-ok],
5511 [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@:>@])],
5513 if test "x${enableval}" = "xyes" ; then
5514 ELM_EDJE_DEFINES="$ELM_EDJE_DEFINES -DELM_CANCEL_OK=1"
5517 AC_SUBST(ELM_EDJE_DEFINES)
5520 ## Disable warning for OS that have a specifc configuration
5534 config/default/Makefile
5535 config/default/base.src
5536 config/mobile/Makefile
5537 config/mobile/base.src
5538 config/standard/Makefile
5539 config/standard/base.src
5542 doc/previews/Makefile
5543 doc/widgets/Makefile
5545 src/benchmarks/eina/Makefile
5546 src/benchmarks/eo/Makefile
5547 src/benchmarks/evas/Makefile
5548 src/examples/eina/Makefile
5549 src/examples/eina_cxx/Makefile
5550 src/examples/eet/Makefile
5551 src/examples/evas/Makefile
5552 src/examples/ecore/Makefile
5553 src/examples/ecore_avahi/Makefile
5554 src/examples/eio/Makefile
5555 src/examples/eldbus/Makefile
5556 src/examples/ephysics/Makefile
5557 src/examples/edje/Makefile
5558 src/examples/emotion/Makefile
5559 src/examples/emile/Makefile
5560 src/examples/ethumb_client/Makefile
5561 src/examples/elua/Makefile
5562 src/examples/eolian_cxx/Makefile
5563 src/examples/elocation/Makefile
5564 src/examples/elementary/Makefile
5565 src/lib/eina/eina_config.h
5566 src/lib/ecore_x/ecore_x_version.h
5567 src/lib/efl/Efl_Config.h
5568 src/lib/elementary/Elementary_Options.h
5569 src/scripts/eo/eo_debug
5591 pc/evas-opengl-x11.pc
5592 pc/evas-opengl-sdl.pc
5593 pc/evas-opengl-cocoa.pc
5595 pc/evas-software-buffer.pc
5596 pc/evas-software-x11.pc
5597 pc/evas-software-gdi.pc
5598 pc/evas-software-ddraw.pc
5599 pc/evas-software-sdl.pc
5600 pc/evas-wayland-shm.pc
5601 pc/evas-wayland-egl.pc
5611 pc/ecore-input-evas.pc
5623 pc/ecore-imf-evas.pc
5625 pc/ecore-audio-cxx.pc
5646 pc/elementary-cxx.pc
5649 dbus-services/org.enlightenment.Ethumb.service
5650 systemd-services/ethumb.service
5652 cmakeconfig/EflConfig.cmake
5653 cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5654 cmakeconfig/EinaConfig.cmake
5655 cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5656 cmakeconfig/EioConfig.cmake
5657 cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5658 cmakeconfig/EezeConfig.cmake
5659 cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5660 cmakeconfig/EoConfig.cmake
5661 cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5662 cmakeconfig/EolianConfig.cmake
5663 cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5664 cmakeconfig/EolianHelper.cmake
5665 cmakeconfig/EolianCxxConfig.cmake
5666 cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5667 cmakeconfig/EinaCxxConfig.cmake
5668 cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5669 cmakeconfig/EoCxxConfig.cmake
5670 cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5671 cmakeconfig/EcoreCxxConfig.cmake
5672 cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5673 cmakeconfig/EvasCxxConfig.cmake
5674 cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5675 cmakeconfig/EetCxxConfig.cmake
5676 cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5677 cmakeconfig/EetConfig.cmake
5678 cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5679 cmakeconfig/EvasConfig.cmake
5680 cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5681 cmakeconfig/EcoreConfig.cmake
5682 cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5683 cmakeconfig/EdjeConfig.cmake
5684 cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5685 cmakeconfig/EldbusConfig.cmake
5686 cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5687 cmakeconfig/EfreetConfig.cmake
5688 cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5689 cmakeconfig/EthumbConfig.cmake
5690 cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5691 cmakeconfig/EthumbClientConfig.cmake
5692 cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5693 cmakeconfig/EmotionConfig.cmake
5694 cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5695 cmakeconfig/EluaConfig.cmake
5696 cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5697 cmakeconfig/EmileConfig.cmake
5698 cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
5699 cmakeconfig/ElementaryConfigVersion.cmake
5700 cmakeconfig/ElementaryConfig.cmake
5707 EFL_ADD_FEATURE([EO], [eo-id], [${want_eo_id}])
5711 EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
5712 EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
5715 EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
5718 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5721 EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
5725 if test "${have_linux}" = "yes"; then
5726 EFL_ADD_FEATURE([system], [inotify])
5727 EFL_ADD_FEATURE([system], [atfile_source])
5728 elif test "${have_windows}" = "yes"; then
5729 EFL_ADD_FEATURE([system], [notify_win32])
5731 EFL_ADD_FEATURE([system], [ipv6])
5733 if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
5734 efl_have_spinlock="yes"
5736 efl_have_spinlock="no"
5738 EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
5739 EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
5740 EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
5741 EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
5742 EFL_ADD_FEATURE([thread], [__thread], [${have_thread_specifier}])
5747 echo "------------------------------------------------------------------------"
5748 echo "$PACKAGE_NAME $PACKAGE_VERSION"
5749 echo "------------------------------------------------------------------------"
5752 if test "x${have_windows}" = "xyes" ; then
5753 osname="${host_os}(${_efl_windows_version})"
5758 if test "x${want_egl}" = "xyes" ; then
5764 echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
5765 echo " EFL API Set...: ${efl_api}"
5766 echo " CPU Extensions: ${host_cpu} (${features_cpu})"
5767 echo " System Feature: ${features_system}"
5768 echo " Threads.......: ${efl_have_threads} (${features_thread})"
5769 echo " Cryptography..: ${build_crypto}"
5770 echo " X11...........: ${with_x11}"
5771 echo " OpenGL........: ${with_opengl} ${opengl_egl}"
5772 echo " C++11.........: ${have_cxx11}"
5773 echo " JavaScript....: ${want_js}"
5774 echo " JavaScript flg: $EINA_JS_LIBS"
5775 echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
5776 echo "Eo..............: yes (${features_eo})"
5777 echo "Eolian..........: yes (${features_eolian})"
5778 echo "Emile...........: yes (${features_emile})"
5779 echo "Eet.............: yes"
5780 echo "Evas............: yes (${features_evas})"
5781 echo " Engines.......: ${features_evas_engine}"
5782 echo " Vg Loaders : ${features_evas_vg_loader}"
5783 echo " Image Loaders.: ${features_evas_loader}"
5784 if test "x${have_pixman}" = "xyes" ; then
5785 echo " Pixman........: ${features_evas_pixman}"
5787 echo "Ecore...........: yes (${features_ecore})"
5788 echo "Ecore_Con.......: yes (${features_ecore_con})"
5789 echo "Ecore_File......: yes"
5790 echo "Ecore_IMF.......: yes (${features_ecore_imf})"
5791 echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
5792 echo "Ecore_SDL.......: $want_sdl"
5793 echo "Ecore_Drm.......: $want_ecore_drm"
5794 echo "Ecore_Drm2......: $want_drm"
5795 echo "Ecore_Wayland...: $want_ecore_wayland"
5796 echo "Ecore_Wl2.......: $want_wayland"
5797 echo "IVI-Shell.......: $want_wayland_ivi_shell"
5798 echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
5799 if test "${have_linux}" = "yes"; then
5800 echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
5801 elif test "${have_ps3}" = "yes"; then
5802 echo "Ecore_PSL1GHT...: $have_ps3"
5803 elif test "${have_darwin}" = "yes"; then
5804 echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
5805 elif test "${have_windows}" = "yes"; then
5806 echo "Ecore_Win32.....: $have_win32"
5808 echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
5809 echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
5810 echo "Ecore_Evas......: yes (${features_ecore_evas})"
5811 echo "Elput...........: $want_elput (${features_elput})"
5812 echo "Ector...........: yes"
5813 echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
5814 echo "EPhysics........: ${efl_lib_optional_ephysics}"
5815 echo "Edje............: yes (${features_edje})"
5816 echo "Emotion.........: yes (${features_emotion})"
5817 echo "Ethumb..........: yes"
5818 echo "Ethumb_Client...: yes"
5819 echo "Elua............: $have_elua"
5820 echo "Elementary......: yes (${features_elementary})"
5825 if test "${build_tests}" = "none"; then
5826 echo "Tests...........: no"
5827 elif test "${build_tests}" = "auto"; then
5828 echo "Tests...........: make check (inexplicitly enabled)"
5829 elif test "${build_tests}" = "regular"; then
5830 echo "Tests...........: make check"
5831 elif test "${build_tests}" = "coverage"; then
5832 echo "Tests...........: make lcov-check"
5834 echo "Examples........: make examples (make install-examples)"
5835 if test "x${build_doc}" = "xyes"; then
5836 echo "Documentation...: make doc"
5838 echo "Documentation...: no"
5840 echo "Compilation.....: make (or gmake)"
5841 echo " CPPFLAGS......: $CPPFLAGS"
5842 echo " CFLAGS........: $CFLAGS"
5843 echo " CXXFLAGS......: $CXXFLAGS"
5844 echo " LDFLAGS.......: $LDFLAGS"
5845 echo " EFLJS_CXXFLAGS: $EFLJS_CXXFLAGS"
5847 if test "x${with_binary_edje_cc}" != "x"; then
5848 echo " edje_cc.......: ${with_binary_edje_cc}"
5851 if test "x${with_binary_eolian_gen}" != "x"; then
5852 echo " eolian_gen....: ${with_binary_eolian_gen}"
5855 if test "x${with_binary_eolian_cxx}" != "x"; then
5856 echo " eolian_cxx....: ${with_binary_eolian_cxx}"
5859 if test "x${with_binary_elua_bin}" != "x"; then
5860 echo " elua..........: ${with_binary_elua_bin}"
5864 echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
5865 echo " prefix........: $prefix"
5866 echo " dbus units....: $dbusservicedir"
5867 if test "${have_systemd_user_session}" = "yes"; then
5868 echo " systemd units.: $USER_SESSION_DIR"
5872 if test -n "$CFOPT_WARNING"; then
5873 echo "_____________________________________________________________________"
5875 echo "==-- WARNING --=="
5877 echo "_____________________________________________________________________"
5878 if test "x${want_physics}" = "xno"; then
5879 echo "_____________________________________________________________________"
5880 echo "You have chosen to disable physics support. This disables lots of"
5881 echo "core functionality and is effectively never tested. You are going"
5882 echo "to find features that suddenly don't work and as a result cause"
5883 echo "a series of breakages. This is simply not tested so you are on"
5884 echo "your own in terms of ensuring everything works if you do this"
5885 echo "_____________________________________________________________________"
5887 if test "x${efl_have_threads}" = "xno"; then
5888 echo "_____________________________________________________________________"
5889 echo "You have disabled threading support. A lot of code is literally"
5890 echo "written to need threading. We never test or even build with"
5891 echo "threading disabled, so doing this is entering uncharted territory."
5892 echo "There is a very good chance things may not compile at all, or if"
5893 echo "the do, they will break at runtime in weird and wonderful ways."
5894 echo "Highly reconsider what you are doing here, or be prepared to deal"
5895 echo "with the fallout yourself."
5896 echo "_____________________________________________________________________"
5898 if test "x${want_fontconfig}" = "xno"; then
5899 echo "_____________________________________________________________________"
5900 echo "You have disabled fontconfig. This is going to make general font"
5901 echo "searching not work, and only some very direct 'load /path/file.ttf'"
5902 echo "will work alongside some old-school ttf file path searching. This"
5903 echo "is very likely not what you want, so highly reconsider turning"
5904 echo "fontconfig off. Having it off will lead to visual problems like"
5905 echo "missing text in many UI areas etc."
5906 echo "_____________________________________________________________________"
5908 if test "x${want_fribidi}" = "xno"; then
5909 echo "_____________________________________________________________________"
5910 echo "Fribidi is used for handling right-to-left text (like Arabic,"
5911 echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
5912 echo "you want to disable unless you know for absolute certain you"
5913 echo "will never encounter and have to display such scripts. Also"
5914 echo "note that we don't test with fribidi disabled so you may also"
5915 echo "trigger code paths with bugs that are never normally used."
5916 echo "_____________________________________________________________________"
5918 if test "x${want_pixman}" = "xyes"; then
5919 echo "_____________________________________________________________________"
5920 echo "Pixman allows you to replace some rendering paths in Evas with"
5921 echo "Pixman. Pixman may or may not be faster (probably slower), and"
5922 echo "the rendering paths with Pixman enabled are not tested often so"
5923 echo "this may introduce rendering bugs. Do not turn Pixman on unless"
5924 echo "you wish to deal with these bugs."
5925 echo "_____________________________________________________________________"
5927 if test "x${have_tile_rotate}" = "xyes"; then
5928 echo "_____________________________________________________________________"
5929 echo "Tiled rotation code is not tested much, so be aware that you"
5930 echo "may introduce bugs by enabling this."
5931 echo "_____________________________________________________________________"
5933 if test "x${want_g_main_loop}" = "xyes"; then
5934 echo "_____________________________________________________________________"
5935 echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
5936 echo "regularly, but the glib mainloop integration (on by default) is."
5937 echo "You can use apps that use glib mainloop constructs by default"
5938 echo "this way, but the Ecore mainloop is not built on top of glib."
5939 echo "You have enabled ecore to be built on top of glib and thus you"
5940 echo "may experience bugs that normally would not be there. Be prepared"
5941 echo "to fix these if they arise."
5942 echo "_____________________________________________________________________"
5944 if test "x${want_gstreamer}" = "xyes"; then
5945 echo "_____________________________________________________________________"
5946 echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
5947 echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
5948 echo "and will eventually be removed entirely. Don't enable the old"
5949 echo "Gstreamer support unless you want to deal with the issues yourself."
5950 echo "_____________________________________________________________________"
5952 if test "x${want_gstreamer1}" = "xno"; then
5953 echo "_____________________________________________________________________"
5954 echo "You disabled Gstreamer 1.x support. You likely don't want to do"
5955 echo "this as it will heavily limit your media support options and render"
5956 echo "some functionality as useless, leading to visible application bugs."
5957 echo "_____________________________________________________________________"
5959 if test "x${want_eo_id}" = "xno"; then
5960 echo "_____________________________________________________________________"
5961 echo "Eo's ID abstraction interface is a major safety system that"
5962 echo "protects code from crashing or misbehaving in many cases. It does"
5963 echo "come at a slight cost, but the safety and protection is worth it."
5964 echo "Also by disabling this, you may also introduce security holes in"
5965 echo "EFL as well as cause all sorts of previously non-existant crashes."
5966 echo "Seriously reconsider disabling EO ID."
5967 echo "_____________________________________________________________________"
5969 if test "x${want_evas_cserve2}" = "xno"; then
5970 echo "_____________________________________________________________________"
5971 echo "Evas Cserve is built and on by default and no testing is done"
5972 echo "for the old non-cserve2 code paths, so by disabling this you"
5973 echo "may be introducing bugs. Be aware of this and be prepared to"
5974 echo "deal with the bugs as a result of this."
5975 echo "_____________________________________________________________________"
5977 if test "x${want_audio}" = "xno"; then
5978 echo "_____________________________________________________________________"
5979 echo "You disabled audio support in Ecore. This is not tested and may"
5980 echo "Create bugs for you due to it creating untested code paths."
5981 echo "Reconsider disabling audio."
5982 echo "_____________________________________________________________________"
5984 if test "x${want_pulseaudio}" = "xno"; then
5985 echo "_____________________________________________________________________"
5986 echo "The only audio output method supported by Ecore right now on your"
5987 echo "system is via Pulseaudio. You have disabled that and likely have"
5988 echo "broken a whole bunch of things in the process. Reconsider your"
5989 echo "configure options."
5990 echo "_____________________________________________________________________"
5992 if test "x${want_xinput2}" = "xno"; then
5993 echo "_____________________________________________________________________"
5994 echo "You have disabled xinput2 support. This means a whole lot of input"
5995 echo "devices in X11 will not work correctly. You likely do not want to"
5997 echo "_____________________________________________________________________"
5999 if test "x${want_xim}" = "xno"; then
6000 echo "_____________________________________________________________________"
6001 echo "You disabled XIM input method support. This is the most basic and"
6002 echo "core input method protocol supported in X11 and you almost certainly"
6003 echo "want the support for it. Input methods allow for complex text input"
6004 echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
6005 echo "on touch/mobile devices."
6006 echo "_____________________________________________________________________"
6008 if test "x${want_scim}" = "xno"; then
6009 echo "_____________________________________________________________________"
6010 echo "SCIM is a modern and very common input method framework and you"
6011 echo "disabled support for it. You very likely want the support for"
6012 echo "complex language input, so please reconsider this. Input methods"
6013 echo "allow for complex text input like for Chinese, Japanese and Korean"
6014 echo "as well as virtual keyboards on touch/mobile devices."
6015 echo "_____________________________________________________________________"
6017 if test "x${want_libmount}" = "xno"; then
6018 echo "_____________________________________________________________________"
6019 echo "Libmount has been disabled, and it is used heavily inside Eeze"
6020 echo "for support of removable devices etc. and disabling this will"
6021 echo "hurt support for Enlightenment and its filemanager."
6022 echo "_____________________________________________________________________"
6024 if test "x${want_multisense}" = "xno"; then
6025 echo "_____________________________________________________________________"
6026 echo "Multisense has been disabled. This causes Edje audio suport to"
6027 echo "Simply not work, and will break applications and libraries"
6028 echo "that rely on it with users then reporting bugs."
6029 echo "If you want to mute audio, there are APIs and policies to do"
6030 echo "that, as opposed to compiling it out."
6031 echo "_____________________________________________________________________"
6033 if test "x${efl_api}" = "xeo"; then
6034 echo "_____________________________________________________________________"
6035 echo "Using the EO based EFL API only does not work at the moment. We still"
6036 echo "have a lot code that depends on the legacy interfaces. We provide"
6037 echo "this option for testing once we are able to migrate to the EO based"
6039 echo "If you are not working on this migration please leave the option set"
6040 echo "to both as it will break your build if set to eo."
6041 echo "_____________________________________________________________________"
6043 if test "x${want_libeeze}" = "xno"; then
6044 echo "_____________________________________________________________________"
6045 echo "Libeeze has been disabled, and it is used heavily for support of"
6046 echo "removable devices etc. and disabling this will hurt support for"
6047 echo "Enlightenment and its filemanager."
6048 echo "_____________________________________________________________________"
6050 echo "_____________________________________________________________________"
6052 echo "==-- WARNING --=="
6054 echo "_____________________________________________________________________"
6055 if test -n "$BARF_OK"; then
6056 echo "Please add the following option to acknowledge this:"
6057 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"
6058 echo "_____________________________________________________________________"
6065 if test "x$prefix" != "x/usr"; then
6067 path=$dbusservicedir
6068 while test "x$old" != "x$path"; do
6070 eval path="\"$path\""
6072 resolved_dbusservicedir=$path
6075 path=$USER_SESSION_DIR
6076 while test "x$old" != "x$path"; do
6078 eval path="\"$path\""
6080 resolved_USER_SESSION_DIR=$path
6081 base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
6085 while test "x$old" != "x$path"; do
6087 eval path="\"$path\""
6089 resolved_datadir=$path
6092 if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
6093 AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
6094 elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
6095 AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
6100 needs_alert_systemd=0
6101 if test "$have_systemd_user_session" = "yes"; then
6102 if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
6103 AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
6104 elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
6105 AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
6107 needs_alert_systemd=1
6111 if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
6112 if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
6113 what_alert="dbus and systemd"
6114 elif test $needs_alert_dbus -eq 1; then
6117 what_alert="systemd"
6121 echo "#-------------------------------------------------------------------#"
6122 echo "##==-- ALERT --==##"
6123 echo "#-------------------------------------------------------------------#"
6125 echo " Your installation prefix is *NOT* /usr so this means you need"
6126 echo "to ensure some files are visible to $what_alert otherwise services cannot"
6127 echo "be started when needed. You will need to do the following:"
6128 if test $needs_alert_dbus -eq 1; then
6130 echo "System-wide installation:"
6131 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
6133 echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
6135 echo "User installation:"
6136 echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
6138 if test $needs_alert_systemd -eq 1; then
6140 echo "System-wide installation:"
6141 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
6143 echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
6145 echo "User installation:"
6146 echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
6149 echo "#-------------------------------------------------------------------#"
6152 elif test "x${have_darwin}" = "xyes"; then
6154 echo "#-------------------------------------------------------------------#"
6155 echo "##==-- ALERT --==##"
6156 echo "#-------------------------------------------------------------------#"
6158 echo " If you are running Mac OS X >= 10.11 (starting from El Capitan)"
6159 echo " you will have TROUBLE with the prefix you have chosen (/usr)..."
6160 echo " Don't make it double and consider to use the default prefix"
6161 echo " (/usr/local). This is because of Apple's SIP that provides MAC"
6162 echo " and prevents ANYONE modifying the system."
6164 echo "#-------------------------------------------------------------------#"
6167 if test "x${efl_deprecated_option}" = "xyes"; then
6169 echo "#-------------------------------------------------------------------#"
6170 echo "##==-- ALERT --==##"
6171 echo "#-------------------------------------------------------------------#"
6173 echo " Your build script is using a deprecated option. It will get b0rken"
6174 echo "with the next release of EFL. You better update it now than later."
6176 echo "#-------------------------------------------------------------------#"