forked from enlightenment/efl
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
5058 lines
140 KiB
5058 lines
140 KiB
EFL_VERSION([1], [13], [99], [dev]) |
|
AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net]) |
|
|
|
AC_PREREQ([2.60]) |
|
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__ */ |
|
]) |
|
|
|
|
|
AM_INIT_AUTOMAKE([1.6 dist-xz -Wall color-tests subdir-objects]) |
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) |
|
|
|
# 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 |
|
AC_USE_SYSTEM_EXTENSIONS |
|
|
|
CFOPT_WARNING="" |
|
|
|
#### 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" |
|
|
|
#### For the moment the Eo EFL API is not ready you need to explicitely optin. |
|
EFL_ENABLE_EO_API_SUPPORT |
|
EFL_ENABLE_BETA_API_SUPPORT |
|
|
|
AC_ARG_WITH([api], |
|
[AS_HELP_STRING([--with-api=@<:@eo/legacy/both@:>@],[Select the EFL API Model @<:@default=both@:>@])], |
|
[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" |
|
CFOPT_WARNING="xyes" |
|
;; |
|
legacy) |
|
EFL_API_LEGACY_DEF="" |
|
EFL_API_EO_DEF="" |
|
;; |
|
both) |
|
EFL_API_LEGACY_DEF="" |
|
EFL_API_EO_DEF="#define EFL_EO_API_SUPPORT" |
|
;; |
|
*) AC_MSG_ERROR([Invalid api (${efl_api}): must be eo, legacy or both]) ;; |
|
esac |
|
|
|
AC_SUBST(EFL_API_LEGACY_DEF) |
|
AC_SUBST(EFL_API_EO_DEF) |
|
|
|
#### Additional options to configure |
|
|
|
# string to identify the build |
|
AC_ARG_WITH([id], |
|
[AS_HELP_STRING([--with-id=BUILD_ID],[Specify a string to identify the build (vendor, maintainer, etc). |
|
@<:@default=none@:>@])], |
|
[EFL_BUILD_ID="${withval}"], |
|
[EFL_BUILD_ID="none"]) |
|
AC_SUBST(EFL_BUILD_ID) |
|
|
|
# profile |
|
AC_ARG_WITH([profile], |
|
[AS_HELP_STRING([--with-profile=PROFILE],[use the predefined build profile, one of: dev, debug and release. |
|
@<:@default=dev@:>@])], |
|
[build_profile=${withval}], |
|
[build_profile=def_build_profile]) |
|
|
|
case "${build_profile}" in |
|
dev|debug|release) |
|
;; |
|
*) |
|
AC_MSG_ERROR([Unknown build profile --with-profile=${build_profile}]) |
|
;; |
|
esac |
|
|
|
prefer_assert="no" |
|
case "${build_profile}" in |
|
dev|debug) |
|
prefer_assert="yes" |
|
;; |
|
esac |
|
|
|
# TODO: add some build "profile" (server, full, etc...) |
|
|
|
AC_ARG_WITH([crypto], |
|
[AS_HELP_STRING([--with-crypto=CRYPTO],[use the predefined build crypto, one of: |
|
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 |
|
|
|
AC_ARG_WITH([tests], |
|
[AS_HELP_STRING([--with-tests=none|regular|coverage],[choose testing method: regular, coverage or none. |
|
@<:@default=none@:>@])], |
|
[build_tests=${withval}], |
|
[build_tests=auto]) |
|
|
|
want_coverage="no" |
|
want_tests="no" |
|
case "${build_tests}" in |
|
auto) |
|
if test "${build_profile}" = "dev"; then |
|
want_tests="yes" |
|
fi |
|
;; |
|
regular) |
|
want_tests="yes" |
|
;; |
|
coverage) |
|
want_tests="yes" |
|
want_coverage="yes" |
|
;; |
|
no*) |
|
;; |
|
*) |
|
AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}]) |
|
;; |
|
esac |
|
|
|
dbusservicedir="${datadir}/dbus-1/services" |
|
AC_ARG_WITH([dbus-services], |
|
[AS_HELP_STRING([--with-dbus-services=DBUS_SERVICES],[specify a directory to store dbus service files.])], |
|
[dbusservicedir=$withval]) |
|
AC_SUBST(dbusservicedir) |
|
|
|
efl_deprecated_option="no" |
|
EFL_WITH_BIN([edje], [edje-cc]) |
|
EFL_WITH_BIN([eolian], [eolian-gen]) |
|
EFL_WITH_BIN([eolian_cxx], [eolian-cxx]) |
|
EFL_WITH_BIN_SUFFIX([elua], [elua], [_bin]) |
|
|
|
#### Default values |
|
|
|
requirements_pc_eflall="" |
|
requirements_pc_deps_eflall="" |
|
requirements_libs_eflall="" |
|
requirements_cflags_eflall="" |
|
|
|
requirements_pc_crypto="" |
|
requirements_pc_deps_crypto="" |
|
requirements_libs_crypto="" |
|
requirements_cflags_crypto="" |
|
|
|
AC_CANONICAL_HOST |
|
|
|
# TODO: move me to m4 file that setups module/so related variables |
|
case "$host_os" in |
|
cegcc*|mingw32ce*) |
|
AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...]) |
|
;; |
|
mingw*) |
|
have_win32="yes" |
|
have_windows="yes" |
|
MODULE_ARCH="v-v_maj.v_min" |
|
MODULE_EXT=".dll" |
|
;; |
|
cygwin*) |
|
MODULE_ARCH="v-v_maj.v_min" |
|
MODULE_EXT=".dll" |
|
;; |
|
*) |
|
MODULE_ARCH="v-v_maj.v_min" |
|
MODULE_EXT=".so" |
|
;; |
|
esac |
|
|
|
EFL_VERSION_MAJOR="v_maj" |
|
EFL_VERSION_MINOR="v_min" |
|
AC_SUBST(EFL_VERSION_MAJOR) |
|
AC_SUBST(EFL_VERSION_MINOR) |
|
|
|
have_systemd_pkg="no" |
|
have_win32="no" |
|
have_windows="no" |
|
have_freebsd="no" |
|
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" |
|
EFLALL_CFLAGS="${EFLALL_CFLAGS} -D__USE_MINGW_ANSI_STDIO" |
|
;; |
|
freebsd*) |
|
have_freebsd="yes" |
|
;; |
|
darwin*) |
|
have_darwin="yes" |
|
;; |
|
linux*) |
|
have_linux="yes" |
|
have_systemd_pkg="auto" |
|
;; |
|
esac |
|
|
|
case "$host_vendor" in |
|
ps3*) |
|
have_ps3="yes" |
|
;; |
|
esac |
|
|
|
AC_SUBST([MODULE_ARCH]) |
|
AC_DEFINE_UNQUOTED([MODULE_ARCH], ["${MODULE_ARCH}"], ["Module architecture"]) |
|
AC_DEFINE_UNQUOTED([SHARED_LIB_SUFFIX], ["${MODULE_EXT}"], [Suffix for shared objects]) |
|
AC_DEFINE_UNQUOTED([EXEEXT], ["${EXEEXT}"], [Suffix for binary objects]) |
|
|
|
# TODO: move me to m4 file that setups the windows related variables |
|
AM_CONDITIONAL([HAVE_WIN32], [test "x${have_win32}" = "xyes"]) |
|
AM_CONDITIONAL([HAVE_WINDOWS], [test "x${have_windows}" = "xyes"]) |
|
AM_CONDITIONAL([HAVE_PS3], [test "x${have_ps3}" = "xyes"]) |
|
|
|
AM_CONDITIONAL([HAVE_FREEBSD], [test "x${have_freebsd}" = "xyes"]) |
|
AM_CONDITIONAL([HAVE_OSX], [test "x${have_darwin}" = "xyes"]) |
|
AM_CONDITIONAL([HAVE_X86_64], [test "x${host_cpu}" = "xx86_64"]) |
|
|
|
#### Checks for programs |
|
|
|
### libtool |
|
|
|
if test "x${have_windows}" = "xyes" ; then |
|
lt_cv_deplibs_check_method='pass_all' |
|
fi |
|
m4_ifdef([AM_PROG_AR], [AM_PROG_AR]) |
|
LT_INIT([win32-dll disable-static pic-only]) |
|
EFL_INIT |
|
|
|
### gettext |
|
|
|
AM_GNU_GETTEXT_VERSION([0.18]) |
|
|
|
m4_ifdef([AC_GNU_GETTEXT], [ |
|
AC_GNU_GETTEXT([external]) |
|
po_makefile_in=po/Makefile.in |
|
have_po="yes" |
|
], |
|
[ |
|
m4_ifdef([AM_GNU_GETTEXT], [ |
|
AM_GNU_GETTEXT([external]) |
|
po_makefile_in=po/Makefile.in |
|
have_po="yes" |
|
], |
|
[ |
|
have_po="no" |
|
]) |
|
]) |
|
AC_SUBST([LTLIBINTL]) |
|
LOCALE_DIR="${localedir}" |
|
AC_SUBST(LOCALE_DIR) |
|
|
|
if test "x${POSUB}" = "x" ; then |
|
have_po="no" |
|
fi |
|
|
|
AM_CONDITIONAL([HAVE_PO], [test "x${have_po}" = "xyes"]) |
|
|
|
### compilers |
|
|
|
AC_PROG_MKDIR_P |
|
AM_PROG_AS |
|
AC_PROG_CXX |
|
AC_PROG_OBJC |
|
AC_LANG(C) |
|
AC_PROG_CC_C99 |
|
AM_PROG_CC_C_O |
|
AC_PROG_SED |
|
|
|
AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"]) |
|
|
|
if test "x${ac_cv_prog_cc_c99}" = "xno" ; then |
|
AC_MSG_ERROR([efl requires a c99-capable compiler]) |
|
fi |
|
# 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. |
|
if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then |
|
AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.]) |
|
fi |
|
|
|
AC_SYS_LARGEFILE |
|
|
|
# pkg-config |
|
|
|
PKG_PROG_PKG_CONFIG |
|
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...]) |
|
fi |
|
|
|
# doxygen program for documentation building |
|
|
|
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"]) |
|
|
|
# lcov |
|
|
|
if test "${want_coverage}" = "yes" ; then |
|
AC_CHECK_PROG([have_lcov], [lcov], [yes], [no]) |
|
if test "x${have_lcov}" = "xyes" ; then |
|
EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -fprofile-arcs -ftest-coverage" |
|
EFLALL_COV_LIBS="${EFLALL_COV_LIBS} -lgcov" |
|
if test "x${prefer_assert}" = "xno"; then |
|
EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -DNDEBUG" |
|
else |
|
EFLALL_COV_CFLAGS="${EFLALL_COV_CFLAGS} -g -O0 -DDEBUG" |
|
fi |
|
else |
|
AC_MSG_ERROR([lcov is not found]) |
|
fi |
|
fi |
|
|
|
AM_CONDITIONAL([EFL_ENABLE_COVERAGE], [test "${want_coverage}" = "yes"]) |
|
|
|
#### Checks for libraries |
|
|
|
# check unit testing library |
|
|
|
if test "${want_tests}" = "yes"; then |
|
PKG_CHECK_MODULES([CHECK], [check >= 0.9.5]) |
|
fi |
|
AM_CONDITIONAL([EFL_ENABLE_TESTS], [test "${want_tests}" = "yes"]) |
|
|
|
|
|
# check for crypto/tls library to use |
|
case "$build_crypto" in |
|
gnutls) |
|
EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.12.16]) |
|
|
|
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}" |
|
;; |
|
|
|
openssl) |
|
EFL_DEPEND_PKG([crypto], [OPENSSL], [openssl]) |
|
;; |
|
esac |
|
AM_CONDITIONAL([HAVE_CRYPTO_GNUTLS], [test "${build_crypto}" = "gnutls"]) |
|
AM_CONDITIONAL([HAVE_CRYPTO_OPENSSL], [test "${build_crypto}" = "openssl"]) |
|
|
|
# check for lua old |
|
want_lua_old="no" |
|
AC_ARG_ENABLE([lua-old], |
|
[AS_HELP_STRING([--enable-lua-old],[Enable interpreted Lua support (5.1 or 5.2). @<:@default=disabled@:>@])], |
|
[ |
|
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]) |
|
|
|
|
|
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]) |
|
|
|
#### Checks for header files |
|
|
|
# Common Checks (keep names sorted for ease of use): |
|
AC_HEADER_DIRENT |
|
AC_HEADER_TIME |
|
|
|
AC_CHECK_HEADERS([ \ |
|
execinfo.h \ |
|
mcheck.h \ |
|
sys/epoll.h \ |
|
sys/inotify.h \ |
|
sys/signalfd.h \ |
|
sys/types.h \ |
|
sys/param.h \ |
|
sys/mman.h \ |
|
netinet/in.h \ |
|
]) |
|
|
|
EFL_CHECK_PATH_MAX |
|
|
|
#### Checks for types |
|
|
|
# wchar_t |
|
AC_CHECK_SIZEOF([wchar_t]) |
|
EINA_SIZEOF_WCHAR_T=$ac_cv_sizeof_wchar_t |
|
AC_SUBST([EINA_SIZEOF_WCHAR_T]) |
|
|
|
AC_CHECK_SIZEOF(int, 4) |
|
AC_CHECK_SIZEOF(long, 4) |
|
|
|
AC_CHECK_SIZEOF([uintptr_t]) |
|
|
|
AC_CHECK_TYPES([siginfo_t], [], [], |
|
[[ |
|
#include <signal.h> |
|
#if HAVE_SIGINFO_H |
|
# include <siginfo.h> |
|
#endif |
|
]]) |
|
|
|
#### Checks for structures |
|
|
|
|
|
#### Checks for compiler characteristics |
|
|
|
AC_C_BIGENDIAN |
|
AC_C_INLINE |
|
EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections]) |
|
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]) |
|
case "${build_profile}" in |
|
dev) |
|
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" |
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int x;]], [[int x = 0; (void)x;]])],[AC_MSG_RESULT([no]) |
|
EFL_CHECK_COMPILER_FLAGS([EFLALL], [-Wshadow])],[AC_MSG_RESULT([yes])]) |
|
CFLAGS="${CFLAGS_save}" |
|
;; |
|
|
|
debug) |
|
;; |
|
|
|
release) |
|
;; |
|
esac |
|
|
|
EFL_ATTRIBUTE_VECTOR |
|
EFL_ATTRIBUTE_ALWAYS_INLINE |
|
|
|
EFLALL_LIBS="${EFLALL_LIBS}" |
|
EFLALL_CFLAGS="${EFLALL_CFLAGS}" |
|
|
|
## CPU architecture specific assembly |
|
|
|
build_cpu_mmx="no" |
|
build_cpu_sse3="no" |
|
build_cpu_altivec="no" |
|
build_cpu_neon="no" |
|
|
|
want_neon="yes" |
|
AC_ARG_ENABLE([neon], |
|
[AS_HELP_STRING([--disable-neon],[disable neon support @<:@default=enable@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes"; then |
|
want_neon="yes" |
|
else |
|
want_neon="no" |
|
fi |
|
]) |
|
|
|
SSE3_CFLAGS="" |
|
ALTIVEC_CFLAGS="" |
|
NEON_CFLAGS="" |
|
|
|
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*) |
|
if test "x${want_neon}" = "xyes"; then |
|
build_cpu_neon="yes" |
|
AC_MSG_CHECKING([whether to use NEON instructions]) |
|
CFLAGS_save="${CFLAGS}" |
|
CFLAGS="${CFLAGS} -mfpu=neon -ftree-vectorize" |
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <arm_neon.h>]], [[asm volatile ("vqadd.u8 d0, d1, d0\n")]])],[ |
|
AC_MSG_RESULT([yes]) |
|
AC_DEFINE([BUILD_NEON], [1], [Build NEON Code]) |
|
build_cpu_neon="yes" |
|
NEON_CFLAGS="-mfpu=neon" |
|
],[ |
|
AC_MSG_RESULT([no]) |
|
build_cpu_neon="no" |
|
]) |
|
CFLAGS="${CFLAGS_save}" |
|
fi |
|
;; |
|
esac |
|
|
|
AC_SUBST([ALTIVEC_CFLAGS]) |
|
AC_SUBST([SSE3_CFLAGS]) |
|
AC_SUBST([NEON_CFLAGS]) |
|
|
|
#### Checks for linker characteristics |
|
|
|
|
|
#### Checks for library functions |
|
|
|
AC_CHECK_FUNCS([\ |
|
backtrace \ |
|
backtrace_symbols \ |
|
execvp \ |
|
fpathconf \ |
|
fstatat \ |
|
malloc_usable_size \ |
|
mkdirat \ |
|
mtrace \ |
|
realpath \ |
|
strlcpy \ |
|
geteuid \ |
|
getuid \ |
|
pause \ |
|
]) |
|
|
|
AC_FUNC_ALLOCA |
|
AC_FUNC_MMAP |
|
|
|
EFL_CHECK_FUNCS([EFLALL], [fnmatch gettimeofday dirfd fcntl]) |
|
|
|
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]) |
|
|
|
|
|
|
|
###################### EFL ###################### |
|
|
|
AC_ARG_ENABLE([systemd], |
|
[AS_HELP_STRING([--enable-systemd],[Enable systemd support. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_systemd="yes" |
|
else |
|
want_systemd="no" |
|
fi |
|
], [ |
|
want_systemd="no" |
|
]) |
|
|
|
systemd_dbus_prefix="# " |
|
if test "${want_systemd}" = "yes"; then |
|
systemd_dbus_prefix="" |
|
fi |
|
AC_SUBST(systemd_dbus_prefix) |
|
|
|
AC_ARG_WITH([systemdunitdir], |
|
AS_HELP_STRING([--with-systemdunitdir=DIR],[path to systemd user services directory]), |
|
[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]) |
|
|
|
if test "x${have_systemd_pkg}" = "xauto" -o "x${have_systemd_pkg}" = "xyes"; then |
|
PKG_CHECK_MODULES([SYSTEMD], [libsystemd-daemon >= 192 libsystemd-journal >= 192], |
|
[have_systemd_pkg="yes"], |
|
[have_systemd_pkg="no"]) |
|
fi |
|
|
|
PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login >= 198], |
|
[have_systemd_login=yes], [have_systemd_login=no]) |
|
AS_IF([test "x$have_systemd_login" = "xyes"], |
|
[AC_DEFINE([HAVE_SYSTEMD_LOGIN], [1], [Have systemd-login])]) |
|
AM_CONDITIONAL(HAVE_SYSTEMD_LOGIN, test "x$have_systemd_login" = "xyes") |
|
|
|
# check for systemd library if requested |
|
if test "x${want_systemd}" = "xyes" -a "x${have_systemd_pkg}" = "xno"; then |
|
AC_MSG_ERROR([Systemd dependency requested but not found]) |
|
fi |
|
|
|
AM_CONDITIONAL([WANT_SYSTEMD], [test "${want_systemd}" = "yes"]) |
|
|
|
#### Platform-dependent |
|
DL_LIBS="" |
|
DL_INTERNAL_LIBS="" |
|
|
|
#### Evil |
|
EFL_LIB_START_OPTIONAL([Evil], [test "${have_windows}" = "yes"]) |
|
|
|
### Default values |
|
|
|
### Additional options to configure |
|
EFL_SELECT_WINDOWS_VERSION |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
|
|
EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid]) |
|
EVIL_DLFCN_LIBS="-lpsapi" |
|
|
|
AC_SUBST([EVIL_DLFCN_LIBS]) |
|
|
|
### Checks for header files |
|
|
|
### Checks for types |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
|
|
EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1" |
|
# TODO: should we have these at EFL (global?) |
|
# Note: these warnings should not be used with C++ code |
|
EVIL_CFLAGS_WRN="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls" |
|
EVIL_CXXFLAGS="${EVIL_CXXFLAGS}" |
|
|
|
if test "x${have_win32}" = "xyes" ; then |
|
EVIL_CFLAGS="-DSECURITY_WIN32 ${EVIL_CFLAGS}" |
|
EVIL_CXXFLAGS="-fno-rtti -fno-exceptions -DSECURITY_WIN32 ${EVIL_CXXFLAGS}" |
|
fi |
|
|
|
AC_SUBST([EVIL_DLFCN_CPPFLAGS]) |
|
AC_SUBST([EVIL_CFLAGS_WRN]) |
|
AC_SUBST([EVIL_CXXFLAGS]) |
|
|
|
### Checks for linker characteristics |
|
|
|
### Checks for library functions |
|
|
|
DL_LIBS="lib/evil/libdl.la" |
|
DL_INTERNAL_LIBS="lib/evil/libdl.la" |
|
|
|
EFL_LIB_END_OPTIONAL([Evil]) |
|
|
|
AC_SUBST([USE_EVIL_CFLAGS]) |
|
AC_SUBST([USE_EVIL_LIBS]) |
|
#### End of Evil |
|
|
|
|
|
#### Escape |
|
EFL_LIB_START_OPTIONAL([Escape], [test "${have_ps3}" = "yes"]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_ADD_LIBS([ESCAPE], [-llv2 -lm -lnet -lsysmodule -liberty]) |
|
|
|
### 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([Escape]) |
|
#### End of Escape |
|
|
|
EFL_CHECK_FUNC([SHM], [shm_open]) |
|
SHM_LIBS="${requirements_libs_shm}" |
|
AC_SUBST([SHM_LIBS]) |
|
|
|
AC_SUBST([DL_LIBS]) |
|
AC_SUBST([DL_INTERNAL_LIBS]) |
|
#### End of Platform-dependent |
|
|
|
|
|
#### Eina |
|
|
|
EFL_LIB_START([Eina]) |
|
|
|
### Default values |
|
|
|
have_safety_checks="yes" |
|
want_log="yes" |
|
case "${build_profile}" in |
|
dev) |
|
with_max_log_level="" |
|
have_stringshare_usage="no" |
|
want_valgrind="auto" |
|
want_debug_malloc="no" |
|
want_debug_threads="no" |
|
want_default_mempool="no" |
|
want_cow_magic="no" |
|
;; |
|
|
|
debug) |
|
with_max_log_level="" |
|
have_stringshare_usage="yes" |
|
want_valgrind="auto" |
|
want_debug_malloc="yes" |
|
want_debug_threads="yes" |
|
want_default_mempool="yes" |
|
want_cow_magic="yes" |
|
;; |
|
|
|
release) |
|
with_max_log_level="3" |
|
have_stringshare_usage="no" |
|
want_valgrind="no" |
|
want_debug_malloc="no" |
|
want_debug_threads="no" |
|
want_default_mempool="no" |
|
want_cow_magic="no" |
|
;; |
|
esac |
|
|
|
EINA_CONFIG([HAVE_ALLOCA_H], [test "x${ac_cv_working_alloca_h}" = "xyes"]) |
|
EINA_CONFIG([SAFETY_CHECKS], [test "x${have_safety_checks}" = "xyes"]) |
|
EINA_CONFIG([DEFAULT_MEMPOOL], [test "x${want_default_mempool}" = "xyes"]) |
|
|
|
if test -n "${with_max_log_level}"; then |
|
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 |
|
|
|
AC_DEFINE_IF([EINA_STRINGSHARE_USAGE], |
|
[test "x${have_stringshare_usage}" = "xyes"], |
|
[1], [Report Eina stringshare usage pattern]) |
|
|
|
### Additional options to configure |
|
AC_ARG_ENABLE([magic-debug], |
|
[AS_HELP_STRING([--disable-magic-debug],[disable magic debug of eina structure @<:@default=enabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
have_magic_debug="yes" |
|
else |
|
have_magic_debug="no" |
|
fi |
|
], |
|
[have_magic_debug="yes"]) |
|
|
|
EINA_CONFIG([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"]) |
|
|
|
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])]) |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_PLATFORM_DEPEND([EINA], [all]) |
|
|
|
EFL_ADD_LIBS([EINA], [-lm]) |
|
|
|
## Options |
|
|
|
# Valgrind |
|
AC_ARG_ENABLE([valgrind], |
|
[AS_HELP_STRING([--disable-valgrind],[enable valgrind mempool declaration. @<:@default=disabled@:>@])], |
|
[ |
|
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 |
|
|
|
if test "${want_valgrind}" = "no"; then |
|
AC_DEFINE([NVALGRIND], [1], [Valgrind support disabled]) |
|
else |
|
PKG_CHECK_MODULES([VALGRIND], [valgrind >= 2.4.0]) |
|
AC_DEFINE([HAVE_VALGRIND], [1], [Valgrind support enabled]) |
|
fi |
|
|
|
AC_DEFINE_IF([EINA_DEBUG_MALLOC], |
|
[test "x${ac_cv_func_malloc_usable_size}" = "xyes" && test "x${want_debug_malloc}" = "xyes"], |
|
[1], [Turn on debugging overhead in mempool]) |
|
|
|
AC_DEFINE_IF([EINA_COW_MAGIC_ON], |
|
[test "x${want_cow_magic}" = "xyes" ], |
|
[1], [Turn on Eina_Magic in Eina_Cow]) |
|
|
|
EFL_OPTIONAL_DEPEND_PKG([EINA], [${want_systemd}], [SYSTEMD], [libsystemd-journal]) |
|
|
|
EFL_EVAL_PKGS([EINA]) |
|
|
|
## Examples |
|
|
|
## 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 |
|
|
|
### Checks for header files |
|
|
|
# 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}" |
|
|
|
AC_CHECK_HEADER([byteswap.h], [have_byteswap="yes"], [have_byteswap="no"]) |
|
|
|
### Checks for types |
|
|
|
EINA_CONFIG([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"]) |
|
AC_DEFINE_IF([HAVE_DIRENT_H], [test "x${have_dirent}" = "xyes"], |
|
[1], [Define to 1 if you have a valid <dirent.h> header file.]) |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
EINA_CONFIG([HAVE_BYTESWAP_H], [test "x${have_byteswap}" = "xyes"]) |
|
|
|
EFL_CHECK_GCC_BUILTIN([bswap16], [HAVE_BSWAP16]) |
|
EFL_CHECK_GCC_BUILTIN([bswap32], [HAVE_BSWAP32]) |
|
EFL_CHECK_GCC_BUILTIN([bswap64], [HAVE_BSWAP64]) |
|
|
|
### Checks for linker characteristics |
|
|
|
### Checks for library functions |
|
|
|
AC_CHECK_FUNCS([fchmod]) |
|
|
|
EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr getpagesize]) |
|
|
|
enable_log="no" |
|
if test "x${efl_func_fnmatch}" = "xyes" && test "x${want_log}" = "xyes" ; then |
|
enable_log="yes" |
|
fi |
|
|
|
AC_MSG_CHECKING([wether to build Eina_Log infrastructure]) |
|
AC_MSG_RESULT([${enable_log}]) |
|
|
|
EINA_CONFIG([ENABLE_LOG], [test "x${enable_log}" = "xyes"]) |
|
|
|
EFL_CHECK_THREADS |
|
if test "x${efl_have_threads}" = "xno"; then |
|
CFOPT_WARNING="xyes" |
|
fi |
|
|
|
EFL_ADD_PUBLIC_LIBS([EINA], [${EFL_PTHREAD_LIBS}]) |
|
EFL_ADD_CFLAGS([EINA], [${EFL_PTHREAD_CFLAGS}]) |
|
|
|
EINA_CONFIG([HAVE_PTHREAD_BARRIER], [test "x${efl_have_pthread_barrier}" = "xyes"]) |
|
EINA_CONFIG([HAVE_PTHREAD_AFFINITY], [test "x${efl_have_setaffinity}" = "xyes"]) |
|
EINA_CONFIG([HAVE_DEBUG_THREADS], [test "x${want_debug_threads}" = "xyes"]) |
|
EINA_CONFIG([HAVE_POSIX_SPINLOCK], [test "x${efl_have_posix_threads_spinlock}" = "xyes"]) |
|
EINA_CONFIG([HAVE_OSX_SPINLOCK], [test "x${efl_have_osx_spinlock}" = "xyes"]) |
|
EINA_CONFIG([HAVE_OSX_SEMAPHORE], [test "x${have_darwin}" = "xyes"]) |
|
|
|
### Modules |
|
|
|
EINA_CHECK_MODULE([chained-pool], [static], [chained pool]) |
|
EINA_CHECK_MODULE([pass-through], [static], [pass through]) |
|
EINA_CHECK_MODULE([one-big], [static], [one big]) |
|
|
|
EFL_ADD_FEATURE([EINA], [systemd-journal], [${want_systemd}]) |
|
|
|
EFL_LIB_END([Eina]) |
|
#### End of Eina |
|
|
|
#### Eina CXX |
|
EFL_LIB_START([Eina_Cxx]) |
|
|
|
EFL_CXX_COMPILE_STDCXX_11([ext]) |
|
AC_ARG_ENABLE([cxx-bindings], |
|
[AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])], |
|
[want_cxx11="${enableval}"], [want_cxx11="yes"]) |
|
|
|
if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then |
|
have_cxx11="yes" |
|
else |
|
have_cxx11="no" |
|
fi |
|
|
|
AM_CONDITIONAL([HAVE_CXX11], [test "x${have_cxx11}" = "xyes"]) |
|
|
|
EFL_INTERNAL_DEPEND_PKG([EINA_CXX], [Eina]) |
|
EFL_ADD_CFLAGS([EINA_CXX], [${EFL_PTHREAD_CFLAGS}]) |
|
EFL_EVAL_PKGS([EINA_CXX]) |
|
|
|
EFL_LIB_END([Eina_Cxx]) |
|
#### End of Eina CXX |
|
|
|
#### Eo |
|
|
|
EFL_LIB_START([Eo]) |
|
|
|
### Default values |
|
|
|
### Additional options to configure |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([EO], [evil]) |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([EO], [eina]) |
|
|
|
# Example (evas one) |
|
|
|
# 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"]) |
|
|
|
### 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([Eo]) |
|
#### End of Eo |
|
|
|
#### 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 |
|
|
|
#### Emile |
|
|
|
EFL_LIB_START([Emile]) |
|
|
|
### Default values |
|
|
|
### Additional options to configure |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
|
|
EFL_CHECK_LIBS([EMILE], [libjpeg]) |
|
|
|
## 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]) |
|
|
|
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 |
|
|
|
EFL_ADD_FEATURE([EMILE], [crypto], [${build_crypto}]) |
|
|
|
EFL_LIB_END([Emile]) |
|
#### End of Emile |
|
|
|
|
|
#### Eet |
|
|
|
EFL_LIB_START([Eet]) |
|
|
|
### Default values |
|
|
|
### Additional options to configure |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
|
|
EFL_CHECK_LIBS([EET], [libjpeg]) |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([EET], [evil]) |
|
|
|
EFL_ADD_LIBS([EET], [-lm]) |
|
|
|
# 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 |
|
|
|
EFL_INTERNAL_DEPEND_PKG([EET], [eina]) |
|
EFL_INTERNAL_DEPEND_PKG([EET], [emile]) |
|
|
|
EFL_EVAL_PKGS([EET]) |
|
|
|
### Checks for header files |
|
|
|
### Checks for types |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
|
|
### Checks for linker characteristics |
|
|
|
### Checks for library functions |
|
EFL_CHECK_FUNCS([EO], [dladdr]) |
|
|
|
### Check availability |
|
|
|
EFL_LIB_END([Eet]) |
|
#### End of Eet |
|
|
|
#### Eo CXX |
|
EFL_LIB_START([Eo_Cxx]) |
|
|
|
EFL_EVAL_PKGS([EO_CXX]) |
|
|
|
EFL_LIB_END([Eo_Cxx]) |
|
#### End of Eo CXX |
|
|
|
#### Eolian |
|
|
|
EFL_LIB_START([Eolian]) |
|
|
|
### Default values |
|
|
|
### Additional options to configure |
|
EFL_ADD_FEATURE([EOLIAN], [cxx], [${have_cxx11}]) |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([EOLIAN], [evil]) |
|
|
|
### 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 |
|
|
|
EFL_LIB_START([Eolian_Cxx]) |
|
### Default values |
|
|
|
### Additional options to configure |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eina]) |
|
EFL_INTERNAL_DEPEND_PKG([EOLIAN_CXX], [eo]) |
|
|
|
### 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]) |
|
|
|
#### Efl |
|
|
|
EFL_LIB_START([Efl]) |
|
|
|
EFL_PLATFORM_DEPEND([EFL], [evil]) |
|
EFL_INTERNAL_DEPEND_PKG([EFL], [eina]) |
|
EFL_INTERNAL_DEPEND_PKG([EFL], [eo]) |
|
|
|
EFL_LIB_END([Efl]) |
|
#### End of Efl |
|
|
|
#### Evas |
|
|
|
EFL_LIB_START([Evas]) |
|
|
|
### Additional options to configure |
|
|
|
# X11 |
|
AC_ARG_WITH([x11], |
|
[AS_HELP_STRING([--with-x11=xlib|xcb|none],[X11 method to use: xlib, xcb or none])]) |
|
|
|
if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then |
|
with_x11="none" |
|
elif test "x${with_x11}" = "x"; then |
|
with_x11="xlib" |
|
fi |
|
|
|
want_x11_xlib="no" |
|
want_x11_xcb="no" |
|
want_x11_none="no" |
|
want_x11_any="no" |
|
case "${with_x11}" in |
|
xlib) |
|
want_x11_xlib="yes" |
|
want_x11_any="yes" |
|
;; |
|
xcb) |
|
want_x11_xcb="yes" |
|
want_x11_any="yes" |
|
CFOPT_WARNING="xyes" |
|
;; |
|
none) |
|
want_x11_none="yes" |
|
;; |
|
*) |
|
AC_MSG_ERROR([Unknown build x11 --with-x11=${with_x11}]) |
|
;; |
|
esac |
|
|
|
# OpenGL |
|
AC_ARG_WITH([opengl], |
|
[AS_HELP_STRING([--with-opengl=full|es|none],[OpenGL method to use: full, es or none])]) |
|
|
|
if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then |
|
with_opengl="none" |
|
elif test "x${with_opengl}" = "x"; then |
|
with_opengl="full" |
|
fi |
|
|
|
case "${with_opengl}" in |
|
full|es|none) |
|
;; |
|
*) |
|
AC_MSG_ERROR([Unknown build opengl --with-opengl=${with_opengl}]) |
|
;; |
|
esac |
|
|
|
want_x11_xlib_opengl="no" |
|
want_x11_xcb_opengl="no" |
|
if test "${with_opengl}" != "none"; then |
|
want_x11_xlib_opengl="${want_x11_xlib}" |
|
want_x11_xcb_opengl="${want_x11_xcb}" |
|
want_x11_any_opengl="${want_x11_any}" |
|
fi |
|
|
|
# Wayland |
|
AC_ARG_ENABLE([wayland], |
|
[AS_HELP_STRING([--enable-wayland],[enable wayland display server. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_wayland="yes" |
|
else |
|
want_wayland="no" |
|
fi |
|
], |
|
[want_wayland="no"]) |
|
|
|
if test "${want_wayland}" = "yes"; then |
|
EFL_PKG_CHECK_STRICT([wayland-client >= 1.3.0]) |
|
fi |
|
|
|
# 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"]) |
|
|
|
# Fb |
|
AC_ARG_ENABLE([fb], |
|
[AS_HELP_STRING([--enable-fb],[enable raw Framebuffer access. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_fb="yes" |
|
else |
|
want_fb="no" |
|
fi |
|
], |
|
[want_fb="no"]) |
|
|
|
# SDL |
|
AC_ARG_ENABLE([sdl], |
|
[AS_HELP_STRING([--enable-sdl],[enable SDL support. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_sdl="yes" |
|
else |
|
want_sdl="no" |
|
fi |
|
], |
|
[want_sdl="no"]) |
|
|
|
if test "${want_sdl}" = "yes"; then |
|
EFL_PKG_CHECK_STRICT([sdl2 >= 2.0.0]) |
|
fi |
|
|
|
# We only enable SDL with opengl if it is not the full version and not ES |
|
# 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. |
|
want_gl_sdl="no" |
|
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 |
|
want_gl_sdl="yes" |
|
fi |
|
|
|
# Cocoa |
|
AC_ARG_ENABLE([cocoa], |
|
[AS_HELP_STRING([--enable-cocoa],[enable MacOS X Cocoa . @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_cocoa="yes" |
|
else |
|
want_cocoa="no" |
|
fi |
|
], |
|
[want_cocoa="no"]) |
|
|
|
if test "${want_cocoa}" = "yes"; then |
|
#test cocoa requirements (objc and Cocoa/Cocoa.h) |
|
cocoa_ldflags="" |
|
have_cocoa="no" |
|
m4_ifdef([AC_PROG_OBJC], |
|
[ |
|
if test "x${have_gnu_objc}" = "xyes" ; then |
|
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 |
|
]) |
|
fi |
|
AC_SUBST(cocoa_ldflags) |
|
|
|
if test "x${want_cocoa}" = "xyes"; then |
|
#test cocoa requirements (objc and Cocoa/Cocoa.h) |
|
cocoa_coreservices_ldflags="" |
|
have_cocoa_coreservices="no" |
|
m4_ifdef([AC_PROG_OBJC], |
|
[ |
|
if test "x${have_gnu_objc}" = "xyes" ; then |
|
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 |
|
]) |
|
fi |
|
AC_SUBST(cocoa_coreservices_ldflags) |
|
|
|
# Drm |
|
AC_ARG_ENABLE([drm], |
|
[AS_HELP_STRING([--enable-drm],[enable drm engine. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_drm="yes" |
|
else |
|
want_drm="no" |
|
fi |
|
], |
|
[want_drm="no"]) |
|
|
|
want_drm_hw_accel="no" |
|
AC_ARG_ENABLE([drm-hw-accel], |
|
[AS_HELP_STRING([--enable-drm-hw-accel],[enable drm hardware acceleration. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_drm_hw_accel="yes" |
|
else |
|
want_drm_hw_accel="no" |
|
fi |
|
], |
|
[want_drm_hw_accel="no"]) |
|
|
|
|
|
AC_ARG_ENABLE([gl-drm], |
|
[AC_HELP_STRING([--enable-gl-drm], |
|
[enable gl drm engine. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_gl_drm="yes" |
|
else |
|
want_gl_drm="no" |
|
fi |
|
], |
|
[want_gl_drm="no"]) |
|
# Fontconfig |
|
AC_ARG_ENABLE([fontconfig], |
|
[AS_HELP_STRING([--disable-fontconfig],[disable fontconfig for finding fonts. @<:@default=enabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_fontconfig="yes" |
|
else |
|
want_fontconfig="no" |
|
CFOPT_WARNING="xyes" |
|
fi |
|
], |
|
[want_fontconfig="yes"]) |
|
|
|
# Fribidi |
|
AC_ARG_ENABLE([fribidi], |
|
[AS_HELP_STRING([--disable-fribidi],[disable bidirectional text support. @<:@default=enabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_fribidi="yes" |
|
else |
|
want_fribidi="no" |
|
CFOPT_WARNING="xyes" |
|
fi |
|
], |
|
[want_fribidi="yes"]) |
|
|
|
# Eo Id |
|
AC_ARG_ENABLE([eo_id], |
|
[AS_HELP_STRING([--disable-eo-id],[disable Eo indirection. @<:@default=enabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_eo_id="yes" |
|
else |
|
want_eo_id="no" |
|
CFOPT_WARNING="xyes" |
|
fi |
|
], |
|
[want_eo_id="yes"]) |
|
|
|
# Harfbuzz |
|
AC_ARG_ENABLE([harfbuzz], |
|
[AS_HELP_STRING([--enable-harfbuzz],[enable complex text shaping and layouting support. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_harfbuzz="yes" |
|
else |
|
want_harfbuzz="no" |
|
fi |
|
], |
|
[want_harfbuzz="no"]) |
|
|
|
# Egl |
|
AC_ARG_ENABLE([egl], |
|
[AS_HELP_STRING([--enable-egl],[enable EGL rendering. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_egl="yes" |
|
else |
|
want_egl="no" |
|
fi |
|
], |
|
[want_egl="no"]) |
|
|
|
# Pixman |
|
AC_ARG_ENABLE([pixman], |
|
[AS_HELP_STRING([--enable-pixman],[enable pixman for software rendering. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_pixman="yes" |
|
CFOPT_WARNING="xyes" |
|
else |
|
want_pixman="no" |
|
fi |
|
], |
|
[want_pixman="no"]) |
|
|
|
AC_ARG_ENABLE([pixman-font], |
|
[AS_HELP_STRING([--enable-pixman-font],[Allow pixman to render fonts. @<:@default=disabled@:>@])], |
|
[ |
|
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], |
|
[AS_HELP_STRING([--enable-pixman-rect],[Allow pixman to render rects. @<:@default=disabled@:>@])], |
|
[ |
|
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], |
|
[AS_HELP_STRING([--enable-pixman-line],[Allow pixman to render lines. @<:@default=disabled@:>@])], |
|
[ |
|
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, |
|
AS_HELP_STRING([--enable-pixman-poly],[Allow pixman to render polys. @<:@default=disabled@:>@]), |
|
[ |
|
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], |
|
[AS_HELP_STRING([--enable-pixman-image],[Allow pixman to render images. @<:@default=disabled@:>@])], |
|
[ |
|
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], |
|
[AS_HELP_STRING([--enable-pixman-image-scale-sample],[Allow pixman to render sampled scaled images. @<:@default=disabled@:>@])], |
|
[ |
|
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], |
|
[AS_HELP_STRING([--enable-tile-rotate],[Enable tiled rotate algorithm. @<:@default=disabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
have_tile_rotate="yes" |
|
CFOPT_WARNING="xyes" |
|
else |
|
have_tile_rotate="no" |
|
fi |
|
], |
|
[have_tile_rotate="no"]) |
|
|
|
|
|
# Image Loaders |
|
|
|
ARG_ENABLE_EVAS_IMAGE_LOADER(BMP, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(Eet, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(Generic, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(Gif, yes) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(ICO, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(JPEG, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(JP2K, auto) |
|
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) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(Tiff, yes) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(WBMP, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(WEBP, no) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(XPM, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(TGV, static) |
|
ARG_ENABLE_EVAS_IMAGE_LOADER(DDS, static) |
|
|
|
### Default values |
|
|
|
want_evas_engine_software_gdi="${have_win32}" |
|
want_evas_engine_software_ddraw="${have_win32}" |
|
want_evas_engine_gl_cocoa="${want_cocoa}" |
|
want_evas_engine_wayland_egl="no" |
|
if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes" && test "${with_opengl}" = "es"; then |
|
want_evas_engine_wayland_egl="yes" |
|
fi |
|
|
|
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]) |
|
|
|
EFL_CHECK_FUNC([EVAS], [dlsym]) |
|
|
|
if test "x${efl_func_dlsym}" = "xno" && test "${with_opengl}" != "none"; then |
|
AC_MSG_ERROR([OpenGL cannot work without dlsym()]) |
|
fi |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([EVAS], [all]) |
|
EFL_INTERNAL_DEPEND_PKG([EVAS], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([EVAS], [eet]) |
|
EFL_INTERNAL_DEPEND_PKG([EVAS], [eina]) |
|
EFL_INTERNAL_DEPEND_PKG([EVAS], [efl]) |
|
EFL_INTERNAL_DEPEND_PKG([EVAS], [emile]) |
|
|
|
EFL_ADD_LIBS([EVAS], [-lm]) |
|
|
|
# Freetype |
|
EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0]) |
|
|
|
## optional dependencies |
|
|
|
# FontConfig |
|
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fontconfig}], |
|
[FONTCONFIG], [fontconfig >= 2.5.0]) |
|
|
|
# fribidi support |
|
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_fribidi}], |
|
[FRIBIDI], [fribidi >= 0.19.2]) |
|
|
|
# harfbuzz support |
|
have_harfbuzz_ft="no" |
|
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_harfbuzz}], |
|
[HARFBUZZ], [harfbuzz >= 0.9.0]) |
|
|
|
# Pixman |
|
EFL_OPTIONAL_DEPEND_PKG([EVAS], [${want_pixman}], [PIXMAN], [pixman-1]) |
|
|
|
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 |
|
EFL_ADD_FEATURE([EVAS_PIXMAN], [font], [${have_pixman_font}]) |
|
|
|
if test "x${have_pixman_rect}" = "xyes" ; then |
|
AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects]) |
|
fi |
|
EFL_ADD_FEATURE([EVAS_PIXMAN], [rect], [${have_pixman_rect}]) |
|
|
|
if test "x${have_pixman_line}" = "xyes" ; then |
|
AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines]) |
|
fi |
|
EFL_ADD_FEATURE([EVAS_PIXMAN], [line], [${have_pixman_line}]) |
|
|
|
if test "x${have_pixman_poly}" = "xyes" ; then |
|
AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys]) |
|
fi |
|
EFL_ADD_FEATURE([EVAS_PIXMAN], [poly], [${have_pixman_poly}]) |
|
|
|
if test "x${have_pixman_image}" = "xyes" ; then |
|
AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images]) |
|
fi |
|
EFL_ADD_FEATURE([EVAS_PIXMAN], [image], [${have_pixman_image}]) |
|
|
|
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 |
|
EFL_ADD_FEATURE([EVAS_PIXMAN], [scale_sample], [${have_pixman_scale_sample}]) |
|
fi |
|
|
|
## Engines |
|
|
|
define([EVAS_ENGINE_DEP_CHECK_FB], [ |
|
AC_CHECK_HEADER([linux/fb.h], [:], [AC_MSG_ERROR([Missing linux/fb.h])]) |
|
]) |
|
|
|
define([EVAS_ENGINE_DEP_CHECK_PSL1GHT], [ |
|
AC_CHECK_HEADER([rsx/rsx.h], [:], [AC_MSG_ERROR([Missing rsx/rsx.h])]) |
|
]) |
|
|
|
EVAS_ENGINE([buffer], [static]) |
|
EVAS_ENGINE([fb], [${want_fb}], [EVAS_ENGINE_DEP_CHECK_FB]) |
|
EVAS_ENGINE([psl1ght], [${have_ps3}], [EVAS_ENGINE_DEP_CHECK_PSL1GHT]) |
|
|
|
# XXX TODO: |
|
EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa]) |
|
EVAS_CHECK_ENGINE([gl-sdl], [${want_gl_sdl}], [no], [OpenGL SDL]) |
|
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]) |
|
EVAS_CHECK_ENGINE([wayland-shm], [${want_wayland}], [no], [Wayland Shm]) |
|
EVAS_CHECK_ENGINE([drm], [${want_drm}], [no], [Drm]) |
|
EVAS_CHECK_ENGINE([gl-drm], [${want_gl_drm}], [no], [OpenGL Drm]) |
|
|
|
|
|
# Software XCB |
|
|
|
have_evas_engine_software_xcb="no" |
|
if test "${with_x11}" = "xcb" ; then |
|
EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB]) |
|
else |
|
AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [false]) |
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [false]) |
|
fi |
|
|
|
AC_MSG_CHECKING([whether to build Software XCB Engine]) |
|
AC_MSG_RESULT([${have_evas_engine_software_xcb}]) |
|
|
|
# No Software XCB ? Then try Software Xlib |
|
|
|
have_evas_engine_software_xlib="no" |
|
if test "x${want_x11_xcb}" = "xno" ; then |
|
EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib]) |
|
else |
|
AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false]) |
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false]) |
|
fi |
|
|
|
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" |
|
if test "x${have_evas_engine_software_xlib}" = "xyes" || test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xyes" || test "x${have_evas_engine_software_xcb}" = "xstatic" ; then |
|
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"]) |
|
|
|
if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "xstatic"; then |
|
AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_SOFTWARE_X11], [1], [Build software X11 engine as part of libevas]) |
|
fi |
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || test "x${have_evas_engine_software_xlib}" = "xstatic"]) |
|
|
|
# Needed for evas-software-x11.pc |
|
|
|
AC_SUBST([have_evas_engine_software_xlib]) |
|
AC_SUBST([have_evas_engine_software_xcb]) |
|
|
|
# Software generic |
|
AC_DEFINE([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [1], [Build software generic engine as part of libevas]) |
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_GENERIC], [true]) |
|
|
|
# OpenGL |
|
|
|
if test "${with_opengl}" = "es" ; then |
|
AC_DEFINE(GL_GLES, 1, [GLSL runtime shader GLES2 support]) |
|
fi |
|
|
|
# OpenGL XCB |
|
|
|
have_evas_engine_gl_xcb="no" |
|
if test "${want_x11_xcb_opengl}" = "yes"; then |
|
EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB]) |
|
else |
|
AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [false]) |
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [false]) |
|
fi |
|
|
|
AC_MSG_CHECKING([whether to build OpenGL XCB Engine]) |
|
AC_MSG_RESULT([${have_evas_engine_gl_xcb}]) |
|
|
|
# No openGL XCB ? Then try OpenGL Xlib |
|
|
|
have_evas_engine_gl_xlib="no" |
|
if test "x${have_evas_engine_gl_xcb}" = "xno" ; then |
|
EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib]) |
|
else |
|
AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [false]) |
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [false]) |
|
fi |
|
|
|
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" |
|
if test "x${have_evas_engine_gl_xlib}" = "xyes" || test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xyes" || test "x${have_evas_engine_gl_xcb}" = "xstatic" ; then |
|
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"]) |
|
|
|
if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "xstatic"; then |
|
AC_DEFINE_UNQUOTED([EVAS_STATIC_BUILD_GL_X11], [1], [Build OpenGL X11 engine as part of libevas]) |
|
fi |
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || test "x${have_evas_engine_gl_xlib}" = "xstatic"]) |
|
|
|
# Needed for evas-opengl-x11.pc |
|
|
|
AC_SUBST([have_evas_engine_gl_xlib]) |
|
AC_SUBST([have_evas_engine_gl_xcb]) |
|
|
|
# OpenGL SDL |
|
|
|
if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then |
|
AC_CHECK_DECL([SDL_GL_CONTEXT_MAJOR_VERSION], |
|
[AC_DEFINE([HAVE_SDL_GL_CONTEXT_VERSION], [1], [SDL_GL version attributes present])],, |
|
[#include <SDL/SDL_video.h>]) |
|
fi |
|
|
|
if test "${with_opengl}" = "es"; then |
|
AC_CHECK_DECL([SDL_OPENGLES], |
|
[AC_DEFINE([HAVE_SDL_FLAG_OPENGLES], [1], [SDL_OPENGLES flag is present])],, |
|
[#include <SDL/SDL_video.h>]) |
|
fi |
|
|
|
# OpenGL common |
|
evas_engine_gl_common_cflags="" |
|
if test "x${have_egl}" = "xyes"; then |
|
evas_engine_gl_common_libs="-lEGL" |
|
else |
|
evas_engine_gl_common_libs="-lGL" |
|
fi |
|
|
|
# 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 |
|
|
|
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" |
|
if test "x$have_evas_engine_gl_xlib" = "xyes" || \ |
|
test "x$have_evas_engine_gl_xcb" = "xyes" || \ |
|
test "x$have_evas_engine_gl_sdl" = "xyes" || \ |
|
test "x$have_evas_engine_gl_cocoa" = "xyes" || \ |
|
test "x$have_evas_engine_gl_drm" = "xyes" || \ |
|
test "x$have_evas_engine_wayland_egl" = "xyes"; then |
|
have_evas_engine_gl_common="yes" |
|
fi |
|
if test "x$have_evas_engine_gl_xlib" = "xstatic" || \ |
|
test "x$have_evas_engine_gl_xcb" = "xstatic" || \ |
|
test "x$have_evas_engine_gl_sdl" = "xstatic" || \ |
|
test "x$have_evas_engine_gl_cocoa" = "xstatic" || \ |
|
test "x$have_evas_engine_gl_drm" = "xstatic" || \ |
|
test "x$have_evas_engine_wayland_egl" = "xstatic"; then |
|
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"]) |
|
|
|
|
|
## 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}]) |
|
EVAS_CHECK_IMAGE_LOADER([JP2K], [${want_evas_image_loader_jp2k}]) |
|
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}]) |
|
EVAS_CHECK_IMAGE_LOADER([TGV], [${want_evas_image_loader_tgv}]) |
|
EVAS_CHECK_IMAGE_LOADER([DDS], [${want_evas_image_loader_dds}]) |
|
|
|
EFL_EVAL_PKGS([EVAS]) |
|
|
|
### Checks for header files |
|
|
|
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]) |
|
], |
|
[AC_MSG_ERROR([Harfbuzz-ft (hb-ft.h) not found])]) |
|
|
|
CPPFLAGS="$CPPFLAGS_SAVE" |
|
fi |
|
|
|
### Checks for types |
|
|
|
CPPFLAGS_SAVE="$CPPFLAGS" |
|
CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS -Isrc/lib/eina" |
|
AC_CHECK_SIZEOF([Eina_Unicode], [], [#include <Eina.h>]) |
|
CPPFLAGS="$CPPFLAGS_SAVE" |
|
|
|
|
|
if test "x$have_fribidi" = "xyes" ; then |
|
CPPFLAGS_SAVE="$CPPFLAGS" |
|
CPPFLAGS="$CPPFLAGS $EVAS_CFLAGS" |
|
AC_CHECK_SIZEOF([FriBidiChar], [], [#include <fribidi.h>]) |
|
CPPFLAGS="$CPPFLAGS_SAVE" |
|
fi |
|
|
|
### 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]) |
|
|
|
AC_CHECK_LIB([m], [lround], |
|
[AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])], |
|
[EFL_CHECK_GCC_BUILTIN([lround], [HAVE_LROUND])] |
|
) |
|
|
|
|
|
# Evas cserve2 |
|
|
|
AC_ARG_ENABLE([cserve], |
|
[AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_evas_cserve2="yes" |
|
else |
|
want_evas_cserve2="no" |
|
CFOPT_WARNING="xyes" |
|
fi |
|
], |
|
[want_evas_cserve2="yes"]) |
|
|
|
if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then |
|
EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}]) |
|
fi |
|
|
|
# cserve2 only works on Linux so far. |
|
|
|
if test "x${efl_func_shm_open}" = "xno" ; then |
|
want_evas_cserve2="no" |
|
fi |
|
|
|
if test "x${want_evas_cserve2}" = "xyes"; then |
|
if test "x${ac_cv_header_sys_epoll_h}" = "xno" || test "x${ac_cv_header_sys_inotify_h}" = "xno" || test "x${ac_cv_header_sys_signalfd_h}" = "xno"; then |
|
want_evas_cserve2="no" |
|
else |
|
EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}" |
|
AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS]) |
|
fi |
|
fi |
|
|
|
AC_DEFINE_IF([EVAS_CSERVE2], |
|
[test "x${want_evas_cserve2}" = "xyes"], |
|
[1], [Shared cache server.]) |
|
AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"]) |
|
|
|
### Configuration |
|
|
|
## Tile rotation |
|
|
|
if test "x${have_tile_rotate}" = "xyes" ; then |
|
AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm]) |
|
fi |
|
|
|
|
|
## dither options |
|
|
|
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]) |
|
|
|
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], [cserve], [${want_evas_cserve2}]) |
|
EFL_ADD_FEATURE([EVAS], [tile-rotate]) |
|
EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}]) |
|
|
|
EFL_LIB_END([Evas]) |
|
#### End of Evas |
|
|
|
#### Edje CXX |
|
EFL_LIB_START([Evas_Cxx]) |
|
|
|
EFL_EVAL_PKGS([EVAS_CXX]) |
|
|
|
EFL_LIB_END([Evas_Cxx]) |
|
#### End of Edje CXX |
|
|
|
#### Embryo |
|
|
|
EFL_LIB_START([Embryo]) |
|
|
|
### Default values |
|
|
|
### 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 |
|
|
|
### Checks for types |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
|
|
### Checks for linker characteristics |
|
|
|
### Checks for library functions |
|
|
|
if ! test "x${efl_func_fnmatch}" = "xyes" ; then |
|
AC_MSG_ERROR([Cannot find fnmatch()]) |
|
fi |
|
|
|
if ! test "x${efl_func_gettimeofday}" = "xyes" ; then |
|
AC_MSG_ERROR([Cannot find gettimeofday()]) |
|
fi |
|
|
|
### Check availability |
|
|
|
EFL_LIB_END([Embryo]) |
|
#### End of Embryo |
|
|
|
|
|
#### 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([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 |
|
|
|
### 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-daemon]) |
|
|
|
EFL_ADD_FEATURE([ECORE], [systemd-daemon], [${want_systemd}]) |
|
EFL_ADD_FEATURE([ECORE], [glib]) |
|
EFL_ADD_FEATURE([ECORE], [g-main-loop]) |
|
|
|
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]) |
|
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 |
|
AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes" -o "${want_gstreamer1}" = "yes"]) |
|
|
|
EFL_EVAL_PKGS([ECORE]) |
|
|
|
### Checks for header files |
|
|
|
AC_HEADER_SYS_WAIT |
|
|
|
AC_CHECK_HEADERS([sys/socket.h]) |
|
|
|
AC_CHECK_HEADERS([ \ |
|
arpa/inet.h \ |
|
langinfo.h \ |
|
features.h \ |
|
netinet/in.h \ |
|
netinet/tcp.h \ |
|
sys/prctl.h \ |
|
sys/resource.h \ |
|
sys/timerfd.h \ |
|
sys/un.h \ |
|
],[],[], |
|
[ |
|
#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); |
|
]])], |
|
[ |
|
AC_DEFINE(HAVE_ISFINITE, 1, [Define to 1 if you have `isfinite', as a function or macro.]) |
|
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 |
|
AC_MSG_ERROR([You don't have a working way to implement coroutine. Exiting...]) |
|
fi |
|
|
|
### Check availability |
|
|
|
EFL_LIB_END([Ecore]) |
|
#### End of Ecore |
|
|
|
#### 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]) |
|
|
|
EFL_EVAL_PKGS([ECORE_CXX]) |
|
|
|
EFL_LIB_END([Ecore_Cxx]) |
|
#### End of Ecore CXX |
|
|
|
#### Ecore_Con |
|
|
|
EFL_LIB_START([Ecore_Con]) |
|
|
|
### Default values |
|
|
|
want_ecore_con_local_sockets="yes" |
|
want_ecore_con_abstract_sockets="yes" |
|
|
|
if test "${have_win32}" = "yes"; then |
|
want_cares="yes" |
|
want_ecore_con_abstract_sockets="no" |
|
elif test "${have_darwin}" = "yes"; then |
|
want_cares="no" |
|
want_ecore_con_abstract_sockets="yes" |
|
elif test "${have_ps3}" = "yes"; then |
|
want_cares="no" |
|
want_ecore_con_local_sockets="no" |
|
want_ecore_con_abstract_sockets="no" |
|
else |
|
want_cares="no" |
|
fi |
|
|
|
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]) |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_PLATFORM_DEPEND([ECORE_CON], [all]) |
|
if test "$build_crypto" != "none" ; then |
|
EFL_CRYPTO_DEPEND([ECORE_CON]) |
|
fi |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eet]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [eina]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_CON], [emile]) |
|
|
|
EFL_ADD_LIBS([ECORE_CON], [-lm]) |
|
|
|
EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}], |
|
[CARES], [libcares >= 1.6.1]) |
|
AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"]) |
|
|
|
if test "x$have_cares" = "xyes" ; then |
|
ecore_con_resolver="cares" |
|
elif test "x$ac_cv_prog_cc_c99" != "xno" ; then |
|
ecore_con_resolver="dns.c" |
|
else |
|
ecore_con_resolver="fork" |
|
fi |
|
|
|
EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_systemd}], [SYSTEMD], [libsystemd-daemon]) |
|
|
|
EFL_ADD_FEATURE([ECORE_CON], [cares]) |
|
EFL_ADD_FEATURE([ECORE_CON], [local-sockets], [${want_ecore_con_local_sockets}]) |
|
EFL_ADD_FEATURE([ECORE_CON], [abstract-sockets], [${want_ecore_con_abstract_sockets}]) |
|
EFL_ADD_FEATURE([ECORE_CON], [resolver], [${ecore_con_resolver}]) |
|
EFL_ADD_FEATURE([ECORE_CON], [systemd-daemon], [${want_systemd}]) |
|
|
|
EFL_EVAL_PKGS([ECORE_CON]) |
|
|
|
### Checks for header files |
|
|
|
AC_CHECK_HEADERS([ws2tcpip.h netdb.h]) |
|
|
|
if test "x${ac_cv_header_netdb_h}" = "xno" && test "x${have_windows}" = "xno"; then |
|
AC_MSG_ERROR([netdb.h is requested to have Ecore_Con. Exiting...]) |
|
fi |
|
|
|
### Checks for types |
|
|
|
have_ipv6="no" |
|
AC_CHECK_TYPES([struct ipv6_mreq], |
|
[have_ipv6="yes"], |
|
[have_ipv6="no"], |
|
[[ |
|
#include <netinet/in.h> |
|
#ifdef HAVE_WS2TCPIP_H |
|
# include <ws2tcpip.h> |
|
#endif |
|
]]) |
|
|
|
AC_DEFINE_IF([HAVE_IPV6], |
|
[test "x${have_ipv6}" = "xyes"], |
|
[1], [Define if IPV6 is supported]) |
|
AM_CONDITIONAL([HAVE_IPV6], [test "x${have_ipv6}" = "xyes"]) |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
|
|
### Checks for linker characteristics |
|
|
|
### Checks for library functions |
|
|
|
EFL_LIB_END([Ecore_Con]) |
|
#### End of Ecore_Con |
|
|
|
|
|
#### Ecore_Ipc |
|
|
|
EFL_LIB_START([Ecore_Ipc]) |
|
|
|
### Default values |
|
|
|
### Additional options to configure |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([ECORE_IPC], [evil]) |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore-con]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_IPC], [eina]) |
|
|
|
EFL_ADD_LIBS([ECORE_IPC], [-lm]) |
|
|
|
### 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 |
|
|
|
EFL_LIB_END([Ecore_Ipc]) |
|
#### End of Ecore_Ipc |
|
|
|
|
|
#### Ecore_File |
|
|
|
EFL_LIB_START([Ecore_File]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([ECORE_FILE], [evil]) |
|
|
|
### Checks for libraries |
|
EFL_PLATFORM_DEPEND([ECORE_FILE], [escape]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore-con]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FILE], [eina]) |
|
|
|
### 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_File]) |
|
#### End of Ecore_File |
|
|
|
|
|
#### Ecore_Input |
|
EFL_LIB_START([Ecore_Input]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([ECORE_INPUT], [evil]) |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina]) |
|
|
|
### 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_Input]) |
|
#### End of Ecore_Input |
|
|
|
|
|
#### Ecore_Input_Evas |
|
EFL_LIB_START([Ecore_Input_Evas]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([ECORE_INPUT_EVAS], [evil]) |
|
|
|
### 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]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [efl]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT_EVAS], [eina]) |
|
|
|
### 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_Input_Evas]) |
|
#### End of Ecore_Input_Evas |
|
|
|
|
|
#### Ecore_Cocoa |
|
EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_cocoa}" = "yes"]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore-input]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina]) |
|
|
|
### Checks for header files |
|
|
|
EFL_ADD_LIBS([ECORE_COCOA], [-framework Cocoa]) |
|
|
|
### Checks for types |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
|
|
### Checks for linker characteristics |
|
|
|
### Checks for library functions |
|
|
|
EFL_LIB_END_OPTIONAL([Ecore_Cocoa]) |
|
#### End of Ecore_Cocoa |
|
|
|
|
|
#### Ecore_FB |
|
EFL_LIB_START_OPTIONAL([Ecore_FB], [test "${want_fb}" = "yes"]) |
|
|
|
### Additional options to configure |
|
AC_ARG_ENABLE([tslib], |
|
[AS_HELP_STRING([--disable-tslib],[disable tslib for touchscreen events.])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_tslib="yes" |
|
else |
|
want_tslib="no" |
|
fi |
|
], [want_tslib="yes"]) |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [ecore-input]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_FB], [eina]) |
|
|
|
EFL_OPTIONAL_DEPEND_PKG([ECORE_FB], [${want_tslib}], [TSLIB], [tslib]) |
|
EFL_ADD_FEATURE([ECORE_FB], [tslib]) |
|
|
|
EFL_EVAL_PKGS([ECORE_FB]) |
|
|
|
### Checks for header files |
|
|
|
have_ecore_fb="no" |
|
AC_CHECK_HEADER([linux/fb.h], |
|
[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 |
|
|
|
### Checks for types |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
|
|
### Checks for linker characteristics |
|
|
|
### Checks for library functions |
|
|
|
EFL_LIB_END_OPTIONAL([Ecore_FB]) |
|
#### End of Ecore_FB |
|
|
|
|
|
#### Ecore_Psl1ght |
|
EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape]) |
|
|
|
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina]) |
|
|
|
EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs]) |
|
|
|
### 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_Psl1ght]) |
|
#### End of Ecore_Psl1ght |
|
|
|
|
|
#### Ecore_SDL |
|
EFL_LIB_START_OPTIONAL([Ecore_SDL], [test "${want_sdl}" = "yes"]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_PLATFORM_DEPEND([ECORE_SDL], [all]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore-input]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina]) |
|
|
|
EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl2 >= 2.0.0]) |
|
|
|
EFL_EVAL_PKGS([ECORE_SDL]) |
|
|
|
### 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_SDL]) |
|
#### End of Ecore_SDL |
|
|
|
|
|
#### Ecore_Wayland |
|
EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "yes"]) |
|
|
|
if test "x${want_wayland_ivi_shell}" = "xyes" ; then |
|
AC_DEFINE(USE_IVI_SHELL, 1, [Ecore_Wayland IVI-Shell Support]) |
|
fi |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore-input]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WAYLAND], [eina]) |
|
|
|
EFL_DEPEND_PKG([ECORE_WAYLAND], [WAYLAND], |
|
[wayland-client >= 1.3.0 wayland-cursor >= 1.3.0 xkbcommon >= 0.3.0]) |
|
|
|
EFL_EVAL_PKGS([ECORE_WAYLAND]) |
|
|
|
### 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_Wayland]) |
|
#### End of Ecore_Wayland |
|
|
|
#### 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]) |
|
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 |
|
|
|
|
|
#### Eeze |
|
have_libmount_new="no" |
|
have_libmount_old="no" |
|
have_eeze_mount="no" |
|
|
|
EFL_LIB_START_OPTIONAL([Eeze], [test "${have_linux}" = "yes"]) |
|
|
|
### 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], [ecore-file]) |
|
EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con]) |
|
EFL_INTERNAL_DEPEND_PKG([EEZE], [eet]) |
|
|
|
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 |
|
|
|
|
|
#### Ecore_Drm |
|
have_libinput_new="no" |
|
EFL_LIB_START_OPTIONAL([Ecore_Drm], [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_DRM], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [ecore-input]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eldbus]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eeze]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_DRM], [eina]) |
|
|
|
EFL_DEPEND_PKG([ECORE_DRM], [DRM], [libdrm >= 2.4 xkbcommon >= 0.3.0 gbm]) |
|
EFL_DEPEND_PKG([ECORE_DRM], [LIBINPUT], [libinput >= 0.6.0]) |
|
|
|
# API change from 0.7 to 0.8. So we define this to support both for now. |
|
PKG_CHECK_EXISTS([libinput >= 0.8.0], |
|
[have_libinput_new="yes"], |
|
[have_libinput_new="no"]) |
|
AC_MSG_CHECKING([Use new libinput API (newer than 0.8.0)]) |
|
AC_MSG_RESULT([${have_libinput_new}]) |
|
if test "x${have_libinput_new}" = "xyes";then |
|
AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [1], [libinput version >= 0.8]) |
|
fi |
|
if test "x${have_libinput_new}" = "xno";then |
|
AC_DEFINE_UNQUOTED([LIBINPUT_HIGHER_08], [0], [libinput version >= 0.8]) |
|
fi |
|
|
|
|
|
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 |
|
|
|
|
|
#### Ecore_Audio |
|
|
|
AC_ARG_ENABLE([audio], |
|
[AS_HELP_STRING([--disable-audio],[disable audio support. @<:@default=enabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_audio="yes" |
|
else |
|
want_audio="no" |
|
CFOPT_WARNING="xyes" |
|
fi |
|
], |
|
[want_audio="yes"]) |
|
|
|
EFL_LIB_START_OPTIONAL([Ecore_Audio], [test "${want_audio}" = "yes"]) |
|
|
|
### Additional options to configure |
|
|
|
# ALSA support is still not there, thus no option for it yet. |
|
want_alsa="no" |
|
|
|
# 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" |
|
|
|
AC_ARG_ENABLE([pulseaudio], |
|
[AS_HELP_STRING([--disable-pulseaudio],[disable pulseaudio sound support. @<:@default=enabled@:>@])], |
|
[ |
|
if test "x${enableval}" = "xyes" ; then |
|
want_pulseaudio="yes" |
|
else |
|
want_pulseaudio="no" |
|
CFOPT_WARNING="xyes" |
|
fi |
|
], |
|
[want_pulseaudio="yes"]) |
|
|
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
## Compatibility layers |
|
EFL_PLATFORM_DEPEND([ECORE_AUDIO], [evil]) |
|
|
|
### Checks for libraries |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eet]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina]) |
|
|
|
EFL_ADD_LIBS([ECORE_AUDIO], [-lm]) |
|
|
|
EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_alsa}], [ALSA], [alsa]) |
|
EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_pulseaudio}], [PULSE], [libpulse]) |
|
EFL_OPTIONAL_DEPEND_PKG([ECORE_AUDIO], [${want_sndfile}], [SNDFILE], [sndfile]) |
|
|
|
EFL_EVAL_PKGS([ECORE_AUDIO]) |
|
|
|
EFL_ADD_FEATURE([ECORE_AUDIO], [alsa]) |
|
EFL_ADD_FEATURE([ECORE_AUDIO], [pulseaudio]) |
|
EFL_ADD_FEATURE([ECORE_AUDIO], [sndfile]) |
|
|
|
### 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_Audio]) |
|
AM_CONDITIONAL([HAVE_ECORE_AUDIO_PULSE], [test "x${want_pulseaudio}" = "xyes"]) |
|
AM_CONDITIONAL([HAVE_ECORE_AUDIO_SNDFILE], [test "x${want_sndfile}" = "xyes"]) |
|
|
|
#### End of Ecore_Audio |
|
|
|
#### 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 |
|
|
|
#### Ecore_Win32 |
|
EFL_LIB_START_OPTIONAL([Ecore_Win32], [test "${have_win32}" = "yes"]) |
|
|
|
### Additional options to configure |
|
|
|
### Default values |
|
|
|
### Checks for programs |
|
|
|
### Checks for libraries |
|
EFL_PLATFORM_DEPEND([ECORE_WIN32], [evil]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore-input]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [ecore]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eo]) |
|
EFL_INTERNAL_DEPEND_PKG([ECORE_WIN32], [eina]) |
|
|
|
EFL_ADD_LIBS([ECORE_WIN32], [-lole32 -lgdi32]) |
|
AC_SUBST([ECORE_WIN32_LIBS]) |
|
|
|
### Checks for header files |
|
|
|
### Checks for types |
|
|
|
### Checks for structures |
|
|
|
### Checks for compiler characteristics |
|
|
|
### Checks for linker characteristics |
|
|