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_VERSION([1], [7], [99], [dev])
2012-09-11 09:04:21 -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__ */
])
2012-12-02 14:35:45 -08:00
AC_USE_SYSTEM_EXTENSIONS
2012-09-11 09:04:21 -07:00
2013-01-15 12:51:04 -08:00
AM_INIT_AUTOMAKE([1.6 dist-bzip2 -Wall color-tests])
2012-09-11 09:04:21 -07:00
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
2012-11-17 23:12:38 -08:00
#### Additional options to configure
AC_ARG_WITH([profile],
[AC_HELP_STRING([--with-profile=PROFILE],
[use the predefined build profile, one of: dev, debug and release.
@<:@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"
case "${build_profile}" in
dev|debug)
prefer_assert="yes"
;;
esac
# TODO: add some build "profile" (server, full, etc...)
2012-12-05 16:11:14 -08:00
AC_ARG_WITH([crypto],
[AC_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
2012-12-20 13:43:53 -08:00
AC_ARG_WITH([tests],
[AC_HELP_STRING([--with-tests=none|regular|coverage],
[choose testing method: regular, coverage or none.
@<:@default=none@:>@])],
[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"
;;
none)
;;
*)
AC_MSG_ERROR([Unknown build tests option: --with-tests=${build_tests}])
;;
esac
2012-11-17 23:12:38 -08:00
2012-12-29 15:04:40 -08:00
dbusservicedir="${datadir}/dbus-1/services"
AC_ARG_WITH([dbus-services],
[AC_HELP_STRING([--with-dbus-services=DBUS_SERVICES],
[specify a directory to store dbus service files.])],
[dbusservicedir=$withval])
AC_SUBST(dbusservicedir)
2012-11-17 23:12:38 -08:00
2012-09-11 09:04:21 -07:00
#### Default values
2012-12-30 16:46:14 -08:00
requirements_pc_efl=""
requirements_pc_deps_efl=""
requirements_libs_efl=""
requirements_cflags_efl=""
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
cegcc*)
AC_MSG_ERROR([ceGCC compiler is not supported anymore. Exiting...])
;;
mingw32ce*)
2012-09-16 03:57:48 -07:00
MODULE_ARCH="$host_os-$host_cpu"
MODULE_EXT=".dll"
2012-09-11 09:04:21 -07:00
;;
mingw*)
have_win32="yes"
have_windows="yes"
2012-09-16 03:57:48 -07:00
MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
MODULE_EXT=".dll"
;;
2012-11-06 16:52:49 -08:00
cygwin*)
MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
MODULE_EXT=".dll"
;;
2012-09-16 03:57:48 -07:00
*)
MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
MODULE_EXT=".so"
2012-09-11 09:04:21 -07:00
;;
esac
2012-12-08 08:12:08 -08:00
have_wince="no"
have_win32="no"
have_windows="no"
have_darwin="no"
have_linux="no"
have_ps3="no"
case "$host_os" in
mingw32ce*)
have_wince="yes"
have_windows="yes"
;;
mingw*|cygwin*)
# TODO: check cygwin* here
have_win32="yes"
have_windows="yes"
;;
darwin*)
have_darwin="yes"
;;
linux*)
have_linux="yes"
;;
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])
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_WINCE], [test "x${have_wince}" = "xyes"])
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
#### Checks for programs
### libtool
if test "x${have_windows}" = "xyes" ; then
lt_cv_deplibs_check_method='pass_all'
fi
2013-01-22 15:52:40 -08:00
dnl OK i notice this came with "fixing warnings from autoconf"... but
dnl here is a big problem. autoconf 2.68 has this.. 2.67 does not, and
dnl 2.67 isn't that old at all. half of my boxen only have 2.67, so this
dnl is going to highly limit what machines *I* can develop and test on
dnl so let's discuss this if you want to trun it back on... :) this
dnl may need to wait for another day
dnl 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
2012-12-02 14:35:45 -08:00
### gettext
AM_GNU_GETTEXT_VERSION([0.17])
m4_ifdef([AM_GNU_GETTEXT], [
AM_GNU_GETTEXT([external])
po_makefile_in=po/Makefile.in
have_po="yes"
],
[
have_po="no"
])
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
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
2012-09-11 09:04:21 -07:00
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-01-19 07:46:57 -08:00
if test "x${CXX}" = "x"; then
2013-01-16 12:53:35 -08:00
AC_MSG_ERROR([efl requires a C++ compiler])
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
EFL_COV_CFLAGS="${EFL_COV_CFLAGS} -fprofile-arcs -ftest-coverage"
EFL_COV_LIBS="${EFL_COV_LIBS} -lgcov"
if test "x${prefer_assert}" = "xno"; then
EFL_COV_CFLAGS="${EFL_COV_CFLAGS} -DNDEBUG"
else
EFL_COV_CFLAGS="${EFL_COV_CFLAGS} -g -O0 -DDEBUG"
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
PKG_CHECK_MODULES([CHECK], [check >= 0.9.5])
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)
2012-12-06 15:19:35 -08:00
EFL_DEPEND_PKG([crypto], [GNUTLS], [gnutls >= 2.11])
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
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:06:05 -08:00
sys/epoll.h \
2012-12-06 05:02:59 -08:00
sys/inotify.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 \
2012-10-22 23:12:37 -07:00
])
2012-12-06 05:02:59 -08:00
have_inotify="${ac_cv_header_sys_inotify_h}"
AM_CONDITIONAL([HAVE_INOTIFY], [test "x${have_inotify}" = "xyes"])
2012-12-06 05:38:34 -08:00
have_notify_win32="${have_win32}"
2012-12-06 08:22:20 -08:00
AC_DEFINE_IF([HAVE_NOTIFY_WIN32],
[test "x${have_notify_win32}" = "xyes"], [1],
[File monitoring with Windows notification])
2012-12-06 05:38:34 -08:00
AM_CONDITIONAL([HAVE_NOTIFY_WIN32], [test "x${have_notify_win32}" = "xyes"])
2012-09-17 09:35:38 -07:00
EFL_CHECK_PATH_MAX
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)
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
2012-12-30 10:37:59 -08:00
EFL_CHECK_COMPILER_FLAGS([EFL], [-Wall -Wextra -Wpointer-arith -Wno-missing-field-initializers -fvisibility=hidden -fdata-sections -ffunction-sections])
2013-01-18 10:54:44 -08:00
EFL_CHECK_LINKER_FLAGS([EFL], [-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)
EFL_CHECK_COMPILER_FLAGS([EFL], [-Wshadow])
;;
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
2012-12-30 16:46:14 -08:00
EFL_LIBS="${EFL_LIBS}"
EFL_CFLAGS="${EFL_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"
SSE3_CFLAGS=""
ALTIVEC_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*)
build_cpu_neon="yes"
AC_MSG_CHECKING([whether to use NEON instructions])
AC_TRY_COMPILE([#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"
],
[
AC_MSG_RESULT([no])
build_cpu_neon="no"
])
;;
esac
AC_SUBST([ALTIVEC_CFLAGS])
AC_SUBST([SSE3_CFLAGS])
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 \
strlcpy
2012-10-10 15:30:33 -07:00
])
2012-10-22 23:12:37 -07:00
AC_FUNC_ALLOCA
2012-10-10 15:30:33 -07:00
2013-01-13 16:09:47 -08:00
EFL_CHECK_FUNCS([EFL], [fnmatch gettimeofday dirfd])
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
2012-12-20 11:25:51 -08:00
#### Platform-dependent
DL_LIBS=""
2013-01-14 14:36:23 -08:00
DL_INTERNAL_LIBS=""
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
EVIL_DLFCN_LIBS=""
2012-12-08 08:12:08 -08:00
if test "${have_wince}" = "xyes"; then
2013-01-14 14:36:23 -08:00
EFL_ADD_LIBS([EVIL], [-lws2])
EVIL_DLFCN_LIBS="-ltoolhelp"
2012-12-08 08:12:08 -08:00
else
2013-01-14 14:36:23 -08:00
EFL_ADD_LIBS([EVIL], [-lole32 -lws2_32 -lsecur32 -luuid])
EVIL_DLFCN_LIBS="-lpsapi"
2012-12-08 08:12:08 -08:00
fi
2012-09-16 03:57:48 -07:00
2012-09-11 09:04:21 -07:00
AC_SUBST([EVIL_DLFCN_LIBS])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
2012-09-11 10:44:59 -07:00
EVIL_DLFCN_CPPFLAGS="-DEFL_EVIL_DLFCN_BUILD -DPSAPI_VERSION=1"
2013-01-14 14:36:23 -08:00
# TODO: should we have these at EFL (global?)
EVIL_CFLAGS="-Wdeclaration-after-statement -Wmissing-prototypes -Wstrict-prototypes -Wredundant-decls ${EVIL_CFLAGS}"
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
2012-09-11 10:44:59 -07:00
AC_SUBST([EVIL_DLFCN_CPPFLAGS])
2012-09-11 09:04:21 -07:00
AC_SUBST([EVIL_CXXFLAGS])
### Checks for linker characteristics
### Checks for library functions
2012-12-20 11:25:51 -08:00
DL_LIBS="lib/evil/libdl.la"
2013-01-14 14:36:23 -08:00
DL_INTERNAL_LIBS="lib/evil/libdl.la"
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_magic_debug="yes"
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"
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"
2012-10-10 11:43:15 -07:00
;;
release)
with_max_log_level="3"
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"
2012-10-10 11:43:15 -07:00
;;
esac
2012-09-16 03:57:48 -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([MAGIC_DEBUG], [test "x${have_magic_debug}" = "xyes"])
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
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
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([EINA], [all])
2012-10-22 14:31:10 -07:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([EINA], [-lm])
2012-09-16 03:57:48 -07:00
## Options
# Valgrind
2013-01-07 14:24:53 -08:00
AC_ARG_ENABLE([valgrind],
[AC_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
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
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}"
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
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
2012-12-31 15:45:24 -08:00
EFL_CHECK_FUNCS([EINA], [dlopen dladdr iconv shm_open splice setxattr])
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
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"])
EINA_CONFIG([HAVE_DEBUG_THREADS], [test "$want_debug_threads" = "yes"])
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
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Eina])
2012-09-11 09:04:21 -07:00
#### End of Eina
2012-09-16 03:57:48 -07:00
#### Eet
2012-10-25 15:01:28 -07:00
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Eet])
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
2012-09-16 03:57:48 -07:00
### Checks for libraries
2012-09-17 09:35:38 -07:00
## Compatibility layers
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([EET], [evil])
EFL_CRYPTO_DEPEND([EET])
2012-09-17 09:35:38 -07:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([EET], [-lm])
2012-09-17 09:35:38 -07:00
# Cryptography support
2012-10-10 12:26:56 -07:00
if test "$build_crypto" != "none" ; then
2012-09-17 09:35:38 -07:00
AC_DEFINE([HAVE_CIPHER], [1], [Have cipher support built in eet])
AC_DEFINE([HAVE_SIGNATURE], [1], [Have signature support for eet file])
fi
2012-09-21 01:15:58 -07:00
EFL_CHECK_LIBS([EET], [libjpeg zlib])
2012-10-25 15:01:28 -07:00
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EET], [eina])
2012-09-17 09:35:38 -07:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([EET])
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
2012-09-23 12:56:44 -07:00
### Check availability
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Eet])
2012-09-16 03:57:48 -07:00
#### End of Eet
2012-09-11 09:04:21 -07:00
2012-09-26 21:46:30 -07:00
#### Eo
2012-10-22 14:31:10 -07:00
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Eo])
2012-09-26 21:46:30 -07:00
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EO], [eina])
2012-09-26 21:46:30 -07:00
# Example (evas one)
2012-10-10 10:40:35 -07:00
# TODO: add once elementary is merged
#PKG_CHECK_MODULES([ELM], [elementary >= 1.7.0], [have_elm="yes"], [have_elm="no"])
2012-09-26 21:46:30 -07:00
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
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Eo])
2012-09-26 21:46:30 -07:00
#### End of Eo
2012-11-04 03:51:42 -08:00
#### Evas
2012-12-30 07:21:33 -08: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],
[AC_HELP_STRING([--with-x11=xlib|xcb|none],
[X11 method to use: xlib, xcb or none])])
2012-12-07 07:14:33 -08:00
if test "x${have_windows}" = "xyes" || test "x${have_ps3}" = "xyes"; then
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_xcb="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"
;;
xcb)
want_x11_xcb="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],
[AC_HELP_STRING([--with-opengl=full|es|none],
[OpenGL method to use: full, es or none])])
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"
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
2012-12-07 07:14:33 -08:00
# Wayland
AC_ARG_ENABLE([wayland],
[AC_HELP_STRING([--enable-wayland],
2012-12-07 11:35:33 -08:00
[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
EFL_PKG_CHECK_STRICT([wayland-client])
fi
2012-12-07 09:18:17 -08:00
# Fb
AC_ARG_ENABLE([fb],
[AC_HELP_STRING([--enable-fb],
2012-12-07 11:35:33 -08:00
[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"])
2012-12-07 10:24:49 -08:00
# SDL
AC_ARG_ENABLE([sdl],
[AC_HELP_STRING([--enable-sdl],
2012-12-07 11:35:33 -08:00
[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
2012-12-07 11:11:22 -08:00
EFL_PKG_CHECK_STRICT([sdl >= 1.2.0])
fi
2012-12-07 10:24:49 -08:00
want_gl_sdl="no"
if test "${want_sdl}" = "yes" && test "${with_opengl}" != "none"; then
want_gl_sdl="yes"
fi
2013-01-16 12:43:49 -08:00
# Cocoa
dnl AC_ARG_ENABLE([cocoa],
dnl [AC_HELP_STRING([--enable-cocoa],
dnl [enable MacOS X Cocoa . @<:@default=disabled@:>@])],
dnl [
dnl if test "x${enableval}" = "xyes" ; then
dnl want_cocoa="yes"
dnl else
dnl want_cocoa="no"
dnl fi
dnl ],
dnl [want_cocoa="no"])
dnl
dnl if test "${want_cocoa}" = "yes"; then
dnl test cocoa requirements (objc and Cocoa/Cocoa.h)
dnl fi
want_cocoa="no"
2012-11-04 03:51:42 -08:00
# Fontconfig
AC_ARG_ENABLE([fontconfig],
[AC_HELP_STRING([--disable-fontconfig],
[disable fontconfig for finding fonts. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_fontconfig="yes"
else
want_fontconfig="no"
fi
],
[want_fontconfig="yes"])
# Fribidi
AC_ARG_ENABLE([fribidi],
[AC_HELP_STRING([--disable-fribidi],
[disable bidirectional text support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_fribidi="yes"
else
want_fribidi="no"
fi
],
[want_fribidi="yes"])
# Harfbuzz
AC_ARG_ENABLE([harfbuzz],
2012-12-07 11:35:33 -08:00
[AC_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
2012-12-10 14:38:09 -08:00
# Egl
AC_ARG_ENABLE([egl],
[AC_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"])
2012-11-04 03:51:42 -08:00
# Pixman
AC_ARG_ENABLE([pixman],
[AC_HELP_STRING([--enable-pixman],
[enable pixman for software rendering. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_pixman="yes"
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],
[AC_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],
[AC_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],
[AC_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,
AC_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],
[AC_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],
[AC_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],
[AC_HELP_STRING([--enable-tile-rotate],
[Enable tiled rotate algorithm. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
have_tile_rotate="yes"
else
have_tile_rotate="no"
fi
],
[have_tile_rotate="no"])
# Loaders
AC_ARG_ENABLE([image-loader-gif],
[AC_HELP_STRING([--enable-image-loader-gif], [enable Gif image loader. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_evas_image_loader_gif="yes"
else
if test "x${enableval}" = "xstatic" ; then
want_evas_image_loader_gif="static"
else
want_evas_image_loader_gif="no"
fi
fi
],
[want_evas_image_loader_gif="yes"])
AC_ARG_ENABLE([image-loader-svg],
2012-12-07 12:23:45 -08:00
[AC_HELP_STRING([--enable-image-loader-svg], [enable SVG image loader. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_evas_image_loader_svg="yes"
else
if test "x${enableval}" = "xstatic" ; then
want_evas_image_loader_svg="static"
else
want_evas_image_loader_svg="no"
fi
fi
],
2012-12-07 12:23:45 -08:00
[want_evas_image_loader_svg="no"])
2012-11-04 03:51:42 -08:00
AC_ARG_ENABLE([image-loader-tiff],
[AC_HELP_STRING([--enable-image-loader-tiff], [enable Tiff image loader. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_evas_image_loader_tiff="yes"
else
if test "x${enableval}" = "xstatic" ; then
want_evas_image_loader_tiff="static"
else
want_evas_image_loader_tiff="no"
fi
fi
],
[want_evas_image_loader_tiff="yes"])
AC_ARG_ENABLE([image-loader-webp],
2012-12-07 12:23:45 -08:00
[AC_HELP_STRING([--enable-image-loader-webp], [enable WEBP image loader. @<:@default=disabled@:>@])],
2012-11-04 03:51:42 -08:00
[
if test "x${enableval}" = "xyes" ; then
want_evas_image_loader_webp="yes"
else
if test "x${enableval}" = "xstatic" ; then
want_evas_image_loader_webp="static"
else
want_evas_image_loader_webp="no"
fi
fi
],
2012-12-07 12:23:45 -08:00
[want_evas_image_loader_webp="no"])
2012-11-04 03:51:42 -08:00
### Default values
want_evas_cserve2="yes"
2012-12-08 08:12:08 -08:00
want_evas_engine_software_gdi="${have_win32}"
want_evas_engine_software_ddraw="${have_win32}"
2013-01-16 12:43:49 -08:00
want_evas_engine_gl_cocoa="${want_cocoa}"
2012-11-04 03:51:42 -08:00
want_evas_engine_wayland_egl="no"
2012-12-10 14:38:09 -08:00
if test "${want_wayland}" = "yes" && test "${want_egl}" = "yes"; then
want_evas_engine_wayland_egl="yes"
fi
2012-11-04 03:51:42 -08:00
want_evas_image_loader_bmp="static"
want_evas_image_loader_eet="static"
want_evas_image_loader_generic="static"
#want_evas_image_loader_gif="yes"
want_evas_image_loader_ico="static"
want_evas_image_loader_jpeg="static"
want_evas_image_loader_pmaps="static"
want_evas_image_loader_png="static"
want_evas_image_loader_psd="static"
#want_evas_image_loader_svg="yes"
want_evas_image_loader_tga="static"
#want_evas_image_loader_tiff="yes"
want_evas_image_loader_wbmp="static"
#want_evas_image_loader_webp="yes"
want_evas_image_loader_xpm="static"
2012-12-08 08:12:08 -08:00
if test "${have_wince}" = "yes"; then
want_fontconfig="no"
want_evas_image_loader_gif="no"
want_evas_image_loader_svg="no"
want_evas_image_loader_tiff="no"
want_evas_image_loader_webp="no"
fi
2012-11-04 03:51:42 -08:00
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])
2012-11-04 03:51:42 -08:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([EVAS], [-lm])
2012-11-04 03:51:42 -08:00
# Freetype
2012-12-30 10:08:55 -08:00
EFL_DEPEND_PKG([EVAS], [FREETYPE], [freetype2 >= 9.3.0])
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])])
])
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])
EVAS_ENGINE([wayland-shm], [${want_wayland}])
# 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])
# Software XCB
have_evas_engine_software_xcb="no"
2012-12-07 07:14:33 -08:00
if test "${with_x11}" = "xcb" ; then
2012-12-07 12:23:45 -08:00
EVAS_CHECK_ENGINE([software-xcb], [${want_x11_xcb}], [no], [Software XCB])
2012-11-04 03:51:42 -08:00
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"
2012-12-07 12:23:45 -08:00
if test "x${want_x11_xcb}" = "xno" ; then
EVAS_CHECK_ENGINE([software-xlib], [${want_x11_xlib}], [no], [Software Xlib])
2012-11-04 03:51:42 -08:00
else
AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [false])
2012-12-07 15:16:43 -08:00
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [false])
2012-11-04 03:51:42 -08:00
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"
2012-12-06 05:01:21 -08:00
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
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"])
2012-12-06 05:01:21 -08:00
if test "x${have_evas_engine_software_xlib}" = "xstatic" || test "x${have_evas_engine_software_xcb}" = "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
2012-12-06 05:01:21 -08:00
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" || 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])
AC_SUBST([have_evas_engine_software_xcb])
# 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
# OpenGL XCB
have_evas_engine_gl_xcb="no"
2012-12-07 12:23:45 -08:00
if test "${want_x11_xcb_opengl}" = "yes"; then
EVAS_CHECK_ENGINE([gl-xcb], [${want_x11_xcb_opengl}], [no], [OpenGL XCB])
2012-11-04 03:51:42 -08:00
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
2012-12-07 12:23:45 -08:00
EVAS_CHECK_ENGINE([gl-xlib], [${want_x11_xlib_opengl}], [no], [OpenGL XLib])
2012-11-04 03:51:42 -08:00
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"
2012-12-06 05:01:21 -08:00
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
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"])
2012-12-06 05:01:21 -08:00
if test "x${have_evas_engine_gl_xlib}" = "xstatic" || test "x${have_evas_engine_gl_xcb}" = "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
2012-12-06 05:01:21 -08:00
AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" || 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])
AC_SUBST([have_evas_engine_gl_xcb])
# 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])],,
[#include <SDL/SDL_video.h>])
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])],,
[#include <SDL/SDL_video.h>])
fi
# OpenGL common
evas_engine_gl_common_cflags=""
evas_engine_gl_common_libs=""
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_xcb" = "xyes" || \
test "x$have_evas_engine_gl_sdl" = "xyes" || \
test "x$have_evas_engine_gl_cocoa" = "xyes" || \
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_xcb" = "xstatic" || \
test "x$have_evas_engine_gl_sdl" = "xstatic" || \
test "x$have_evas_engine_gl_cocoa" = "xstatic" || \
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"])
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}])
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([SVG], [${want_evas_image_loader_svg}])
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}])
dnl Windows has no sigsetjmp function, nor equivalent.
dnl So we disable the jpeg saver.
dnl TODO: must find a workaround
2012-12-07 11:16:03 -08:00
if test "${have_windows}" = "yes"; then
have_evas_image_saver_jpeg="no"
elif test "x${have_evas_image_loader_jpeg}" = "xyes" || \
test "x${have_evas_image_loader_jpeg}" = "xstatic"; then
AC_DEFINE([EVAS_BUILD_SAVER_JPEG], [1], [Build JPEG saver])
have_evas_image_saver_jpeg="yes"
fi
2012-11-04 03:51:42 -08:00
AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([EVAS])
2012-11-04 03:51:42 -08:00
### 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])
],
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])
2012-12-30 11:05:18 -08:00
AC_CHECK_LIB([m], [lround], [AC_DEFINE([HAVE_LROUND], [1], [C99 lround function exists])])
2012-11-04 03:51:42 -08:00
2012-12-06 05:01:21 -08:00
if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
2013-01-19 06:59:39 -08:00
EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
2012-11-04 03:51:42 -08:00
fi
# cserve2 only works on Linux so far.
2012-12-05 23:23:50 -08:00
if test "x${efl_func_shm_open}" = "xno" ; then
2012-11-04 03:51:42 -08:00
want_evas_cserve2="no"
fi
2012-12-06 12:43:18 -08:00
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"
2013-01-13 15:12:40 -08:00
else
2013-01-19 06:59:39 -08:00
EVAS_CSERVE2_SLAVE_LIBS="${EFL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
2013-01-13 15:12:40 -08:00
AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
2012-12-06 12:43:18 -08:00
fi
2012-12-05 23:23:50 -08:00
fi
2012-12-06 12:43:18 -08:00
AC_DEFINE_IF([EVAS_CSERVE2],
[test "x${want_evas_cserve2}" = "xyes"],
[1], [Shared cache server.])
2012-11-04 03:51:42 -08:00
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
2012-12-06 11:44:11 -08:00
AC_ARG_WITH([evas-dither-mask],
[AC_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
2013-01-18 05:48:14 -08:00
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}])
2012-11-04 03:51:42 -08:00
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Evas])
2012-11-04 03:51:42 -08:00
#### End of Evas
2012-10-26 02:01:52 -07:00
#### Embryo
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Embryo])
2012-10-26 02:01:52 -07:00
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([EMBRYO], [all])
EFL_INTERNAL_DEPEND_PKG([EMBRYO], [eina])
2012-10-26 02:01:52 -07:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([EMBRYO], [-lm])
2012-10-26 02:01:52 -07:00
### 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
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Embryo])
2012-10-26 02:01:52 -07:00
#### End of Embryo
2012-12-02 14:35:45 -08:00
#### Ecore
2012-09-11 09:04:21 -07:00
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Ecore])
2012-09-11 09:04:21 -07:00
2012-12-02 14:35:45 -08:00
### Additional options to configure
2012-09-11 09:04:21 -07:00
2012-12-02 14:35:45 -08:00
# glib
AC_ARG_WITH([glib],
[AC_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],
[AC_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"
else
want_g_main_loop="no"
fi
],
[want_g_main_loop="no"])
2013-01-04 15:51:53 -08:00
AC_ARG_ENABLE([gstreamer],
[AC_HELP_STRING([--disable-gstreamer],
[disable gstreamer support. @<:@default=enabled@:>@])],
[
2013-01-10 19:22:03 -08:00
if test "x${enableval}" = "xyes" ; then
2013-01-04 15:51:53 -08:00
want_gstreamer="yes"
else
2013-01-09 14:22:39 -08:00
want_gstreamer="no"
2013-01-04 15:51:53 -08:00
fi
],
[want_gstreamer="yes"])
2012-12-02 14:35:45 -08:00
### Default values
2012-12-08 08:12:08 -08:00
if test "${have_windows}" = "yes"; then
with_glib="no"
fi
2012-12-02 14:35:45 -08:00
want_glib="no"
2012-12-06 05:01:21 -08:00
if test "x${with_glib}" = "xyes" || test "x${with_glib}" = "xalways" ; then
2012-12-02 14:35:45 -08:00
want_glib="yes"
fi
want_ecore_timer_dump="no"
2012-12-06 05:01:21 -08:00
if test "x${build_profile}" = "xdebug" && test "x${ac_cv_func_backtrace}" = "xyes"; then
2012-12-02 14:35:45 -08:00
want_ecore_timer_dump="yes"
AC_DEFINE([WANT_ECORE_TIMER_DUMP], [1], [Want Ecore_Timer dump infrastructure])
fi
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([ECORE], [all])
EFL_INTERNAL_DEPEND_PKG([ECORE], [eo])
EFL_INTERNAL_DEPEND_PKG([ECORE], [eina])
2012-12-02 14:35:45 -08:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([ECORE], [-lm])
2012-12-02 14:35:45 -08:00
# glib
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([ECORE], [${want_glib}], [GLIB], [glib-2.0])
2012-12-06 15:19:35 -08:00
if test "x${have_glib}" = "xno"; then
2012-12-02 14:35:45 -08:00
want_g_main_loop="no"
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE], [glib])
EFL_ADD_FEATURE([ECORE], [g-main-loop])
2012-12-02 14:35:45 -08:00
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
2013-01-04 15:51:53 -08:00
# not EFL_OPTIONAL_DEPEND_PKG() because it's only used for ecore examples
if test "${want_gstreamer}" = "yes"; then
PKG_CHECK_MODULES([GSTREAMER], [gstreamer-0.10])
fi
AM_CONDITIONAL([HAVE_GSTREAMER], [test "${want_gstreamer}" = "yes"])
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE])
2012-12-02 14:35:45 -08:00
### Checks for header files
AC_HEADER_SYS_WAIT
AC_CHECK_HEADERS([ \
features.h \
sys/prctl.h \
sys/timerfd.h \
])
### 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])
if ! test "x${ac_cv_func_clock_gettime}" = "xyes" ; then
AC_CHECK_LIB([rt], [clock_gettime],
[
2012-12-30 10:08:55 -08:00
EFL_ADD_LIBS([ECORE], [-lrt])
2012-12-02 14:35:45 -08:00
AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Have clock_gettime()])
])
fi
2012-12-30 10:08:55 -08:00
EFL_ADD_LIBS([ECORE], [${LTLIBINTL}])
2012-12-02 14:35:45 -08:00
### Check availability
2012-12-30 07:21:33 -08:00
EFL_LIB_END([Ecore])
2012-12-02 14:35:45 -08:00
#### End of Ecore
#### Ecore_Con
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Ecore_Con])
2012-12-02 14:35:45 -08:00
### Additional options to configure
AC_ARG_ENABLE([curl],
[AC_HELP_STRING([--disable-curl], [disable curl support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_curl="yes"
else
want_curl="no"
fi
],
[want_curl="yes"])
### 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
2012-12-08 08:12:08 -08:00
if test "${have_wince}" = "yes"; then
want_curl="no"
want_cares="no"
want_ecore_con_local_sockets="no"
want_ecore_con_abstract_sockets="no"
elif 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="no"
elif test "${have_ps3}" = "yes"; then
want_cares="no"
want_ecore_con_local_sockets="no"
want_ecore_con_abstract_sockets="no"
else
2012-12-30 17:40:50 -08:00
want_cares="no"
2012-12-08 08:12:08 -08:00
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
### Checks for programs
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_PLATFORM_DEPEND([ECORE_CON], [all])
EFL_CRYPTO_DEPEND([ECORE_CON])
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])
2012-12-02 14:35:45 -08:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([ECORE_CON], [-lm])
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_curl}], [CURL], [libcurl])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([ECORE_CON], [${want_cares}],
2012-12-06 15:19:35 -08:00
[CARES], [libcares >= 1.6.1])
2012-12-02 14:35:45 -08:00
AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
2013-01-18 05:48:14 -08:00
if test "x$have_cares" = "xyes" ; then
ecore_con_resolver="cares"
elif test "x$have_ipv6" = "xyes" ; then
ecore_con_resolver="dns.c"
else
ecore_con_resolver="fork"
fi
EFL_ADD_FEATURE([ECORE_CON], [curl])
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}])
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
2013-01-10 12:26:02 -08:00
AC_CHECK_HEADERS([ws2tcpip.h netdb.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"],
[[
2013-01-10 12:26:02 -08:00
#include <netinet/in.h>
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
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
### 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])
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
### 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])
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
2012-12-30 07:21:33 -08:00
EFL_LIB_START([Ecore_Input])
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_INPUT], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_INPUT], [eina])
### 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
EFL_LIB_END([Ecore_Input])
#### End of Ecore_Input
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
#### Ecore_Input_Evas
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
### 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])
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])
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 10:08:55 -08:00
EFL_LIB_END([Ecore_Input_Evas])
#### End of Ecore_Input_Evas
2012-12-02 14:35:45 -08:00
#### Ecore_Cocoa
2013-01-16 12:43:49 -08:00
EFL_LIB_START_OPTIONAL([Ecore_Cocoa], [test "${want_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])
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
2013-01-16 12:43:49 -08:00
dnl TODO: once cocoa is fixed and test-able, add required libs here
dnl to ECORE_COCOA_LIBS and ECORE_COCOA_CFLAGS.
dnl Evas already tests for ObjC and Cocoa/Cocoa.h
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],
2012-12-07 11:35:33 -08:00
[AC_HELP_STRING([--disable-tslib],
2012-12-07 11:07:42 -08:00
[disable tslib for touchscreen events.])],
[
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])
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_Psl1ght
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_Psl1ght], [test "${have_ps3}" = "yes"])
2012-12-02 14:35:45 -08:00
### Additional options to configure
### Default values
### Checks for programs
### Checks for libraries
2013-01-14 14:36:23 -08:00
EFL_PLATFORM_DEPEND([ECORE_PSL1GHT], [escape])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_PSL1GHT], [eina])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_ADD_LIBS([ECORE_PSL1GHT], [-lio -lsysutil -lgem -lcamera -lspurs])
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_Psl1ght])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Psl1ght
#### 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])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_SDL], [eina])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_DEPEND_PKG([ECORE_SDL], [SDL], [sdl >= 1.2.0])
2012-12-02 14:35:45 -08:00
2012-12-07 11:07:42 -08:00
PKG_CHECK_EXISTS([sdl >= 1.3.0],
[AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])])
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
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_Wayland], [test "${want_wayland}" = "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_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])
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],
2012-12-07 11:26:13 -08:00
[wayland-client wayland-cursor xkbcommon])
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
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
2012-12-28 07:24:09 -08:00
#### Ecore_Audio
AC_ARG_ENABLE([audio],
[AC_HELP_STRING([--disable-audio],
[disable audio support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_audio="yes"
else
want_audio="no"
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
# 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],
[AC_HELP_STRING([--disable-pulseaudio],
[disable pulseaudio sound support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_pulseaudio="yes"
else
want_pulseaudio="no"
fi
],
[want_pulseaudio="yes"])
### Default values
### Checks for programs
### 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])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_AUDIO], [eina])
2012-12-28 07:24:09 -08:00
2012-12-30 13:52:34 -08:00
EFL_ADD_LIBS([ECORE_AUDIO], [-lm])
2012-12-30 10:08:55 -08:00
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])
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])
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])
#### End of Ecore_Audio
2012-12-28 07:24:09 -08:00
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])
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
#### Ecore_WinCE
2012-12-30 07:21:33 -08:00
EFL_LIB_START_OPTIONAL([Ecore_WinCE], [test "${have_wince}" = "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_WINCE], [evil])
EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [ecore-input])
EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_WINCE], [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_OPTIONAL([Ecore_WinCE])
2012-12-02 14:35:45 -08:00
#### End of Ecore_WinCE
#### 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],
2012-12-09 23:58:41 -08:00
[AC_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
2012-12-08 07:35:44 -08:00
AC_ARG_ENABLE([xinput2],
2012-12-09 23:58:41 -08:00
[AC_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"
fi
],
[want_xinput2="yes"])
2012-12-09 23:58:41 -08:00
AC_ARG_ENABLE([xinput22],
[AC_HELP_STRING([--enable-xinput22], [enable X11 XInput v2.2+ support])],
[
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],
[AC_HELP_STRING([--disable-xim], [disable X Input Method.])],
[
if test "x${enableval}" = "xyes" ; then
want_xim="yes"
else
want_xim="no"
fi
],
[want_xim="yes"])
### 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])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([ECORE_X], [eina])
2012-12-02 14:35:45 -08:00
## Xlib
## XCB
### Checks for header files
AC_CHECK_DECL([MAXHOSTNAMELEN], [FOUND_MAXHOSTNAMELEN=yes])
if test "x${FOUND_MAXHOSTNAMELEN}" != "xyes" ; then
FOUND_MAXHOSTNAMELEN="not found"
AC_COMPILE_IFELSE(
[
AC_LANG_PROGRAM(
[[
#include <sys/param.h>
]],
[[
int h = MAXHOSTNAMELEN;
]])
],
[
FOUND_MAXHOSTNAMELEN="sys/param.h"
AC_DEFINE([NEED_SYS_PARAM_H], [1], [Define to 1 if you need <sys/param.h> to define MAXHOSTNAMELEN])
])
AC_COMPILE_IFELSE(
[
AC_LANG_PROGRAM(
[[
#include <netdb.h>
]],
[[
int h = MAXHOSTNAMELEN;
]])
],
[
FOUND_MAXHOSTNAMELEN="netdb.h"
AC_DEFINE([NEED_NETDB_H], [1], [Define to 1 if you need <netdb.h> to define MAXHOSTNAMELEN])
])
AC_MSG_CHECKING([for header that defines MAXHOSTNAMELEN])
AC_MSG_RESULT([$FOUND_MAXHOSTNAMELEN])
fi
## Xlib
2012-12-07 12:23:45 -08:00
if test "x${want_x11_xcb}" = "xyes" ; then
2012-12-02 14:35:45 -08:00
KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
for i in $FILES; do
if test -f "$KEYSYMDEFDIR/$i"; then
KEYSYMDEFS="$KEYSYMDEFS $KEYSYMDEFDIR/$i"
elif test "x$i" = "xkeysymdef.h"; then
AC_MSG_ERROR([Cannot find keysymdef.h])
fi
done
AC_MSG_CHECKING([keysym definitions])
AC_MSG_RESULT([$KEYSYMDEFS])
AC_SUBST([KEYSYMDEFS])
fi
### 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([Xprint], [Print.h], [Xp], [XpQueryScreens])
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])
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
2012-12-02 14:35:45 -08:00
AC_DEFINE([HAVE_ECORE_X_XLIB], [1], [Defined to 1 if Xlib is enabled.])
2012-12-08 07:26:27 -08:00
HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XLIB"
2012-12-02 14:35:45 -08:00
fi
## XCB
2012-12-07 15:16:43 -08:00
if test "${want_x11_xcb}" = "yes"; then
dnl note: added pixman-1 as ecore_xcb_region uses that
2012-12-30 10:08:55 -08:00
EFL_DEPEND_PKG([ECORE_X], [ECORE_X_XCB],
2012-12-07 15:16:43 -08:00
[x11-xcb xcb xcb-shm xcb-event xcb-icccm >= 0.3.8 xcb-util >= 0.3.8 xcb-image xcb-keysyms >= 0.3.8 xcb-composite xcb-damage xcb-dpms xcb-randr xcb-render xcb-screensaver xcb-shape xcb-sync xcb-xfixes xcb-xinerama xcb-xprint xcb-xtest xcb-renderutil pixman-1])
dnl TODO: remove these ifdefs from code!
AC_DEFINE([ECORE_XCB_COMPOSITE], [1], [Build support for XCB composite])
AC_DEFINE([ECORE_XCB_DAMAGE], [1], [Build support for XCB damage])
AC_DEFINE([ECORE_XCB_DPMS], [1], [Build support for XCB dpms])
AC_DEFINE([ECORE_XCB_RANDR], [1], [Build support for XCB randr])
AC_DEFINE([ECORE_XCB_RENDER], [1], [Build support for XCB render])
AC_DEFINE([ECORE_XCB_SCREENSAVER], [1], [Build support for XCB screensaver])
AC_DEFINE([ECORE_XCB_SHAPE], [1], [Build support for XCB shape])
AC_DEFINE([ECORE_XCB_SYNC], [1], [Build support for XCB sync])
AC_DEFINE([ECORE_XCB_XFIXES], [1], [Build support for XCB xfixes])
AC_DEFINE([ECORE_XCB_XINERAMA], [1], [Build support for XCB xinerama])
AC_DEFINE([ECORE_XCB_XPRINT], [1], [Build support for XCB xprint])
AC_DEFINE([ECORE_XCB_XTEST], [1], [Build support for XCB xtest])
AC_DEFINE([ECORE_XCB_CURSOR], [1], [Build support for XCB cursor])
2012-12-30 10:08:55 -08:00
EFL_OPTIONAL_DEPEND_PKG([ECORE_X], [${want_gesture}], [ECORE_XCB_GESTURE],
2012-12-07 15:16:43 -08:00
[xcb-gesture])
AC_DEFINE_IF([ECORE_XCB_XGESTURE], [test "${want_gesture}" = "yes"],
[1], [Build support for XCB xgesture])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_X], [gesture])
2012-12-07 15:16:43 -08:00
dnl input extension disabled currently in xcb as xcb-input has some issues
dnl remember to add xcb-xinput to EFL_DEPEND_PKG()
dnl AC_DEFINE([ECORE_XCB_XINPUT], [1], [Build support for XCB input])
dnl dri extension disabled currently in xcb
dnl remember to add xcb-dri2 to EFL_DEPEND_PKG()
dnl AC_DEFINE([ECORE_XCB_DRI], [1], [Build support for XCB dri])
2012-12-02 14:35:45 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([ECORE_X])
2012-12-02 14:35:45 -08:00
EFL_CHECK_FUNCS([ECORE_X], [dlopen iconv])
2012-12-08 07:26:27 -08:00
HAVE_ECORE_X_BACKEND="HAVE_ECORE_X_XCB"
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-08 07:26:27 -08:00
AC_SUBST([HAVE_ECORE_X_BACKEND])
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"])
AM_CONDITIONAL([HAVE_ECORE_X_XCB], [test "${want_x11_xcb}" = "yes"])
2012-12-02 14:35:45 -08:00
#### End of Ecore_X
#### Ecore_Imf
2012-12-30 07:21:33 -08: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"
2012-12-08 08:12:08 -08:00
if test "${have_wince}" = "yes"; then
want_ecore_imf="no"
else
want_ecore_imf="yes"
if test "${have_windows}" = "no" && test "${have_darwin}" = "no"; then
2012-12-02 14:35:45 -08:00
want_ecore_imf="yes"
want_ecore_imf_xim="yes"
want_ecore_imf_scim="yes"
want_ecore_imf_ibus="yes"
2012-12-08 08:12:08 -08:00
fi
fi
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_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])
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"
2012-12-06 05:01:21 -08:00
if 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-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_IMF], [ibus], [${want_ecore_imf_ibus}])
2012-12-02 14:35:45 -08:00
# scim
if test "x${want_ecore_imf_scim}" = "xyes" ; then
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-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([ECORE_IMF], [scim], [${want_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
### 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_Imf])
2012-12-02 14:35:45 -08:00
#### End of Ecore_Imf
2012-12-30 10:08:55 -08:00
#### Ecore_Imf_Evas
EFL_LIB_START([Ecore_Imf_Evas])
### Additional options to configure
### Default values
### Checks for programs
### 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])
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])
### 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_Imf_Evas])
#### End of Ecore_Imf_Evas
2012-12-02 14:35:45 -08:00
#### Ecore_Evas
2012-12-30 07:21:33 -08: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-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
### 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])
EFL_INTERNAL_DEPEND_PKG([ECORE_EVAS], [evas])
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])
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}])
ECORE_EVAS_MODULE([psl1ght], [${have_ps3}])
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
2012-12-07 12:23:45 -08:00
ECORE_EVAS_MODULE([software-x11], [${want_x11_any}])
2012-12-02 14:35:45 -08:00
have_ecore_evas_software_xlib="no"
have_ecore_evas_software_xcb="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
2012-12-07 05:14:35 -08:00
have_ecore_evas_software_xcb=${have_evas_engine_software_xcb}
2012-12-02 14:35:45 -08:00
if test "x$have_ecore_evas_software_xcb" = "xstatic"; then
have_ecore_evas_software_xcb="yes"
fi
2012-12-07 12:23:45 -08:00
if test "x$have_ecore_evas_software_xcb" = "xyes"; then
2012-12-02 14:35:45 -08:00
AC_DEFINE([BUILD_ECORE_EVAS_SOFTWARE_XCB], [1], [Evas Software XCB 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
2012-12-07 15:16:43 -08:00
ECORE_EVAS_MODULE([opengl-x11], [${want_x11_any_opengl}])
2012-12-02 14:35:45 -08:00
have_ecore_evas_opengl_xlib="no"
have_ecore_evas_opengl_xcb="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
# opengl does not work with xcb (yet)
2012-12-07 05:14:35 -08:00
have_ecore_evas_opengl_xcb=${have_evas_engine_gl_xcb}
2012-12-02 14:35:45 -08:00
if test "x${have_ecore_evas_opengl_xcb}" = "xstatic"; then
have_ecore_evas_opengl_xcb="yes"
fi
2012-12-07 12:23:45 -08:00
if test "x${have_ecore_evas_opengl_xcb}" = "xyes"; then
2012-12-02 14:35:45 -08:00
PKG_CHECK_MODULES([XCB_X11],
[x11-xcb],
[
have_ecore_x_opengl_xcb="yes"
requirements_ecore_x="x11-xcb ${requirements_ecore_x}"
AC_DEFINE([BUILD_ECORE_X_OPENGL_XCB], [1], [Build support for XCB-based OpenGL])
AC_DEFINE([BUILD_ECORE_EVAS_OPENGL_XCB], [1], [OpenGL XCB rendering backend])
],
[have_ecore_x_opengl_xcb="no"])
else
have_ecore_x_opengl_xcb="no"
AC_MSG_NOTICE(["XCB-based OpenGL explicitly disabled"])
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" || \
test "x$have_ecore_evas_opengl_x11" = "xyes" || \
test "x$have_ecore_evas_software_xcb" = "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
2012-12-07 10:24:49 -08:00
AM_CONDITIONAL([BUILD_ECORE_EVAS_X11], [test "${build_ecore_evas_x11}" = "yes"])
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
2012-12-30 07:21:33 -08: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
### Checks for libraries
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EIO], [ecore])
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])
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
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-28 09:53:25 -08:00
#### EDBus
2012-12-30 07:21:33 -08:00
EFL_LIB_START([EDBus])
2012-12-28 09:53:25 -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([EDBUS], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([EDBUS], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EDBUS], [eina])
2012-12-28 09:53:25 -08:00
2012-12-30 10:08:55 -08:00
EFL_DEPEND_PKG([EDBUS], [DBUS], [dbus-1])
2012-12-28 09:53:25 -08:00
2012-12-30 10:08:55 -08:00
EFL_EVAL_PKGS([EDBUS])
2012-12-28 09:53:25 -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([EDBus])
2012-12-28 09:53:25 -08:00
#### End of EDBus
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
### 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], [edbus])
EFL_INTERNAL_DEPEND_PKG([EFREET], [eo])
2012-12-30 10:08:55 -08:00
EFL_INTERNAL_DEPEND_PKG([EFREET], [eina])
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 12:37:42 -08:00
#### Eeze
EFL_LIB_START_OPTIONAL([Eeze], [test "${have_linux}" = "yes"])
### Additional options to configure
AC_ARG_ENABLE([tizen],
[AC_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"])
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])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([EEZE], [eo])
2013-01-16 13:05:19 -08:00
EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-file])
EFL_INTERNAL_DEPEND_PKG([EEZE], [ecore-con])
EFL_INTERNAL_DEPEND_PKG([EEZE], [eet])
2013-01-03 12:37:42 -08:00
EFL_DEPEND_PKG([EEZE], [UDEV], [libudev >= 148])
2013-01-16 13:05:19 -08:00
EFL_DEPEND_PKG([EEZE], [EEZE_MOUNT], [mount >= 2.20.0])
2013-01-03 12:37:42 -08:00
## modules
if test "${want_tizen}" = "yes"; then
PKG_CHECK_MODULES([TIZEN_SENSOR], [capi-system-sensor])
fi
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EEZE], [tizen])
2013-01-03 12:37:42 -08:00
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])
2013-01-11 09:07:04 -08:00
AM_CONDITIONAL([HAVE_EEZE_TIZEN], [test "x${want_tizen}" = "xyes"])
2013-01-03 12:37:42 -08:00
#### End of Eeze
2013-01-03 14:10:40 -08:00
#### EPhysics
AC_ARG_ENABLE([physics],
[AC_HELP_STRING([--disable-physics],
[disable physics effects and support. @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_physics="yes"
else
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])
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [ecore])
2013-01-14 14:36:23 -08:00
EFL_INTERNAL_DEPEND_PKG([EPHYSICS], [eo])
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
EFL_LIB_START([Edje])
### Additional options to configure
### Default values
want_multisense="no" # TODO: move to ecore_audio and enable
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])
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])
EFL_INTERNAL_DEPEND_PKG([EDJE], [eio])
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_physics}], [ephysics])
#EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EDJE], [${want_multisense}], [ecore-audio])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EDJE], [physics])
EFL_ADD_FEATURE([EDJE], [multisense])
2013-01-03 18:08:14 -08:00
EFL_CHECK_LUA_5_1([EDJE])
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"],
[1], [Use Multisense])
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
### Checks for types
### Checks for structures
### Checks for compiler characteristics
### Checks for linker characteristics
### Checks for library functions
EFL_LIB_END([Edje])
#### End of Edje
2013-01-09 19:43:32 -08:00
#### Emotion
EFL_LIB_START([Emotion])
### 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],
[AC_HELP_STRING([--enable-xine],
[enable xine support. @<:@default=disabled@:>@])],
[
if test "x${withval}" = "xyes" ; then
want_xine="yes"
else
want_xine="no"
fi
],
[want_xine="no"])
AC_ARG_ENABLE([v4l2],
[AC_HELP_STRING([--enable-v4l2], [enable v4l2 support.])],
[
if test "x${withval}" = "xyes" ; then
want_v4l2="yes"
else
want_v4l2="no"
fi
],
[want_v4l2="${efl_lib_optional_eeze}"])
### 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])
EFL_INTERNAL_DEPEND_PKG([EMOTION], [eio])
EFL_OPTIONAL_INTERNAL_DEPEND_PKG([EMOTION], [${want_v4l2}], [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}])
EMOTION_MODULE([generic], [${want_emotion_generic}])
2013-01-18 05:48:14 -08:00
EFL_ADD_FEATURE([EMOTION], [xine])
EFL_ADD_FEATURE([EMOTION], [gstreamer])
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
EFL_LIB_END([Emotion])
#### End of Emotion
2013-01-11 17:15:45 -08:00
#### Ethumb
EFL_LIB_START([Ethumb])
### Default values
### Additional options to configure
### Checks for programs
### Checks for libraries
EFL_PLATFORM_DEPEND([EINA], [evil])
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [eina])
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [evas])
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])
EFL_INTERNAL_DEPEND_PKG([ETHUMB], [edje])
## 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
EFL_LIB_END([Ethumb])
#### End of Ethumb
#### Ethumb_Client
EFL_LIB_START([Ethumb_Client])
### Default values
### Additional options to configure
### Checks for programs
### 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])
2013-01-11 17:15:45 -08:00
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ecore])
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [edbus])
EFL_INTERNAL_DEPEND_PKG([ETHUMB_CLIENT], [ethumb])
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
EFL_LIB_END([Ethumb_Client])
#### End of Ethumb_Client
2013-01-05 06:41:14 -08:00
AC_ARG_ENABLE([always-build-examples],
[AC_HELP_STRING([--enable-always-build-examples],
[always build examples. @<:@default=disabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_always_build_examples="yes"
else
want_always_build_examples="no"
fi
],
[want_always_build_examples="no"])
AM_CONDITIONAL([ALWAYS_BUILD_EXAMPLES], [test "${want_always_build_examples}" = "yes"])
2012-12-02 14:35:45 -08:00
AC_CONFIG_FILES([
Makefile
data/Makefile
doc/Makefile
doc/Doxyfile
src/Makefile
src/benchmarks/eina/Makefile
src/benchmarks/eo/Makefile
src/examples/eina/Makefile
src/examples/eet/Makefile
src/examples/eo/Makefile
src/examples/evas/Makefile
2012-12-03 11:36:16 -08:00
src/examples/ecore/Makefile
2012-12-05 10:10:43 -08:00
src/examples/eio/Makefile
2012-12-28 09:53:25 -08:00
src/examples/edbus/Makefile
2013-01-03 14:10:40 -08:00
src/examples/ephysics/Makefile
2013-01-03 18:08:14 -08:00
src/examples/edje/Makefile
2013-01-09 19:43:32 -08:00
src/examples/emotion/Makefile
2013-01-15 10:10:58 -08:00
src/examples/ethumb_client/Makefile
2012-12-02 14:35:45 -08:00
src/lib/eina/eina_config.h
2012-12-09 02:42:39 -08:00
src/lib/ecore_x/ecore_x_version.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
pc/eet.pc
pc/eo.pc
pc/evas-fb.pc
pc/evas-opengl-x11.pc
pc/evas-opengl-sdl.pc
pc/evas-opengl-cocoa.pc
pc/evas-psl1ght.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
pc/evas.pc
pc/ecore.pc
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
pc/ecore-fb.pc
2012-12-03 01:16:33 -08:00
pc/ecore-psl1ght.pc
2012-12-02 14:35:45 -08:00
pc/ecore-sdl.pc
2012-12-03 01:16:33 -08:00
pc/ecore-wayland.pc
2012-12-02 14:35:45 -08:00
pc/ecore-win32.pc
pc/ecore-wince.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
2012-12-02 14:35:45 -08:00
pc/embryo.pc
2012-12-04 09:40:58 -08:00
pc/eio.pc
2012-12-28 09:53:25 -08:00
pc/edbus2.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
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
2012-12-29 15:04:40 -08:00
dbus-services/org.enlightenment.Efreet.service
2013-01-11 17:15:45 -08:00
dbus-services/org.enlightenment.Ethumb.service
2012-12-02 14:35:45 -08:00
$po_makefile_in
])
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
;;
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])
EFL_ADD_FEATURE([thread], [spinlocks], [${efl_have_posix_threads_spinlock}])
EFL_ADD_FEATURE([thread], [barrier], [${efl_have_pthread_barrier}])
EFL_ADD_FEATURE([thread], [affinity], [${efl_have_setaffinity}])
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
echo "Configuration...: ${COLOR_OTHER}profile=${build_profile} os=${osname}${COLOR_RESET}"
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}"
echo " OpenGL........: ${with_opengl}"
echo "Evas............: yes (${features_evas})"
echo " Engines.......: ${features_evas_engine}"
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"
echo "Ecore_IMF.......: yes (${features_ecore_imf})"
echo "Ecore_X.........: ${with_x11} (${features_ecore_x})"
echo "Ecore_SDL.......: $want_sdl"
echo "Ecore_Wayland...: $want_wayland"
if test "${have_linux}" = "yes"; then
echo "Ecore_FB........: $want_fb (${features_ecore_fb})"
elif test "${have_ps3}" = "yes"; then
echo "Ecore_PSL1GHT...: $have_ps3"
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"
echo "Ecore_WinCE.....: $have_wince"
fi
echo "Ecore_Audio.....: ${efl_lib_optional_ecore_audio} (${features_ecore_audio})"
echo "Ecore_Evas......: yes (${features_ecore_evas})"
echo "Eeze............: ${efl_lib_optional_eeze} (${features_eeze})"
echo "EPhysics........: ${efl_lib_optional_ephysics}"
echo "Edje............: yes (${features_edje})"
echo "Emotion.........: yes (${features_emotion})"
echo "Ethumb..........: yes"
echo "Ethumb_Client...: yes"
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-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"
echo "Installation....: make install (as root if needed, with 'su' or 'sudo')"
echo " prefix........: $prefix"
2012-09-11 09:04:21 -07:00
echo