2018-08-17 16:11:23 -07:00
EFL_VERSION([1], [21], [99], [dev])
2018-08-17 14:49:35 -07:00
AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
simplify efl version and initialization in a macro, fixes libtool version-info.
Introduces EFL_VERSION() to make it simpler to define our version. The
last parameter is the release status, defaults to 'dev' for
development purposes and may be set to something else to be a
snapshot. It non-empty will be given to libtool's -release.
As EFL_VERSION() must be done *before* AC_INIT(), we need to create
another macro to do the AC_SUBST() and AC_DEFINE(). This is
EFL_INIT. And no, we can't just call AC_INIT() from inside EFL_INIT().
Last but not least, we had a problem with our libtool version-info. It
was being calculated as MAJOR + MINOR, right now 1 + 7 = 8. But as
soon as we get to MAJOR=2 and MINOR=0, we get into problems. This was
fixed by rewriting as (MAJOR * 100 + MINOR), but this is still
problematic.
According to libtool's manual (info libtool), we shouldn't bind the
version-info with package info, instead doing the 'release'
field. Pretty likely we'll do worse than expected by distros and
binary packages in future :-/
SVN revision: 82891
2013-01-16 09:24:36 -08:00
2013-01-11 22:50:35 -08:00
AC_PREREQ([2.60])
2012-09-11 09:04:21 -07:00
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_HEADERS([config.h])
AH_TOP([
#ifndef EFL_CONFIG_H__
#define EFL_CONFIG_H__
])
AH_BOTTOM([
#endif /* EFL_CONFIG_H__ */
])
2018-02-19 07:16:17 -08:00
AM_INIT_AUTOMAKE([1.6 dist-xz no-dist-gzip -Wall color-tests subdir-objects])
2012-09-11 09:04:21 -07:00
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
2018-07-17 12:38:57 -07:00
AM_CONDITIONAL([HAVE_AM_16], [test $(echo "${am__api_version}"|cut -d. -f2) -ge 16])
2014-12-04 05:11:35 -08:00
# Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
2014-12-04 04:50:58 -08:00
AC_USE_SYSTEM_EXTENSIONS
2018-02-28 23:44:01 -08:00
2014-02-11 17:27:34 -08:00
CFOPT_WARNING=""
2018-08-13 08:12:44 -07:00
CXXFLAGS="${CXXFLAGS} -Wno-shadow" # No shadow warnings
2014-02-11 17:27:34 -08:00
2013-04-24 08:31:31 -07:00
#### Apply configuring with legacy api's only, eo api's or both.
EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
efl_api="both"
2016-04-02 13:19:52 -07:00
#### For the moment the Eo EFL API is not ready you need to explicitly optin.
2013-06-26 23:51:07 -07:00
EFL_ENABLE_EO_API_SUPPORT
2013-07-22 19:26:43 -07:00
EFL_ENABLE_BETA_API_SUPPORT
2013-06-26 23:51:07 -07:00
2013-04-24 08:31:31 -07:00
AC_ARG_WITH([api],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])],
2013-04-24 08:31:31 -07:00
[efl_api=${withval}],
[efl_api="both"])
case "$efl_api" in
eo)
EFL_API_LEGACY_DEF="#define EFL_NOLEGACY_API_SUPPORT"
EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
2014-10-30 01:14:48 -07:00
CFOPT_WARNING="xyes"
2013-04-24 08:31:31 -07:00
;;
legacy)
EFL_API_LEGACY_DEF=""
EFL_API_EO_DEF=""
;;
both)
EFL_API_LEGACY_DEF=""
EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT"
;;
2013-10-31 01:25:06 -07:00
*) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;;
2013-04-24 08:31:31 -07:00
esac
AC_SUBST(EFL_API_LEGACY_DEF)
AC_SUBST(EFL_API_EO_DEF)
2012-11-17 23:12:38 -08:00
#### Additional options to configure
2013-11-04 05:11:48 -08:00
# string to identify the build
AC_ARG_WITH([id],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc).
2013-11-04 05:11:48 -08:00
@<:@default=none@:>@])],
[EFL_BUILD_ID="${withval}"],
[EFL_BUILD_ID="none"])
AC_SUBST(EFL_BUILD_ID)
# profile
2012-11-17 23:12:38 -08:00
AC_ARG_WITH([profile],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release.
2012-11-17 23:12:38 -08:00
@<:@default=dev@:>@])],
[build_profile=${withval}],
simplify efl version and initialization in a macro, fixes libtool version-info.
Introduces EFL_VERSION() to make it simpler to define our version. The
last parameter is the release status, defaults to 'dev' for
development purposes and may be set to something else to be a
snapshot. It non-empty will be given to libtool's -release.
As EFL_VERSION() must be done *before* AC_INIT(), we need to create
another macro to do the AC_SUBST() and AC_DEFINE(). This is
EFL_INIT. And no, we can't just call AC_INIT() from inside EFL_INIT().
Last but not least, we had a problem with our libtool version-info. It
was being calculated as MAJOR + MINOR, right now 1 + 7 = 8. But as
soon as we get to MAJOR=2 and MINOR=0, we get into problems. This was
fixed by rewriting as (MAJOR * 100 + MINOR), but this is still
problematic.
According to libtool's manual (info libtool), we shouldn't bind the
version-info with package info, instead doing the 'release'
field. Pretty likely we'll do worse than expected by distros and
binary packages in future :-/
SVN revision: 82891
2013-01-16 09:24:36 -08:00
[build_profile=def_build_profile])
2012-11-17 23:12:38 -08:00
case "${build_profile}" in
dev|debug|release)
;;
*)
AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}])
;;
esac
prefer_assert="no"
2016-11-15 15:04:49 -08:00
eina_log_backtrace="yes"
2017-02-10 09:58:24 -08:00
efl_less_insane="no"
2016-11-15 15:04:49 -08:00
case "${build_profile}" in
dev|debug)
prefer_assert="yes"
eina_log_backtrace="no"
2017-02-10 09:58:24 -08:00
efl_less_insane="yes"
2016-11-15 15:04:49 -08:00
;;
esac
2012-11-17 23:12:38 -08:00
2015-12-14 22:27:20 -08:00
# Enable CRI & ERR backtrace by default for release but not for dev/debug
AC_DEFINE_IF([EINA_LOG_BACKTRACE_ENABLE], [test "x${eina_log_backtrace}" = "xyes"], [1], [Default log level triggering backtraces])
2017-02-10 09:58:24 -08:00
# Additional sanity checks only performed in debug builds
AC_DEFINE_IF([EFL_EXTRA_SANITY_CHECKS], [test "x${efl_less_insane}" = "xyes"], [1], [Extra run time sanity checks])
2012-11-17 23:12:38 -08:00
# TODO: add some build "profile" (server, full, etc...)
2012-12-05 16:11:14 -08:00
AC_ARG_WITH([crypto],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of:
2012-12-05 16:11:14 -08:00
openssl, gnutls or none.
@<:@default=openssl@:>@])],
[build_crypto=${withval}],
[build_crypto=openssl])
case "${build_crypto}" in
openssl|gnutls|none)
;;
*)
AC_MSG_ERROR([Unknown build crypto option: --with-crypto=${build_crypto}])
;;
esac
2012-12-20 13:43:53 -08:00
AC_ARG_WITH([tests],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none.
2017-07-15 12:00:01 -07:00
@<:@default=auto@:>@])],
2012-12-20 13:43:53 -08:00
[build_tests=${withval}],
2013-01-08 05:39:25 -08:00
[build_tests=auto])
2012-12-20 13:43:53 -08:00
want_coverage="no"
want_tests="no"
case "${build_tests}" in
2013-01-08 05:39:25 -08:00
auto)
if test "${build_profile}" = "dev"; then
want_tests="yes"
fi
;;
2012-12-20 13:43:53 -08:00
regular)
want_tests="yes"
;;
coverage)
want_tests="yes"
want_coverage="yes"
;;
2014-01-24 20:25:29 -08:00
no*)
2012-12-20 13:43:53 -08:00
;;
*)
AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
;;
esac
2012-11-17 23:12:38 -08:00
2015-04-06 06:46:21 -07:00
AC_ARG_WITH([ecore-con-http-test-url],
[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])])
AC_ARG_WITH([ecore-con-ftp-test-url],
[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])])
2012-12-29 15:04:40 -08:00
dbusservicedir="${datadir}/dbus-1/services"
AC_ARG_WITH([dbus-services],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])],
2012-12-29 15:04:40 -08:00
[dbusservicedir=$withval])
AC_SUBST(dbusservicedir)
2014-02-21 05:13:00 -08:00
efl_deprecated_option="no"
2016-05-28 05:29:45 -07:00
EFL_WITH_BIN([eet], [eet-eet])
2013-03-24 05:00:55 -07:00
EFL_WITH_BIN([edje], [edje-cc])
2014-02-11 07:25:41 -08:00
EFL_WITH_BIN([eolian], [eolian-gen])
2014-05-02 15:55:51 -07:00
EFL_WITH_BIN([eolian_cxx], [eolian-cxx])
2017-11-23 17:10:05 -08:00
EFL_WITH_BIN([eolian_mono], [eolian-mono])
2016-05-28 05:29:45 -07:00
EFL_WITH_BIN([eolian-js], [eolian-js])
2014-06-12 07:20:18 -07:00
EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin])
2016-05-28 05:29:45 -07:00
EFL_WITH_BIN([eldbus], [eldbus_codegen])
EFL_WITH_BIN([elementary], [elementary-codegen])
EFL_WITH_BIN([elementary], [elm-prefs-cc])
2012-11-17 23:12:38 -08:00
2012-09-11 09:04:21 -07:00
#### Default values
2014-07-21 07:51:39 -07:00
requirements_pc_eflall=""
requirements_pc_deps_eflall=""
requirements_libs_eflall=""
requirements_cflags_eflall=""
2012-12-30 16:46:14 -08:00
2012-12-05 16:11:14 -08:00
requirements_pc_crypto=""
requirements_pc_deps_crypto=""
requirements_libs_crypto=""
2012-12-30 10:08:55 -08:00
requirements_cflags_crypto=""
2012-12-05 16:11:14 -08:00
2012-09-11 09:04:21 -07:00
AC_CANONICAL_HOST
2012-10-10 10:59:15 -07:00
# TODO: move me to m4 file that setups module/so related variables
2012-09-11 09:04:21 -07:00
case "$host_os" in
2014-07-13 01:59:40 -07:00
cegcc*|mingw32ce*)
2012-09-11 09:04:21 -07:00
AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
;;
mingw*)
have_win32="yes"
have_windows="yes"
2014-02-11 22:56:56 -08:00
MODULE_ARCH="v-v_maj.v_min"
2012-09-16 03:57:48 -07:00
MODULE_EXT=".dll"
;;
2012-11-06 16:52:49 -08:00
cygwin*)
2014-02-11 22:56:56 -08:00
MODULE_ARCH="v-v_maj.v_min"
2012-11-06 16:52:49 -08:00
MODULE_EXT=".dll"
;;
2017-04-12 00:59:08 -07:00
*solaris*)
have_solaris="yes"
MODULE_ARCH="v-v_maj.v_min"
MODULE_EXT=".so"
;;
2012-09-16 03:57:48 -07:00
*)
2014-02-11 22:56:56 -08:00
MODULE_ARCH="v-v_maj.v_min"
2012-09-16 03:57:48 -07:00
MODULE_EXT=".so"
2012-09-11 09:04:21 -07:00
;;
esac
2013-11-04 01:31:48 -08:00
EFL_VERSION_MAJOR="v_maj"
EFL_VERSION_MINOR="v_min"
AC_SUBST(EFL_VERSION_MAJOR)
AC_SUBST(EFL_VERSION_MINOR)
2016-03-23 17:13:57 -07:00
ELM_UNIX_DEF="#undef"
ELM_WIN32_DEF="#undef"
2013-12-11 17:27:01 -08:00
have_systemd_pkg="no"
2012-12-08 08:12:08 -08:00
have_win32="no"
have_windows="no"
2014-08-07 14:41:22 -07:00
have_freebsd="no"
2012-12-08 08:12:08 -08:00
have_darwin="no"
have_linux="no"
have_ps3="no"
case "$host_os" in
mingw*|cygwin*)
# TODO: check cygwin* here
have_win32="yes"
have_windows="yes"
2016-03-23 17:13:57 -07:00
ELM_WIN32_DEF="#define"
2014-08-25 06:13:12 -07:00
EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO"
2012-12-08 08:12:08 -08:00
;;
2014-08-07 14:41:22 -07:00
freebsd*)
have_freebsd="yes"
2016-03-23 17:13:57 -07:00
ELM_UNIX_DEF="#define"
2014-08-07 14:41:22 -07:00
;;
2012-12-08 08:12:08 -08:00
darwin*)
have_darwin="yes"
2016-03-23 17:13:57 -07:00
ELM_UNIX_DEF="#define"
2012-12-08 08:12:08 -08:00
;;
linux*)
have_linux="yes"
2013-12-11 17:27:01 -08:00
have_systemd_pkg="auto"
2016-09-07 11:28:24 -07:00
want_systemd="yes"
2016-03-23 17:13:57 -07:00
ELM_UNIX_DEF="#define"
2012-12-08 08:12:08 -08:00
;;
2016-03-23 17:13:57 -07:00
*)
ELM_UNIX_DEF="#define"
;;
2012-12-08 08:12:08 -08:00
esac
2012-12-02 14:35:45 -08:00
case "$host_vendor" in
ps3*)
have_ps3="yes"
;;
esac
2012-11-04 03:51:42 -08:00
AC_SUBST([MODULE_ARCH])
2012-09-16 03:57:48 -07:00
AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"])
AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects])
2015-02-03 01:15:15 -08:00
AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects])
2012-09-16 03:57:48 -07:00
2012-10-10 10:59:15 -07:00
# TODO: move me to m4 file that setups the windows related variables
2012-09-11 09:04:21 -07:00
AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"])
AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"])
2012-12-02 14:35:45 -08:00
AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"])
2012-09-11 09:04:21 -07:00
2014-08-07 14:41:22 -07:00
AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"])
2014-07-25 05:58:03 -07:00
AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"])
AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"])
2012-09-11 09:04:21 -07:00
2016-03-23 17:13:57 -07:00
AC_SUBST([ELM_UNIX_DEF])
AC_SUBST([ELM_WIN32_DEF])
2012-09-11 09:04:21 -07:00
#### Checks for programs
### libtool
if test "x${have_windows}" = "xyes" ; then
lt_cv_deplibs_check_method='pass_all'
fi
2013-01-24 08:18:07 -08:00
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
2013-01-01 09:29:29 -08:00
LT_INIT([win32-dll disable-static pic-only])
simplify efl version and initialization in a macro, fixes libtool version-info.
Introduces EFL_VERSION() to make it simpler to define our version. The
last parameter is the release status, defaults to 'dev' for
development purposes and may be set to something else to be a
snapshot. It non-empty will be given to libtool's -release.
As EFL_VERSION() must be done *before* AC_INIT(), we need to create
another macro to do the AC_SUBST() and AC_DEFINE(). This is
EFL_INIT. And no, we can't just call AC_INIT() from inside EFL_INIT().
Last but not least, we had a problem with our libtool version-info. It
was being calculated as MAJOR + MINOR, right now 1 + 7 = 8. But as
soon as we get to MAJOR=2 and MINOR=0, we get into problems. This was
fixed by rewriting as (MAJOR * 100 + MINOR), but this is still
problematic.
According to libtool's manual (info libtool), we shouldn't bind the
version-info with package info, instead doing the 'release'
field. Pretty likely we'll do worse than expected by distros and
binary packages in future :-/
SVN revision: 82891
2013-01-16 09:24:36 -08:00
EFL_INIT
2012-12-30 16:54:48 -08:00
2017-08-13 22:07:05 -07:00
if ! test "x${have_win32}" = "xyes" ; then
CXXFLAGS="${CXXFLAGS} -fPIC -DPIC"
LDFLAGS="${LDFLAGS} -fPIC -DPIC"
fi
2016-03-23 17:13:57 -07:00
2012-12-02 14:35:45 -08:00
### gettext
2014-09-02 01:03:04 -07:00
AM_GNU_GETTEXT_VERSION([0.18])
2012-12-02 14:35:45 -08:00
2013-08-22 02:58:20 -07:00
m4_ifdef([AC_GNU_GETTEXT], [
AC_GNU_GETTEXT([external])
2012-12-02 14:35:45 -08:00
po_makefile_in=po/Makefile.in
have_po="yes"
],
[
2013-08-22 05:59:05 -07:00
m4_ifdef([AM_GNU_GETTEXT], [
AM_GNU_GETTEXT([external])
po_makefile_in=po/Makefile.in
have_po="yes"
],
[
2012-12-02 14:35:45 -08:00
have_po="no"
])
2013-08-22 05:59:05 -07:00
])
2012-12-02 14:35:45 -08:00
AC_SUBST([LTLIBINTL])
2012-12-29 15:04:40 -08:00
LOCALE_DIR="${localedir}"
AC_SUBST(LOCALE_DIR)
2012-12-02 14:35:45 -08:00
if test "x${POSUB}" = "x" ; then
have_po="no"
fi
AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"])
2012-09-11 09:04:21 -07:00
### compilers
2014-08-11 08:26:29 -07:00
AC_PROG_MKDIR_P
2012-09-11 10:11:37 -07:00
AM_PROG_AS
2012-09-11 09:04:21 -07:00
AC_PROG_CXX
2013-01-16 12:43:49 -08:00
AC_PROG_OBJC
2012-09-11 09:04:21 -07:00
AC_LANG(C)
2012-12-02 14:35:45 -08:00
AC_PROG_CC_C99
2012-11-01 05:56:52 -07:00
AM_PROG_CC_C_O
2014-04-01 05:58:36 -07:00
AC_PROG_SED
2017-11-23 17:10:05 -08:00
AC_PROG_MCS
2012-09-11 09:04:21 -07:00
2014-02-20 03:06:47 -08:00
AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
2012-12-02 14:35:45 -08:00
if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
2013-01-11 22:50:35 -08:00
AC_MSG_ERROR([efl requires a c99-capable compiler])
2012-12-02 14:35:45 -08:00
fi
2013-12-09 04:35:56 -08:00
# We should be using ${CXX} here, but there is a bug in
# autotools macro and CXX is always set to g++ even if
# it's not found. So we are using an internal variable
# that does the work for now, may get broken in the future.
2013-12-10 17:40:13 -08:00
if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
2013-12-09 18:30:43 -08:00
AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
2013-01-16 12:53:35 -08:00
fi
2012-12-02 14:35:45 -08:00
AC_SYS_LARGEFILE
2012-09-11 09:04:21 -07:00
# pkg-config
PKG_PROG_PKG_CONFIG
2012-09-11 10:27:21 -07:00
if test "x${PKG_CONFIG}" = "x" ; then
AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
2012-09-11 09:04:21 -07:00
fi
# doxygen program for documentation building
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
2012-11-17 23:12:38 -08:00
# lcov
2012-12-20 13:43:53 -08:00
if test "${want_coverage}" = "yes" ; then
2012-11-17 23:12:38 -08:00
AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
if test "x${have_lcov}" = "xyes" ; then
2016-03-07 05:33:15 -08:00
AC_SEARCH_LIBS([__gcov_init], [gcov])
2016-01-22 12:06:35 -08:00
EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-arcs -ftest-coverage])
EFL_CHECK_COMPILER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
EFL_CHECK_LINKER_FLAGS([EFLALL], [-fprofile-instr-generate -fcoverage-mapping])
2012-11-17 23:12:38 -08:00
if test "x${prefer_assert}" = "xno"; then
2014-08-01 14:59:48 -07:00
EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG"
2012-11-17 23:12:38 -08:00
else
2016-03-07 05:39:16 -08:00
EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0"
2012-11-17 23:12:38 -08:00
fi
else
2012-12-20 13:43:53 -08:00
AC_MSG_ERROR([lcov is not found])
2012-11-17 23:12:38 -08:00
fi
fi
2012-12-20 13:43:53 -08:00
AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"])
2012-11-17 23:12:38 -08:00
2012-09-11 09:04:21 -07:00
#### Checks for libraries
2012-11-17 23:12:38 -08:00
# check unit testing library
2012-12-20 13:43:53 -08:00
if test "${want_tests}" = "yes"; then
2017-05-29 19:02:05 -07:00
PKG_CHECK_MODULES([CHECK], [check >= 0.9.10])
2012-12-20 13:43:53 -08:00
fi
AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"])
2012-11-17 23:12:38 -08:00
2012-09-11 09:04:21 -07:00
2012-12-05 16:11:14 -08:00
# check for crypto/tls library to use
case "$build_crypto" in
gnutls)
2017-04-28 06:25:45 -07:00
EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 3.3.6])
2012-12-05 16:11:14 -08:00
2013-01-17 08:47:36 -08:00
AM_PATH_LIBGCRYPT([], [:],
[AC_MSG_ERROR([libgcrypt required but not found])])
requirements_libs_crypto="${LIBGCRYPT_LIBS} ${requirements_libs_crypto}"
requirements_cflags_crypto="${LIBGCRYPT_CFLAGS} ${requirements_cflags_crypto}"
2012-12-05 16:11:14 -08:00
;;
openssl)
2012-12-06 15:19:35 -08:00
EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl])
2012-12-05 16:11:14 -08:00
;;
esac
2013-01-04 15:51:53 -08:00
AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"])
AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"])
2012-12-05 16:11:14 -08:00
2014-04-27 03:02:53 -07:00
# check for lua old
want_lua_old="no"
AC_ARG_ENABLE([lua-old],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])],
2014-04-27 03:02:53 -07:00
[
if test "x${enableval}" = "xyes" ; then
want_lua_old="yes"
else
want_lua_old="no"
fi
],
[want_lua_old="no"])
AM_CONDITIONAL([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"])
AC_DEFINE_IF([ENABLE_LUA_OLD], [test "${want_lua_old}" = "yes"],
[1], [Use interpreted Lua (5.1 or 5.2)])
AC_SUBST([want_lua_old])
2014-08-12 00:37:33 -07:00
want_liblz4="no"
AC_ARG_ENABLE([liblz4],
[AS_HELP_STRING([--enable-liblz4],[Enable usage of liblz4 instead of our embedded copy. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
# Only ships pc file since r120
PKG_CHECK_MODULES([LIBLZ4], [liblz4])
EFL_DEPEND_PKG([EET], [LIBLZ4], [liblz4])
EFL_DEPEND_PKG([EVAS], [LIBLZ4], [liblz4])
want_liblz4="yes"
else
want_liblz4="no"
fi
],
[want_liblz4="no"])
AM_CONDITIONAL([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"])
AC_DEFINE_IF([ENABLE_LIBLZ4], [test "${want_liblz4}" = "yes"], [1], [Use liblz4 external library instead of embedded copy])
AC_SUBST([want_liblz4])
AC_SUBST([ENABLE_LIBLZ4])
2016-09-21 09:52:57 -07:00
want_vnc_server="no"
AC_ARG_ENABLE([vnc-server],
2016-10-28 09:56:42 -07:00
[AS_HELP_STRING([--enable-vnc-server],[Build Ecore_Evas VNC module. @<:@default=disabled@:>@])],
2016-09-21 09:52:57 -07:00
[
if test "x${enableval}" = "xyes" ; then
2016-10-28 09:56:42 -07:00
PKG_CHECK_MODULES([LIBVNCSERVER], [libvncserver])
2016-09-21 09:52:57 -07:00
want_vnc_server="yes"
else
want_vnc_server="no"
fi
],
[want_vnc_server="no"])
2012-09-11 09:04:21 -07:00
#### Checks for header files
2012-10-22 23:12:37 -07:00
# Common Checks (keep names sorted for ease of use):
AC_HEADER_DIRENT
AC_HEADER_TIME
AC_CHECK_HEADERS([ \
execinfo.h \
mcheck.h \
2012-12-06 12:43:18 -08:00
sys/signalfd.h \
2012-10-22 23:12:37 -07:00
sys/types.h \
2012-11-04 03:51:42 -08:00
sys/param.h \
sys/mman.h \
2013-03-10 09:57:23 -07:00
netinet/in.h \
2016-09-16 11:05:56 -07:00
sys/auxv.h \
asm/hwcap.h \
2012-10-22 23:12:37 -07:00
])
2018-04-13 06:07:53 -07:00
if test "x${have_linux}" = "xyes" ; then
AC_CHECK_HEADERS([sys/inotify.h])
2017-04-12 00:59:08 -07:00
AC_CHECK_HEADERS([sys/epoll.h])
fi
2012-09-17 09:35:38 -07:00
EFL_CHECK_PATH_MAX
2016-08-23 02:32:21 -07:00
#### Checks for defines in headers
EFL_CHECK_DEFINE(TCP_CORK, netinet/tcp.h)
EFL_CHECK_DEFINE(TCP_NOPUSH, netinet/tcp.h)
2016-10-18 13:51:59 -07:00
EFL_CHECK_DEFINE(UDP_CORK, netinet/udp.h)
2016-08-23 02:32:21 -07:00
2012-09-11 09:04:21 -07:00
#### Checks for types
2012-10-22 23:12:37 -07:00
# wchar_t
AC_CHECK_SIZEOF([wchar_t])
EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t
AC_SUBST([EINA_SIZEOF_WCHAR_T])
2012-12-03 06:14:05 -08:00
AC_CHECK_SIZEOF(int, 4)
AC_CHECK_SIZEOF(long, 4)
2013-04-18 04:19:02 -07:00
AC_CHECK_SIZEOF([uintptr_t])
2016-06-10 13:42:19 -07:00
EINA_SIZEOF_UINTPTR_T=$ac_cv_sizeof_uintptr_t
AC_SUBST([EINA_SIZEOF_UINTPTR_T])
2013-04-18 04:19:02 -07:00
2013-02-17 23:39:49 -08:00
AC_CHECK_TYPES([siginfo_t], [], [],
[[
#include <signal.h>
#if HAVE_SIGINFO_H
# include <siginfo.h>
#endif
]])
2012-09-11 09:04:21 -07:00
#### Checks for structures
#### Checks for compiler characteristics
2012-09-17 09:35:38 -07:00
AC_C_BIGENDIAN
AC_C_INLINE
2016-12-21 01:42:34 -08:00
EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
2014-07-21 07:51:39 -07:00
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])
2012-10-25 23:57:11 -07:00
case "${build_profile}" in
dev)
2013-04-03 04:39:57 -07:00
dnl Check if compiler has a dodgy -Wshadow that emits errors when shadowing a global
AC_MSG_CHECKING([whether -Wshadow generates spurious warnings])
CFLAGS_save="${CFLAGS}"
CFLAGS="${CFLAGS} -Werror -Wshadow"
2014-07-03 01:32:10 -07:00
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no])
2014-07-21 07:51:39 -07:00
EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])])
2013-04-03 04:39:57 -07:00
CFLAGS="${CFLAGS_save}"
2012-10-25 23:57:11 -07:00
;;
debug)
;;
release)
;;
esac
2012-09-11 09:04:21 -07:00
2012-11-04 03:51:42 -08:00
EFL_ATTRIBUTE_VECTOR
EFL_ATTRIBUTE_ALWAYS_INLINE
2014-08-25 06:13:12 -07:00
EFLALL_LIBS="${EFLALL_LIBS}"
EFLALL_CFLAGS="${EFLALL_CFLAGS}"
2012-09-11 09:04:21 -07:00
2012-12-05 15:18:59 -08:00
## CPU architecture specific assembly
build_cpu_mmx="no"
build_cpu_sse3="no"
build_cpu_altivec="no"
build_cpu_neon="no"
2014-05-08 07:24:04 -07:00
want_neon="yes"
AC_ARG_ENABLE([neon],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])],
2014-05-08 07:24:04 -07:00
[
if test "x${enableval}" = "xyes"; then
want_neon="yes"
else
want_neon="no"
fi
])
2012-12-05 15:18:59 -08:00
SSE3_CFLAGS=""
ALTIVEC_CFLAGS=""
2014-02-27 14:04:52 -08:00
NEON_CFLAGS=""
2012-12-05 15:18:59 -08:00
case $host_cpu in
i*86|x86_64|amd64)
AC_DEFINE([BUILD_MMX], [1], [Build MMX Code])
build_cpu_mmx="yes"
AC_CHECK_HEADER([immintrin.h],
[
AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
build_cpu_sse3="yes"
],
[build_cpu_sse3="no"])
AC_MSG_CHECKING([whether to build SSE3 code])
AC_MSG_RESULT([${build_cpu_sse3}])
if test "x$build_cpu_sse3" = "xyes" ; then
SSE3_CFLAGS="-msse3"
fi
;;
*power* | *ppc*)
build_cpu_altivec="yes"
AC_CHECK_HEADER([altivec.h],
[
AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
build_cpu_altivec="yes"
],
[
save_CFLAGS=$CFLAGS
save_CPPFLAGS=$CPPFLAGS
CFLAGS=$CFLAGS" -maltivec"
CPPFLAGS=$CPPFLAGS" -maltivec"
unset ac_cv_header_altivec_h
AC_CHECK_HEADER([altivec.h],
[
AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
AC_DEFINE([HAVE_ALTIVEC_H], [1], [Have altivec.h header file])
build_cpu_altivec="yes"
],
[build_cpu_altivec="no"]
)
CFLAGS=$save_CFLAGS
CPPFLAGS=$save_CPPFLAGS
]
)
if test "x${build_cpu_altivec}" = "xyes"; then
AC_MSG_CHECKING([whether to use altivec compiler flag])
if test "x$GCC" = "xyes"; then
if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
altivec_cflags="-faltivec"
AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
altivec_cflags="-maltivec"
AC_DEFINE([BUILD_ALTIVEC], [1], [Build Altivec Code])
fi
fi
AC_MSG_RESULT([${altivec_cflags}])
CFLAGS="$CFLAGS ${altivec_cflags}"
ALTIVEC_CFLAGS="-maltivec"
fi
;;
arm*)
2014-05-08 07:24:04 -07:00
if test "x${want_neon}" = "xyes"; then
build_cpu_neon="yes"
AC_MSG_CHECKING([whether to use NEON instructions])
CFLAGS_save="${CFLAGS}"
2016-08-03 23:22:23 -07:00
CFLAGS="-mfpu=neon -ftree-vectorize ${CFLAGS}"
2014-07-03 01:32:10 -07:00
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[
2014-05-08 07:24:04 -07:00
AC_MSG_RESULT([yes])
AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
build_cpu_neon="yes"
NEON_CFLAGS="-mfpu=neon"
2014-07-03 01:32:10 -07:00
],[
2014-05-08 07:24:04 -07:00
AC_MSG_RESULT([no])
build_cpu_neon="no"
])
CFLAGS="${CFLAGS_save}"
fi
2012-12-05 15:18:59 -08:00
;;
2015-04-15 08:21:33 -07:00
aarch64*)
if test "x${want_neon}" = "xyes"; then
build_cpu_neon="yes"
AC_MSG_CHECKING([whether to use NEON instructions])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[volatile uint32x4_t test = vdupq_n_u32(0x1);]])],[
AC_MSG_RESULT([yes])
AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
build_cpu_neon="yes"
],[
AC_MSG_RESULT([no])
build_cpu_neon="no"
])
fi
;;
2012-12-05 15:18:59 -08:00
esac
AC_SUBST([ALTIVEC_CFLAGS])
AC_SUBST([SSE3_CFLAGS])
2014-02-27 14:04:52 -08:00
AC_SUBST([NEON_CFLAGS])
2012-12-05 15:18:59 -08:00
2012-09-11 09:04:21 -07:00
#### Checks for linker characteristics
#### Checks for library functions
2012-10-10 15:30:33 -07:00
AC_CHECK_FUNCS([\
backtrace \
backtrace_symbols \
2013-01-07 14:52:27 -08:00
execvp \
2012-10-10 15:30:33 -07:00
fpathconf \
fstatat \
malloc_usable_size \
2012-12-06 13:15:30 -08:00
mkdirat \
2012-10-10 15:30:33 -07:00
mtrace \
2013-01-07 14:52:27 -08:00
realpath \
2013-03-10 07:09:45 -07:00
strlcpy \
2013-06-25 02:11:43 -07:00
geteuid \
2014-01-08 05:06:41 -08:00
getuid \
2014-01-08 05:40:59 -08:00
pause \
2016-12-09 13:23:22 -08:00
gmtime_r \
2017-06-05 10:00:22 -07:00
pthread_getcpuclockid \
clock_gettime \
2018-02-21 07:15:57 -08:00
clearenv
2012-10-10 15:30:33 -07:00
])
2012-10-22 23:12:37 -07:00
AC_FUNC_ALLOCA
2014-08-21 03:53:41 -07:00
AC_FUNC_MMAP
2016-08-22 05:06:47 -07:00
AC_FUNC_STRERROR_R
2012-10-10 15:30:33 -07:00
2016-05-28 04:35:54 -07:00
EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl sched_getcpu])
2012-10-26 02:01:52 -07:00
2012-12-06 13:15:30 -08:00
have_atfile_source="${ac_cv_func_fstatat}"
AC_DEFINE_IF([HAVE_ATFILE_SOURCE],
[test "x${have_atfile_source}" = "xyes"],
[1], [Use fstatat and other -at file functions])
2012-10-26 02:01:52 -07:00
2012-10-10 15:30:33 -07:00
2012-10-22 23:12:37 -07:00
###################### EFL ######################
2012-10-10 15:30:33 -07:00
2015-04-23 14:17:58 -07:00
want_libeeze="yes"
AC_ARG_ENABLE([libeeze],
[AS_HELP_STRING([--disable-libeeze],[disable Eeze device library @<:@default=enable@:>@])],
[
if test "x${enableval}" = "xyes"; then
want_libeeze="yes"
else
want_libeeze="no"
CFOPT_WARNING="yes"
fi
])
build_libeeze="yes"
if test "x${want_libeeze}" = "xyes" ; then
if test "x${have_linux}" = "xyes" ; then
build_libeeze="yes"
else
build_libeeze="no"
want_libeeze="no"
fi
else
build_libeeze="no"
fi
2013-03-12 00:09:09 -07:00
AC_ARG_ENABLE([systemd],
2016-09-26 21:45:03 -07:00
[AS_HELP_STRING([--disable-systemd],[Disable systemd support. @<:@default=enabled@:>@])],
2013-03-12 00:09:09 -07:00
[
if test "x${enableval}" = "xyes" ; then
want_systemd="yes"
else
want_systemd="no"
fi
2013-12-10 20:46:33 -08:00
])
2013-08-08 16:32:53 -07:00
2014-03-09 19:55:42 -07:00
systemd_dbus_prefix="# "
if test "${want_systemd}" = "yes"; then
systemd_dbus_prefix=""
fi
AC_SUBST(systemd_dbus_prefix)
AC_ARG_WITH([systemdunitdir],
2014-07-03 01:32:10 -07:00
AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]),
2014-03-09 19:55:42 -07:00
[USER_SESSION_DIR=${withval}])
if test "$want_systemd" == "no"; then
have_systemd_user_session="no"
elif test -n "${USER_SESSION_DIR}"; then
have_systemd_user_session="yes"
AC_MSG_NOTICE([Using systemd user services directory as ${USER_SESSION_DIR}])
else
# Detect systemd user session directory properly
EFL_PKG_CHECK_VAR([USER_SESSION_DIR], [systemd >= 192], [systemduserunitdir],
[have_systemd_user_session="yes"], [have_systemd_user_session="no"])
if test "$want_systemd" = "yes" -a "$have_systemd_user_session" = "no"; then
AC_MSG_ERROR([systemd support wanted, but systemd was not found.])
fi
fi
AM_CONDITIONAL([HAVE_SYSTEMD_USER_SESSION], [test "x${have_systemd_user_session}" = "xyes"])
AC_SUBST([USER_SESSION_DIR])
2013-12-11 17:27:01 -08:00
if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then
2015-08-25 01:52:47 -07:00
PKG_CHECK_MODULES([SYSTEMD], [libsystemd >= 209],
2016-05-18 13:42:59 -07:00
[
have_systemd_pkg="yes"
AC_DEFINE_UNQUOTED([HAVE_SYSTEMD_LOGIN_209],[1],[Defined if systemd >= 209])
],
2014-01-17 11:07:59 -08:00
[have_systemd_pkg="no"])
2013-12-11 17:27:01 -08:00
fi
# check for systemd library if requested
if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then
2014-12-10 05:43:19 -08:00
AC_MSG_ERROR([Systemd dependency requested but not found])
2013-12-10 18:39:09 -08:00
fi
AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"])
2015-08-25 01:52:47 -07:00
AM_CONDITIONAL([HAVE_SYSTEMD], [test "${want_systemd}" = "yes" -a "${have_systemd_pkg}" = "yes"])
2012-12-20 11:25:51 -08:00
#### Platform-dependent
2012-10-10 13:53:22 -07:00
2012-09-11 09:04:21 -07:00
#### Evil
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"])
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
### Default values
### Additional options to configure
EFL_SELECT_WINDOWS_VERSION
### Checks for programs
### Checks for libraries
2015-12-28 05:22:29 -08:00
EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid])
2012-09-11 09:04:21 -07:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
2015-12-28 05:22:29 -08:00
EVIL_CPPFLAGS="-DPSAPI_VERSION=1"
2013-01-14 14:36:23 -08:00
# TODO: should we have these at EFL (global?)
2013-03-10 03:42:19 -07:00
# Note: these warnings should not be used with C++ code
EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls"
2013-01-14 14:36:23 -08:00
EVIL_CXXFLAGS="${EVIL_CXXFLAGS}"
2012-09-11 09:04:21 -07:00
if test "x${have_win32}" = "xyes" ; then
2013-01-14 14:36:23 -08:00
EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}"
EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}"
2012-09-11 09:04:21 -07:00
fi
2015-12-28 05:22:29 -08:00
AC_SUBST([EVIL_CPPFLAGS])
2013-03-10 03:42:19 -07:00
AC_SUBST([EVIL_CFLAGS_WRN])
2012-09-11 09:04:21 -07:00
AC_SUBST([EVIL_CXXFLAGS])
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Evil])
2012-09-11 09:04:21 -07:00
2012-12-20 11:25:51 -08:00
AC_SUBST([USE_EVIL_CFLAGS])
AC_SUBST([USE_EVIL_LIBS])
2012-09-11 09:04:21 -07:00
#### End of Evil
2012-12-02 14:35:45 -08:00
#### Escape
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty])
2012-12-02 14:35:45 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Escape])
2012-12-07 05:51:46 -08:00
#### End of Escape
2012-12-02 14:35:45 -08:00
2013-01-19 06:59:39 -08:00
EFL_CHECK_FUNC([SHM], [shm_open])
SHM_LIBS="${requirements_libs_shm}"
AC_SUBST([SHM_LIBS])
2012-12-20 11:25:51 -08:00
AC_SUBST([DL_LIBS])
2013-01-14 14:36:23 -08:00
AC_SUBST([DL_INTERNAL_LIBS])
2012-12-20 11:25:51 -08:00
#### End of Platform-dependent
2012-12-02 14:35:45 -08:00
2012-09-11 09:04:21 -07:00
#### Eina
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Eina])
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
### Default values
2012-09-16 03:57:48 -07:00
2012-10-10 11:43:15 -07:00
have_safety_checks="yes"
want_log="yes"
2012-10-25 23:57:11 -07:00
case "${build_profile}" in
2012-10-17 06:54:31 -07:00
dev)
2012-10-17 06:50:11 -07:00
with_max_log_level=""
have_stringshare_usage="no"
2013-01-07 14:24:53 -08:00
want_valgrind="auto"
2012-10-17 06:50:11 -07:00
want_debug_malloc="no"
want_debug_threads="no"
2012-12-28 06:20:26 -08:00
want_default_mempool="no"
2013-03-19 08:45:44 -07:00
want_cow_magic="no"
2012-10-17 06:50:11 -07:00
;;
2012-10-17 06:54:31 -07:00
debug)
2012-10-10 11:43:15 -07:00
with_max_log_level=""
have_stringshare_usage="yes"
2013-01-07 14:24:53 -08:00
want_valgrind="auto"
2012-10-18 18:32:31 -07:00
want_debug_malloc="yes"
want_debug_threads="yes"
2012-12-28 06:20:26 -08:00
want_default_mempool="yes"
2013-03-18 23:11:50 -07:00
want_cow_magic="yes"
2012-10-10 11:43:15 -07:00
;;
release)
2018-08-20 10:02:08 -07:00
with_max_log_level=""
2012-10-10 11:43:15 -07:00
have_stringshare_usage="no"
want_valgrind="no"
want_debug_malloc="no"
2012-10-10 13:42:04 -07:00
want_debug_threads="no"
2012-12-28 06:20:26 -08:00
want_default_mempool="no"
2013-03-18 23:11:50 -07:00
want_cow_magic="no"
2012-10-10 11:43:15 -07:00
;;
esac
2012-09-16 03:57:48 -07:00
2016-05-28 04:07:22 -07:00
EFL_CHECK_LIBUNWIND
2015-05-04 19:35:16 -07:00
2013-01-03 07:10:34 -08:00
EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"])
2012-10-17 14:50:52 -07:00
EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"])
2012-12-28 06:20:26 -08:00
EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"])
2012-09-16 03:57:48 -07:00
2012-10-17 14:50:52 -07:00
if test -n "${with_max_log_level}"; then
2012-10-10 11:43:15 -07:00
AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${with_max_log_level}])
AC_DEFINE_UNQUOTED([EINA_LOG_LEVEL_MAXIMUM], [${with_max_log_level}], [if set, logging is limited to this amount.])
fi
2012-10-10 15:12:29 -07:00
AC_DEFINE_IF([EINA_STRINGSHARE_USAGE],
[test "x${have_stringshare_usage}" = "xyes"],
[1], [Report Eina stringshare usage pattern])
2012-09-16 03:57:48 -07:00
2012-10-17 14:50:52 -07:00
### Additional options to configure
2014-02-04 18:10:29 -08:00
AC_ARG_ENABLE([magic-debug],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])],
2014-02-04 18:10:29 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_magic_debug="yes"
else
have_magic_debug="no"
fi
],
[have_magic_debug="yes"])
2016-07-28 21:02:51 -07:00
AC_ARG_ENABLE([debug-threads],
[AS_HELP_STRING([--enable-debug-threads], [enable debugging of eina threads @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_debug_threads="yes"
else
want_debug_threads="no"
fi
])
2014-02-04 18:10:29 -08:00
EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
2012-10-17 14:50:52 -07:00
2015-03-06 07:19:13 -08:00
AC_ARG_WITH([xattr-tests-path],
[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])])
2016-01-20 05:11:42 -08:00
evas_dicts_hyphen_dir="/usr/share/hyphen/"
2015-10-13 00:59:19 -07:00
AC_ARG_WITH([dictionaries-hyphen-dir],
2016-01-20 05:11:42 -08:00
[AS_HELP_STRING([--with-dictionaries-hyphen-dir=DIR],[path of hunspell-compatible hyphen dictionaries])], [evas_dicts_hyphen_dir=$withval])
AC_DEFINE_UNQUOTED([EVAS_DICTS_HYPHEN_DIR],["$evas_dicts_hyphen_dir"], [Hunspell-compatible hyphen dictionaries install directory])
2015-10-13 00:59:19 -07:00
2012-09-11 09:04:21 -07:00
### Checks for programs
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
### Checks for libraries
2017-09-10 18:08:36 -07:00
# sockets
case "$host_os" in
mingw*)
have_socket="no"
;;
*solaris*)
AC_CHECK_LIB([socket], [connect],
[
have_socket="yes"
requirement_socket="-lsocket"
2017-09-10 18:52:47 -07:00
requirement_nsl="-lnsl"
2017-09-10 18:08:36 -07:00
],
[have_socket="no"])
;;
darwin*)
have_socket="yes"
;;
*)
have_socket="yes"
;;
esac
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([EINA], [all])
2012-10-22 14:31:10 -07:00
2017-09-10 18:08:36 -07:00
EFL_ADD_LIBS([EINA], [${requirement_socket} -lm])
2012-12-30 13:52:34 -08:00
2012-09-16 03:57:48 -07:00
## Options
# Valgrind
2013-01-07 14:24:53 -08:00
AC_ARG_ENABLE([valgrind],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])],
2013-01-07 14:24:53 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_valgrind="yes"
else
want_valgrind="no"
fi
])
if test "${want_valgrind}" = "auto"; then
PKG_CHECK_EXISTS([valgrind >= 2.4.0], [want_valgrind="yes"],
[want_valgrind="no"
AC_MSG_WARN([valgrind support desired by --with-profile=${build_profile} but not found. If your platform supports it, install valgrind.])])
fi
2012-12-31 06:24:47 -08:00
if test "${want_valgrind}" = "no"; then
2012-09-16 03:57:48 -07:00
AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled])
2012-12-30 05:30:13 -08:00
else
PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0])
AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled])
2012-09-16 03:57:48 -07:00
fi
2012-10-10 15:12:29 -07:00
AC_DEFINE_IF([EINA_DEBUG_MALLOC],
2012-12-06 05:01:21 -08:00
[test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"],
2012-10-10 15:12:29 -07:00
[1], [Turn on debugging overhead in mempool])
2012-09-16 03:57:48 -07:00
2013-03-18 23:11:50 -07:00
AC_DEFINE_IF([EINA_COW_MAGIC_ON],
[test "x${want_cow_magic}" = "xyes" ],
[1], [Turn on Eina_Magic in Eina_Cow])
2015-08-25 01:52:47 -07:00
EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd])
2013-03-16 02:46:45 -07:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([EINA])
2012-09-21 01:15:58 -07:00
2012-09-16 03:57:48 -07:00
## Examples
2012-09-16 07:25:29 -07:00
## Benchmarks
PKG_CHECK_MODULES([GLIB],
[glib-2.0],
[have_glib="yes"],
[have_glib="no"])
if test "x${have_glib}" = "xyes" ; then
GLIB_CFLAGS="${GLIB_CFLAGS} -DEINA_BENCH_HAVE_GLIB"
fi
2012-09-11 09:04:21 -07:00
### Checks for header files
2012-09-16 03:57:48 -07:00
# sys/mman.h could be provided by evil/escape/exotic so we need to set CFLAGS accordingly
CFLAGS_save="${CFLAGS}"
CFLAGS="${CFLAGS} ${EINA_CFLAGS}"
AC_CHECK_HEADERS([sys/mman.h])
CFLAGS="${CFLAGS_save}"
2013-10-03 23:35:30 -07:00
AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"])
2012-09-11 09:04:21 -07:00
### Checks for types
2012-10-22 23:30:48 -07:00
2012-10-17 14:50:52 -07:00
EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"])
2012-10-10 15:12:29 -07:00
AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"],
[1], [Define to 1 if you have a valid <dirent.h> header file.])
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
### Checks for structures
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
### Checks for compiler characteristics
2013-10-03 20:49:02 -07:00
EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"])
2013-10-02 02:31:10 -07:00
EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16])
EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32])
EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64])
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
### Checks for linker characteristics
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
### Checks for library functions
2012-10-22 13:19:48 -07:00
2013-03-12 23:46:30 -07:00
AC_CHECK_FUNCS([fchmod])
2016-10-27 22:50:05 -07:00
EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize prctl])
2012-09-16 03:57:48 -07:00
enable_log="no"
2012-12-06 05:01:21 -08:00
if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then
2012-09-16 03:57:48 -07:00
enable_log="yes"
fi
AC_MSG_CHECKING([wether to build Eina_Log infrastructure])
AC_MSG_RESULT([${enable_log}])
2012-10-22 13:07:04 -07:00
EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"])
2012-09-16 03:57:48 -07:00
EFL_CHECK_THREADS
2014-02-11 17:27:34 -08:00
if test "x${efl_have_threads}" = "xno"; then
CFOPT_WARNING="xyes"
fi
2012-09-16 03:57:48 -07:00
2015-10-16 07:13:51 -07:00
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[ ]],
[[
static __thread int a = 0;
]])],
[have_thread_specifier="yes"],
[have_thread_specifier="no"])
AC_MSG_CHECKING([for __thread specifier])
AC_MSG_RESULT([${have_thread_specifier}])
if test "x${have_thread_specifier}" = "xyes" ; then
AC_DEFINE([HAVE_THREAD_SPECIFIER], [1], [Have the __thread specifier])
fi
2013-01-17 10:55:32 -08:00
EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}])
2012-12-30 16:46:14 -08:00
EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}])
2012-10-22 13:19:48 -07:00
EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"])
EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"])
2015-09-08 20:45:47 -07:00
EINA_CONFIG([HAVE_PTHREAD_SETNAME], [test "x${efl_have_setname}" = "xyes"])
2013-10-10 01:22:28 -07:00
EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"])
EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"])
2014-08-21 02:23:24 -07:00
EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"])
2014-10-27 01:11:19 -07:00
EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"])
2012-09-16 03:57:48 -07:00
### Modules
2012-10-22 13:07:04 -07:00
2012-10-17 14:50:52 -07:00
EINA_CHECK_MODULE([chained-pool], [static], [chained pool])
EINA_CHECK_MODULE([pass-through], [static], [pass through])
EINA_CHECK_MODULE([one-big], [static], [one big])
2012-09-16 03:57:48 -07:00
2013-12-11 17:27:01 -08:00
EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}])
2013-03-16 02:46:45 -07:00
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Eina])
2012-09-11 09:04:21 -07:00
#### End of Eina
2014-02-25 12:24:32 -08:00
#### Eina CXX
EFL_LIB_START([Eina_Cxx])
2014-05-04 04:55:37 -07:00
EFL_CXX_COMPILE_STDCXX_11([ext])
2014-08-13 06:16:32 -07:00
AC_ARG_ENABLE([cxx-bindings],
2014-10-06 23:50:45 -07:00
[AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
2014-09-29 14:00:15 -07:00
[want_cxx11="${enableval}"], [want_cxx11="yes"])
2014-05-06 13:19:47 -07:00
if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
2014-02-25 12:24:32 -08:00
have_cxx11="yes"
else
have_cxx11="no"
fi
2017-12-13 06:36:21 -08:00
AM_CONDITIONAL([HAVE_CXX], [test "x${have_cxx11}" = "xyes"])
2014-02-25 12:24:32 -08:00
2014-05-04 03:19:39 -07:00
EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina])
2014-05-09 03:50:42 -07:00
EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}])
2014-05-04 03:19:39 -07:00
EFL_EVAL_PKGS([EINA_CXX])
2014-02-25 12:24:32 -08:00
EFL_LIB_END([Eina_Cxx])
#### End of Eina CXX
2014-09-01 11:08:49 -07:00
AC_ARG_WITH([js],
[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@:>@])],
[want_js="${withval}"], [want_js="none"])
EFLJS_CXXFLAGS=""
AC_LANG_PUSH([C++])
case "$want_js" in
nodejs)
AC_CHECK_HEADERS([node/v8.h nodejs/deps/v8/v8.h nodejs/deps/v8/include/v8.h nodejs/src/v8.h v8.h],
[
v8_header=AC_header
v8_header_define=AS_TR_CPP([HAVE_]AC_header)
EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$v8_header_define"
break
]
[AC_MSG_ERROR([Could not find v8 include headers from nodejs.])])
AC_CHECK_HEADERS([node/node.h nodejs/deps/node/node.h nodejs/deps/node/include/node.h nodejs/src/node.h node.h],
[
node_header_define=AS_TR_CPP([HAVE_]AC_header)
EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$node_header_define"
break
]
[AC_MSG_ERROR([Could not find node include headers from nodejs.])])
AC_CHECK_HEADERS([node/uv.h nodejs/deps/uv/uv.h nodejs/deps/uv/include/uv.h nodejs/src/uv.h uv.h],
[
uv_header_define=AS_TR_CPP([HAVE_]AC_header)
EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -D$uv_header_define"
break
]
[AC_MSG_ERROR([Could not find uv include headers from nodejs.])])
;;
libv8)
AC_CHECK_HEADERS([v8.h],
[
v8_header=AC_header
break
]
[AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
;;
libuv)
AC_CHECK_HEADERS([v8.h],
[
v8_header=AC_header
break
]
[AC_MSG_ERROR([Could not find v8 include headers from libv8.])])
AC_CHECK_HEADERS([uv.h],
[break]
[AC_MSG_ERROR([Could not find uv include headers from libuv.])])
;;
none)
;;
*) AC_MSG_ERROR([Invalid javascript dependency (${want_js}): must be none, nodejs, libv8 or libuv]) ;;
esac
have_v8_global="no"
have_v8_create_params="no"
if test "$want_js" != "none" ; then
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
#include "$v8_header"
]],
[[
v8::Isolate::CreateParams create_params; create_params.array_buffer_allocator = nullptr;
]])
],
[
AC_DEFINE(HAVE_V8_CREATE_PARAMS, 1, [Define to 1 if you must pass create_params explicitly.])
have_v8_create_params="yes"
AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... yes])
],
[
AC_MSG_NOTICE([checking for v8::Isolate::CreateParams... no])
])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
#include "$v8_header"
#include <type_traits>
]],
[[
static_assert((std::is_same< ::v8::Global<void>, ::v8::UniquePersistent<void>>::value), "");
]])
],
[
AC_DEFINE(HAVE_V8_GLOBAL, 1, [Define to 1 if you must pass create_params explicitly.])
have_v8_global="yes"
AC_MSG_NOTICE([checking for v8::Global<T> class... yes])
],
[
AC_MSG_NOTICE([checking for v8::Global<T> class... no])
])
fi
AM_CONDITIONAL([HAVE_V8_CREATE_PARAMS], [test "x${have_v8_create_params}" = "xyes"])
AM_CONDITIONAL([HAVE_V8_GLOBAL], [test "x${have_v8_global}" = "xyes"])
AC_SUBST([HAVE_V8_CREATE_PARAMS])
AC_SUBST([HAVE_V8_GLOBAL])
AC_LANG_POP([C++])
AM_CONDITIONAL([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"])
AC_DEFINE_IF([HAVE_NODEJS], [test "x${want_js}" = "xnodejs"],
[1], [Using NodeJS])
AC_SUBST([want_js])
AC_SUBST([HAVE_NODEJS])
have_js="no"
if test "x${want_js}" != "xnone" ; then
have_js="yes"
fi
AM_CONDITIONAL([HAVE_JS], [test "x${have_js}" = "xyes"])
AC_DEFINE_IF([HAVE_JS], [test "x${have_js}" = "xyes"], [1], [Compiling bindings for JavaScript])
AC_SUBST([HAVE_JS])
AM_CONDITIONAL([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"])
AC_DEFINE_IF([HAVE_LIBUV], [test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv"],
[1], [Compiling libuv event loop integration])
AC_SUBST([HAVE_LIBUV])
# For efljspack mime handling
AM_CONDITIONAL([HAVE_XDG_DATA_HOME], [test "x${XDG_DATA_HOME}" != "x"])
AM_COND_IF([HAVE_XDG_DATA_HOME], [AC_SUBST([XDG_DATA_HOME])], [AC_SUBST([XDG_DATA_HOME], "$HOME/.local/share")])
#### Eina JS
EFL_LIB_START_OPTIONAL([Eina_Js], [test "x${have_js}" = "xyes"])
EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eina])
EFL_INTERNAL_DEPEND_PKG([EINA_JS], [Eo])
EFL_ADD_CFLAGS([EINA_JS], [${EFL_PTHREAD_CFLAGS}])
EFL_EVAL_PKGS([EINA_JS])
EFL_LIB_END_OPTIONAL([Eina_Js])
#### End of Eina JS
#### Ecore JS
EFL_LIB_START_OPTIONAL([Ecore_Js], [test "x${have_js}" = "xyes"])
EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [ecore_file])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_JS], [efl])
2014-09-01 11:08:49 -07:00
EFL_ADD_CFLAGS([ECORE_JS], [${EFL_PTHREAD_CFLAGS}])
EFL_EVAL_PKGS([ECORE_JS])
EFL_LIB_END_OPTIONAL([Ecore_Js])
#### End of Ecore JS
#### Eio JS
EFL_LIB_START_OPTIONAL([Eio_Js], [test "x${have_js}" = "xyes"])
EFL_INTERNAL_DEPEND_PKG([EIO_JS], [eio])
EFL_ADD_CFLAGS([EIO_JS], [${EFL_PTHREAD_CFLAGS}])
EFL_EVAL_PKGS([EIO_JS])
EFL_LIB_END_OPTIONAL([Eio_Js])
#### End of Eio JS
#### Ethumb JS
EFL_LIB_START_OPTIONAL([Ethumb_Js], [test "x${have_js}" = "xyes"])
EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb])
EFL_INTERNAL_DEPEND_PKG([ETHUMB_JS], [ethumb_client])
EFL_ADD_CFLAGS([ETHUMB_JS], [${EFL_PTHREAD_CFLAGS}])
EFL_EVAL_PKGS([ETHUMB_JS])
EFL_LIB_END_OPTIONAL([Ethumb_Js])
#### End of Ethumb JS
#### Eldbus JS
EFL_LIB_START_OPTIONAL([Eldbus_Js], [test "x${have_js}" = "xyes"])
EFL_INTERNAL_DEPEND_PKG([ELDBUS_JS], [eldbus])
EFL_ADD_CFLAGS([ELDBUS_JS], [${EFL_PTHREAD_CFLAGS}])
EFL_EVAL_PKGS([ELDBUS_JS])
EFL_LIB_END_OPTIONAL([Eldbus_Js])
#### End of Eldbus JS
#### Eo JS
EFL_LIB_START_OPTIONAL([Eo_Js], [test "x${have_js}" = "xyes"])
EFL_INTERNAL_DEPEND_PKG([EO_JS], [eina])
EFL_ADD_CFLAGS([EO_JS], [${EFL_PTHREAD_CFLAGS}])
EFL_EVAL_PKGS([EO_JS])
EFL_LIB_END_OPTIONAL([Eo_Js])
#### End of Eo JS
2017-11-23 17:10:05 -08:00
#### Efl C Sharp Bindings
want_csharp="no"
AC_ARG_ENABLE([csharp-bindings],
[AS_HELP_STRING([--enable-csharp-bindings],[enable C Sharp bindings. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_csharp="yes"
else
want_csharp="no"
fi
],
[want_csharp="no"])
if test "x${want_csharp}" = "xyes" -a "x${HAVE_MCS}" != "x1"; then
want_csharp="no"
AC_MSG_ERROR([C Sharp bindings requested but C Sharp compiler could not be found])
fi
AM_CONDITIONAL([HAVE_CSHARP], [test "x${want_csharp}" = "xyes"])
AC_DEFINE_IF([HAVE_CSHARP], [test "x${want_csharp}" = "xyes"],
[1], [Compiling bindings for C Sharp])
AC_SUBST([want_csharp])
2018-01-25 08:45:04 -08:00
if test "x${have_windows}" = "xyes"; then
eflmonodlldir="$prefix/bin"
else
eflmonodlldir="$libdir/efl-mono-${EFL_VERSION_MAJOR}"
fi
AC_SUBST([eflmonodlldir])
2017-11-23 17:10:05 -08:00
# Efl Mono
EFL_LIB_START_OPTIONAL([Efl_Mono], [test "x${want_csharp}" = "xyes"])
EFL_PLATFORM_DEPEND([EFL_MONO], [evil])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eina])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eo])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eet])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore_Evas])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore_Con])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ecore_Audio])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Efl])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Evas])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Edje])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Emotion])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eldbus])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Emile])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ethumb])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Ethumb_Client])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Eio])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Elementary])
EFL_INTERNAL_DEPEND_PKG([EFL_MONO], [Efl_Custom_Exports_Mono])
EFL_EVAL_PKGS([EFL_MONO])
EFL_LIB_END_OPTIONAL([Efl_Mono])
# Efl Custom Exports Mono
EFL_LIB_START_OPTIONAL([Efl_Custom_Exports_Mono], [test "x${want_csharp}" = "xyes"])
EFL_PLATFORM_DEPEND([EFL_CUSTOM_EXPORTS_MONO], [evil])
EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eina])
EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eo])
EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Efl])
EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eldbus])
EFL_EVAL_PKGS([EFL_CUSTOM_EXPORTS_MONO])
EFL_LIB_END_OPTIONAL([Efl_Custom_Exports_Mono])
# Libtool versioning stuff.
# On windows, the version of the library goes into the filename.
# See https://autotools.io/libtool/windows.html#libtool.windows.version
# Based on the current:revision:age string passed to libtool, the generated suffix
# has the value of (current - age).
# To get the current and age, we use the same calculation from m4/efl.m4 (lt_cur, lt_age)
DLIB_PREFIX_MONO=""
DLIB_SUFFIX_MONO=""
if test "x${have_windows}" = "xyes"; then
DLIB_PREFIX_MONO="lib"
if test "x${EFL_VERSION_MAJOR}" = "x1"; then
DLIB_SUFFIX_MONO="-${EFL_VERSION_MAJOR}"
else
DLIB_SUFFIX_MONO="-${EFL_VERSION_MAJOR}00"
fi
fi
AC_SUBST([DLIB_PREFIX_MONO])
AC_SUBST([DLIB_SUFFIX_MONO])
EFL_DL_MONO="${DLIB_PREFIX_MONO}efl${DLIB_SUFFIX_MONO}";
ECORE_DL_MONO="${DLIB_PREFIX_MONO}ecore${DLIB_SUFFIX_MONO}";
EINA_DL_MONO="${DLIB_PREFIX_MONO}eina${DLIB_SUFFIX_MONO}"
EO_DL_MONO="${DLIB_PREFIX_MONO}eo${DLIB_SUFFIX_MONO}"
EVAS_DL_MONO="${DLIB_PREFIX_MONO}evas${DLIB_SUFFIX_MONO}"
if test "x${have_windows}" = "xyes"; then
EVIL_DL_MONO="${DLIB_PREFIX_MONO}evil${DLIB_SUFFIX_MONO}"
else
EVIL_DL_MONO="dl"
fi
ECORE_EVAS_DL_MONO="${DLIB_PREFIX_MONO}ecore_evas${DLIB_SUFFIX_MONO}"
EDJE_DL_MONO="${DLIB_PREFIX_MONO}edje${DLIB_SUFFIX_MONO}"
ELEMENTARY_DL_MONO="${DLIB_PREFIX_MONO}elementary${DLIB_SUFFIX_MONO}"
ELDBUS_DL_MONO="${DLIB_PREFIX_MONO}eldbus${DLIB_SUFFIX_MONO}"
CUSTOM_EXPORTS_MONO_DL_MONO="${DLIB_PREFIX_MONO}eflcustomexportsmono${DLIB_SUFFIX_MONO}"
AC_SUBST([EFL_DL_MONO])
AC_SUBST([ECORE_DL_MONO])
AC_SUBST([EINA_DL_MONO])
AC_SUBST([EO_DL_MONO])
AC_SUBST([EVAS_DL_MONO])
AC_SUBST([EVIL_DL_MONO])
AC_SUBST([ECORE_EVAS_DL_MONO])
AC_SUBST([EDJE_DL_MONO])
AC_SUBST([ELEMENTARY_DL_MONO])
AC_SUBST([ELDBUS_DL_MONO])
AC_SUBST([CUSTOM_EXPORTS_MONO_DL_MONO])
# Eos file/library mapping
# Unescaped sed pattern: sed -n 's/src\/lib\/\([a-z0-9_]*\)\/[a-z\/]*\/\([a-z0-9\._]*\)/\2,\1/pg'
2018-06-28 22:43:03 -07:00
AC_CHECK_PROG([have_realpath], [realpath], [yes], [no])
if test "x${have_realpath}" = "xyes" ; then
_configure_path=`realpath $0`
else
AC_CHECK_PROG([have_readlink], [readlink], [yes], [no])
if test "x${have_readlink}" = "xyes" ; then
_configure_path=`readlink -f $0`
fi
fi
2017-11-23 17:10:05 -08:00
efl_mono_top_srcdir=`dirname ${_configure_path}`
EFL_MONO_LIBRARY_MAP=`find ${efl_mono_top_srcdir}/src/lib/ -iname "*\.eo" | sed -n 's/.*\/src\/lib\/\(@<:@a-z0-9_@:>@*\)@<:@\/a-z@:>@*\/\(@<:@a-z0-9\._@:>@*\)/\2,\1/pg'`
AC_SUBST([EFL_MONO_LIBRARY_MAP])
AM_SUBST_NOTMAKE([EFL_MONO_LIBRARY_MAP])
#### End of Efl C Sharp Bindings
2015-03-17 00:49:56 -07:00
#### Eo
2012-10-25 15:01:28 -07:00
2015-03-17 00:49:56 -07:00
EFL_LIB_START([Eo])
2012-09-16 03:57:48 -07:00
### Default values
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Additional options to configure
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Checks for programs
2012-09-17 09:35:38 -07:00
## Compatibility layers
2015-03-17 00:49:56 -07:00
EFL_PLATFORM_DEPEND([EO], [evil])
2012-09-17 09:35:38 -07:00
2015-03-17 00:49:56 -07:00
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([EO], [eina])
2012-10-25 15:01:28 -07:00
2015-03-17 00:49:56 -07:00
# Example (evas one)
2012-09-17 09:35:38 -07:00
2015-03-17 00:49:56 -07:00
# TODO: add once elementary is merged
#PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
AM_CONDITIONAL([EO_BUILD_EXAMPLE_EVAS], [test "x${have_elm}" = "xyes"])
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Checks for header files
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Checks for types
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Checks for structures
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Checks for compiler characteristics
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Checks for linker characteristics
2012-09-17 09:35:38 -07:00
2012-09-16 03:57:48 -07:00
### Checks for library functions
2015-03-20 21:35:14 -07:00
EFL_CHECK_FUNCS([EO], [dladdr])
2012-09-16 03:57:48 -07:00
2012-09-23 12:56:44 -07:00
### Check availability
2015-03-17 00:49:56 -07:00
EFL_LIB_END([Eo])
#### End of Eo
2012-09-11 09:04:21 -07:00
2014-05-04 03:19:39 -07:00
#### Eet CXX
EFL_LIB_START([Eet_Cxx])
EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eina_Cxx])
EFL_INTERNAL_DEPEND_PKG([EET_CXX], [Eet])
EFL_EVAL_PKGS([EET_CXX])
EFL_LIB_END([Eet_Cxx])
#### End of Eet CXX
2012-09-26 21:46:30 -07:00
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
#### Emile
EFL_LIB_START([Emile])
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
2015-03-17 00:50:19 -07:00
EFL_CHECK_LIBS([EMILE], [libjpeg])
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
## Compatibility layers
EFL_PLATFORM_DEPEND([EMILE], [evil])
EFL_ADD_LIBS([EMILE], [-lm])
# Cryptography support
if test "$build_crypto" != "none" ; then
AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in emile])
AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support in emile])
EFL_CRYPTO_DEPEND([EMILE])
fi
EFL_CHECK_LIBS([EMILE], [zlib])
EFL_INTERNAL_DEPEND_PKG([EMILE], [eina])
2016-03-18 02:02:19 -07:00
requirements_cflags_emile="${requirements_cflags_emile} -I\${top_srcdir}/src/lib/efl -I\${top_builddir}/src/lib/efl"
requirements_pc_emile="efl >= ${PACKAGE_VERSION} ${requirements_pc_emile}"
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
EFL_EVAL_PKGS([EMILE])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
2015-03-17 00:50:12 -07:00
EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}])
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
EFL_LIB_END([Emile])
#### End of Emile
2015-03-17 00:49:56 -07:00
#### Eet
2012-10-22 14:31:10 -07:00
2015-03-17 00:49:56 -07:00
EFL_LIB_START([Eet])
2012-09-26 21:46:30 -07:00
### Default values
### Additional options to configure
### Checks for programs
2015-03-17 00:49:56 -07:00
### Checks for libraries
2015-03-17 00:50:03 -07:00
EFL_CHECK_LIBS([EET], [libjpeg])
2013-03-15 15:46:52 -07:00
## Compatibility layers
2015-03-17 00:49:56 -07:00
EFL_PLATFORM_DEPEND([EET], [evil])
2013-03-15 15:46:52 -07:00
2015-03-17 00:49:56 -07:00
EFL_ADD_LIBS([EET], [-lm])
2012-09-26 21:46:30 -07:00
2015-03-17 00:49:56 -07:00
# Cryptography support
if test "$build_crypto" != "none" ; then
AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
EFL_CRYPTO_DEPEND([EET])
fi
2012-09-26 21:46:30 -07:00
2015-03-17 00:49:56 -07:00
EFL_INTERNAL_DEPEND_PKG([EET], [eina])
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
EFL_INTERNAL_DEPEND_PKG([EET], [emile])
2016-03-18 02:02:19 -07:00
requirements_pc_eet="${requirements_pc_eet} ${requirements_pc_emile}"
requirements_cflags_eet="${requirements_cflags_eet} ${requirements_cflags_emile}"
2015-03-17 00:49:56 -07:00
EFL_EVAL_PKGS([EET])
2012-09-26 21:46:30 -07:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
2015-03-17 00:49:56 -07:00
EFL_LIB_END([Eet])
#### End of Eet
2012-09-26 21:46:30 -07:00
2014-05-04 03:19:39 -07:00
#### Eo CXX
EFL_LIB_START([Eo_Cxx])
EFL_EVAL_PKGS([EO_CXX])
EFL_LIB_END([Eo_Cxx])
#### End of Eo CXX
2014-02-11 06:31:21 -08:00
#### Eolian
EFL_LIB_START([Eolian])
### Default values
### Additional options to configure
2014-05-02 15:55:51 -07:00
EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}])
2014-02-11 06:31:21 -08:00
### Checks for programs
## Compatibility layers
2017-02-13 01:54:43 -08:00
EFL_PLATFORM_DEPEND([EOLIAN], [evil])
2014-02-11 06:31:21 -08:00
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([EOLIAN], [eina])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
EFL_LIB_END([Eolian])
#### End of Eolian
2014-09-01 11:08:49 -07:00
EFL_LIB_START_OPTIONAL([Eolian_Js], [test "${have_js}" = "yes"])
EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eina])
EFL_INTERNAL_DEPEND_PKG([EOLIAN_JS], [eolian])
EFL_LIB_END_OPTIONAL([Eolian_Js])
#### End of Eolian
2014-05-04 03:19:39 -07:00
EFL_LIB_START([Eolian_Cxx])
### Default values
### Additional options to configure
### Checks for programs
## Compatibility layers
### Checks for libraries
2014-05-07 14:40:43 -07:00
EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina])
EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo])
2014-05-04 03:19:39 -07:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
EFL_LIB_END([Eolian_Cxx])
2012-09-26 21:46:30 -07:00
2014-07-18 05:38:25 -07:00
#### Efl
EFL_LIB_START([Efl])
2014-08-22 02:43:38 -07:00
EFL_PLATFORM_DEPEND([EFL], [evil])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([EFL], [eina])
EFL_INTERNAL_DEPEND_PKG([EFL], [eo])
2015-04-03 07:33:54 -07:00
EFL_ADD_LIBS([EFL], [-lm])
2014-07-18 05:38:25 -07:00
EFL_LIB_END([Efl])
#### End of Efl
2015-04-03 07:22:24 -07:00
#### Ector
EFL_LIB_START([Ector])
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
## Compatibility layers
EFL_PLATFORM_DEPEND([ECTOR], [evil])
EFL_INTERNAL_DEPEND_PKG([ECTOR], [eina])
2015-11-12 15:52:21 -08:00
EFL_INTERNAL_DEPEND_PKG([ECTOR], [emile])
EFL_INTERNAL_DEPEND_PKG([ECTOR], [eet])
2015-04-03 07:22:24 -07:00
EFL_INTERNAL_DEPEND_PKG([ECTOR], [eo])
EFL_INTERNAL_DEPEND_PKG([ECTOR], [efl])
2015-04-03 07:33:56 -07:00
EFL_ADD_LIBS([ECTOR], [-lm])
2015-04-03 07:22:24 -07:00
EFL_EVAL_PKGS([ECTOR])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
EFL_LIB_END([ECTOR])
#### End of Ector
2016-05-15 08:57:59 -07:00
#### Ecore
EFL_LIB_START([Ecore])
### Additional options to configure
# glib
AC_ARG_WITH([glib],
[AS_HELP_STRING([--with-glib=yes|no|always],[add glib support. @<:@default=enabled@:>@])],
[
if test "x${withval}" = "xyes" ; then
with_glib="yes"
else
if test "x${withval}" = "xalways" ; then
with_glib="always"
else
with_glib="no"
fi
fi
],
[with_glib="yes"])
AC_ARG_ENABLE([g-main-loop],
[AS_HELP_STRING([--enable-g-main-loop],[enable ecore_main_loop based on g_main_loop. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_g_main_loop="yes"
CFOPT_WARNING="xyes"
else
want_g_main_loop="no"
fi
],
[want_g_main_loop="no"])
AC_ARG_ENABLE([libuv],
[AS_HELP_STRING([--enable-libuv],[enable ecore_main_loop based on libuv. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_libuv="yes"
CFOPT_WARNING="xyes"
else
want_libuv="no"
fi
],
[want_libuv="no"])
AC_ARG_ENABLE([gstreamer],
[AS_HELP_STRING([--enable-gstreamer],[enable gstreamer 0.10 support. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_gstreamer="yes"
CFOPT_WARNING="xyes"
else
want_gstreamer="no"
fi
],
[want_gstreamer="no"])
AC_ARG_ENABLE([gstreamer1],
[AS_HELP_STRING([--disable-gstreamer1],[disable gstreamer 1.0 support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_gstreamer1="yes"
else
want_gstreamer1="no"
CFOPT_WARNING="xyes"
fi
],
[want_gstreamer1="yes"])
AC_ARG_ENABLE([tizen],
[AS_HELP_STRING([--enable-tizen],[enable tizen support. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_tizen="yes"
else
want_tizen="no"
fi
],
[want_tizen="no"])
if test "${want_tizen}" = "yes"; then
PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER],
[vconf],
[have_tizen_vconf="yes"],
[have_tizen_vconf="no"])
PKG_CHECK_MODULES([TIZEN_CONFIGURATION_MANAGER], [vconf])
fi
AM_CONDITIONAL([HAVE_TIZEN_CONFIGURATION_MANAGER], [test "${have_tizen_vconf}" = "yes"])
if test "${have_tizen_vconf}" = "yes"; then
AC_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER, 1, [Define to 1 if you have Tizen configuration manager(vconf).])
fi
AC_ARG_ENABLE([ecore_wayland],
[AS_HELP_STRING([--enable-ecore-wayland],[enable legacy Ecore_Wayland support. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_ecore_wayland="yes"
else
want_ecore_wayland="no"
fi
],
[want_ecore_wayland="no"])
2016-05-31 07:04:17 -07:00
AC_ARG_ENABLE([ecore_drm],
[AS_HELP_STRING([--enable-ecore-drm],[enable legacy Ecore_Drm support. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_ecore_drm="yes"
else
want_ecore_drm="no"
fi
],
[want_ecore_drm="no"])
2016-05-15 08:57:59 -07:00
### Default values
if test "${have_windows}" = "yes"; then
with_glib="no"
fi
want_glib="no"
if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
want_glib="yes"
fi
want_ecore_timer_dump="no"
if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
want_ecore_timer_dump="yes"
AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
fi
### Checks for programs
### Checks for libraries
EFL_PLATFORM_DEPEND([ECORE], [all])
EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
EFL_INTERNAL_DEPEND_PKG([ECORE], [efl])
EFL_ADD_LIBS([ECORE], [-lm])
# glib
EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0 gthread-2.0])
if test "x${have_glib}" = "xno"; then
want_g_main_loop="no"
fi
EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_systemd}], [SYSTEMD], [libsystemd])
EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}])
EFL_ADD_FEATURE([ECORE], [glib])
EFL_ADD_FEATURE([ECORE], [g-main-loop])
EFL_ADD_FEATURE([ECORE], [libuv])
want_glib_integration_always=no
if test "x${with_glib}" = "xalways" ; then
want_glib_integration_always="yes"
AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
fi
if test "x${want_g_main_loop}" = "xyes" ; then
AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
if test "x${want_js}" = "xnodejs" -o "x${want_js}" = "xlibuv" ; then
AC_MSG_ERROR([Can't define glib and libuv integration together])
fi
fi
# not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
if test "${want_gstreamer1}" = "yes" -a "${want_gstreamer}" = "yes"; then
AC_MSG_ERROR([You can only enable either GStreamer 1.0 or GStreamer 0.10 support])
fi
if test "${want_gstreamer1}" = "yes"; then
PKG_CHECK_MODULES([GSTREAMER], [gstreamer-1.0])
fi
if test "${want_gstreamer}" = "yes"; then
PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
fi
2016-07-24 23:21:45 -07:00
AM_CONDITIONAL([HAVE_GSTREAMER], [test "x${want_gstreamer}" = "xyes" -o "x${want_gstreamer1}" = "xyes"])
AM_CONDITIONAL([HAVE_GSTREAMER0], [test "x${want_gstreamer}" = "xyes"])
AM_CONDITIONAL([HAVE_GSTREAMER1], [test "x${want_gstreamer1}" = "xyes"])
2016-05-15 08:57:59 -07:00
EFL_EVAL_PKGS([ECORE])
### Checks for header files
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([sys/socket.h])
AC_CHECK_HEADERS([ \
arpa/inet.h \
ecore-con - simplify down to a single libc resolver
Summary:
this removes the cares/ares based resolver and the compiled-in dns.c
resolver, modified the getaddrinfo based resolver to use threads not
forking (almost halving its size) and now makes that the only resolver
we have. getaddrinfo handles ipv6 and ipv4 (according to docs). this
simplifies code paths, drops code size of the efl tree by about 11k
lines of code, makes it easier to test and more robust to future
changes with ip resolving as it now just relies on libc. we won't have
coverity complaints on dns.c imported code anymore to fix and don't
have tokeep up with bugfixes/security from the upstream imported code.
this means we use a single resolver on all platforms (windows, mac,
linux) as opposed to before where cares was used for windows, and
dns.c on linux/mac. oh and the forking original was broken since our
move to eo too. so it couldnt even compile if enabled, letalone work.
so fix bug with missing /etc/resolv.conf that dns.c couldn't cope
with, fix testability, fix maintainability and reduce efl codebase size.
this fixes T3668
@fix
@improve
Subscribers: cedric, seoz, jpeg
Maniphest Tasks: T3668
Differential Revision: https://phab.enlightenment.org/D3971
2016-05-22 01:03:26 -07:00
arpa/nameser.h \
2016-05-15 08:57:59 -07:00
langinfo.h \
features.h \
netinet/in.h \
netinet/tcp.h \
2016-10-18 13:51:59 -07:00
netinet/udp.h \
2016-05-15 08:57:59 -07:00
sys/prctl.h \
2016-11-16 01:26:56 -08:00
sys/ioctl.h \
2016-05-15 08:57:59 -07:00
sys/resource.h \
sys/timerfd.h \
sys/un.h \
2016-06-13 12:44:10 -07:00
ieeefp.h \
2016-05-15 08:57:59 -07:00
],[],[],
[
#ifdef HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
])
AC_CHECK_HEADERS([net/if.h], [], [],
[#include <stdio.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# if HAVE_STDLIB_H
# include <stdlib.h>
# endif
#endif
#if HAVE_SYS_SOCKET_H
# include <sys/socket.h>
#endif
])
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
## ecore
# isfinite
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <math.h>
]],
[[
int i = isfinite(0);
]])],
[
2016-06-04 01:54:40 -07:00
AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have 'isfinite', as a function or macro.])
2016-05-15 08:57:59 -07:00
have_isfinite="yes"
],
[have_isfinite="no"])
AC_MSG_CHECKING([for isfinite])
AC_MSG_RESULT([${have_isfinite}])
# mallinfo, timerfd_create, clock_gettime
AC_CHECK_FUNCS_ONCE([mallinfo timerfd_create clock_gettime malloc_info])
if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
AC_CHECK_LIB([rt], [clock_gettime],
[
EFL_ADD_LIBS([ECORE], [-lrt])
AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
])
fi
EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
# coroutine function specific
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <ucontext.h>
]],
[[
ucontext_t test;
getcontext(&test);
]])],
[have_ucontext="yes"],
[have_ucontext="no"])
AC_MSG_CHECKING([for ucontext])
AC_MSG_RESULT([${have_ucontext}])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <setjmp.h>
]],
[[
jmp_buf context;
setjmp(&context);
]])],
[have_setjmp="yes"],
[have_setjmp="no"])
AC_MSG_CHECKING([for setjmp])
AC_MSG_RESULT([${have_setjmp}])
if test "X${have_windows}" = "xyes"; then
AC_DEFINE(USE_FIBER, 1, [Define to 1 if you have Windows Fiber support.])
EFL_ADD_FEATURE([system], [coroutine], [fiber])
elif test "x${have_ucontext}" = "xyes"; then
AC_DEFINE(USE_UCONTEXT, 1, [Define to 1 if you have posix ucontext functions.])
EFL_ADD_FEATURE([system], [coroutine], [ucontext])
elif test "x${have_setjmp}" = "xyes"; then
AC_DEFINE(USE_SETJMP, 1, [Define to 1 if you have setjmp/longjmp functions.])
EFL_ADD_FEATURE([system], [coroutine], [setjmp])
else
2016-06-04 01:54:40 -07:00
AC_MSG_ERROR([You do not have a working way to implement coroutine. Exiting...])
2016-05-15 08:57:59 -07:00
fi
### Check availability
EFL_LIB_END([Ecore])
#### End of Ecore
2012-11-04 03:51:42 -08:00
#### Evas
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Evas])
2012-11-04 03:51:42 -08:00
### Additional options to configure
2012-12-07 07:14:33 -08:00
# X11
2012-12-07 15:16:43 -08:00
AC_ARG_WITH([x11],
2016-11-01 07:04:47 -07:00
[AS_HELP_STRING([--with-x11=xlib|none],[Use X11 (Xlib) or not])])
2012-12-07 15:16:43 -08:00
2016-04-11 15:05:40 -07:00
if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes" || test "x${have_darwin}" = "xyes"; then
2012-12-07 07:14:33 -08:00
with_x11="none"
2012-12-07 15:16:43 -08:00
elif test "x${with_x11}" = "x"; then
2012-12-07 07:14:33 -08:00
with_x11="xlib"
fi
2012-12-07 12:23:45 -08:00
want_x11_xlib="no"
want_x11_none="no"
want_x11_any="no"
2012-12-07 07:14:33 -08:00
case "${with_x11}" in
2012-12-07 12:23:45 -08:00
xlib)
want_x11_xlib="yes"
want_x11_any="yes"
;;
none)
want_x11_none="yes"
2012-12-07 07:14:33 -08:00
;;
*)
AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}])
;;
esac
# OpenGL
2012-12-07 15:16:43 -08:00
AC_ARG_WITH([opengl],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])])
2012-12-07 15:16:43 -08:00
2012-12-07 07:14:33 -08:00
if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
with_opengl="none"
2012-12-07 15:16:43 -08:00
elif test "x${with_opengl}" = "x"; then
2012-12-07 07:14:33 -08:00
with_opengl="full"
fi
case "${with_opengl}" in
full|es|none)
;;
*)
AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}])
;;
esac
2012-12-07 12:23:45 -08:00
want_x11_xlib_opengl="no"
if test "${with_opengl}" != "none"; then
want_x11_xlib_opengl="${want_x11_xlib}"
want_x11_any_opengl="${want_x11_any}"
fi
2012-12-07 07:14:33 -08:00
# Wayland
AC_ARG_ENABLE([wayland],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])],
2012-12-07 07:14:33 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_wayland="yes"
else
want_wayland="no"
fi
],
[want_wayland="no"])
2012-12-07 11:26:13 -08:00
if test "${want_wayland}" = "yes"; then
2018-01-08 10:42:11 -08:00
EFL_PKG_CHECK_STRICT([wayland-client >= 1.11.0 wayland-scanner >= 1.11.0 wayland-protocols >= 1.12])
2017-01-17 13:37:50 -08:00
PKG_CHECK_MODULES([WAYLAND], [wayland-scanner >= 1.11.0],
[
AC_ARG_VAR([wayland_scanner], [The wayland-scanner executable])
AC_PATH_PROG([wayland_scanner], [wayland-scanner])
if test x$wayland_scanner = x; then
PKG_CHECK_MODULES(WAYLAND_SCANNER, [wayland-scanner])
wayland_scanner=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`
fi
ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`
AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
])
2012-12-07 11:26:13 -08:00
fi
2017-01-18 15:48:08 -08:00
AM_CONDITIONAL([HAVE_WAYLAND_SCANNER], [test x$wayland_scanner != x])
2012-12-07 11:26:13 -08:00
2014-08-25 05:44:10 -07:00
# Wayland IVI-Shell
AC_ARG_ENABLE([wayland-ivi-shell],
[AS_HELP_STRING([--enable-wayland-ivi-shell],[enable ivi-shell support. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_wayland_ivi_shell="yes"
else
want_wayland_ivi_shell="no"
fi
],
[want_wayland_ivi_shell="no"])
2012-12-07 09:18:17 -08:00
# Fb
AC_ARG_ENABLE([fb],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])],
2012-12-07 09:18:17 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_fb="yes"
else
want_fb="no"
fi
],
[want_fb="no"])
2016-03-18 00:56:59 -07:00
# Eglfs
AC_ARG_ENABLE([eglfs],
[AS_HELP_STRING([--enable-eglfs],[enable hardware accelerated framebuffer access. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_eglfs="yes"
want_fb="yes"
else
want_eglfs="no"
fi
],
[want_eglfs="no"])
2012-12-07 10:24:49 -08:00
# SDL
AC_ARG_ENABLE([sdl],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])],
2012-12-07 10:24:49 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_sdl="yes"
else
want_sdl="no"
fi
],
[want_sdl="no"])
2012-12-07 11:16:03 -08:00
if test "${want_sdl}" = "yes"; then
2014-07-25 11:23:42 -07:00
EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0])
2012-12-07 11:11:22 -08:00
fi
2016-01-10 20:47:41 -08:00
# We only enable SDL with opengl if it is the full version and not ES
2014-03-25 09:38:41 -07:00
# This can be changed if we ported our SDL code over to SDL 2.0. For older
# versions the SDL_opengles.h has never been released.
2012-12-07 10:24:49 -08:00
want_gl_sdl="no"
2014-03-25 09:38:41 -07:00
if test "${want_sdl}" = "yes" && test "${with_opengl}" = "es"; then
AC_MSG_ERROR([We currently do not support SDL with OpenGL ES. Please consider full OpenGL if you want to use it with SDL.])
fi
if test "${want_sdl}" = "yes" && test "${with_opengl}" = "full"; then
2012-12-07 10:24:49 -08:00
want_gl_sdl="yes"
fi
2013-01-16 12:43:49 -08:00
# Cocoa
2014-06-08 12:23:25 -07:00
AC_ARG_ENABLE([cocoa],
2016-04-11 15:05:40 -07:00
[AS_HELP_STRING([--enable-cocoa],[enable Cocoa backend on Mac OS X. @<:@default=enabled@:>@])],
2014-06-08 12:23:25 -07:00
[
if test "x${enableval}" = "xyes" ; then
want_cocoa="yes"
else
want_cocoa="no"
fi
],
2016-04-11 15:05:40 -07:00
[want_cocoa="yes"])
2014-06-08 12:23:25 -07:00
2015-02-26 05:37:45 -08:00
if test "${want_cocoa}" = "yes"; then
#test cocoa requirements (objc and Cocoa/Cocoa.h)
cocoa_ldflags=""
have_cocoa="no"
m4_ifdef([AC_PROG_OBJC],
2014-06-08 12:23:25 -07:00
[
AC_LANG_PUSH([Objective C])
LIBS_save="$LIBS"
LIBS="$LIBS -framework Cocoa"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <Cocoa/Cocoa.h>
]],
[[
NSWindow *window;
window = [[NSWindow alloc]
initWithContentRect:NSMakeRect(0, 0, 1, 1)
styleMask:(NSTitledWindowMask)
backing:NSBackingStoreBuffered
defer:NO
screen:nil
];
]])],
[
have_cocoa="yes"
cocoa_ldflags="-framework Cocoa"
],
[have_cocoa="no"])
LIBS="$LIBS_save"
AC_MSG_CHECKING([whether Cocoa framework is supported])
AC_MSG_RESULT([${have_cocoa}])
AC_LANG_POP([Objective C])
])
fi
AC_SUBST(cocoa_ldflags)
2013-01-16 12:43:49 -08:00
2016-05-16 09:02:16 -07:00
if test "x${have_cocoa}" = "xyes"; then
2015-02-26 05:37:45 -08:00
#test cocoa requirements (objc and Cocoa/Cocoa.h)
cocoa_coreservices_ldflags=""
have_cocoa_coreservices="no"
m4_ifdef([AC_PROG_OBJC],
[
AC_LANG_PUSH([Objective C])
LIBS_save="$LIBS"
LIBS="$LIBS -framework CoreServices"
AC_LINK_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <CoreServices/CoreServices.h>
]],
[[
//test function here
]])],
[
have_cocoa_coreservices="yes"
cocoa_coreservices_ldflags="-framework CoreServices"
],
[have_cocoa_coreservices="no"])
LIBS="$LIBS_save"
AC_MSG_CHECKING([whether Cocoa CoreServices framework is supported])
AC_MSG_RESULT([${have_cocoa_coreservices}])
AC_LANG_POP([Objective C])
])
fi
AC_SUBST(cocoa_coreservices_ldflags)
2016-05-02 07:21:00 -07:00
AC_ARG_ENABLE([elput],
[AS_HELP_STRING([--enable-elput],[enable elput library. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_elput="yes"
else
want_elput="no"
fi
],
2016-08-25 04:09:23 -07:00
[
if test "x${want_wayland}" = "xyes" ; then
want_elput="yes"
else
want_elput="no"
fi
])
2016-05-02 07:21:00 -07:00
2013-04-29 04:34:39 -07:00
# Drm
AC_ARG_ENABLE([drm],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])],
2013-04-29 04:34:39 -07:00
[
if test "x${enableval}" = "xyes" ; then
2016-05-02 07:21:00 -07:00
if test "x${want_elput}" != "xyes" ; then
AC_MSG_ERROR([elput is required to build drm support])
fi
want_drm="yes"
2013-04-29 04:34:39 -07:00
else
2016-05-31 07:04:17 -07:00
want_drm="no"
2013-04-29 04:34:39 -07:00
fi
],
[want_drm="no"])
2014-08-21 02:22:16 -07:00
AC_ARG_ENABLE([gl-drm],
[AC_HELP_STRING([--enable-gl-drm],
[enable gl drm engine. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
2016-11-14 06:10:27 -08:00
if test "x${want_elput}" != "xyes" ; then
AC_MSG_ERROR([elput is required to build gl-drm support])
fi
want_gl_drm="yes"
2014-08-21 02:22:16 -07:00
else
2016-11-14 06:10:27 -08:00
want_gl_drm="no"
2014-08-21 02:22:16 -07:00
fi
],
[want_gl_drm="no"])
2016-11-14 06:10:27 -08:00
2012-11-04 03:51:42 -08:00
# Fontconfig
AC_ARG_ENABLE([fontconfig],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_fontconfig="yes"
else
want_fontconfig="no"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2012-11-04 03:51:42 -08:00
fi
],
[want_fontconfig="yes"])
# Fribidi
AC_ARG_ENABLE([fribidi],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_fribidi="yes"
else
want_fribidi="no"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2012-11-04 03:51:42 -08:00
fi
],
[want_fribidi="yes"])
# Harfbuzz
AC_ARG_ENABLE([harfbuzz],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_harfbuzz="yes"
else
want_harfbuzz="no"
fi
],
2012-12-06 15:36:40 -08:00
[want_harfbuzz="no"])
2012-11-04 03:51:42 -08:00
2015-10-13 00:59:19 -07:00
# Hyphenation
AC_ARG_ENABLE([hyphen],
[AS_HELP_STRING([--enable-hyphen],[enable text hyphenation support. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_hyphen="yes"
else
want_hyphen="no"
fi
],
[want_hyphen="no"])
2012-12-10 14:38:09 -08:00
# Egl
AC_ARG_ENABLE([egl],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])],
2012-12-10 14:38:09 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_egl="yes"
else
want_egl="no"
fi
],
[want_egl="no"])
2016-01-10 20:47:41 -08:00
# Verify OpenGL + EGL modes match (full+glx or es+egl)
if test "x${want_egl}" = "xyes" && test "x${with_opengl}" != "xes" ; then
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.])
fi
if test "x${want_egl}" = "xno" && test "x${with_opengl}" = "xes" ; then
AC_MSG_ERROR([OpenGL ES requires EGL, please add --enable-egl to your configure options to switch to EGL + OpenGL ES.])
fi
2012-11-04 03:51:42 -08:00
# Pixman
AC_ARG_ENABLE([pixman],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_pixman="yes"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2012-11-04 03:51:42 -08:00
else
want_pixman="no"
fi
],
2012-12-07 10:26:26 -08:00
[want_pixman="no"])
2012-11-04 03:51:42 -08:00
AC_ARG_ENABLE([pixman-font],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_pixman_font="yes"
else
have_pixman_font="no"
fi
],
[have_pixman_font="no"])
AC_ARG_ENABLE([pixman-rect],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_pixman_rect="yes"
else
have_pixman_rect="no"
fi
],
[have_pixman_rect="no"])
AC_ARG_ENABLE([pixman-line],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_pixman_line="yes"
else
have_pixman_line="no"
fi
],
[have_pixman_line="no"])
AC_ARG_ENABLE(pixman-poly,
2014-07-03 01:32:10 -07:00
AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]),
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_pixman_poly="yes"
else
have_pixman_poly="no"
fi
],
[have_pixman_poly="no"])
AC_ARG_ENABLE([pixman-image],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_pixman_image="yes"
else
have_pixman_image="no"
fi
],
[have_pixman_image="no"])
AC_ARG_ENABLE([pixman-image-scale-sample],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_pixman_image_scale_sample="yes"
else
have_pixman_image_scale_sample="no"
fi
],
[have_pixman_image_scale_sample="no"])
# Tile rotate
AC_ARG_ENABLE([tile-rotate],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
have_tile_rotate="yes"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2012-11-04 03:51:42 -08:00
else
have_tile_rotate="no"
fi
],
[have_tile_rotate="no"])
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
# Ecore Buffer
AC_ARG_ENABLE([ecore-buffer],
[AS_HELP_STRING([--enable-ecore-buffer],[enable ecore-buffer. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_ecore_buffer="yes"
else
want_ecore_buffer="no"
fi
],
[want_ecore_buffer="no"])
2012-11-04 03:51:42 -08:00
2013-05-30 14:31:32 -07:00
# Image Loaders
2016-06-15 10:11:36 -07:00
case "$host_os" in
cegcc*|mingw32ce*)
AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
;;
mingw*)
want_generic="no"
want_poppler="no"
want_spectre="no"
want_libraw="no"
want_rsvg="no"
2016-06-16 06:59:28 -07:00
want_xcf="no"
2016-06-15 10:11:36 -07:00
;;
cygwin*)
want_generic="no"
want_poppler="no"
want_spectre="no"
want_libraw="no"
want_rsvg="no"
2016-06-16 06:59:28 -07:00
want_xcf="no"
2016-06-15 10:11:36 -07:00
;;
*)
want_generic="static"
want_poppler="yes"
want_spectre="yes"
want_libraw="yes"
want_rsvg="yes"
2016-06-16 06:59:28 -07:00
want_xcf="yes"
2016-06-15 10:11:36 -07:00
;;
esac
2013-05-30 14:31:32 -07:00
2016-10-12 02:39:10 -07:00
ARG_ENABLE_EVAS_VG_LOADER(SVG, static)
2016-10-13 01:09:39 -07:00
ARG_ENABLE_EVAS_VG_LOADER(EET, static)
2016-10-12 02:39:10 -07:00
2013-05-30 14:31:32 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static)
ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static)
2016-06-15 10:11:36 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, [${want_generic}])
2013-05-30 14:31:32 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes)
ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static)
ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static)
2013-09-28 05:28:41 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto)
2013-05-30 14:31:32 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(PMAPS, static)
ARG_ENABLE_EVAS_IMAGE_LOADER(PNG, static)
ARG_ENABLE_EVAS_IMAGE_LOADER(PSD, static)
ARG_ENABLE_EVAS_IMAGE_LOADER(Tga, static)
2016-05-01 15:52:48 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes)
2013-05-30 14:31:32 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static)
ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no)
ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static)
2014-03-11 03:08:40 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static)
2014-06-18 01:55:44 -07:00
ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static)
2012-11-04 03:51:42 -08:00
### Default values
2012-12-08 08:12:08 -08:00
want_evas_engine_software_gdi="${have_win32}"
want_evas_engine_software_ddraw="${have_win32}"
2016-05-16 08:47:04 -07:00
want_evas_engine_gl_cocoa="${have_cocoa}"
2012-11-04 03:51:42 -08:00
want_evas_engine_wayland_egl="no"
2014-04-30 07:18:14 -07:00
if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then
2012-12-10 14:38:09 -08:00
want_evas_engine_wayland_egl="yes"
fi
2012-11-04 03:51:42 -08:00
2014-04-10 01:49:53 -07:00
if test "${want_lua_old}" = "yes"; then
EFL_CHECK_LUA_OLD([EVAS])
else
EFL_DEPEND_PKG([EVAS], [LUAJIT], [luajit >= 2.0.0])
fi
EFL_ADD_FEATURE([EVAS], [lua-old])
2012-12-30 13:52:34 -08:00
EFL_CHECK_FUNC([EVAS], [dlsym])
2012-11-04 03:51:42 -08:00
2012-12-07 12:23:45 -08:00
if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then
AC_MSG_ERROR([OpenGL cannot work without dlsym()])
2012-11-04 03:51:42 -08:00
fi
### Checks for programs
### Checks for libraries
## Compatibility layers
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([EVAS], [all])
EFL_INTERNAL_DEPEND_PKG([EVAS], [eo])
EFL_INTERNAL_DEPEND_PKG([EVAS], [eet])
EFL_INTERNAL_DEPEND_PKG([EVAS], [eina])
2014-07-19 10:31:16 -07:00
EFL_INTERNAL_DEPEND_PKG([EVAS], [efl])
2015-03-17 00:50:16 -07:00
EFL_INTERNAL_DEPEND_PKG([EVAS], [emile])
2015-04-03 07:21:57 -07:00
EFL_INTERNAL_DEPEND_PKG([EVAS], [ector])
2016-05-15 03:45:54 -07:00
EFL_INTERNAL_DEPEND_PKG([EVAS], [ecore])
2012-11-04 03:51:42 -08:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([EVAS], [-lm])
2017-04-28 07:00:52 -07:00
# Freetype (the version 16.2.10 equals the freetype 2.5.0.1 release)
EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 16.2.10])
2012-11-04 03:51:42 -08:00
## optional dependencies
# FontConfig
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}],
2012-12-06 15:19:35 -08:00
[FONTCONFIG], [fontconfig >= 2.5.0])
2012-11-04 03:51:42 -08:00
# fribidi support
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}],
2012-12-19 08:47:57 -08:00
[FRIBIDI], [fribidi >= 0.19.2])
2012-11-04 03:51:42 -08:00
# harfbuzz support
have_harfbuzz_ft="no"
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}],
2012-12-06 15:19:35 -08:00
[HARFBUZZ], [harfbuzz >= 0.9.0])
2012-11-04 03:51:42 -08:00
# Pixman
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1])
2012-11-04 03:51:42 -08:00
if test "x${have_pixman}" = "xyes" ; then
if test "x${have_pixman_font}" = "xyes" ; then
AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}])
2012-11-04 03:51:42 -08:00
if test "x${have_pixman_rect}" = "xyes" ; then
AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}])
2012-11-04 03:51:42 -08:00
if test "x${have_pixman_line}" = "xyes" ; then
AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}])
2012-11-04 03:51:42 -08:00
if test "x${have_pixman_poly}" = "xyes" ; then
AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}])
2012-11-04 03:51:42 -08:00
if test "x${have_pixman_image}" = "xyes" ; then
AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}])
2012-11-04 03:51:42 -08:00
if test "x${have_pixman_image_scale_sample}" = "xyes" ; then
AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}])
2012-11-04 03:51:42 -08:00
fi
## Engines
2012-12-07 09:18:17 -08:00
define([EVAS_ENGINE_DEP_CHECK_FB], [
AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])])
])
EVAS_ENGINE([buffer], [static])
EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB])
# XXX TODO:
2012-11-04 03:51:42 -08:00
EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
2012-12-07 10:24:49 -08:00
EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL])
2012-11-04 03:51:42 -08:00
EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
2013-01-24 01:20:32 -08:00
EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm])
2013-04-29 04:34:39 -07:00
EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm])
2014-08-21 02:22:16 -07:00
EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm])
2016-03-18 00:56:59 -07:00
EVAS_CHECK_ENGINE([eglfs], [${want_eglfs}], [no], [OpenGL Fb])
2012-11-04 03:51:42 -08:00
2014-02-11 00:07:56 -08:00
2016-11-01 07:04:47 -07:00
# Software Xlib
2012-11-04 03:51:42 -08:00
have_evas_engine_software_xlib="no"
2016-11-01 07:04:47 -07:00
EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
2012-11-04 03:51:42 -08:00
AC_MSG_CHECKING([whether to build Software Xlib Engine])
AC_MSG_RESULT([${have_evas_engine_software_xlib}])
# If software_x11 is available, define everything needed for X11
have_evas_engine_software_x11="no"
2016-11-01 07:04:47 -07:00
if test "x${have_evas_engine_software_xlib}" = "xyes" || test "x${have_evas_engine_software_xlib}" = "xstatic"; then
2012-11-04 03:51:42 -08:00
have_evas_engine_software_x11="yes"
AC_DEFINE_UNQUOTED([BUILD_ENGINE_SOFTWARE_X11], [1], [Build software X11 engine])
fi
AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes"])
2016-11-01 07:04:47 -07:00
if test "x${have_evas_engine_software_xlib}" = "xstatic"; then
2012-11-04 03:51:42 -08:00
AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas])
fi
2016-11-01 07:04:47 -07:00
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xlib}" = "xstatic"])
2012-11-04 03:51:42 -08:00
# Needed for evas-software-x11.pc
AC_SUBST([have_evas_engine_software_xlib])
# Software generic
2012-12-07 06:23:32 -08:00
AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas])
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true])
2012-11-04 03:51:42 -08:00
# OpenGL
2012-12-07 07:14:33 -08:00
if test "${with_opengl}" = "es" ; then
2012-11-04 03:51:42 -08:00
AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support])
fi
2016-11-01 07:04:47 -07:00
# OpenGL Xlib
2012-11-04 03:51:42 -08:00
have_evas_engine_gl_xlib="no"
2016-11-01 07:04:47 -07:00
EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
2012-11-04 03:51:42 -08:00
AC_MSG_CHECKING([whether to build OpenGL Xlib Engine])
AC_MSG_RESULT([${have_evas_engine_gl_xlib}])
# If opengl_x11 is available, define everything needed for X11
have_evas_engine_gl_x11="no"
2016-11-01 07:04:47 -07:00
if test "x${have_evas_engine_gl_xlib}" = "xyes" || test "x${have_evas_engine_gl_xlib}" = "xstatic"; then
2012-11-04 03:51:42 -08:00
have_evas_engine_gl_x11="yes"
AC_DEFINE_UNQUOTED([BUILD_ENGINE_GL_X11], [1], [Build OpenGL X11 engine])
fi
AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" = "xyes"])
2016-11-01 07:04:47 -07:00
if test "x${have_evas_engine_gl_xlib}" = "xstatic"; then
2012-11-04 03:51:42 -08:00
AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas])
fi
2016-11-01 07:04:47 -07:00
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xlib}" = "xstatic"])
2012-11-04 03:51:42 -08:00
# Needed for evas-opengl-x11.pc
AC_SUBST([have_evas_engine_gl_xlib])
# OpenGL SDL
2012-12-06 05:01:21 -08:00
if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
2012-11-04 03:51:42 -08:00
AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION],
[AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],,
2015-08-05 21:40:43 -07:00
[#include <SDL2/SDL_video.h>])
2012-11-04 03:51:42 -08:00
fi
2012-12-07 07:14:33 -08:00
if test "${with_opengl}" = "es"; then
2012-11-04 03:51:42 -08:00
AC_CHECK_DECL([SDL_OPENGLES],
[AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],,
2015-08-05 21:40:43 -07:00
[#include <SDL2/SDL_video.h>])
2012-11-04 03:51:42 -08:00
fi
# OpenGL common
evas_engine_gl_common_cflags=""
2014-07-23 03:19:23 -07:00
if test "x${have_egl}" = "xyes"; then
2017-10-15 16:01:13 -07:00
evas_engine_gl_common_libs="-lEGL -lGLESv2 -lm"
2014-07-11 06:15:42 -07:00
else
2017-10-15 16:01:13 -07:00
evas_engine_gl_common_libs="-lGL -lm"
2014-07-11 06:15:42 -07:00
fi
2014-12-03 00:45:51 -08:00
# The lines below fix compiling/linking of gl_generic on OSX
if test "x${have_darwin}" = "xyes"; then
if test "x${have_evas_engine_gl_cocoa}" = "xyes"; then
# If gl_cocoa is enabled, Apple's Core OpenGL (CGL) should be the default OpenGL.
# CFLAGS and LIBS are determined by evas-gl_cocoa.
evas_engine_gl_common_libs="${evas_engine_gl_cocoa_libs}"
evas_engine_gl_common_cflags="${evas_engine_gl_cocoa_cflags}"
else
# If evas-gl_cocoa is disabled, the only supported OpenGL engine on OSX (for now)
# is evas-gl_x11. Without its CFLAGS and LIBS explicitely set, gl_generic
# cannot compile (nor link).
evas_engine_gl_common_libs=""
evas_engine_gl_common_cflags=""
if test "x${have_evas_engine_gl_xlib}" = "xyes"; then
evas_engine_gl_common_libs="${evas_engine_gl_xlib_libs}"
evas_engine_gl_common_cflags="${evas_engine_gl_xlib_cflags}"
fi
### XXX Check for other supported engines supported on OSX (dec. 2014: NONE)
fi
fi
2012-11-04 03:51:42 -08:00
AC_SUBST([evas_engine_gl_common_cflags])
AC_SUBST([evas_engine_gl_common_libs])
have_evas_engine_gl_common="no"
have_static_evas_engine_gl_common="no"
2012-12-06 05:01:21 -08:00
if test "x$have_evas_engine_gl_xlib" = "xyes" || \
test "x$have_evas_engine_gl_sdl" = "xyes" || \
test "x$have_evas_engine_gl_cocoa" = "xyes" || \
2014-08-21 02:22:16 -07:00
test "x$have_evas_engine_gl_drm" = "xyes" || \
2016-03-18 00:56:59 -07:00
test "x$have_evas_engine_eglfs" = "xyes" || \
2012-12-06 05:01:21 -08:00
test "x$have_evas_engine_wayland_egl" = "xyes"; then
2012-11-04 03:51:42 -08:00
have_evas_engine_gl_common="yes"
fi
2012-12-06 05:01:21 -08:00
if test "x$have_evas_engine_gl_xlib" = "xstatic" || \
test "x$have_evas_engine_gl_sdl" = "xstatic" || \
test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
2014-08-21 02:22:16 -07:00
test "x$have_evas_engine_gl_drm" = "xstatic" || \
2016-03-18 00:56:59 -07:00
test "x$have_evas_engine_eglfs" = "xstatic" || \
2012-12-06 05:01:21 -08:00
test "x$have_evas_engine_wayland_egl" = "xstatic"; then
2012-11-04 03:51:42 -08:00
have_evas_engine_gl_common="yes"
have_static_evas_engine_gl_common="yes"
fi
if test "x${have_evas_engine_gl_common}" = "xyes"; then
AC_DEFINE([BUILD_ENGINE_GL_COMMON], [1], [Generic OpenGL Rendering Support])
fi
AM_CONDITIONAL([BUILD_ENGINE_GL_COMMON], [test "x$have_evas_engine_gl_common" = "xyes"])
if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
AC_DEFINE([EVAS_STATIC_BUILD_GL_COMMON], [1], [Build GL generic engine as part of libevas])
fi
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_COMMON], [test "x${have_static_evas_engine_gl_common}" = "xyes"])
2016-11-01 13:46:35 -07:00
have_evas_engine_wayland_common="no"
if test "x$have_evas_engine_wayland_egl" = "xstatic" || \
test "x$have_evas_engine_wayland_shm" = "xstatic" || \
test "x$have_evas_engine_wayland_egl" = "xyes" || \
test "x$have_evas_engine_wayland_shm" = "xyes"; then
have_evas_engine_wayland_common="yes"
fi
if test "x$have_evas_engine_wayland_common" = "xyes"; then
AC_DEFINE([BUILD_ENGINE_WAYLAND_COMMON], [1], [Building any wayland evas engine])
fi
AM_CONDITIONAL([BUILD_ENGINE_WAYLAND_COMMON], [test "x${have_evas_engine_wayland_common}" = "xyes"])
2016-10-12 02:39:10 -07:00
## Vg Loaders
EVAS_CHECK_VG_LOADER([SVG], [${want_evas_vg_loader_svg}])
2016-10-13 01:09:39 -07:00
EVAS_CHECK_VG_LOADER([EET], [${want_evas_vg_loader_eet}])
2013-01-18 05:48:14 -08:00
2012-11-04 03:51:42 -08:00
## Image Loaders
EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
EVAS_CHECK_IMAGE_LOADER([Generic], [${want_evas_image_loader_generic}])
EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
EVAS_CHECK_IMAGE_LOADER([JPEG], [${want_evas_image_loader_jpeg}])
2013-09-28 05:28:41 -07:00
EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}])
2012-11-04 03:51:42 -08:00
EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
EVAS_CHECK_IMAGE_LOADER([Tga], [${want_evas_image_loader_tga}])
EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
EVAS_CHECK_IMAGE_LOADER([WEBP], [${want_evas_image_loader_webp}])
EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
2014-03-11 03:08:40 -07:00
EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}])
2014-07-08 02:29:04 -07:00
EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}])
2012-11-04 03:51:42 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([EVAS])
2012-11-04 03:51:42 -08:00
### Checks for header files
2015-10-13 00:59:19 -07:00
if test "x$want_hyphen" = "xyes" ; then
EFL_CHECK_LIB_CODE([EVAS], [-lhyphen], [have_fct], [[
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <stdio.h>
#include <hyphen.h>
]], [[
HyphenDict *dict;
]])
if test "${have_fct}" = "no"; then
AC_MSG_ERROR([Cannot find the hyphen library.])
else
AC_DEFINE([HAVE_HYPHEN], [1], [have hunspell hyphen support])
fi
fi
2012-11-04 03:51:42 -08:00
if test "x$have_harfbuzz" = "xyes" ; then
CPPFLAGS_SAVE="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
# must have for usage with harfbuzz although harfbuzz may not have it.
AC_CHECK_HEADER([hb-ft.h],
[
have_harfbuzz_ft="yes"
#Depend on harfbuzz ft for harfbuzz support
AC_DEFINE([HAVE_HARFBUZZ], [1], [have harfbuzz support])
],
2012-12-06 13:41:28 -08:00
[AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])])
CPPFLAGS="$CPPFLAGS_SAVE"
2012-11-04 03:51:42 -08:00
fi
### Checks for types
CPPFLAGS_SAVE="$CPPFLAGS"
2012-12-20 10:54:51 -08:00
CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina"
2012-11-04 03:51:42 -08:00
AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>])
CPPFLAGS="$CPPFLAGS_SAVE"
2012-12-19 08:47:57 -08:00
if test "x$have_fribidi" = "xyes" ; then
CPPFLAGS_SAVE="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS"
2013-01-03 03:04:54 -08:00
AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>])
2012-12-19 08:47:57 -08:00
CPPFLAGS="$CPPFLAGS_SAVE"
fi
2012-11-04 03:51:42 -08:00
### Checks for structures
AC_CHECK_TYPES([struct sigaction], [], [],
[[#include <signal.h>]])
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
AC_CHECK_FUNCS([siglongjmp])
2013-01-24 10:57:42 -08:00
AC_CHECK_LIB([m], [lround],
[AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])],
[EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])]
2016-05-15 08:57:59 -07:00
)
2013-08-14 12:06:22 -07:00
2016-05-15 08:57:59 -07:00
### Configuration
2012-12-30 13:52:34 -08:00
2016-05-15 08:57:59 -07:00
## Tile rotation
2012-12-02 14:35:45 -08:00
2016-05-15 08:57:59 -07:00
if test "x${have_tile_rotate}" = "xyes" ; then
AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
2012-12-02 14:35:45 -08:00
fi
2013-03-10 04:53:58 -07:00
2016-05-15 08:57:59 -07:00
## dither options
2013-01-18 05:48:14 -08:00
2016-05-15 08:57:59 -07:00
AC_ARG_WITH([evas-dither-mask],
[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.
@<:@default=big@:>@])],
[build_evas_dither_mask=${withval}],
[build_evas_dither_mask=big])
2012-12-02 14:35:45 -08:00
2016-05-15 08:57:59 -07:00
case "${build_evas_dither_mask}" in
big)
AC_DEFINE([BUILD_BIG_DITHER_MASK], [1], [Use biggest dither mask while converting in Evas])
;;
small)
AC_DEFINE([BUILD_SMALL_DITHER_MASK], [1], [Use smaller dither mask while converting in Evas])
;;
line)
AC_DEFINE([BUILD_LINE_DITHER_MASK], [1], [Use simpler line-only dither mask while converting in Evas])
;;
none)
AC_DEFINE([BUILD_NO_DITHER_MASK], [1], [Do not use dither masks while converting in Evas])
;;
*)
AC_MSG_ERROR([Unknown Evas dither mask --with-evas-dither-mask=${build_evas_dither_mask}])
;;
esac
EFL_ADD_FEATURE([EVAS], [fontconfig])
EFL_ADD_FEATURE([EVAS], [fribidi])
EFL_ADD_FEATURE([EVAS], [harfbuzz])
EFL_ADD_FEATURE([EVAS], [tile-rotate])
EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
EFL_ADD_FEATURE([EVAS], [hyphen])
2012-12-02 14:35:45 -08:00
2016-06-01 16:59:02 -07:00
#### Generic backend
2016-06-04 12:45:28 -07:00
### Options to turn off generic loaders for evas
2016-06-01 16:59:02 -07:00
AC_ARG_ENABLE([poppler],
2016-06-04 12:45:28 -07:00
[AS_HELP_STRING([--disable-poppler],[disable pdf support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_poppler="yes"
else
want_poppler="no"
fi
2016-06-15 10:11:36 -07:00
])
2016-06-01 16:59:02 -07:00
AC_ARG_ENABLE([spectre],
2016-06-04 12:45:28 -07:00
[AS_HELP_STRING([--disable-spectre],[disable postscript support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_spectre="yes"
else
want_spectre="no"
fi
2016-06-15 10:11:36 -07:00
])
2016-06-01 16:59:02 -07:00
AC_ARG_ENABLE([libraw],
2016-06-04 12:45:28 -07:00
[AS_HELP_STRING([--disable-libraw],[disable libraw support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_libraw="yes"
else
want_libraw="no"
fi
2016-06-15 10:11:36 -07:00
])
2016-06-01 16:59:02 -07:00
AC_ARG_ENABLE([librsvg],
2016-06-04 12:45:28 -07:00
[AS_HELP_STRING([--disable-librsvg],[disable svg support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_rsvg="yes"
else
want_rsvg="no"
fi
2016-06-15 10:11:36 -07:00
])
2016-06-01 16:59:02 -07:00
2016-06-16 06:59:28 -07:00
AC_ARG_ENABLE([xcf],
[AS_HELP_STRING([--disable-xcf],[disable xcf support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_xcf="yes"
else
want_xcf="no"
fi
])
2016-06-01 16:59:02 -07:00
have_poppler="no"
have_spectre="no"
have_raw="no"
have_rsvg="no"
### Check needed dependency for each generic loader
if test "x${want_poppler}" = "xyes"; then
2016-06-13 04:15:49 -07:00
PKG_CHECK_MODULES([POPPLER], [poppler-cpp >= 0.12], [have_poppler="yes"])
2016-06-01 16:59:02 -07:00
fi
if test "x${want_spectre}" = "xyes"; then
PKG_CHECK_MODULES([SPECTRE], [libspectre], [have_spectre="yes"])
fi
if test "x${want_libraw}" = "xyes"; then
PKG_CHECK_MODULES([LIBRAW], [libraw], [have_raw="yes"])
fi
2016-06-04 11:10:04 -07:00
if test "x${want_rsvg}" = "xyes"; then
2016-06-01 16:59:02 -07:00
PKG_CHECK_MODULES([RSVG], [librsvg-2.0 >= 2.14.0 cairo >= 1.0.0], [have_rsvg="yes"])
PKG_CHECK_MODULES(
[SVG_2_36], [librsvg-2.0 >= 2.36.0 cairo >= 1.0.0],
[
have_rsvg_2_36="yes"
AC_DEFINE(HAVE_SVG_2_36, 1, [Have librsvg >= 2.36])
],
[have_rsvg_2_36="no"])
fi
AM_CONDITIONAL([HAVE_POPPLER], [test "x${have_poppler}" = "xyes"])
AM_CONDITIONAL([HAVE_SPECTRE], [test "x${have_spectre}" = "xyes"])
AM_CONDITIONAL([HAVE_LIBRAW], [test "x${have_raw}" = "xyes"])
AM_CONDITIONAL([HAVE_RSVG], [test "x${have_rsvg}" = "xyes"])
2016-06-16 06:59:28 -07:00
AM_CONDITIONAL([HAVE_XCF], [test "x${want_xcf}" = "xyes"])
2016-06-01 16:59:02 -07:00
2016-06-04 11:19:54 -07:00
EFL_ADD_FEATURE([EVAS_LOADER], [poppler], [${have_poppler}])
EFL_ADD_FEATURE([EVAS_LOADER], [spectre], [${have_spectre}])
EFL_ADD_FEATURE([EVAS_LOADER], [raw], [${have_raw}])
EFL_ADD_FEATURE([EVAS_LOADER], [rsvg], [${have_rsvg}])
2016-06-16 06:59:28 -07:00
EFL_ADD_FEATURE([EVAS_LOADER], [xcf], [${want_xcf}])
2016-06-01 16:59:02 -07:00
2016-05-15 08:57:59 -07:00
EFL_LIB_END([Evas])
#### End of Evas
2013-12-22 17:50:53 -08:00
2016-05-15 08:57:59 -07:00
#### Edje CXX
EFL_LIB_START([Evas_Cxx])
2013-01-04 15:51:53 -08:00
2016-05-15 08:57:59 -07:00
EFL_EVAL_PKGS([EVAS_CXX])
2012-12-02 14:35:45 -08:00
2016-05-15 08:57:59 -07:00
EFL_LIB_END([Evas_Cxx])
#### End of Edje CXX
2012-12-02 14:35:45 -08:00
2016-05-15 08:57:59 -07:00
#### Embryo
2012-12-02 14:35:45 -08:00
2016-05-15 08:57:59 -07:00
EFL_LIB_START([Embryo])
2013-03-15 01:12:05 -07:00
2016-05-15 08:57:59 -07:00
### Default values
2012-12-02 14:35:45 -08:00
2016-05-15 08:57:59 -07:00
### Additional options to configure
### Checks for programs
### Checks for libraries
EFL_PLATFORM_DEPEND([EMBRYO], [all])
EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
EFL_ADD_LIBS([EMBRYO], [-lm])
### Checks for header files
2014-02-04 04:54:19 -08:00
2012-12-02 14:35:45 -08:00
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2016-05-15 08:57:59 -07:00
if ! test "x${efl_func_fnmatch}" = "xyes" ; then
AC_MSG_ERROR([Cannot find fnmatch()])
2012-12-02 14:35:45 -08:00
fi
2016-05-15 08:57:59 -07:00
if ! test "x${efl_func_gettimeofday}" = "xyes" ; then
AC_MSG_ERROR([Cannot find gettimeofday()])
2013-02-18 05:32:51 -08:00
fi
2012-12-02 14:35:45 -08:00
### Check availability
2016-05-15 08:57:59 -07:00
EFL_LIB_END([Embryo])
#### End of Embryo
2012-12-02 14:35:45 -08:00
2014-05-04 03:19:39 -07:00
#### Ecore CXX
EFL_LIB_START([Ecore_Cxx])
EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina_Cxx])
EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eina])
EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_CXX], [Efl])
2014-05-04 03:19:39 -07:00
EFL_EVAL_PKGS([ECORE_CXX])
EFL_LIB_END([Ecore_Cxx])
#### End of Ecore CXX
2012-12-02 14:35:45 -08:00
#### Ecore_Con
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Ecore_Con])
2012-12-02 14:35:45 -08:00
### Default values
2012-12-05 16:35:14 -08:00
want_ecore_con_local_sockets="yes"
want_ecore_con_abstract_sockets="yes"
2012-12-02 14:35:45 -08:00
2014-07-13 01:59:40 -07:00
if test "${have_win32}" = "yes"; then
2012-12-08 08:12:08 -08:00
want_ecore_con_abstract_sockets="no"
elif test "${have_darwin}" = "yes"; then
2014-09-08 01:55:49 -07:00
want_ecore_con_abstract_sockets="yes"
2012-12-08 08:12:08 -08:00
elif test "${have_ps3}" = "yes"; then
want_ecore_con_local_sockets="no"
want_ecore_con_abstract_sockets="no"
fi
2012-12-02 14:35:45 -08:00
2012-12-05 16:35:14 -08:00
AC_DEFINE_IF([HAVE_LOCAL_SOCKETS],
[test "x${want_ecore_con_local_sockets}" = "xyes"],
[1], [Have local sockets support])
AC_DEFINE_IF([HAVE_ABSTRACT_SOCKETS],
[test "x${want_ecore_con_abstract_sockets}" = "xyes"],
[1], [Have abstract sockets namespace])
2012-12-02 14:35:45 -08:00
2016-11-20 05:04:54 -08:00
EFL_NET_CONTROL_BACKEND=none
2016-11-18 12:11:51 -08:00
if test "${have_linux}" = "yes"; then
EFL_NET_CONTROL_BACKEND=connman
fi
AC_MSG_CHECKING([net-control backend to use])
AC_ARG_WITH([net-control],
[AS_HELP_STRING([--with-net-control=BACKEND],[Specify which network control backend to be used by Efl.Net.Session and Efl.Net.Control. One of: connman or none])],
[EFL_NET_CONTROL_BACKEND="${withval}"])
case "${EFL_NET_CONTROL_BACKEND}" in
connman|none)
;;
*)
AC_MSG_ERROR([Unknown net-control backend --with-net-control=${EFL_NET_CONTROL_BACKEND}])
;;
esac
AC_MSG_RESULT([${EFL_NET_CONTROL_BACKEND}])
AC_SUBST(EFL_NET_CONTROL_BACKEND)
2012-12-02 14:35:45 -08:00
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([ECORE_CON], [all])
2013-07-29 05:20:49 -07:00
if test "$build_crypto" != "none" ; then
EFL_CRYPTO_DEPEND([ECORE_CON])
fi
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet])
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina])
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore])
2015-03-17 00:49:59 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile])
2016-11-18 12:11:51 -08:00
if test "${EFL_NET_CONTROL_BACKEND}" = "connman"; then
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eldbus])
fi
AM_CONDITIONAL([EFL_NET_CONTROL_BACKEND_CONNMAN], [test "${EFL_NET_CONTROL_BACKEND}" = "connman"])
AM_CONDITIONAL([EFL_NET_CONTROL_BACKEND_NONE], [test "${EFL_NET_CONTROL_BACKEND}" = "none"])
2012-12-02 14:35:45 -08:00
2017-09-10 18:52:47 -07:00
EFL_ADD_LIBS([ECORE_CON], [${requirement_nsl} -lm])
2012-12-30 13:52:34 -08:00
2015-08-25 01:52:47 -07:00
EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd])
2013-03-09 22:49:54 -08:00
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}])
EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}])
2013-12-11 17:27:01 -08:00
EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}])
2016-11-18 12:11:51 -08:00
EFL_ADD_FEATURE([ECORE_CON], [net-control], [${EFL_NET_CONTROL_BACKEND}])
2013-01-18 05:48:14 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE_CON])
2012-12-02 14:35:45 -08:00
### Checks for header files
2017-03-26 02:49:19 -07:00
AC_CHECK_HEADERS([ws2tcpip.h netdb.h sys/filio.h])
2012-12-02 14:35:45 -08:00
2012-12-06 05:01:21 -08:00
if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then
2012-12-02 14:35:45 -08:00
AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...])
fi
### Checks for types
have_ipv6="no"
2012-12-05 16:21:03 -08:00
AC_CHECK_TYPES([struct ipv6_mreq],
[have_ipv6="yes"],
[have_ipv6="no"],
[[
2015-11-23 22:27:30 -08:00
#ifdef HAVE_NETINET_IN_H
# include <netinet/in.h>
#endif
2012-12-02 14:35:45 -08:00
#ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
#endif
2012-12-05 16:21:03 -08:00
]])
2012-12-02 14:35:45 -08:00
2012-12-05 16:21:03 -08:00
AC_DEFINE_IF([HAVE_IPV6],
[test "x${have_ipv6}" = "xyes"],
[1], [Define if IPV6 is supported])
2012-12-02 14:35:45 -08:00
AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"])
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2017-09-18 10:42:17 -07:00
AC_CHECK_FUNCS([accept4], ,
[AC_CHECK_LIB([socket], [accept4],
[AC_DEFINE([HAVE_ACCEPT4], [1])])])
2012-12-02 14:35:45 -08:00
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Ecore_Con])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Con
#### Ecore_Ipc
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Ecore_Ipc])
2012-12-02 14:35:45 -08:00
### Default values
### Additional options to configure
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_IPC], [evil])
2013-03-15 15:46:52 -07:00
2012-12-02 14:35:45 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con])
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina])
2012-12-02 14:35:45 -08:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([ECORE_IPC], [-lm])
2012-12-02 14:35:45 -08:00
### Checks for header files
AC_CHECK_HEADERS([winsock2.h])
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Ecore_Ipc])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Ipc
#### Ecore_File
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Ecore_File])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_FILE], [evil])
2013-03-15 15:46:52 -07:00
2012-12-02 14:35:45 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([ECORE_FILE], [escape])
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con])
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina])
2012-12-02 14:35:45 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Ecore_File])
2012-12-02 14:35:45 -08:00
#### End of Ecore_File
Ecore_Input: define data type for joysticks
Summary: This adds support for joysticks for ecore_input
Reviewers: cedric, devilhorns, Sergeant_Whitespace, raster, thiepha, zmike, jpeg
Reviewed By: thiepha, zmike, jpeg
Subscribers: thiepha, stefan_schmidt, zmike, singh.amitesh, Sergeant_Whitespace, jgerecke, cedric, seoz
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D1538
2016-06-13 03:41:38 -07:00
#### Eeze
have_libmount_new="no"
have_libmount_old="no"
have_eeze_mount="no"
EFL_LIB_START_OPTIONAL([Eeze], [test "x${build_libeeze}" = "xyes"])
### Additional options to configure
AC_ARG_WITH([mount],
[AS_HELP_STRING([--with-mount], [specify mount bin @<:@default=detect@:>@])],
[with_eeze_mount=$withval], [with_eeze_mount="detect"])
AC_ARG_WITH([umount],
[AS_HELP_STRING([--with-umount], [specify umount bin @<:@default=detect@:>@])],
[with_eeze_umount=$withval], [with_eeze_umount="detect"])
AC_ARG_WITH([eject],
[AS_HELP_STRING([--with-eject], [specify eject bin @<:@default=detect@:>@])],
[with_eeze_eject=$withval], [with_eeze_eject="detect"])
### Default values
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([EEZE], [eina])
EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore])
EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
EFL_INTERNAL_DEPEND_PKG([EEZE], [efl])
EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
EFL_INTERNAL_DEPEND_PKG([EEZE], [emile])
EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
AC_ARG_ENABLE([libmount],
[AS_HELP_STRING([--disable-libmount],[disable libmount support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_libmount="yes"
else
want_libmount="no"
CFOPT_WARNING="xyes"
fi
],
[want_libmount="yes"])
EFL_OPTIONAL_DEPEND_PKG([EEZE], [${want_libmount}],
[EEZE_MOUNT], [mount >= 2.18.0])
EFL_ADD_FEATURE([EEZE], [libmount], [${have_eeze_mount}])
PKG_CHECK_EXISTS([libudev < 199],
[have_libudev_old="yes"],
[have_libudev_old="no"])
AC_MSG_CHECKING([Use old libudev API (before 199)])
AC_MSG_RESULT([${have_libudev_old}])
PKG_CHECK_EXISTS([mount < 2.19.0],
[have_libmount_old="yes"],
[have_libmount_old="no"])
AC_MSG_CHECKING([Use old libmount API (before 2.19.0)])
AC_MSG_RESULT([${have_libmount_old}])
PKG_CHECK_EXISTS([mount == 2.19.0],
[have_libmount_219="yes"],
[have_libmount_219="no"])
AC_MSG_CHECKING([Use libmount 2.19.0 API])
AC_MSG_RESULT([${have_libmount_219}])
PKG_CHECK_EXISTS([mount > 2.19.0],
[have_libmount_new="yes"],
[have_libmount_new="no"])
AC_MSG_CHECKING([Use new libmount API (newer than 2.19.0)])
AC_MSG_RESULT([${have_libmount_new}])
if test "x${have_libudev_old}" = "xyes"; then
AC_DEFINE_UNQUOTED([OLD_LIBUDEV], [1], [using older version of libudev])
fi
if test "x${have_libmount_old}" = "xyes"; then
AC_DEFINE_UNQUOTED([OLD_LIBMOUNT], [1], [using first version of libmount])
fi
## modules
if test "${want_tizen}" = "yes"; then
PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor >= 0.1.17])
fi
EFL_ADD_FEATURE([EEZE], [tizen])
EFL_EVAL_PKGS([EEZE])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Checks for binaries
if test "x$with_eeze_mount" = "xdetect"; then
AC_PATH_PROG([with_eeze_mount], [mount], [])
fi
AC_DEFINE_UNQUOTED([EEZE_MOUNT_BIN], ["$with_eeze_mount"], [mount bin to use])
if test "x$with_eeze_umount" = "xdetect";then
AC_PATH_PROG([with_eeze_umount], [umount], [])
fi
AC_DEFINE_UNQUOTED([EEZE_UNMOUNT_BIN], ["$with_eeze_umount"], [umount bin to use])
if test "x$with_eeze_eject" = "xdetect";then
AC_PATH_PROG([with_eeze_eject], [eject], [])
fi
AC_DEFINE_UNQUOTED([EEZE_EJECT_BIN], ["$with_eeze_eject"], [eject bin to use])
EFL_LIB_END_OPTIONAL([Eeze])
AM_CONDITIONAL([EEZE_LIBMOUNT_AFTER_219],
[test "x${have_libmount_new}" = "xyes"])
AM_CONDITIONAL([EEZE_LIBMOUNT_BEFORE_219],
[test "x${have_libmount_old}" = "xyes"])
AM_CONDITIONAL([HAVE_EEZE_MOUNT], [test "x${have_eeze_mount}" = "xyes"])
AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
#### End of Eeze
2012-12-02 14:35:45 -08:00
#### Ecore_Input
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Ecore_Input])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil])
2013-03-15 15:46:52 -07:00
2012-12-02 14:35:45 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
Ecore_Input: define data type for joysticks
Summary: This adds support for joysticks for ecore_input
Reviewers: cedric, devilhorns, Sergeant_Whitespace, raster, thiepha, zmike, jpeg
Reviewed By: thiepha, zmike, jpeg
Subscribers: thiepha, stefan_schmidt, zmike, singh.amitesh, Sergeant_Whitespace, jgerecke, cedric, seoz
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D1538
2016-06-13 03:41:38 -07:00
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [${efl_lib_optional_eeze}], [eeze])
2012-12-30 10:08:55 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
### Checks for linker characteristics
### Checks for library functions
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Ecore_Input])
2012-12-30 10:08:55 -08:00
#### End of Ecore_Input
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
#### Ecore_Input_Evas
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Ecore_Input_Evas])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
### Additional options to configure
### Default values
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil])
2013-03-15 15:46:52 -07:00
2012-12-30 10:08:55 -08:00
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [evas])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [emile])
2012-12-02 14:35:45 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Ecore_Input_Evas])
2012-12-30 10:08:55 -08:00
#### End of Ecore_Input_Evas
2012-12-02 14:35:45 -08:00
#### Ecore_Cocoa
2016-05-16 09:02:16 -07:00
EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${have_cocoa}" = "yes"])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
2012-12-02 14:35:45 -08:00
### Checks for header files
2014-06-08 12:23:25 -07:00
EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa])
2012-12-02 14:35:45 -08:00
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2013-01-16 12:43:49 -08:00
EFL_LIB_END_OPTIONAL([Ecore_Cocoa])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Cocoa
#### Ecore_FB
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"])
2012-12-02 14:35:45 -08:00
### Additional options to configure
2012-12-07 11:07:42 -08:00
AC_ARG_ENABLE([tslib],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])],
2012-12-07 11:07:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_tslib="yes"
else
want_tslib="no"
fi
2012-12-07 15:37:01 -08:00
], [want_tslib="yes"])
2012-12-07 11:07:42 -08:00
### Default values
2012-12-02 14:35:45 -08:00
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_FB], [tslib])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE_FB])
2012-12-02 14:35:45 -08:00
### Checks for header files
have_ecore_fb="no"
AC_CHECK_HEADER([linux/fb.h],
2012-12-07 11:07:42 -08:00
[AC_CHECK_HEADER([linux/input.h], [have_ecore_fb="yes"])])
if test "${have_ecore_fb}" = "no"; then
AC_MSG_ERROR([Missing linux/input.h or linux/fb.h])
fi
2012-12-02 14:35:45 -08:00
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Ecore_FB])
2012-12-02 14:35:45 -08:00
#### End of Ecore_FB
#### Ecore_SDL
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([ECORE_SDL], [all])
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2012-12-02 14:35:45 -08:00
2014-07-25 11:23:42 -07:00
EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE_SDL])
2012-12-02 14:35:45 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Ecore_SDL])
2012-12-02 14:35:45 -08:00
#### End of Ecore_SDL
#### Ecore_Wayland
2016-05-06 12:48:14 -07:00
EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_ecore_wayland}" = "yes"])
2012-12-02 14:35:45 -08:00
2014-08-25 05:44:10 -07:00
if test "x${want_wayland_ivi_shell}" = "xyes" ; then
AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support])
fi
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND],
2016-01-06 10:53:56 -08:00
[wayland-client >= 1.8.0 wayland-cursor >= 1.8.0 xkbcommon >= 0.5.0 uuid])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE_WAYLAND])
2012-12-02 14:35:45 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2014-10-21 05:34:28 -07:00
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Ecore_Wayland])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Wayland
2015-08-18 06:44:07 -07:00
#### Ecore_Wl2
EFL_LIB_START_OPTIONAL([Ecore_Wl2], [test "${want_wayland}" = "yes"])
if test "x${want_wayland_ivi_shell}" = "xyes" ; then
AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wl2 IVI-Shell Support])
fi
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [efl])
2015-08-18 06:44:07 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WL2], [eina])
EFL_DEPEND_PKG([ECORE_WL2], [WAYLAND],
2016-10-25 08:08:16 -07:00
[wayland-server >= 1.11.0 wayland-client >= 1.11.0 xkbcommon >= 0.6.0])
2015-08-18 06:44:07 -07:00
EFL_EVAL_PKGS([ECORE_WL2])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END_OPTIONAL([Ecore_Wl2])
#### End of Ecore_Wl2
2017-06-30 11:59:21 -07:00
#### Efl_Wl
EFL_LIB_START_OPTIONAL([Efl_Wl], [test -n "${ECORE_WL2_CFLAGS}"])
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [ecore-wl2])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [ecore])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [ecore-evas])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [evas])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [emile])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [eo])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [efl])
EFL_INTERNAL_DEPEND_PKG([EFL_WL], [eina])
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EFL_WL], [${want_x11_any}], [ecore_x])
2017-07-20 20:28:43 -07:00
EFL_DEPEND_PKG([EFL_WL], [WAYLAND],
2017-07-21 01:37:33 -07:00
[wayland-server >= 1.11.0 xkbcommon >= 0.6.0])
2018-01-24 13:16:17 -08:00
EFL_OPTIONAL_DEPEND_PKG([EFL_WL], [${want_x11_any}], [XKBCOMMONX11], [xkbcommon-x11])
2017-07-20 20:28:43 -07:00
2017-06-30 11:59:21 -07:00
EFL_EVAL_PKGS([EFL_WL])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END_OPTIONAL([Efl_Wl])
#### End of Efl_Wl
2014-09-18 08:30:56 -07:00
#### Eldbus
EFL_LIB_START([Eldbus])
### Additional options to configure
### Default values
### Checks for programs
## Compatibility layers
EFL_PLATFORM_DEPEND([ELDBUS], [evil])
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ELDBUS], [ecore])
2015-09-08 13:04:23 -07:00
EFL_INTERNAL_DEPEND_PKG([ELDBUS], [efl])
2014-09-18 08:30:56 -07:00
EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eo])
EFL_INTERNAL_DEPEND_PKG([ELDBUS], [eina])
EFL_DEPEND_PKG([ELDBUS], [DBUS], [dbus-1])
EFL_EVAL_PKGS([ELDBUS])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END([Eldbus])
#### End of Eldbus
2014-09-23 06:02:28 -07:00
2014-03-06 02:03:21 -08:00
#### Ecore_Drm
2016-05-31 07:04:17 -07:00
EFL_LIB_START_OPTIONAL([Ecore_Drm], [test "${want_ecore_drm}" = "yes"])
2014-03-06 02:03:21 -08:00
### Additional options to configure
SUID_CFLAGS=-fPIE
SUID_LDFLAGS=-pie
AC_SUBST([SUID_CFLAGS])
AC_SUBST([SUID_LDFLAGS])
### Default values
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input])
2014-09-18 08:32:37 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus])
2014-09-23 06:03:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze])
2014-03-06 02:03:21 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [efl])
2014-03-06 02:03:21 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina])
2014-12-09 06:36:42 -08:00
EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm])
2017-11-12 04:44:42 -08:00
EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 1.6.0])
2014-03-06 02:03:21 -08:00
2016-01-13 08:03:36 -08:00
EFL_ADD_LIBS([ECORE_DRM], [-lm])
2014-03-06 02:03:21 -08:00
EFL_EVAL_PKGS([ECORE_DRM])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END_OPTIONAL([Ecore_Drm])
#### End of Ecore_Drm
2012-12-02 14:35:45 -08:00
2016-03-24 08:19:31 -07:00
#### Elput
EFL_LIB_START_OPTIONAL([Elput], [test "${want_elput}" = "yes"])
### Additional options to configure
SUID_CFLAGS=-fPIE
SUID_LDFLAGS=-pie
AC_SUBST([SUID_CFLAGS])
AC_SUBST([SUID_LDFLAGS])
### Default values
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore])
EFL_INTERNAL_DEPEND_PKG([ELPUT], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ELPUT], [eldbus])
EFL_INTERNAL_DEPEND_PKG([ELPUT], [eeze])
EFL_INTERNAL_DEPEND_PKG([ELPUT], [eo])
EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina])
2018-06-21 07:14:18 -07:00
EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 1.7.0 xkbcommon >= 0.3.0 libudev])
2016-03-24 08:19:31 -07:00
2016-04-13 12:44:13 -07:00
EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd])
EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}])
2016-03-24 08:19:31 -07:00
EFL_ADD_LIBS([ELPUT], [-lm])
EFL_EVAL_PKGS([ELPUT])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END_OPTIONAL([Elput])
2016-05-02 07:21:00 -07:00
#### End of Elput
#### Ecore_Drm2
EFL_LIB_START_OPTIONAL([Ecore_Drm2], [test "${want_drm}" = "yes"])
### Additional options to configure
SUID_CFLAGS=-fPIE
SUID_LDFLAGS=-pie
AC_SUBST([SUID_CFLAGS])
AC_SUBST([SUID_LDFLAGS])
### Default values
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eo])
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [efl])
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eina])
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [elput])
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM2], [eeze])
2016-11-14 10:27:29 -08:00
EFL_DEPEND_PKG([ECORE_DRM2], [DRM], [gbm])
2016-05-02 07:21:00 -07:00
EFL_ADD_LIBS([ECORE_DRM2], [-lm])
2016-11-14 10:27:29 -08:00
EFL_ADD_LIBS([ECORE_DRM2], [-ldl])
2016-05-02 07:21:00 -07:00
EFL_EVAL_PKGS([ECORE_DRM2])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END_OPTIONAL([Ecore_Drm2])
#### End of Ecore_Drm2
2016-03-24 08:19:31 -07:00
2012-12-28 07:24:09 -08:00
#### Ecore_Audio
AC_ARG_ENABLE([audio],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])],
2012-12-28 07:24:09 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_audio="yes"
else
want_audio="no"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2012-12-28 07:24:09 -08:00
fi
],
[want_audio="yes"])
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"])
2012-12-28 07:24:09 -08:00
### Additional options to configure
2013-05-03 13:44:07 -07:00
# ALSA support is still not there, thus no option for it yet.
want_alsa="no"
2012-12-28 07:24:09 -08:00
# sndfile is mandatory otherwise it won't read from/write to files.
# TODO: if confirmed sndfile is mandatory, remove this variable
# TODO: and the EFL_OPTIONAL_DEPEND_PKG(), use EFL_DEPEND_PKG()
want_sndfile="yes"
2017-12-13 10:04:49 -08:00
want_wasapiaudio="no"
2012-12-28 07:24:09 -08:00
AC_ARG_ENABLE([pulseaudio],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])],
2012-12-28 07:24:09 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_pulseaudio="yes"
else
want_pulseaudio="no"
2017-12-13 10:04:49 -08:00
if test "x${have_win32}" = "xyes" ; then
want_wasapiaudio="yes"
else
want_wasapiaudio="no"
CFOPT_WARNING="xyes"
fi
2012-12-28 07:24:09 -08:00
fi
],
[want_pulseaudio="yes"])
### Default values
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil])
2013-03-15 15:46:52 -07:00
2012-12-28 07:24:09 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [emile])
2012-12-28 07:24:09 -08:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
2016-07-31 22:37:10 -07:00
if test "x${want_alsa}" = "xyes" ; then
PKG_CHECK_MODULES([ECORE_AUDIO_ALSA], [alsa])
AC_DEFINE([HAVE_ALSA], [1], [Alsa support])
fi
if test "x${want_pulseaudio}" = "xyes" ; then
PKG_CHECK_MODULES([ECORE_AUDIO_PULSE], [libpulse])
AC_DEFINE([HAVE_PULSE], [1], [Pulseaudio support])
fi
if test "x${want_sndfile}" = "xyes" ; then
PKG_CHECK_MODULES([ECORE_AUDIO_SNDFILE], [sndfile])
AC_DEFINE([HAVE_SNDFILE], [1], [Sndfile support])
fi
2017-12-13 10:04:49 -08:00
if test "x${want_wasapiaudio}" = "xyes" ; then
EFL_ADD_LIBS([ECORE_AUDIO], [-luuid -lwinmm -lksuser])
AC_DEFINE([HAVE_WASAPI], [1], [Wasapiaudio support])
fi
2016-07-31 22:37:10 -07:00
dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_ALSA], [${want_alsa}], [ALSA], [alsa])
dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_PULSE], [${want_pulseaudio}], [PULSE], [libpulse])
dnl EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO_SNDFILE], [${want_sndfile}], [SNDFILE], [sndfile])
2012-12-28 07:24:09 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE_AUDIO])
2012-12-28 07:24:09 -08:00
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_AUDIO], [alsa])
EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio])
EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile])
2017-12-13 10:04:49 -08:00
EFL_ADD_FEATURE([ECORE_AUDIO], [wasapiaudio])
2013-01-18 05:48:14 -08:00
2012-12-28 07:24:09 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Ecore_Audio])
2013-04-19 08:16:34 -07:00
AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"])
AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"])
2017-12-13 10:04:49 -08:00
AM_CONDITIONAL([HAVE_ECORE_AUDIO_WASASPI], [test "x${want_wasapiaudio}" = "xyes"])
2013-04-19 08:16:34 -07:00
2012-12-30 07:21:33 -08:00
#### End of Ecore_Audio
2012-12-28 07:24:09 -08:00
2014-05-04 03:19:39 -07:00
#### Ecore Audio CXX
EFL_LIB_START([Ecore_Audio_Cxx])
EFL_EVAL_PKGS([ECORE_AUDIO_CXX])
EFL_LIB_END([Ecore_Audio_Cxx])
#### End of Ecore Audio CXX
2012-12-02 14:35:45 -08:00
#### Ecore_Win32
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil])
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32])
2012-12-02 14:35:45 -08:00
AC_SUBST([ECORE_WIN32_LIBS])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Ecore_Win32])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Win32
2013-11-09 23:51:42 -08:00
#### Ecore_Avahi
EFL_LIB_START([Ecore_Avahi])
### Default values
### Additional options to configure
want_avahi="yes"
AC_ARG_ENABLE([avahi],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-avahi],[disable avahi support. @<:@default=enabled@:>@])],
2013-11-09 23:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_avahi="yes"
else
want_avahi="no"
fi
], [
want_avahi="yes"
])
### Checks for programs
2013-12-18 01:03:01 -08:00
## Compatibility layers
EFL_PLATFORM_DEPEND([ECORE_AVAHI], [evil])
2013-11-09 23:51:42 -08:00
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eina])
EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_AVAHI], [efl])
2013-11-09 23:51:42 -08:00
2013-12-20 07:24:13 -08:00
EFL_OPTIONAL_DEPEND_PKG([ECORE_AVAHI], [${want_avahi}], [AVAHI], [avahi-client], [have_avahi=yes], [have_avahi=no])
2013-11-09 23:51:42 -08:00
EFL_ADD_FEATURE([ECORE_AVAHI], [avahi-client], [${have_avahi}])
# Needed bu example as they use avahi directly in that case
if test "x${have_avahi}" = "xyes"; then
PKG_CHECK_MODULES([AVAHI_CLIENT], [avahi-client])
fi
2014-02-25 13:39:34 -08:00
EFL_EVAL_PKGS([ECORE_AVAHI])
2013-11-09 23:51:42 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END([Ecore_Avahi])
#### End of Ecore_Avahi
2012-12-02 14:35:45 -08:00
#### Ecore_X
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_X], [test "${want_x11_any}" = "yes"])
2012-12-02 14:35:45 -08:00
### Additional options to configure
2012-12-07 15:16:43 -08:00
AC_ARG_ENABLE([gesture],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-gesture],[enable X11 Gesture extension support])],
2012-12-07 15:16:43 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_gesture="yes"
else
want_gesture="no"
fi
],
[want_gesture="no"])
2012-12-02 14:35:45 -08:00
2014-01-09 23:26:06 -08:00
AC_ARG_ENABLE([xpresent],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-xpresent],[enable X11 XPresent extension support])],
2014-01-09 23:26:06 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_xpresent="yes"
else
want_xpresent="no"
fi
],
[want_xpresent="no"])
2012-12-08 07:35:44 -08:00
AC_ARG_ENABLE([xinput2],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-xinput2],[disable X11 XInput v2.x support])],
2012-12-08 07:35:44 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_xinput2="yes"
else
want_xinput2="no"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2012-12-08 07:35:44 -08:00
fi
],
[want_xinput2="yes"])
2012-12-09 23:58:41 -08:00
AC_ARG_ENABLE([xinput22],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-xinput22],[enable X11 XInput v2.2+ support])],
2012-12-09 23:58:41 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_xinput22="yes"
else
want_xinput22="no"
fi
],
[want_xinput22="no"])
2012-12-02 14:35:45 -08:00
AC_ARG_ENABLE([xim],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-xim],[disable X Input Method.])],
2012-12-02 14:35:45 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_xim="yes"
else
want_xim="no"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2012-12-02 14:35:45 -08:00
fi
],
[want_xim="yes"])
2013-07-04 11:23:32 -07:00
AC_ARG_ENABLE([scim],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-scim],[disable SCIM.])],
2013-07-04 11:23:32 -07:00
[
if test "x${enableval}" = "xyes" ; then
want_scim="yes"
else
want_scim="no"
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2013-07-04 11:23:32 -07:00
fi
],
[want_scim="yes"])
AC_ARG_ENABLE([ibus],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-ibus],[disable IBUS.])],
2013-07-04 11:23:32 -07:00
[
if test "x${enableval}" = "xyes" ; then
want_ibus="yes"
else
want_ibus="no"
fi
],
[want_ibus="yes"])
2012-12-02 14:35:45 -08:00
### Default values
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_X], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_X], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
2012-12-02 14:35:45 -08:00
## Xlib
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
## Xlib
2012-12-07 15:16:43 -08:00
if test "x${want_x11_xlib}" = "xyes"; then
2013-01-09 08:48:40 -08:00
EFL_FIND_X(ECORE_X_XLIB,
[X11/Xlib.h X11/Xcursor/Xcursor.h],
[X11 XOpenDisplay Xcursor XcursorImageLoadCursor],
[
2012-12-02 14:35:45 -08:00
use_Xcursor="yes"
AC_DEFINE([ECORE_XCURSOR], 1, [Build support for Xcursor])
2013-01-09 08:48:40 -08:00
EFL_ADD_LIBS([ECORE_X], [$ECORE_X_XLIB_libs])
EFL_ADD_CFLAGS([ECORE_X], [$ECORE_X_XLIB_cflags])
],[
AC_MSG_ERROR([Xcursor is missing])
])
2012-12-02 14:35:45 -08:00
fi
2012-12-07 12:23:45 -08:00
if test "x${want_x11_xlib}" = "xyes" ; then
2012-12-07 15:16:43 -08:00
ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat])
ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent])
ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
2014-01-21 13:07:38 -08:00
PKG_CHECK_EXISTS([xrandr > 1.3.2], [AC_DEFINE([XRANDR_GOOD], [1], [good xrandr])], [])
2014-01-20 19:00:47 -08:00
2014-01-09 23:26:06 -08:00
if test "${want_xpresent}" = "yes"; then
ECORE_CHECK_X_EXTENSION([Xpresent], [Xpresent.h], [Xpresent], [XPresentQueryExtension])
fi
EFL_ADD_FEATURE([ECORE_X], [xpresent])
2012-12-07 15:16:43 -08:00
if test "${want_gesture}" = "yes"; then
ECORE_CHECK_X_EXTENSION([Xgesture], [gesture.h], [Xgesture], [XGestureQueryExtension])
2012-12-08 07:35:44 -08:00
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_X], [gesture])
2012-12-08 07:35:44 -08:00
if test "${want_xinput2}" = "yes"; then
2012-12-07 15:16:43 -08:00
ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
2012-12-09 23:58:41 -08:00
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_X], [xinput2])
2012-12-09 23:58:41 -08:00
if test "${want_xinput22}" = "yes"; then
ECORE_CHECK_X_EXTENSION([Xi2_2], [XInput2.h], [Xi],[XIGrabTouchBegin])
2012-12-02 14:35:45 -08:00
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_X], [xinput22])
2012-12-07 15:16:43 -08:00
2013-10-29 15:25:54 -07:00
EFL_EVAL_PKGS([ECORE_X])
EFL_CHECK_FUNCS([ECORE_X], [dlopen dlsym])
2012-12-02 14:35:45 -08:00
fi
2012-12-30 10:08:55 -08:00
EFL_ADD_LIBS([ECORE_X], [${ECORE_X_LIBS}])
2012-12-02 14:35:45 -08:00
2012-12-30 07:21:33 -08:00
EFL_LIB_END_OPTIONAL([Ecore_X])
2012-12-07 12:23:45 -08:00
AM_CONDITIONAL([HAVE_ECORE_X_XLIB], [test "${want_x11_xlib}" = "yes"])
2012-12-02 14:35:45 -08:00
#### End of Ecore_X
#### Ecore_Imf
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Ecore_Imf])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
want_ecore_imf="yes"
want_ecore_imf_xim="no"
want_ecore_imf_scim="no"
want_ecore_imf_ibus="no"
2013-04-17 02:59:46 -07:00
want_ecore_imf_wayland="no"
2014-07-13 01:59:40 -07:00
want_ecore_imf="yes"
2012-12-02 14:35:45 -08:00
2014-07-13 01:59:40 -07:00
if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
2012-12-08 08:12:08 -08:00
want_ecore_imf="yes"
2014-07-13 01:59:40 -07:00
want_ecore_imf_xim="yes"
want_ecore_imf_scim="yes"
want_ecore_imf_ibus="yes"
if test "${want_wayland}" = "yes"; then
want_ecore_imf_wayland="yes"
2012-12-08 08:12:08 -08:00
fi
fi
2012-12-02 14:35:45 -08:00
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_IMF], [evil])
2013-03-15 15:46:52 -07:00
2012-12-02 14:35:45 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([ECORE_IMF], [escape])
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF], [eina])
2012-12-02 14:35:45 -08:00
2013-01-07 18:28:48 -08:00
if test "x${want_ecore_imf}" = "xyes" ; then
AC_DEFINE([HAVE_ECORE_IMF], [1], [Ecore IMF Support])
fi
2012-12-02 14:35:45 -08:00
## modules
# ibus
have_ecore_imf_ibus="no"
2013-07-04 11:23:32 -07:00
if test "x${want_ibus}" = "xyes" && test "x${want_ecore_imf_ibus}" = "xyes" && test "x${have_glib}" = "xyes" ; then
2012-12-02 14:35:45 -08:00
PKG_CHECK_MODULES([IBUS],
2013-01-15 08:55:14 -08:00
[ibus-1.0 >= 1.4 glib-2.0],
2012-12-02 14:35:45 -08:00
[
have_ecore_imf_ibus="yes"
AC_DEFINE([BUILD_ECORE_IMF_IBUS], [1], [Ecore Imf IBUS Support])
],
[have_ecore_imf_ibus="no"])
fi
AM_CONDITIONAL([BUILD_ECORE_IMF_IBUS], [test "x${have_ecore_imf_ibus}" = "xyes"])
2013-07-04 11:23:32 -07:00
EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${have_ecore_imf_ibus}])
2012-12-02 14:35:45 -08:00
# scim
2013-07-04 11:23:32 -07:00
have_ecore_imf_scim="no"
if test "x${want_scim}" = "xyes" && test "x${want_ecore_imf_scim}" = "xyes" ; then
2012-12-02 14:35:45 -08:00
PKG_CHECK_MODULES([SCIM],
2013-01-15 08:55:14 -08:00
[scim],
2012-12-02 14:35:45 -08:00
[
have_ecore_imf_scim="yes"
AC_DEFINE([BUILD_ECORE_IMF_SCIM], [1], [Ecore Imf SCIM Support])
],
[have_ecore_imf_scim="no"])
fi
AM_CONDITIONAL([BUILD_ECORE_IMF_SCIM], [test "x${have_ecore_imf_scim}" = "xyes"])
2013-07-04 11:23:32 -07:00
EFL_ADD_FEATURE([ECORE_IMF], [scim], [${have_ecore_imf_scim}])
2012-12-02 14:35:45 -08:00
# xim
have_ecore_imf_xim="no"
2012-12-06 05:01:21 -08:00
if test "x${want_xim}" = "xyes" && test "x${want_ecore_imf_xim}" = "xyes" ; then
2013-01-09 08:48:40 -08:00
EFL_FIND_X(ecore_imf_xim,
[X11/Xlib.h],
[X11 XOpenIM],
[
have_ecore_imf_xim=yes
AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
])
2012-12-02 14:35:45 -08:00
fi
AM_CONDITIONAL([BUILD_ECORE_IMF_XIM], [test "x${have_ecore_imf_xim}" = "xyes"])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_IMF], [xim])
2012-12-02 14:35:45 -08:00
2013-04-17 02:59:46 -07:00
# wayland
if test "x${want_ecore_imf_wayland}" = "xyes" ; then
PKG_CHECK_MODULES([WAYLAND],
2016-06-07 05:04:10 -07:00
[wayland-client >= 1.11.0],
2013-04-17 02:59:46 -07:00
[
have_ecore_imf_wayland="yes"
AC_DEFINE([BUILD_ECORE_IMF_WAYLAND], [1], [Ecore Imf Wayland Support])
],
[have_ecore_imf_wayland="no"])
fi
AM_CONDITIONAL([BUILD_ECORE_IMF_WAYLAND], [test "x${have_ecore_imf_wayland}" = "xyes"])
EFL_ADD_FEATURE([ECORE_IMF], [wayland], [${want_ecore_imf_wayland}])
2012-12-02 14:35:45 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Ecore_Imf])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Imf
2012-12-30 10:08:55 -08:00
#### Ecore_Imf_Evas
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Ecore_Imf_Evas])
2012-12-30 10:08:55 -08:00
### Additional options to configure
### Default values
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [evil])
2013-03-15 15:46:52 -07:00
2012-12-30 10:08:55 -08:00
### Checks for libraries
EFL_PLATFORM_DEPEND([ECORE_IMF_EVAS], [escape])
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore-imf])
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [ecore])
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [evas])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [efl])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [eina])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_IMF_EVAS], [emile])
2012-12-30 10:08:55 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Ecore_Imf_Evas])
2012-12-30 10:08:55 -08:00
#### End of Ecore_Imf_Evas
2012-12-02 14:35:45 -08:00
#### Ecore_Evas
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Ecore_Evas])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
2012-12-08 08:12:08 -08:00
want_ecore_evas_software_gdi="${have_evas_engine_software_gdi}"
want_ecore_evas_software_ddraw="${have_evas_engine_software_ddraw}"
want_ecore_evas_gl_cocoa="${have_evas_engine_gl_cocoa}"
want_ecore_evas_wayland_egl="${have_evas_engine_wayland_egl}"
2012-12-02 14:35:45 -08:00
want_ecore_evas_extn="yes"
2013-05-14 00:15:53 -07:00
want_ecore_evas_drm="${have_evas_engine_drm}"
2012-12-02 14:35:45 -08:00
2013-01-11 08:57:21 -08:00
if test "x${have_ecore_ipc}" = "xno" || \
test "x${efl_func_shm_open}" = "xno" || \
test "x${have_windows}" = "xyes" ; then
2012-12-08 08:12:08 -08:00
want_ecore_evas_extn="no"
fi
2012-12-02 14:35:45 -08:00
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ECORE_EVAS], [evil])
2013-03-15 15:46:52 -07:00
2012-12-02 14:35:45 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input-evas])
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [ecore])
2014-04-06 18:21:19 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eet])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [efl])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [eina])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [emile])
2012-12-02 14:35:45 -08:00
## modules
2013-01-11 08:57:21 -08:00
ECORE_EVAS_MODULE([extn], [${want_ecore_evas_extn}])
2012-12-07 09:18:17 -08:00
ECORE_EVAS_MODULE([ews], [yes])
ECORE_EVAS_MODULE([fb], [${want_fb}])
2018-02-05 14:42:42 -08:00
ECORE_EVAS_MODULE([drm], [${want_drm}])
ECORE_EVAS_MODULE([gl-drm], [${want_gl_drm}])
2012-12-02 14:35:45 -08:00
2012-12-07 09:18:17 -08:00
ECORE_EVAS_MODULE([opengl-cocoa], [${want_ecore_evas_gl_cocoa}])
2012-12-07 10:24:49 -08:00
ECORE_EVAS_MODULE([software-sdl], [${want_sdl}])
ECORE_EVAS_MODULE([opengl-sdl], [${want_gl_sdl}])
build_ecore_evas_sdl="no"
if test "x${have_ecore_evas_software_sdl}" = "xyes" || \
test "x${have_ecore_evas_opengl_sdl}" = "xyes" ; then
build_ecore_evas_sdl="yes"
AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL Engine in Ecore_Evas])
fi
AM_CONDITIONAL([BUILD_ECORE_EVAS_SDL],
[test "${build_ecore_evas_sdl}" = "yes"])
ECORE_EVAS_MODULE([wayland-shm], [${want_wayland}])
2012-12-07 09:18:17 -08:00
ECORE_EVAS_MODULE([wayland-egl], [${want_ecore_evas_wayland_egl}])
2012-12-07 10:24:49 -08:00
build_ecore_evas_wayland="no"
if test "x${have_ecore_evas_wayland_shm}" = "xyes" || \
test "x${have_ecore_evas_wayland_egl}" = "xyes" ; then
build_ecore_evas_wayland="yes"
AC_DEFINE(BUILD_ECORE_EVAS_WAYLAND, 1, [Support for Wayland Engine in Ecore_Evas])
fi
AM_CONDITIONAL([BUILD_ECORE_EVAS_WAYLAND],
[test "${build_ecore_evas_wayland}" = "yes"])
2012-12-07 09:18:17 -08:00
ECORE_EVAS_MODULE([software-gdi], [${want_ecore_evas_software_gdi}])
ECORE_EVAS_MODULE([software-ddraw], [${want_ecore_evas_software_ddraw}])
2012-12-02 14:35:45 -08:00
2012-12-07 10:24:49 -08:00
build_ecore_evas_win32="no"
2012-12-07 09:18:17 -08:00
if test "x${have_ecore_evas_software_gdi}" = "xyes" || \
test "x${have_ecore_evas_software_ddraw}" = "xyes" ; then
2012-12-07 10:24:49 -08:00
build_ecore_evas_win32="yes"
2012-12-07 09:18:17 -08:00
AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
fi
2012-12-07 10:24:49 -08:00
AM_CONDITIONAL([BUILD_ECORE_EVAS_WIN32],
[test "${build_ecore_evas_win32}" = "yes"])
2012-12-02 14:35:45 -08:00
2012-12-07 09:18:17 -08:00
# XXX TODO: ecore_evas_x11
2016-10-28 09:56:42 -07:00
ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
2012-12-02 14:35:45 -08:00
have_ecore_evas_software_xlib="no"
if test "x$have_ecore_evas_software_x11" = "xyes" ; then
2012-12-07 05:14:35 -08:00
have_ecore_evas_software_xlib=${have_evas_engine_software_xlib}
2012-12-02 14:35:45 -08:00
if test "x${have_ecore_evas_software_xlib}" = "xstatic"; then
have_ecore_evas_software_xlib="yes"
fi
2012-12-07 12:23:45 -08:00
if test "x${have_ecore_evas_software_xlib}" = "xyes"; then
2012-12-02 14:35:45 -08:00
AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XLIB], [1], [Evas Software Xlib Engine Support])
fi
fi
2012-12-07 09:18:17 -08:00
# XXX TODO: ecore_evas_opengl_x11
2012-12-02 14:35:45 -08:00
2016-10-28 09:56:42 -07:00
ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
2012-12-02 14:35:45 -08:00
have_ecore_evas_opengl_xlib="no"
2012-12-06 05:01:21 -08:00
if test "x${have_ecore_evas_opengl_x11}" = "xyes" || test "x${have_ecore_evas_opengl_x11}" = "xstatic" ; then
2012-12-07 05:14:35 -08:00
have_ecore_evas_opengl_xlib=${have_evas_engine_gl_xlib}
2012-12-02 14:35:45 -08:00
if test "x${have_ecore_evas_opengl_xlib}" = "xyes" ; then
AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XLIB], [1], [OpenGL Xlib rendering backend])
fi
fi
2012-12-07 10:24:49 -08:00
build_ecore_evas_x11="no"
2012-12-06 05:01:21 -08:00
if test "x$have_ecore_evas_software_x11" = "xyes" || \
2016-11-01 07:04:47 -07:00
test "x$have_ecore_evas_opengl_x11" = "xyes"; then
2012-12-02 14:35:45 -08:00
AC_DEFINE([BUILD_ECORE_EVAS_X11], [1], [Support for X Window Engines in Ecore_Evas])
2012-12-07 10:24:49 -08:00
build_ecore_evas_x11="yes"
2012-12-02 14:35:45 -08:00
fi
2016-09-26 11:43:49 -07:00
2012-12-07 10:24:49 -08:00
AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
2016-10-28 09:56:42 -07:00
2016-09-26 11:43:49 -07:00
build_ecore_evas_vnc="no"
if test "${want_vnc_server}" = "yes" && \
(test "${build_ecore_evas_x11}" = "yes" || \
test "${want_fb}" = "yes"); then
AC_DEFINE([BUILD_ECORE_EVAS_VNC_SERVER], [1], [Build Ecore_Evas VNC module])
build_ecore_evas_vnc="yes"
fi
2016-10-28 09:56:42 -07:00
AM_CONDITIONAL([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"])
AC_DEFINE_IF([BUILD_ECORE_EVAS_VNC_SERVER], [test "${build_ecore_evas_vnc}" = "yes"], [1], [Build Ecore_Evas VNC module])
EFL_ADD_FEATURE([ECORE_EVAS], [vnc_server], [${build_ecore_evas_vnc}])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE_EVAS])
2012-12-02 14:35:45 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2016-01-13 07:25:47 -08:00
if test "x${want_gl_drm}" = "xyes" ; then
EFL_CHECK_FUNCS([ECORE_EVAS], [dlopen])
fi
2012-12-02 14:35:45 -08:00
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Ecore_Evas])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Evas
2012-12-04 09:40:58 -08:00
#### Eio
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Eio])
2012-12-04 09:40:58 -08:00
### Additional options to configure
### Default values
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([EIO], [evil])
2013-03-15 15:46:52 -07:00
2012-12-04 09:40:58 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
2016-06-05 16:52:52 -07:00
EFL_INTERNAL_DEPEND_PKG([EIO], [ecore-file])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EIO], [eet])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([EIO], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EIO], [eina])
2015-09-07 01:43:35 -07:00
EFL_INTERNAL_DEPEND_PKG([EIO], [efl])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([EIO], [emile])
2016-06-05 17:21:43 -07:00
EFL_INTERNAL_DEPEND_PKG([EIO], [efreet-mime])
2012-12-04 09:40:58 -08:00
2012-12-30 10:08:55 -08:00
EFL_ADD_LIBS([EIO], [-lm])
2012-12-04 10:01:02 -08:00
2012-12-04 09:40:58 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2015-02-26 05:37:45 -08:00
have_inotify="${ac_cv_header_sys_inotify_h}"
AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
have_notify_win32="${have_win32}"
AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
[test "x${have_notify_win32}" = "xyes"], [1],
[File monitoring with Windows notification])
AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
AC_DEFINE_IF([HAVE_NOTIFY_COCOA],
[test "x${have_darwin}" = "xyes"], [1],
[File monitoring with fsevent notification])
AM_CONDITIONAL([HAVE_NOTIFY_COCOA], [test "x${have_darwin}" = "xyes"])
2015-09-21 15:13:34 -07:00
AC_CHECK_FUNC([kevent])
have_notify_kevent="${ac_cv_func_kevent}"
AC_DEFINE_IF([HAVE_NOTIFY_KEVENT],
[test "x${have_notify_kevent}" = "xyes"], [1],
[File monitoring with kqueue/kevent mechanism])
AM_CONDITIONAL([HAVE_NOTIFY_KEVENT], [test "x${have_notify_kevent}" = "xyes"])
2012-12-04 09:40:58 -08:00
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Eio])
2013-01-09 19:43:32 -08:00
dnl TODO: remove these ifdefs from code!
AC_DEFINE([HAVE_EIO], [1], [Have eio library])
2012-12-04 09:40:58 -08:00
#### End of Eio
2012-12-29 15:04:40 -08:00
#### Efreet
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Efreet])
2012-12-29 15:04:40 -08:00
### Additional options to configure
### Default values
AC_DEFINE([SLOPPY_SPEC], [1], [Sloppy Spec Compliance])
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([EFREET], [evil])
2013-03-15 15:46:52 -07:00
2012-12-29 15:04:40 -08:00
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [eet])
EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore])
EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-file])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [efl])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [emile])
2018-07-03 09:49:08 -07:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-con])
2015-06-24 03:24:21 -07:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [ecore-ipc])
2012-12-29 15:04:40 -08:00
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Efreet])
2012-12-29 15:04:40 -08:00
#### End of Efreet
2013-01-03 14:10:40 -08:00
#### EPhysics
AC_ARG_ENABLE([physics],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--disable-physics],[disable physics effects and support. @<:@default=enabled@:>@])],
2013-01-03 14:10:40 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_physics="yes"
else
2014-02-11 17:27:34 -08:00
CFOPT_WARNING="xyes"
2013-01-03 14:10:40 -08:00
want_physics="no"
fi
],
2013-01-04 10:22:29 -08:00
[want_physics="yes"])
2013-01-03 14:10:40 -08:00
EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
EFL_PLATFORM_DEPEND([EPHYSICS], [evil])
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eina])
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [evas])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [efl])
2013-01-03 14:10:40 -08:00
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [emile])
2013-01-03 14:10:40 -08:00
EFL_DEPEND_PKG([EPHYSICS], [BULLET], [bullet >= 2.80])
EFL_EVAL_PKGS([EPHYSICS])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END_OPTIONAL([EPhysics])
#### End of EPhysics
2013-01-03 18:08:14 -08:00
#### Edje
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Edje])
2013-01-03 18:08:14 -08:00
### Additional options to configure
### Default values
2015-04-15 07:53:39 -07:00
2013-01-28 07:15:32 -08:00
AC_ARG_ENABLE([multisense],
2015-11-12 09:42:16 -08:00
[AS_HELP_STRING([--enable-multisense],[Enable multisense support. @<:@default=disabled@:>@])],
2013-01-28 07:15:32 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_multisense="yes"
else
want_multisense="no"
2014-07-07 23:43:06 -07:00
CFOPT_WARNING="xyes"
2013-01-28 07:15:32 -08:00
fi
],
2015-04-15 07:53:39 -07:00
[
ecore_audio: drop support for CoreAudio on macOS
CoreAudio support was initially introduced by commit
62e29b39f4df40fd3c0a6b17f7a16f0f8fc1d0c9 as an experimental feature.
It played basic sounds, but suffered from drawbacks: it was controlling
the master channel, and therefore any sound played by ecore_audio would
shut down a previous sound (e.g. background music) for the time of the
sound being played. So that wasn't exactly great... Also, after some
time, some hangs have been reported when playing a sound on input. Most
of the time, it translated as a pause in the main loop (see T3797).
More recently (several months ago), ecore_audio with CoreAudio stopped
working during 1.19 development...
So... CoreAudio support on macOS has never been great. And now it's fully
broken. Instead of trying to revive the thing, let just use PulseAudio.
PulseAudio can be installed without any trouble on macOS thanks to
package managers such as Homebrew. Actually, the efl package provided by
Homebrew already provides PulseAudio as a dependency. And it actually
just works very fine. Dropping CoreAudio seems therefore a nice option:
removes unmaintained code, fixes bugs, and add features.
2016-10-29 13:32:19 -07:00
if test "x${want_pulseaudio}" = "xyes"; then
2015-04-15 07:53:39 -07:00
want_multisense="yes"
else
2017-12-13 10:04:49 -08:00
if test "x${want_wasapiaudio}" = "xyes"; then
want_multisense="yes"
else
want_multisense="no"
fi
2015-04-15 07:53:39 -07:00
fi
2017-12-13 10:04:49 -08:00
2015-04-15 07:53:39 -07:00
])
2013-01-08 05:32:07 -08:00
# TODO: should we keep or remove these?
2013-01-08 18:04:26 -08:00
want_edje_program_cache="no"
2013-01-03 18:08:14 -08:00
want_edje_calc_cache="yes"
want_fixed_point="no"
### Checks for programs
### Checks for libraries
EFL_PLATFORM_DEPEND([EDJE], [evil])
EFL_INTERNAL_DEPEND_PKG([EDJE], [eina])
EFL_INTERNAL_DEPEND_PKG([EDJE], [eo])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([EDJE], [efl])
2013-01-03 18:08:14 -08:00
EFL_INTERNAL_DEPEND_PKG([EDJE], [eet])
EFL_INTERNAL_DEPEND_PKG([EDJE], [evas])
EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore])
EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-evas])
EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-file])
EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf])
EFL_INTERNAL_DEPEND_PKG([EDJE], [ecore-imf-evas])
EFL_INTERNAL_DEPEND_PKG([EDJE], [embryo])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([EDJE], [emile])
2015-05-13 08:14:09 -07:00
EFL_INTERNAL_DEPEND_PKG([EDJE], [efreet])
2016-06-05 17:21:43 -07:00
EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
2013-01-03 18:08:14 -08:00
2016-08-01 03:04:42 -07:00
if test "x${want_physics}" = "xyes" ; then
AC_DEFINE([HAVE_EPHYSICS], [1], [EPhysics Support])
EDJE_CFLAGS="-I\$(top_srcdir)/src/lib/ephysics ${EDJE_CFLAGS}"
fi
dnl EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
if test "x${want_lua_old}" = "xyes"; then
2017-08-02 00:54:56 -07:00
EFL_CHECK_LUA_OLD([EDJE])
2016-08-01 03:04:42 -07:00
else
PKG_CHECK_MODULES([EDJE_LUA], [luajit >= 2.0.0])
fi
2013-01-28 07:15:32 -08:00
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
2013-01-03 18:08:14 -08:00
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EDJE], [physics])
EFL_ADD_FEATURE([EDJE], [multisense])
2014-01-17 11:07:59 -08:00
EFL_ADD_FEATURE([EDJE], [lua-old])
2013-01-03 18:08:14 -08:00
EFL_ADD_LIBS([EDJE], [-lm])
EFL_EVAL_PKGS([EDJE])
2013-01-08 18:04:26 -08:00
AC_DEFINE_IF([EDJE_PROGRAM_CACHE], [test "${want_edje_program_cache}" = "yes"],
2013-01-08 05:32:07 -08:00
[1], [Cache result of program glob matches])
AC_DEFINE_IF([EDJE_CALC_CACHE], [test "${want_edje_calc_cache}" = "yes"],
[1], [Cache result of calc glob matches])
AC_DEFINE_IF([BUILD_EDJE_FP], [test "${want_fixed_point}" = "yes"],
[1], [Use Fixed Point instead of FPU])
2013-01-03 18:08:14 -08:00
AM_CONDITIONAL([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"])
AC_DEFINE_IF([ENABLE_MULTISENSE], [test "${want_multisense}" = "yes"],
2015-03-17 00:49:54 -07:00
[1], [Use Multisense])
2013-01-03 18:08:14 -08:00
AC_SUBST([want_multisense])
2013-01-04 05:39:26 -08:00
AC_SUBST([want_physics])
2013-01-03 18:08:14 -08:00
### Checks for header files
2013-03-15 03:20:10 -07:00
AC_CHECK_HEADERS([ \
sys/wait.h \
])
2013-01-03 18:08:14 -08:00
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Edje])
2013-01-03 18:08:14 -08:00
#### End of Edje
2014-05-04 03:19:39 -07:00
#### Edje CXX
EFL_LIB_START([Edje_Cxx])
EFL_EVAL_PKGS([EDJE_CXX])
EFL_LIB_END([Edje_Cxx])
#### End of Edje CXX
2013-01-09 19:43:32 -08:00
#### Emotion
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Emotion])
2013-01-09 19:43:32 -08:00
2013-03-24 04:42:28 -07:00
## Compatibility layers
EFL_PLATFORM_DEPEND([Emotion], [evil])
2013-01-09 19:43:32 -08:00
### Default values
if test "${efl_func_shm_open}" = "yes"; then
want_emotion_generic="static"
else
want_emotion_generic="no"
fi
### Additional options to configure
AC_ARG_ENABLE([xine],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-xine],[enable xine support. @<:@default=disabled@:>@])],
2013-01-09 19:43:32 -08:00
[
2013-03-29 06:14:34 -07:00
if test "x${enableval}" = "xyes" ; then
2013-01-09 19:43:32 -08:00
want_xine="yes"
else
want_xine="no"
fi
],
[want_xine="no"])
AC_ARG_ENABLE([v4l2],
2014-07-03 01:32:10 -07:00
[AS_HELP_STRING([--enable-v4l2],[enable v4l2 support.])],
2013-01-09 19:43:32 -08:00
[
2013-03-29 06:14:34 -07:00
if test "x${enableval}" = "xyes" ; then
2013-01-09 19:43:32 -08:00
want_v4l2="yes"
else
want_v4l2="no"
fi
],
[want_v4l2="${efl_lib_optional_eeze}"])
2015-09-21 14:19:17 -07:00
AC_ARG_ENABLE([libvlc],
[AS_HELP_STRING([--enable-libvlc],[enable libvlc support. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_libvlc="yes"
else
want_libvlc="no"
fi
],
[want_libvlc="no"])
2013-01-09 19:43:32 -08:00
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([EMOTION], [eina])
EFL_INTERNAL_DEPEND_PKG([EMOTION], [eo])
EFL_INTERNAL_DEPEND_PKG([EMOTION], [ecore])
EFL_INTERNAL_DEPEND_PKG([EMOTION], [eet])
EFL_INTERNAL_DEPEND_PKG([EMOTION], [evas])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([EMOTION], [efl])
2013-01-09 19:43:32 -08:00
EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([EMOTION], [emile])
2013-01-09 19:43:32 -08:00
2013-02-18 02:35:34 -08:00
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${efl_lib_optional_eeze}], [eeze])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EMOTION], [v4l2])
2013-01-09 19:43:32 -08:00
## modules
have_gst_xoverlay="no"
EMOTION_MODULE([xine], [${want_xine}])
EMOTION_MODULE([gstreamer], [${want_gstreamer}])
2013-12-22 17:50:53 -08:00
EMOTION_MODULE([gstreamer1], [${want_gstreamer1}])
2015-09-21 14:19:17 -07:00
EMOTION_MODULE([libvlc], [${want_libvlc}])
2013-01-09 19:43:32 -08:00
EMOTION_MODULE([generic], [${want_emotion_generic}])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EMOTION], [xine])
EFL_ADD_FEATURE([EMOTION], [gstreamer])
2013-12-22 17:50:53 -08:00
EFL_ADD_FEATURE([EMOTION], [gstreamer1])
2015-09-21 14:19:17 -07:00
EFL_ADD_FEATURE([EMOTION], [libvlc])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EMOTION], [generic], [${want_emotion_generic}])
2013-01-09 19:43:32 -08:00
EFL_EVAL_PKGS([EMOTION])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
if test "${want_v4l2}" = "yes"; then
AC_CHECK_DECL([V4L2_CAP_VIDEO_CAPTURE],
[AC_DEFINE([HAVE_V4L2], [1], [Define to 1 if you have Video4Linux 2 available])],
[AC_MSG_ERROR([Video4Linux 2 desired but not found. See --disable-v4l2.])],
[#include <linux/videodev2.h>])
fi
### Check availability
2016-06-01 11:32:15 -07:00
## Generic player
2016-08-03 16:04:57 -07:00
EMOTION_GENERIC_PLAYER([GENERIC_VLC], [no], [libvlc >= 2.0])
2016-06-01 11:32:15 -07:00
EFL_ADD_FEATURE([EMOTION], [generic_vlc], [${with_generic_vlc}])
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Emotion])
2013-01-09 19:43:32 -08:00
#### End of Emotion
2013-01-11 17:15:45 -08:00
#### Ethumb
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Ethumb])
2013-01-11 17:15:45 -08:00
### Default values
### Additional options to configure
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ETHUMB], [evil])
2013-03-15 15:46:52 -07:00
2013-01-11 17:15:45 -08:00
### Checks for libraries
EFL_PLATFORM_DEPEND([EINA], [evil])
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
2014-04-06 18:21:19 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eet])
2013-01-11 17:15:45 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [efl])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eo])
2013-01-11 17:15:45 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore])
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-evas])
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-file])
2014-01-24 03:14:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [ecore-imf])
2013-01-11 17:15:45 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [emile])
2013-01-11 17:15:45 -08:00
## modules
EFL_EVAL_PKGS([ETHUMB])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Ethumb])
2013-01-11 17:15:45 -08:00
#### End of Ethumb
#### Ethumb_Client
2015-03-17 00:49:54 -07:00
EFL_LIB_START([Ethumb_Client])
2013-01-11 17:15:45 -08:00
### Default values
### Additional options to configure
### Checks for programs
2013-03-15 15:46:52 -07:00
## Compatibility layers
2013-03-24 04:42:28 -07:00
EFL_PLATFORM_DEPEND([ETHUMB_CLIENT], [evil])
2013-03-15 15:46:52 -07:00
2013-01-11 17:15:45 -08:00
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eina])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eo])
2014-07-18 05:38:25 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [efl])
2014-04-06 18:21:19 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eet])
2013-01-11 17:15:45 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
2014-09-15 14:56:50 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore-imf])
2014-03-08 16:12:25 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edje])
2013-04-23 07:40:05 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [eldbus])
2013-01-11 17:15:45 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
2013-09-25 21:04:37 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [evas])
2015-03-25 11:19:53 -07:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [emile])
2013-01-11 17:15:45 -08:00
EFL_EVAL_PKGS([ETHUMB_CLIENT])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
2015-03-17 00:49:54 -07:00
EFL_LIB_END([Ethumb_Client])
2013-01-11 17:15:45 -08:00
#### End of Ethumb_Client
2014-04-03 08:01:01 -07:00
#### Elua
2017-06-16 12:03:09 -07:00
AC_ARG_ENABLE([elua],
[AS_HELP_STRING([--enable-elua],[enable ELUA support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_elua="yes"
else
want_elua="no"
fi
],
2018-07-06 03:14:58 -07:00
[want_elua="yes"])
2018-08-01 10:31:15 -07:00
# turn this into an AC_ARG_ENABLE when bindings are reenabled
want_lua_bindings="no"
2014-04-03 08:01:01 -07:00
have_elua="yes"
2018-08-01 10:31:15 -07:00
have_lua_bindings="yes"
2017-06-16 12:03:09 -07:00
if test "${want_lua_old}" = "yes" -o "x$want_elua" = "xno"; then
2014-04-03 08:01:01 -07:00
have_elua="no"
fi
2018-08-01 10:31:15 -07:00
if test "x$have_elua" = "xno" -o "x$want_lua_bindings" = "xno"; then
have_lua_bindings="no"
fi
AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
AM_CONDITIONAL([HAVE_LUA_BINDINGS], [test "x${have_lua_bindings}" = "xyes"])
2014-04-03 08:01:01 -07:00
EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
### Default values
### Additional options to configure
### Checks for programs
## Compatibility layers
EFL_PLATFORM_DEPEND([ELUA], [evil])
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ELUA], [eina])
EFL_INTERNAL_DEPEND_PKG([ELUA], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ELUA], [efl])
2014-04-03 08:01:01 -07:00
EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore])
2016-03-29 05:22:39 -07:00
EFL_INTERNAL_DEPEND_PKG([ELUA], [ecore_file])
2014-04-03 08:01:01 -07:00
EFL_DEPEND_PKG([ELUA], [LUAJIT], [luajit >= 2.0.0])
EFL_EVAL_PKGS([ELUA])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
EFL_LIB_END_OPTIONAL([Elua])
#### End of Elua
2013-01-11 17:15:45 -08:00
2014-10-28 03:22:55 -07:00
#### Elocation
EFL_LIB_START([Elocation])
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
EFL_PLATFORM_DEPEND([ELOCATION], [evil])
EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eina])
EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ELOCATION], [efl])
2014-10-28 03:22:55 -07:00
EFL_INTERNAL_DEPEND_PKG([ELOCATION], [ecore])
EFL_INTERNAL_DEPEND_PKG([ELOCATION], [eldbus])
EFL_ADD_LIBS([ELOCATION], [-lm])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
EFL_LIB_END([Elocation])
#### End of Elocation
2014-09-01 11:08:49 -07:00
#### Efl_Js
EFL_LIB_START_OPTIONAL([Efl_Js], [test "x${have_js}" = "xyes"])
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eina])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eo])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eet])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Evas])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Con])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ecore_Audio])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Efl])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Evas])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Edje])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emotion])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eldbus])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Emile])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Ethumb_Client])
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Eio])
2016-05-17 02:22:42 -07:00
EFL_INTERNAL_DEPEND_PKG([EFL_JS], [Elementary])
2014-09-01 11:08:49 -07:00
AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([EFL_JS], [-lv8]) ])
EFL_EVAL_PKGS([EFL_JS])
AM_COND_IF([HAVE_NODEJS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_NODEJS"], [])
AM_COND_IF([HAVE_LIBUV], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_LIBUV"], [])
AM_COND_IF([HAVE_JS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_JS"], [])
AM_COND_IF([HAVE_V8_CREATE_PARAMS], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
AM_COND_IF([HAVE_V8_GLOBAL], [EFLJS_CXXFLAGS="$EFLJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
AC_SUBST([EFLJS_CXXFLAGS])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
EFL_LIB_END_OPTIONAL([Efl_Js])
#### End of Efl_Js
2014-10-21 05:34:28 -07:00
### Add Wayland server library if test is enabled
if test "x${want_tests}" = "xyes" -a "x${want_wayland}" = "xyes"; then
2016-06-07 05:04:10 -07:00
EFL_DEPEND_PKG([ECORE_WAYLAND_SRV], [WAYLAND], [wayland-server >= 1.11.0])
2014-10-21 05:34:28 -07:00
EFL_EVAL_PKGS([ECORE_WAYLAND_SRV])
fi
2013-01-05 06:41:14 -08:00
AC_ARG_ENABLE([always-build-examples],
2017-07-04 08:49:37 -07:00
[AS_HELP_STRING([--enable-always-build-examples],[always build examples. @<:@default=disabled@:>@])],
2013-01-05 06:41:14 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_always_build_examples="yes"
else
want_always_build_examples="no"
fi
],
2017-07-04 08:49:37 -07:00
[want_always_build_examples="no"])
2013-01-05 06:41:14 -08:00
AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
#### Ecore_Buffer
build_ecore_buffer_x11_dri2="no"
build_ecore_buffer_x11_dri3="no"
EFL_LIB_START_OPTIONAL([Ecore_Buffer], [test "${want_ecore_buffer}" = "yes"])
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eina])
EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [eo])
2016-04-05 04:10:17 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [efl])
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore])
EFL_DEPEND_PKG([ECORE_BUFFER], [WAYLAND],
2016-06-07 05:04:10 -07:00
[wayland-server >= 1.11.0 wayland-client >= 1.11.0])
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
PKG_CHECK_MODULES([X11_DRI_COMMON],
[
libtbm >= 1.1.0,
libdrm >= 2.4.35,
],
[have_x11_dri_common_pkgs="yes"],
[have_x11_dri_common_pkgs="no"]
)
if test "x$have_x11_dri_common_pkgs" = "xyes" ; then
EFL_INTERNAL_DEPEND_PKG([ECORE_BUFFER], [ecore_x])
PKG_CHECK_MODULES([X11_DRI2], [libdri2],
[have_x11_dri2_pkgs="yes"],
[have_x11_dri2_pkgs="no"])
PKG_CHECK_MODULES([X11_DRI3],
[
xshmfence,
xcb,
x11-xcb,
xcb-sync,
xcb-dri3
],
[have_x11_dri3_pkgs="yes"],
[have_x11_dri3_pkgs="no"])
fi
if test "x${have_x11_dri2_pkgs}" = "xyes" ; then
build_ecore_buffer_x11_dri2="yes"
AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI2, 1, [Support for X11_DRI2 Backend in Ecore_Buffer])
fi
if test "x${have_x11_dri3_pkgs}" = "xyes" ; then
build_ecore_buffer_x11_dri3="yes"
AC_DEFINE(BUILD_ECORE_BUFFER_X11_DRI3, 1, [Support for X11_DRI3 Backend in Ecore_Buffer])
fi
EFL_EVAL_PKGS([ECORE_BUFFER])
EFL_ADD_FEATURE([ECORE_BUFFER], [shm], ["yes"])
EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri2], [${build_ecore_buffer_x11_dri2}])
EFL_ADD_FEATURE([ECORE_BUFFER], [x11_dri3], [${build_ecore_buffer_x11_dri3}])
EFL_LIB_END_OPTIONAL([Ecore_Buffer])
AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI2], [test "${build_ecore_buffer_x11_dri2}" = "xyes"])
AM_CONDITIONAL([BUILD_ECORE_BUFFER_X11_DRI3], [test "${build_ecore_buffer_x11_dri3}" = "xyes"])
#### End of Ecore_Buffer
2013-01-05 06:41:14 -08:00
2016-03-23 16:00:47 -07:00
#### Elementary
EFL_LIB_START([Elementary])
### Default values
### Additional options to configure
## Elementary base dir
AC_ARG_WITH([elementary-base-dir],
[AS_HELP_STRING([--with-elementary-base-dir=PATH], [specify the subdirectory for all elementary data @<:@default=${elementary_base_dir}@:>@])],
[elementary_base_dir=${withval}],
[elementary_base_dir=".elementary"])
AC_MSG_NOTICE([ELEMENTARY_BASE_DIR set to ${elementary_base_dir}])
AC_DEFINE_UNQUOTED([ELEMENTARY_BASE_DIR], ["${elementary_base_dir}"], ["subdirectory for all elementary data"])
## Debug mode
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug], [enable elementary debug support. @<:@default=disabled@:>@])],
[want_elementary_debug=$enableval],
[want_elementary_debug="no"])
ELM_DEBUG_DEF="#undef"
if test "x$want_elementary_debug" = "xyes"; then
AC_DEFINE([HAVE_ELEMENTARY_DEBUG], [1], [Elementary debug.])
ELM_DEBUG_DEF="#define"
fi
AC_SUBST([ELM_DEBUG_DEF])
## quicklaunch support
AC_ARG_ENABLE([quick-launch],
[AS_HELP_STRING([--disable-quick-launch], [disable quick-launch support, @<:@default=detect@:>@])],
[want_quicklaunch=$enableval],
[want_quicklaunch="auto"])
### Checks for programs
### Checks for libraries
## Compatibility layers
EFL_PLATFORM_DEPEND([ELEMENTARY], [evil])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eina])
2016-03-23 17:13:57 -07:00
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emile])
2016-03-23 16:00:47 -07:00
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eet])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eo])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efl])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [evas])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-evas])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-file])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [edje])
2016-03-23 17:13:57 -07:00
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb])
2016-03-23 16:00:47 -07:00
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ethumb_client])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [emotion])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-imf])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [ecore-con])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eldbus])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-mime])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [efreet-trash])
2016-06-05 17:21:43 -07:00
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eio])
2016-03-23 16:00:47 -07:00
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [elocation])
2016-03-24 18:53:38 -07:00
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_x11_any}], [ecore_x])
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_fb}], [ecore_fb])
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_sdl}], [ecore_sdl])
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_ecore_evas_gl_cocoa}], [ecore_cocoa])
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_win32}], [ecore_win32])
2016-05-02 07:21:00 -07:00
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${want_drm}], [ecore_drm2])
2016-03-24 18:53:38 -07:00
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([ELEMENTARY], [${build_ecore_evas_wayland}], [ecore_wl2])
2016-08-24 02:08:03 -07:00
EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_elput}], [ELPUT], [xkbcommon])
2016-06-02 03:02:01 -07:00
EFL_OPTIONAL_DEPEND_PKG([ELEMENTARY], [${want_wayland}], [WAYLAND], [wayland-client])
2016-03-24 18:53:38 -07:00
dnl Special case deps for ecore_drm
if test "${want_drm}" = "yes"; then
EFL_DEPEND_PKG([ELEMENTARY], [DRM], [libdrm])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY], [eeze])
fi
2016-03-23 16:00:47 -07:00
EFL_ADD_LIBS([ELEMENTARY], [-lm])
ELM_CHECK_BACKEND([X], [${want_x11_any}])
ELM_CHECK_BACKEND([FB], [${want_fb}])
ELM_CHECK_BACKEND([SDL], [${want_sdl}])
ELM_CHECK_BACKEND([Cocoa], [${want_ecore_evas_gl_cocoa}])
ELM_CHECK_BACKEND([Win32], [${build_ecore_evas_win32}])
ELM_CHECK_BACKEND([Wl2], [${build_ecore_evas_wayland}])
ELM_CHECK_BACKEND([DRM], [${want_drm}])
EFL_EVAL_PKGS([ELEMENTARY])
### Checks for header files
ELM_ALLOCA_H_DEF="#undef"
AC_CHECK_HEADER([alloca.h], [ELM_ALLOCA_H_DEF="#define"])
AC_SUBST([ELM_ALLOCA_H_DEF])
ELM_LIBINTL_H_DEF="#undef"
AC_CHECK_HEADER([libintl.h], [ELM_LIBINTL_H_DEF="#define"])
AC_SUBST([ELM_LIBINTL_H_DEF])
ELM_DIRENT_H_DEF="#undef"
AC_CHECK_HEADER([dirent.h], [ELM_DIRENT_H_DEF="#define"])
AC_SUBST([ELM_DIRENT_H_DEF])
AC_CHECK_HEADER([sys/mman.h], [have_mman="yes"], [have_mman="no"])
if test "x${have_mman}" = "xyes"; then
AC_DEFINE([HAVE_MMAN_H], [1], [Have sys/mman.h header file])
fi
AC_CHECK_HEADERS([locale.h langinfo.h sys/times.h])
case "$host_os" in
darwin*)
AC_CHECK_HEADERS([crt_externs.h])
;;
esac
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
2017-09-10 18:08:36 -07:00
requirements_libs_elm="${requirement_socket} ${requirements_libs_elm}"
2016-03-23 16:00:47 -07:00
2016-06-10 23:41:21 -07:00
AC_SUBST([requirements_libs_elm])
2016-03-23 16:00:47 -07:00
AM_CONDITIONAL([BUILD_RUN], [test "x$have_socket" = "xyes"])
# Check if we can build binary with quicklaunch support
ELM_QUICKLAUNCH
### Checks for library functions
EFL_CHECK_FUNCS([ELEMENTARY], [dlopen])
AC_FUNC_ALLOCA
AC_CHECK_FUNCS([geteuid getuid getpwent])
2018-07-05 17:05:19 -07:00
AC_CHECK_FUNCS([fork clearenv])
2016-03-23 16:00:47 -07:00
build_quicklaunch="no"
if test "x${ac_cv_func_fork}" = "xyes" -a "x${efl_func_dlopen}" = "xyes"; then
build_quicklaunch="yes"
fi
AM_CONDITIONAL([BUILD_QUICKLAUNCH], [test "x${build_quicklaunch}" = "xyes"])
EFL_ADD_FEATURE([ELEMENTARY], [quicklaunch], [${build_quicklaunch}])
# environ variable
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
# define _GNU_SOURCE 1
#include <unistd.h>
]],
[[
extern char **environ;
]])
],
[AC_DEFINE([HAVE_ENVIRON], [1], [extern environ exists])])
case "$host_os" in
darwin*)
AC_DEFINE([environ], [(*_NSGetEnviron())], ["apple doesn't follow POSIX in this case."])
;;
esac
### Check availability
EFL_LIB_END([Elementary])
#### End of Elementary
#### Elementary CXX
EFL_LIB_START([Elementary_Cxx])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina_Cxx])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eet_Cxx])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore_Cxx])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Ecore])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eina])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Eo])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Efl])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_CXX], [Elementary])
EFL_EVAL_PKGS([ELEMENTARY_CXX])
EFL_LIB_END([Elementary_Cxx])
#### End of Ecore CXX
#### Elementary_Js
EFL_LIB_START_OPTIONAL([Elementary_Js], [test "x${have_js}" = "xyes"])
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eina])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eo])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eet])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Evas])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Con])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ecore_Audio])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Evas])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Edje])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emotion])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eldbus])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Emile])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Ethumb_Client])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Eio])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Elementary])
EFL_INTERNAL_DEPEND_PKG([ELEMENTARY_JS], [Efl_Js])
AM_COND_IF([HAVE_NODEJS], [], [ EFL_ADD_LIBS([ELEMENTARY_JS], [-lv8]) ])
EFL_EVAL_PKGS([ELEMENTARY_JS])
AM_COND_IF([HAVE_NODEJS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_NODEJS"], [])
AM_COND_IF([HAVE_LIBUV], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_LIBUV"], [])
AM_COND_IF([HAVE_JS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_JS"], [])
AM_COND_IF([HAVE_V8_CREATE_PARAMS], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_CREATE_PARAMS"], [])
AM_COND_IF([HAVE_V8_GLOBAL], [ELEMENTARYJS_CXXFLAGS="$ELEMENTARYJS_CXXFLAGS -DHAVE_V8_GLOBAL"], [])
AC_SUBST([ELEMENTARYJS_CXXFLAGS])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
### Check availability
EFL_LIB_END_OPTIONAL([ELEMENTARY_JS])
#### End of Efl_Js
2016-06-02 02:37:06 -07:00
ELM_EDJE_DEFINES=""
AC_ARG_ENABLE([cancel-ok],
[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@:>@])],
[
if test "x${enableval}" = "xyes" ; then
ELM_EDJE_DEFINES="$ELM_EDJE_DEFINES -DELM_CANCEL_OK=1"
fi
],[])
AC_SUBST(ELM_EDJE_DEFINES)
2017-02-03 05:49:38 -08:00
AC_DEFINE([NEED_RUN_IN_TREE], [1], [Need EFL_RUN_IN_TREE=1 trick])
2016-06-02 02:37:06 -07:00
2016-05-15 06:43:20 -07:00
## Disable warning for OS that have a specifc configuration
case "$host_os" in
mingw*|cygwin*)
CFOPT_WARNING=""
;;
darwin*)
CFOPT_WARNING=""
;;
esac
2012-12-02 14:35:45 -08:00
AC_CONFIG_FILES([
Makefile
data/Makefile
build: move config/ to data/elementary/config
Summary:
this is part of the datadir distribution, it should not be in a different
directory than the rest of the datadir distribution
the gnu coding standards (https://www.gnu.org/prep/standards/html_node/Directory-Variables.html)
define 'datadir' as:
The directory for installing idiosyncratic read-only architecture-independent
data files for this program. This is usually the same place as ‘datarootdir’,
but we use the two separate variables so that you can move these program-specific
files without altering the location for Info files, man pages, etc.
This should normally be /usr/local/share, but write it as $(datarootdir).
(If you are using Autoconf, write it as ‘@datadir@’.)
The definition of ‘datadir’ is the same for all packages, so you should install your
data in a subdirectory thereof. Most packages install their data under $(datadir)/package-name/.
while this text has no clear requirement or suggestion for a corresponding
repository layout, projects typically employ a certain consistency in their
repository layout both for ease of maintenance and ease of learning for new
contributors.
this project has both a data/ directory, which contains the datadir distribution,
as well as the config/ directory, which also contains the datadir distribution.
this complicates matters both for active maintainers/developers who must
remember that the repository and build tree layouts have this exception,
and for new contributors who will initially be confused by this exception
other well-organized open source projects, such as wayland, have chosen to not
use a data/ directory. these projects have the datadir distribution in the base
directory of the repositor, which is a fine practice as it maintains consistency
for the project since all the files for the datadir distribution are in the same
directory.
by applying this patch, the project will move towards a more easily readable and
learnable layout. current and future developers will no longer need to wonder why
this directory is outside of the data/ directory, and anyone attempting to reference
these files from the source/build trees will be able to do so more easily
Reviewers: cedric, stefan_schmidt, raster
Reviewed By: stefan_schmidt, raster
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D6013
2018-05-14 08:26:06 -07:00
data/elementary/config/Makefile
data/elementary/config/default/Makefile
data/elementary/config/default/base.src
data/elementary/config/mobile/Makefile
data/elementary/config/mobile/base.src
data/elementary/config/standard/Makefile
data/elementary/config/standard/base.src
2012-12-02 14:35:45 -08:00
doc/Makefile
doc/Doxyfile
2014-02-12 19:38:37 -08:00
doc/previews/Makefile
2016-03-28 16:56:31 -07:00
doc/widgets/Makefile
2012-12-02 14:35:45 -08:00
src/Makefile
2017-11-23 17:10:05 -08:00
src/bindings/mono/efl_mono/efl_libs.cs
src/bindings/mono/efl_mono/efl_libs.csv
2012-12-02 14:35:45 -08:00
src/benchmarks/eina/Makefile
src/benchmarks/eo/Makefile
2014-03-14 02:38:30 -07:00
src/benchmarks/evas/Makefile
2018-07-18 14:55:09 -07:00
src/examples/Makefile
2012-12-02 14:35:45 -08:00
src/lib/eina/eina_config.h
2013-04-24 07:43:33 -07:00
src/lib/efl/Efl_Config.h
2016-10-27 03:49:55 -07:00
src/lib/elementary/Elementary_Options.h
Eo: introducing libeo_dbg.so.
This has been in the making for a very long time. Thanks to Marcel for
reminding me to do it.
What is it?
This is a tool to help application developers debug their apps with
everything Eo. Eo is strict, but not as strict as it can be. Many strict
tests and debug are very expensive to implement, and we have so many
hot-paths that even basic "ifs" to check if debugging is enabled will
add significant overhead to normal running applications. This is why I
created this library. All the expensive tests and bookkeeping should be
wrapped around with "#ifdef EO_DEBUG". With this change, libeo.so is
compiled twice, once normally, and once with this define set (as
libeo_dbg.so). This means that normal eo code will not be affected, but
if you decide to debug your application, all you need to do is:
LD_PRELOAD=/path/to/libeo_dbg.so ./app
Or use the convenient wrapper:
eo_debug ./app
Which will load the debug heavy version.
What's currently there: at the moment, EO_DEBUG enables xref and
data_xref and stricter tests when fetching object data.
In the future, I also plan introducing "zombie objects", which
essentially mean that objects are never really deleted, so you can query
them long after they are gone to get more information on what they were.
So if for example you have an object id that you want to query after the
object has been deleted, you can.
I also plan on having a way to disable/enable certain debug mode
features via env vars, and maybe make the test suite link against this
one instead of the normal one, and possibly add more internal hooks for
the test suite to better inspect internal state?
P.S: The amount of errors spewed out when running it on elementary_test
makes me wish I wrote this earlier. :(
@feature
2016-09-22 05:16:18 -07:00
src/scripts/eo/eo_debug
2016-03-23 17:13:57 -07:00
elm_intro.h
2012-12-02 14:35:45 -08:00
spec/efl.spec
pc/evil.pc
2012-12-03 01:16:33 -08:00
pc/escape.pc
2012-12-02 14:35:45 -08:00
pc/eina.pc
2014-02-25 12:24:32 -08:00
pc/eina-cxx.pc
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
pc/emile.pc
2012-12-02 14:35:45 -08:00
pc/eet.pc
eet-cxx: add implementation for eet C++.
Usage example:
struct type
{
int foo;
float bar;
};
type t0;
auto descriptor = make_descriptor("type", &type::ofo, &type::bar);
eet_data_write(file, descriptor.native_handle(), "type", &t0, false);
std::unique_ptr<type> p = read_by_ptr(file, "type", descriptor);
type t = read(file, "type", descriptor);
@feature
Reviewers: cedric, smohanty
Reviewed By: cedric
CC: savio, cedric
Differential Revision: https://phab.enlightenment.org/D659
Signed-off-by: Cedric BAIL <cedric.bail@free.fr>
2014-04-01 03:08:07 -07:00
pc/eet-cxx.pc
2012-12-02 14:35:45 -08:00
pc/eo.pc
2014-05-02 15:55:51 -07:00
pc/eo-cxx.pc
2014-02-11 06:31:21 -08:00
pc/eolian.pc
2014-05-02 15:55:51 -07:00
pc/eolian-cxx.pc
2014-09-01 11:08:49 -07:00
pc/eina-js.pc
pc/efl-js.pc
pc/eolian-js.pc
pc/eo-js.pc
2014-07-18 05:38:25 -07:00
pc/efl.pc
2014-09-03 10:55:18 -07:00
pc/efl-cxx.pc
2017-11-23 17:10:05 -08:00
pc/efl-mono.pc
2017-10-27 17:50:17 -07:00
pc/efl-wl.pc
pc/efl-core.pc
2017-10-27 18:51:16 -07:00
pc/efl-net.pc
2017-11-14 20:08:09 -08:00
pc/efl-ui.pc
2012-12-02 14:35:45 -08:00
pc/evas-fb.pc
2016-03-18 00:56:59 -07:00
pc/evas-eglfs.pc
2012-12-02 14:35:45 -08:00
pc/evas-opengl-x11.pc
pc/evas-opengl-sdl.pc
pc/evas-opengl-cocoa.pc
pc/evas-software-buffer.pc
pc/evas-software-x11.pc
pc/evas-software-gdi.pc
pc/evas-software-ddraw.pc
pc/evas-software-sdl.pc
pc/evas-wayland-shm.pc
pc/evas-wayland-egl.pc
2013-05-14 00:15:53 -07:00
pc/evas-drm.pc
2012-12-02 14:35:45 -08:00
pc/evas.pc
2014-05-02 15:55:51 -07:00
pc/evas-cxx.pc
2012-12-02 14:35:45 -08:00
pc/ecore.pc
2014-05-04 03:19:39 -07:00
pc/ecore-cxx.pc
2012-12-02 14:35:45 -08:00
pc/ecore-con.pc
pc/ecore-ipc.pc
pc/ecore-file.pc
pc/ecore-input.pc
pc/ecore-input-evas.pc
pc/ecore-cocoa.pc
2014-03-06 02:03:21 -08:00
pc/ecore-drm.pc
2012-12-02 14:35:45 -08:00
pc/ecore-fb.pc
pc/ecore-sdl.pc
2012-12-03 01:16:33 -08:00
pc/ecore-wayland.pc
2015-08-18 10:45:19 -07:00
pc/ecore-wl2.pc
2012-12-02 14:35:45 -08:00
pc/ecore-win32.pc
pc/ecore-x.pc
pc/ecore-evas.pc
pc/ecore-imf.pc
pc/ecore-imf-evas.pc
2012-12-14 15:38:25 -08:00
pc/ecore-audio.pc
2014-05-04 03:19:39 -07:00
pc/ecore-audio-cxx.pc
2013-11-09 23:51:42 -08:00
pc/ecore-avahi.pc
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
pc/ecore-buffer.pc
2015-04-03 07:14:56 -07:00
pc/ector.pc
2012-12-02 14:35:45 -08:00
pc/embryo.pc
2012-12-04 09:40:58 -08:00
pc/eio.pc
2015-04-05 06:19:45 -07:00
pc/eio-cxx.pc
2013-04-23 07:40:05 -07:00
pc/eldbus.pc
2012-12-29 15:04:40 -08:00
pc/efreet.pc
pc/efreet-mime.pc
pc/efreet-trash.pc
2013-01-03 12:37:42 -08:00
pc/eeze.pc
2013-01-03 14:10:40 -08:00
pc/ephysics.pc
2013-01-03 18:08:14 -08:00
pc/edje.pc
2014-05-04 03:19:39 -07:00
pc/edje-cxx.pc
2013-01-09 19:43:32 -08:00
pc/emotion.pc
2013-01-11 17:15:45 -08:00
pc/ethumb.pc
pc/ethumb_client.pc
2014-10-28 03:22:55 -07:00
pc/elocation.pc
2014-12-08 08:11:35 -08:00
pc/elua.pc
2016-03-24 15:31:24 -07:00
pc/elementary.pc
2016-04-01 13:54:40 -07:00
pc/elementary-cxx.pc
2016-03-24 08:19:31 -07:00
pc/elput.pc
2016-05-02 07:21:00 -07:00
pc/ecore-drm2.pc
2013-01-11 17:15:45 -08:00
dbus-services/org.enlightenment.Ethumb.service
2014-03-09 19:55:42 -07:00
systemd-services/ethumb.service
2012-12-02 14:35:45 -08:00
$po_makefile_in
2014-09-22 08:08:21 -07:00
cmakeconfig/EflConfig.cmake
cmakeconfig/EflConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-02-05 08:19:37 -08:00
cmakeconfig/EinaConfig.cmake
2013-04-04 01:28:34 -07:00
cmakeconfig/EinaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2015-03-04 07:02:22 -08:00
cmakeconfig/EioConfig.cmake
cmakeconfig/EioConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-11-15 22:17:58 -08:00
cmakeconfig/EezeConfig.cmake
cmakeconfig/EezeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-02-05 08:19:37 -08:00
cmakeconfig/EoConfig.cmake
2013-04-04 01:28:34 -07:00
cmakeconfig/EoConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2014-04-14 03:54:02 -07:00
cmakeconfig/EolianConfig.cmake
cmakeconfig/EolianConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2015-11-25 07:46:04 -08:00
cmakeconfig/EolianHelper.cmake
2014-05-02 15:55:51 -07:00
cmakeconfig/EolianCxxConfig.cmake
cmakeconfig/EolianCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
cmakeconfig/EinaCxxConfig.cmake
cmakeconfig/EinaCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
cmakeconfig/EoCxxConfig.cmake
cmakeconfig/EoCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
cmakeconfig/EcoreCxxConfig.cmake
cmakeconfig/EcoreCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
cmakeconfig/EvasCxxConfig.cmake
cmakeconfig/EvasCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
cmakeconfig/EetCxxConfig.cmake
cmakeconfig/EetCxxConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-02-05 08:19:37 -08:00
cmakeconfig/EetConfig.cmake
2013-04-04 01:28:34 -07:00
cmakeconfig/EetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-02-05 08:19:37 -08:00
cmakeconfig/EvasConfig.cmake
2013-04-04 01:28:34 -07:00
cmakeconfig/EvasConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-02-05 08:19:37 -08:00
cmakeconfig/EcoreConfig.cmake
2013-04-04 01:28:34 -07:00
cmakeconfig/EcoreConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-02-05 08:19:37 -08:00
cmakeconfig/EdjeConfig.cmake
2013-04-04 01:28:34 -07:00
cmakeconfig/EdjeConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-11-19 07:20:58 -08:00
cmakeconfig/EldbusConfig.cmake
cmakeconfig/EldbusConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-02-05 08:19:37 -08:00
cmakeconfig/EfreetConfig.cmake
2013-04-04 01:28:34 -07:00
cmakeconfig/EfreetConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2013-11-19 07:20:58 -08:00
cmakeconfig/EthumbConfig.cmake
cmakeconfig/EthumbConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
cmakeconfig/EthumbClientConfig.cmake
cmakeconfig/EthumbClientConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2014-02-16 18:28:33 -08:00
cmakeconfig/EmotionConfig.cmake
cmakeconfig/EmotionConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2014-12-08 08:11:35 -08:00
cmakeconfig/EluaConfig.cmake
cmakeconfig/EluaConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2015-03-17 03:19:28 -07:00
cmakeconfig/EmileConfig.cmake
cmakeconfig/EmileConfigVersion.cmake:cmakeconfig/EFLConfigVersion.cmake.in
2016-03-24 15:31:24 -07:00
cmakeconfig/ElementaryConfigVersion.cmake
cmakeconfig/ElementaryConfig.cmake
2012-12-02 14:35:45 -08:00
])
AC_OUTPUT
#### Info
2012-12-05 15:18:59 -08:00
case $host_cpu in
i*86|x86_64|amd64)
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([cpu], [mmx], [${build_cpu_mmx}])
EFL_ADD_FEATURE([cpu], [sse3], [${build_cpu_sse3}])
2012-12-05 15:18:59 -08:00
;;
*power* | *ppc*)
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([cpu], [altivec], [${build_cpu_altivec}])
2012-12-05 15:18:59 -08:00
;;
arm*)
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
2012-12-05 15:18:59 -08:00
;;
2015-04-15 08:21:33 -07:00
aarch64*)
EFL_ADD_FEATURE([cpu], [neon], [${build_cpu_neon}])
;;
2012-12-05 15:18:59 -08:00
esac
2013-01-18 05:48:14 -08:00
if test "${have_linux}" = "yes"; then
EFL_ADD_FEATURE([system], [inotify])
EFL_ADD_FEATURE([system], [atfile_source])
elif test "${have_windows}" = "yes"; then
EFL_ADD_FEATURE([system], [notify_win32])
2012-12-06 13:26:16 -08:00
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([system], [ipv6])
2014-08-21 02:23:24 -07:00
if test "x${efl_have_posix_threads_spinlock}" = "xyes" || test "x${efl_have_osx_spinlock}" = "xyes"; then
efl_have_spinlock="yes"
else
efl_have_spinlock="no"
fi
EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_spinlock}])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
2015-09-08 20:45:47 -07:00
EFL_ADD_FEATURE([thread], [setname], [${efl_have_setname}])
2015-10-16 07:13:51 -07:00
EFL_ADD_FEATURE([thread], [__thread], [${have_thread_specifier}])
2012-12-06 13:26:16 -08:00
2012-12-02 14:35:45 -08:00
echo
echo
echo
echo "------------------------------------------------------------------------"
echo "$PACKAGE_NAME $PACKAGE_VERSION"
echo "------------------------------------------------------------------------"
echo
2013-01-18 05:48:14 -08:00
if test "x${have_windows}" = "xyes" ; then
osname="${host_os}(${_efl_windows_version})"
2012-12-02 14:35:45 -08:00
else
2013-01-18 05:48:14 -08:00
osname="${host_os}"
fi
2016-01-10 20:47:41 -08:00
if test "x${want_egl}" = "xyes" ; then
opengl_egl="(EGL)"
else
opengl_egl=""
fi
2013-01-18 05:48:14 -08:00
echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
2013-04-24 08:31:31 -07:00
echo " EFL API Set...: ${efl_api}"
2013-01-18 05:48:14 -08:00
echo " CPU Extensions: ${host_cpu} (${features_cpu})"
echo " System Feature: ${features_system}"
echo " Threads.......: ${efl_have_threads} (${features_thread})"
echo " Cryptography..: ${build_crypto}"
echo " X11...........: ${with_x11}"
2016-01-10 20:47:41 -08:00
echo " OpenGL........: ${with_opengl} ${opengl_egl}"
2014-02-25 12:24:32 -08:00
echo " C++11.........: ${have_cxx11}"
2017-11-23 17:10:05 -08:00
echo " C#............: ${want_csharp}"
2014-09-01 11:08:49 -07:00
echo " JavaScript....: ${want_js}"
echo " JavaScript flg: $EINA_JS_LIBS"
2015-05-04 19:35:16 -07:00
echo "Eina............: yes (${features_eina} unwind=$have_unwind)"
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
echo "Eo..............: yes (${features_eo})"
echo "Eolian..........: yes (${features_eolian})"
2015-03-17 00:50:12 -07:00
echo "Emile...........: yes (${features_emile})"
emile: initial introduction of Emile.
The intent of Emile is to be the common layer for serialisation, compression
and ciphering. It will expose the library we currently use internally to an
easier use from the outside (like gcrypt and lz4). It should improve portability.
Instead of pushing JSON, XML and what's not to Eina, I do think that they will
fit better in Emile.
As for the naming of Emile, you will need to be French and say :
"Un quoi ?" "Un serializer !"
Regarding why it is put there in the stack. Right now there is two users of
compression (eet and terminology), two users of cipher library (eet and ecore_con)
and a few handful of user for serialization (eina, eet, efreet, ecore_con, ...).
So the choice was quite simple, it needed to be below Eet. Now it could have been
on top of Eo or integrated into Eina.
One of the use case I am thinking of, is to compress Eo object when a canvas get
hidden/minized. For that it require Eo to use that library and it can't be a higher
level object. And with current implementation of Eo it is perfectly possible to
implement such idea. So not at Eo level.
As for Eina, I am starting to think it is getting to much things in its namespace.
I do believe that infact Eina_Simple_XML and Eina_File should after all have landed
in their own library. That's why I am putting the current logic in a new library.
It is going to expand, I want it to provide an few SAX like parser for JSON,
Eet_Data and protobuf with also an API like Eet_Data to directly feed those value
into a C structure without using a DOM at all. It would also be the right place
to experiment and benchmark for a new Eet_Data format that could be more efficient
to use.
So at the end, and due to how I see things going and being used, I do think it
is better of in its own library.
2015-03-17 00:49:57 -07:00
echo "Eet.............: yes"
2015-03-17 00:49:54 -07:00
echo "Evas............: yes (${features_evas})"
2013-01-18 05:48:14 -08:00
echo " Engines.......: ${features_evas_engine}"
2016-10-12 02:39:10 -07:00
echo " Vg Loaders : ${features_evas_vg_loader}"
2013-01-18 05:48:14 -08:00
echo " Image Loaders.: ${features_evas_loader}"
if test "x${have_pixman}" = "xyes" ; then
echo " Pixman........: ${features_evas_pixman}"
fi
echo "Ecore...........: yes (${features_ecore})"
echo "Ecore_Con.......: yes (${features_ecore_con})"
echo "Ecore_File......: yes"
2015-03-17 00:49:54 -07:00
echo "Ecore_IMF.......: yes (${features_ecore_imf})"
2013-01-18 05:48:14 -08:00
echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
echo "Ecore_SDL.......: $want_sdl"
2016-05-31 07:04:17 -07:00
echo "Ecore_Drm.......: $want_ecore_drm"
echo "Ecore_Drm2......: $want_drm"
2016-05-06 12:48:14 -07:00
echo "Ecore_Wayland...: $want_ecore_wayland"
2015-08-18 06:44:07 -07:00
echo "Ecore_Wl2.......: $want_wayland"
2014-08-25 05:44:10 -07:00
echo "IVI-Shell.......: $want_wayland_ivi_shell"
ecore-buffer: Add ecore_buffer library to EFL.
Summary:
Ecore_Buffer is abstraction of graphic buffer.
it supports backend of shm, x11_dri2 and x11_dri3 for now,
and this library also provides method to share buffers between processes.
Ecore_Buffer_Provider and Ecore_Buffer_Consumer is for this, sharing buffer.
provider draws something in to Ecore_Buffer, and consumer receives and displays it.
the binary, bq_mgr is a connection maker for buffer provider and consumer.
it can be included Enlightenment as a deamon later.
@feature
Test Plan:
1. Configure with --enable-ecore-buffer and --enable-always-build-examples to build examples.
2. Run bq_mgr, it connects consumer and provider.
3. Run ecore_buffer_provider_example and ecore_buffer_consumer_example
Reviewers: lsj119, gwanglim, cedric, zmike, jpeg, raster, devilhorns
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2197
2015-06-22 07:23:54 -07:00
echo "Ecore_Buffer....: $want_ecore_buffer (${features_ecore_buffer})"
2013-01-18 05:48:14 -08:00
if test "${have_linux}" = "yes"; then
echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
elif test "${have_darwin}" = "yes"; then
echo "Ecore_Cocoa.....: $efl_lib_optional_ecore_cocoa"
elif test "${have_windows}" = "yes"; then
echo "Ecore_Win32.....: $have_win32"
fi
echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
2013-11-09 23:51:42 -08:00
echo "Ecore_Avahi.....: yes (${features_ecore_avahi})"
2015-03-17 00:49:54 -07:00
echo "Ecore_Evas......: yes (${features_ecore_evas})"
2016-04-13 12:44:13 -07:00
echo "Elput...........: $want_elput (${features_elput})"
2015-04-03 07:14:56 -07:00
echo "Ector...........: yes"
2013-01-18 05:48:14 -08:00
echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
echo "EPhysics........: ${efl_lib_optional_ephysics}"
2015-03-17 00:49:54 -07:00
echo "Edje............: yes (${features_edje})"
echo "Emotion.........: yes (${features_emotion})"
echo "Ethumb..........: yes"
echo "Ethumb_Client...: yes"
2014-04-03 08:01:01 -07:00
echo "Elua............: $have_elua"
2016-03-23 16:00:47 -07:00
echo "Elementary......: yes (${features_elementary})"
echo
echo
2013-01-18 11:15:14 -08:00
if test "${build_tests}" = "none"; then
2013-01-18 05:48:14 -08:00
echo "Tests...........: no"
2013-11-19 05:12:56 -08:00
elif test "${build_tests}" = "auto"; then
echo "Tests...........: make check (inexplicitly enabled)"
2013-01-18 11:15:14 -08:00
elif test "${build_tests}" = "regular"; then
2013-01-18 05:48:14 -08:00
echo "Tests...........: make check"
2013-01-18 11:15:14 -08:00
elif test "${build_tests}" = "coverage"; then
echo "Tests...........: make lcov-check"
2013-01-18 05:48:14 -08:00
fi
echo "Examples........: make examples (make install-examples)"
2012-10-17 14:50:52 -07:00
if test "x${build_doc}" = "xyes"; then
2013-01-18 05:48:14 -08:00
echo "Documentation...: make doc"
2012-10-17 14:53:48 -07:00
else
2013-01-18 05:48:14 -08:00
echo "Documentation...: no"
fi
echo "Compilation.....: make (or gmake)"
echo " CPPFLAGS......: $CPPFLAGS"
echo " CFLAGS........: $CFLAGS"
echo " CXXFLAGS......: $CXXFLAGS"
echo " LDFLAGS.......: $LDFLAGS"
2014-09-01 11:08:49 -07:00
echo " EFLJS_CXXFLAGS: $EFLJS_CXXFLAGS"
2014-02-21 00:54:17 -08:00
if test "x${with_binary_edje_cc}" != "x"; then
echo " edje_cc.......: ${with_binary_edje_cc}"
fi
2014-03-20 23:48:54 -07:00
if test "x${with_binary_eolian_gen}" != "x"; then
echo " eolian_gen....: ${with_binary_eolian_gen}"
fi
2014-05-05 02:46:36 -07:00
if test "x${with_binary_eolian_cxx}" != "x"; then
echo " eolian_cxx....: ${with_binary_eolian_cxx}"
fi
2014-06-12 07:20:18 -07:00
if test "x${with_binary_elua_bin}" != "x"; then
echo " elua..........: ${with_binary_elua_bin}"
2014-05-28 06:44:32 -07:00
fi
2014-02-21 00:54:17 -08:00
echo " "
2013-01-18 05:48:14 -08:00
echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
echo " prefix........: $prefix"
2014-03-09 19:55:42 -07:00
echo " dbus units....: $dbusservicedir"
if test "${have_systemd_user_session}" = "yes"; then
echo " systemd units.: $USER_SESSION_DIR"
fi
2012-09-11 09:04:21 -07:00
echo
2013-12-11 17:27:01 -08:00
2014-02-11 17:27:34 -08:00
if test -n "$CFOPT_WARNING"; then
echo "_____________________________________________________________________"
echo ""
echo "==-- WARNING --=="
echo ""
echo "_____________________________________________________________________"
if test "x${want_physics}" = "xno"; then
echo "_____________________________________________________________________"
echo "You have chosen to disable physics support. This disables lots of"
echo "core functionality and is effectively never tested. You are going"
echo "to find features that suddenly don't work and as a result cause"
echo "a series of breakages. This is simply not tested so you are on"
echo "your own in terms of ensuring everything works if you do this"
echo "_____________________________________________________________________"
fi
if test "x${efl_have_threads}" = "xno"; then
echo "_____________________________________________________________________"
echo "You have disabled threading support. A lot of code is literally"
echo "written to need threading. We never test or even build with"
echo "threading disabled, so doing this is entering uncharted territory."
echo "There is a very good chance things may not compile at all, or if"
echo "the do, they will break at runtime in weird and wonderful ways."
echo "Highly reconsider what you are doing here, or be prepared to deal"
echo "with the fallout yourself."
echo "_____________________________________________________________________"
fi
if test "x${want_fontconfig}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "You have disabled fontconfig. This is going to make general font"
echo "searching not work, and only some very direct 'load /path/file.ttf'"
2014-06-06 17:51:14 -07:00
echo "will work alongside some old-school ttf file path searching. This"
2014-02-11 20:07:30 -08:00
echo "is very likely not what you want, so highly reconsider turning"
echo "fontconfig off. Having it off will lead to visual problems like"
echo "missing text in many UI areas etc."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_fribidi}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "Fribidi is used for handling right-to-left text (like Arabic,"
echo "Hebrew, Farsi, Persian etc.) and is very likely not a feature"
echo "you want to disable unless you know for absolute certain you"
echo "will never encounter and have to display such scripts. Also"
echo "note that we don't test with fribidi disabled so you may also"
echo "trigger code paths with bugs that are never normally used."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_pixman}" = "xyes"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "Pixman allows you to replace some rendering paths in Evas with"
echo "Pixman. Pixman may or may not be faster (probably slower), and"
echo "the rendering paths with Pixman enabled are not tested often so"
echo "this may introduce rendering bugs. Do not turn Pixman on unless"
echo "you wish to deal with these bugs."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${have_tile_rotate}" = "xyes"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "Tiled rotation code is not tested much, so be aware that you"
echo "may introduce bugs by enabling this."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_g_main_loop}" = "xyes"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "Using the Glib mainloop as the mainloop in Ecore is not tested"
echo "regularly, but the glib mainloop integration (on by default) is."
echo "You can use apps that use glib mainloop constructs by default"
echo "this way, but the Ecore mainloop is not built on top of glib."
echo "You have enabled ecore to be built on top of glib and thus you"
echo "may experience bugs that normally would not be there. Be prepared"
echo "to fix these if they arise."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_gstreamer}" = "xyes"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "Gstreamer 0.10 is no longer supported, and EFL has moved to use"
echo "Gstreamer 1.x. The old Gstremaer code is not tested or maintained"
echo "and will eventually be removed entirely. Don't enable the old"
echo "Gstreamer support unless you want to deal with the issues yourself."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_gstreamer1}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "You disabled Gstreamer 1.x support. You likely don't want to do"
echo "this as it will heavily limit your media support options and render"
echo "some functionality as useless, leading to visible application bugs."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_audio}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "You disabled audio support in Ecore. This is not tested and may"
echo "Create bugs for you due to it creating untested code paths."
echo "Reconsider disabling audio."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
ecore_audio: drop support for CoreAudio on macOS
CoreAudio support was initially introduced by commit
62e29b39f4df40fd3c0a6b17f7a16f0f8fc1d0c9 as an experimental feature.
It played basic sounds, but suffered from drawbacks: it was controlling
the master channel, and therefore any sound played by ecore_audio would
shut down a previous sound (e.g. background music) for the time of the
sound being played. So that wasn't exactly great... Also, after some
time, some hangs have been reported when playing a sound on input. Most
of the time, it translated as a pause in the main loop (see T3797).
More recently (several months ago), ecore_audio with CoreAudio stopped
working during 1.19 development...
So... CoreAudio support on macOS has never been great. And now it's fully
broken. Instead of trying to revive the thing, let just use PulseAudio.
PulseAudio can be installed without any trouble on macOS thanks to
package managers such as Homebrew. Actually, the efl package provided by
Homebrew already provides PulseAudio as a dependency. And it actually
just works very fine. Dropping CoreAudio seems therefore a nice option:
removes unmaintained code, fixes bugs, and add features.
2016-10-29 13:32:19 -07:00
if test "x${want_pulseaudio}" = "xno"; then
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
2015-04-15 07:53:39 -07:00
echo "The only audio output method supported by Ecore right now on your"
echo "system is via Pulseaudio. You have disabled that and likely have"
echo "broken a whole bunch of things in the process. Reconsider your"
echo "configure options."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_xinput2}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "You have disabled xinput2 support. This means a whole lot of input"
echo "devices in X11 will not work correctly. You likely do not want to"
echo "do this."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_xim}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "You disabled XIM input method support. This is the most basic and"
echo "core input method protocol supported in X11 and you almost certainly"
2014-06-06 09:33:05 -07:00
echo "want the support for it. Input methods allow for complex text input"
2014-02-11 20:07:30 -08:00
echo "like for Chinese, Japanese and Korean as well as virtual keyboards"
echo "on touch/mobile devices."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_scim}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "SCIM is a modern and very common input method framework and you"
echo "disabled support for it. You very likely want the support for"
echo "complex language input, so please reconsider this. Input methods"
echo "allow for complex text input like for Chinese, Japanese and Korean"
echo "as well as virtual keyboards on touch/mobile devices."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
if test "x${want_libmount}" = "xno"; then
echo "_____________________________________________________________________"
2014-02-11 20:07:30 -08:00
echo "Libmount has been disabled, and it is used heavily inside Eeze"
echo "for support of removable devices etc. and disabling this will"
echo "hurt support for Enlightenment and its filemanager."
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
fi
2014-07-07 23:43:06 -07:00
if test "x${want_multisense}" = "xno"; then
echo "_____________________________________________________________________"
echo "Multisense has been disabled. This causes Edje audio suport to"
echo "Simply not work, and will break applications and libraries"
echo "that rely on it with users then reporting bugs."
echo "If you want to mute audio, there are APIs and policies to do"
echo "that, as opposed to compiling it out."
echo "_____________________________________________________________________"
fi
2014-10-30 01:14:48 -07:00
if test "x${efl_api}" = "xeo"; then
echo "_____________________________________________________________________"
echo "Using the EO based EFL API only does not work at the moment. We still"
echo "have a lot code that depends on the legacy interfaces. We provide"
echo "this option for testing once we are able to migrate to the EO based"
echo "API."
echo "If you are not working on this migration please leave the option set"
echo "to both as it will break your build if set to eo."
echo "_____________________________________________________________________"
fi
2015-04-23 14:17:58 -07:00
if test "x${want_libeeze}" = "xno"; then
echo "_____________________________________________________________________"
echo "Libeeze has been disabled, and it is used heavily for support of"
echo "removable devices etc. and disabling this will hurt support for"
echo "Enlightenment and its filemanager."
echo "_____________________________________________________________________"
fi
2014-02-11 17:27:34 -08:00
echo "_____________________________________________________________________"
echo ""
echo "==-- WARNING --=="
echo ""
echo "_____________________________________________________________________"
2013-12-29 16:14:50 -08:00
fi
2014-02-19 05:45:30 -08:00
if test "x$prefix" != "x/usr"; then
2014-03-06 02:18:50 -08:00
old=
path=$dbusservicedir
while test "x$old" != "x$path"; do
old=$path
eval path="\"$path\""
done
resolved_dbusservicedir=$path
2014-03-09 19:58:05 -07:00
old=
path=$USER_SESSION_DIR
while test "x$old" != "x$path"; do
old=$path
eval path="\"$path\""
done
resolved_USER_SESSION_DIR=$path
base_USER_SESSION_DIR=`echo "$resolved_USER_SESSION_DIR" | sed -e 's:^\(.*\)/systemd/user/*$:\1:g'`
2014-03-06 02:18:50 -08:00
old=
path=$datadir
while test "x$old" != "x$path"; do
old=$path
eval path="\"$path\""
done
resolved_datadir=$path
2014-03-09 19:58:05 -07:00
needs_alert_dbus=0
if test "$resolved_dbusservicedir" = "${HOME}/.local/share/dbus-1/services"; then
AC_MSG_NOTICE([installing DBus services in user local "$resolved_dbusservicedir". Only accessible to user $USER])
2014-03-20 01:20:53 -07:00
elif echo "$resolved_dbusservicedir" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
2014-03-09 19:58:05 -07:00
AC_MSG_NOTICE([installing DBus serivces in $resolved_dbusservicedir])
else
needs_alert_dbus=1
fi
needs_alert_systemd=0
if test "$have_systemd_user_session" = "yes"; then
if test "$resolved_USER_SESSION_DIR" = "${HOME}/.config/systemd/user"; then
AC_MSG_NOTICE([installing systemd services in user local "$resolved_USER_SESSION_DIR". Only accessible to user $USER])
2014-03-20 01:20:53 -07:00
elif echo "$resolved_USER_SESSION_DIR" | grep -e '^/usr/s' >/dev/null 2>/dev/null; then
2014-03-09 19:58:05 -07:00
AC_MSG_NOTICE([installing systemd serivces in $resolved_USER_SESSION_DIR])
else
needs_alert_systemd=1
fi
fi
if test $needs_alert_dbus -eq 1 -o $needs_alert_systemd -eq 1; then
if test $needs_alert_dbus -eq 1 -a $needs_alert_systemd -eq 1; then
what_alert="dbus and systemd"
elif test $needs_alert_dbus -eq 1; then
what_alert="dbus"
else
what_alert="systemd"
fi
echo ""
echo "#-------------------------------------------------------------------#"
echo "##==-- ALERT --==##"
echo "#-------------------------------------------------------------------#"
echo ""
echo " Your installation prefix is *NOT* /usr so this means you need"
echo "to ensure some files are visible to $what_alert otherwise services cannot"
echo "be started when needed. You will need to do the following:"
if test $needs_alert_dbus -eq 1; then
echo ""
echo "System-wide installation:"
echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service"
echo ""
echo " or add \"${resolved_datadir}\" to \$XDG_DATA_DIRS"
echo ""
echo "User installation:"
echo " ln -s ${resolved_dbusservicedir}/org.enlightenment.Ethumb.service ~/.local/share/dbus-1/services/org.enlightenment.Ethumb.service"
fi
if test $needs_alert_systemd -eq 1; then
echo ""
echo "System-wide installation:"
echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service /usr/lib/systemd/user/ethumb.service"
echo ""
echo " or add \"${base_USER_SESSION_DIR}\" to \$XDG_DATA_DIRS or \$XDG_CONFIG_DIRS"
echo ""
echo "User installation:"
echo " ln -s ${resolved_USER_SESSION_DIR}/ethumb.service ~/.config/systemd/user/ethumb.service"
fi
echo ""
echo "#-------------------------------------------------------------------#"
fi
2016-04-02 13:17:53 -07:00
elif test "x${have_darwin}" = "xyes"; then
echo ""
echo "#-------------------------------------------------------------------#"
echo "##==-- ALERT --==##"
echo "#-------------------------------------------------------------------#"
echo ""
echo " If you are running Mac OS X >= 10.11 (starting from El Capitan)"
echo " you will have TROUBLE with the prefix you have chosen (/usr)..."
echo " Don't make it double and consider to use the default prefix"
echo " (/usr/local). This is because of Apple's SIP that provides MAC"
echo " and prevents ANYONE modifying the system."
echo ""
echo "#-------------------------------------------------------------------#"
2014-02-19 05:45:30 -08:00
fi
2014-02-21 05:13:00 -08:00
if test "x${efl_deprecated_option}" = "xyes"; then
echo ""
echo "#-------------------------------------------------------------------#"
echo "##==-- ALERT --==##"
echo "#-------------------------------------------------------------------#"
echo ""
echo " Your build script is using a deprecated option. It will get b0rken"
echo "with the next release of EFL. You better update it now than later."
echo ""
echo "#-------------------------------------------------------------------#"
fi
2015-04-15 07:53:39 -07:00
2016-06-23 05:29:55 -07:00