forked from enlightenment/efl
1876 lines
57 KiB
Plaintext
1876 lines
57 KiB
Plaintext
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
m4_define([v_maj], [1])
|
|
m4_define([v_min], [0])
|
|
m4_define([v_mic], [999])
|
|
m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
|
|
m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
|
|
##-- When released, remove the dnl on the below line
|
|
dnl m4_undefine([v_rev])
|
|
##-- When doing snapshots - change soname. remove dnl on below line
|
|
dnl m4_define([relname], [ver-pre-svn-07])
|
|
dnl m4_define([v_rel], [-release relname])
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
|
|
m4_define([lt_cur], m4_eval(v_maj + v_min))
|
|
m4_define([lt_rev], v_mic)
|
|
m4_define([lt_age], v_min)
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
|
|
# rw_PROG_OBJC_WORKS
|
|
# Check whether the Objective C compiler works.
|
|
AC_DEFUN([rw_PROG_OBJC_WORKS],
|
|
[m4_ifdef([AC_PROG_OBJC], [AC_REQUIRE([AC_PROG_OBJC])dnl
|
|
AC_CACHE_CHECK([whether the Objective C compiler works],
|
|
[rw_cv_prog_objc_works],
|
|
[AC_LANG_PUSH([Objective C])
|
|
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
|
|
[rw_cv_prog_objc_works=yes],
|
|
[rw_cv_prog_objc_works=no])
|
|
AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
|
|
])
|
|
|
|
AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
|
|
AC_PREREQ([2.52])
|
|
AC_CONFIG_SRCDIR([configure.ac])
|
|
AC_CONFIG_MACRO_DIR([m4])
|
|
|
|
AC_CONFIG_HEADERS([config.h])
|
|
AH_TOP([
|
|
#ifndef EFL_CONFIG_H__
|
|
#define EFL_CONFIG_H__
|
|
])
|
|
AH_BOTTOM([
|
|
#endif /* EFL_CONFIG_H__ */
|
|
])
|
|
|
|
AM_INIT_AUTOMAKE([1.6 dist-bzip2])
|
|
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
|
|
|
AC_GNU_SOURCE
|
|
|
|
AC_LIBTOOL_WIN32_DLL
|
|
define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
|
|
AC_PROG_LIBTOOL
|
|
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
|
|
m4_ifdef([v_rel], , [m4_define([v_rel], [])])
|
|
AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
|
|
AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
|
|
AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
|
|
AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
|
|
version_info="lt_cur:lt_rev:lt_age"
|
|
release_info="v_rel"
|
|
AC_SUBST(version_info)
|
|
AC_SUBST(release_info)
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
|
|
VMAJ=v_maj
|
|
AC_SUBST(VMAJ)
|
|
|
|
### Needed information
|
|
|
|
AC_CANONICAL_BUILD
|
|
AC_CANONICAL_HOST
|
|
|
|
case "$host_os" in
|
|
mingw32ce* | cegcc*)
|
|
MODULE_ARCH="$host_os-$host_cpu"
|
|
;;
|
|
*)
|
|
MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
|
|
;;
|
|
esac
|
|
AC_SUBST(MODULE_ARCH)
|
|
AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
|
|
|
|
want_fontconfig="auto"
|
|
want_fribidi="auto"
|
|
want_harfbuzz="auto"
|
|
want_pixman="no"
|
|
want_evas_cserve="yes"
|
|
|
|
want_evas_engine_buffer="yes"
|
|
want_evas_engine_software_xlib="no"
|
|
want_evas_engine_gl_x11="no"
|
|
want_evas_engine_gl_sdl="no"
|
|
want_evas_engine_software_xcb="no"
|
|
want_evas_engine_software_gdi="no"
|
|
want_evas_engine_software_ddraw="no"
|
|
want_evas_engine_direct3d="no"
|
|
want_evas_engine_software_sdl="no"
|
|
want_evas_engine_fb="no"
|
|
want_evas_engine_directfb="no"
|
|
want_evas_engine_software_8_x11="no"
|
|
want_evas_engine_software_16_x11="no"
|
|
want_evas_engine_software_16_ddraw="no"
|
|
want_evas_engine_software_16_wince="no"
|
|
|
|
want_evas_image_loader_edb="yes"
|
|
want_evas_image_loader_eet="yes"
|
|
want_evas_image_loader_gif="yes"
|
|
want_evas_image_loader_jpeg="yes"
|
|
want_evas_image_loader_pmaps="yes"
|
|
want_evas_image_loader_png="yes"
|
|
want_evas_image_loader_svg="yes"
|
|
want_evas_image_loader_tiff="yes"
|
|
want_evas_image_loader_xpm="yes"
|
|
want_evas_image_loader_bmp="yes"
|
|
want_evas_image_loader_tga="yes"
|
|
want_evas_image_loader_wbmp="yes"
|
|
want_evas_image_loader_ico="yes"
|
|
want_evas_image_loader_psd="yes"
|
|
want_evas_image_loader_generic="yes"
|
|
|
|
want_evas_font_loader_eet="yes"
|
|
|
|
case "$host_os" in
|
|
mingw32ce* | cegcc*)
|
|
want_fontconfig="no"
|
|
want_evas_engine_software_16_wince="yes"
|
|
want_evas_image_loader_edb="no"
|
|
want_evas_image_loader_gif="no"
|
|
want_evas_image_loader_svg="no"
|
|
want_evas_image_loader_tiff="no"
|
|
;;
|
|
mingw*)
|
|
want_evas_engine_software_gdi="yes"
|
|
want_evas_engine_software_ddraw="yes"
|
|
want_evas_engine_direct3d="yes"
|
|
want_evas_engine_software_16_ddraw="yes"
|
|
want_evas_image_loader_edb="no"
|
|
want_evas_image_loader_svg="no"
|
|
;;
|
|
darwin*)
|
|
want_evas_engine_software_xlib="auto"
|
|
;;
|
|
*)
|
|
want_evas_engine_software_xlib="auto"
|
|
want_evas_engine_gl_x11="auto"
|
|
want_evas_engine_fb="auto"
|
|
### no - not ready/usable/complete
|
|
# want_evas_engine_software_8_x11="auto"
|
|
# want_evas_engine_software_16_x11="auto"
|
|
;;
|
|
esac
|
|
|
|
requirement_evas=""
|
|
|
|
|
|
### Additional options to configure
|
|
|
|
# when used, that option makes configure script fails when
|
|
# a requirement is selected, but not met.
|
|
use_strict="no"
|
|
AC_ARG_ENABLE([strict],
|
|
AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
|
|
[use_strict="yes"],
|
|
[use_strict="no"])
|
|
|
|
# Simple X11 build/link
|
|
AC_ARG_ENABLE([simple-x11],
|
|
AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
|
|
[
|
|
if test "x${enableval}" = "xyes" ; then
|
|
want_evas_simple_x11="yes"
|
|
else
|
|
want_evas_simple_x11="no"
|
|
fi
|
|
])
|
|
|
|
|
|
### Checks for programs
|
|
|
|
m4_ifdef([AC_PROG_OBJC],
|
|
[
|
|
AC_PROG_OBJC
|
|
_AM_DEPENDENCIES(OBJC)
|
|
],
|
|
[
|
|
dnl#AC_CHECK_TOOL([OBJC], [gcc])
|
|
dnl#AC_SUBST([OBJC])
|
|
dnl#AC_SUBST([OBJCFLAGS])
|
|
])
|
|
|
|
rw_PROG_OBJC_WORKS
|
|
|
|
AC_PROG_CXX
|
|
AC_PROG_CC
|
|
|
|
# pkg-config
|
|
PKG_PROG_PKG_CONFIG
|
|
|
|
# Check whether pkg-config supports Requires.private
|
|
if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
|
|
pkgconfig_requires_private="Requires.private"
|
|
else
|
|
pkgconfig_requires_private="Requires"
|
|
fi
|
|
AC_SUBST(pkgconfig_requires_private)
|
|
|
|
# doxygen program for documentation building
|
|
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
|
|
|
|
|
|
### Checks for libraries
|
|
|
|
# Evil library for compilation on Windows CE
|
|
|
|
case "$host_os" in
|
|
mingw* | cegcc*)
|
|
PKG_CHECK_MODULES([EVIL], [evil])
|
|
AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
|
|
requirement_evas="evil ${requirement_evas}"
|
|
;;
|
|
esac
|
|
|
|
## strong dependencies
|
|
|
|
# Eina
|
|
PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
|
|
CPPFLAGS_SAVE="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $EINA_CFLAGS"
|
|
AC_CHECK_SIZEOF(Eina_Unicode,, [#include <Eina.h>])
|
|
CPPFLAGS="$CPPFLAGS_SAVE"
|
|
|
|
# Freetype
|
|
PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
|
|
|
|
requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
|
|
|
|
## optional dependencies
|
|
|
|
# FontConfig
|
|
have_fontconfig="no"
|
|
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
|
|
])
|
|
|
|
|
|
if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
|
|
PKG_CHECK_MODULES([FONTCONFIG],
|
|
[fontconfig],
|
|
[
|
|
have_fontconfig="yes"
|
|
AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
|
|
requirement_evas="fontconfig ${requirement_evas}"
|
|
],
|
|
[
|
|
if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
|
|
AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
|
|
fi
|
|
])
|
|
fi
|
|
|
|
# linebreak
|
|
have_linebreak="no"
|
|
want_linebreak="yes"
|
|
AC_ARG_ENABLE([liblinebreak],
|
|
AC_HELP_STRING([--disable-liblinebreak],
|
|
[disable linking against liblinebreak. @<:@default=enabled@:>@]),
|
|
[
|
|
if test "x${enableval}" = "xyes" ; then
|
|
want_linebreak="yes"
|
|
else
|
|
want_linebreak="no"
|
|
fi
|
|
])
|
|
|
|
|
|
AM_CONDITIONAL(EVAS_USE_LINEBREAK, test "x${want_linebreak}" = "xyes")
|
|
if test "x${want_linebreak}" = "xyes" ; then
|
|
have_linebreak="yes"
|
|
LINEBREAK_CFLAGS='-I$(top_srcdir)/src/static_deps/liblinebreak'
|
|
LINEBREAK_LIBS='$(top_builddir)/src/static_deps/liblinebreak/liblinebreak.la'
|
|
AC_SUBST(LINEBREAK_CFLAGS)
|
|
AC_SUBST(LINEBREAK_LIBS)
|
|
AC_DEFINE(HAVE_LINEBREAK, 1, [have liblinebreak support])
|
|
else
|
|
have_linebreak="no"
|
|
fi
|
|
|
|
# fribidi support
|
|
have_fribidi="no"
|
|
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
|
|
])
|
|
|
|
if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
|
|
PKG_CHECK_MODULES([FRIBIDI],
|
|
[fribidi >= 0.19.2],
|
|
[
|
|
have_fribidi="yes"
|
|
AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
|
|
requirement_evas="fribidi ${requirement_evas}"
|
|
CPPFLAGS_SAVE="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $FRIBIDI_CFLAGS"
|
|
AC_CHECK_SIZEOF(FriBidiChar,, [#include <fribidi/fribidi.h>])
|
|
CPPFLAGS="$CPPFLAGS_SAVE"
|
|
],
|
|
[
|
|
if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
|
|
AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
|
|
fi
|
|
])
|
|
fi
|
|
|
|
if test "x${have_fribidi}" = "xno"; then
|
|
HAS_BIDI=0
|
|
fi
|
|
|
|
# harfbuzz support
|
|
have_harfbuzz="no"
|
|
have_harfbuzz_ft="no"
|
|
AC_ARG_ENABLE([harfbuzz],
|
|
AC_HELP_STRING([--disable-harfbuzz],
|
|
[disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
|
|
[
|
|
if test "x${enableval}" = "xyes" ; then
|
|
want_harfbuzz="yes"
|
|
else
|
|
want_harfbuzz="no"
|
|
fi
|
|
])
|
|
|
|
if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
|
|
PKG_CHECK_MODULES([HARFBUZZ],
|
|
[harfbuzz >= 0.6.0],
|
|
[
|
|
have_harfbuzz="yes"
|
|
requirement_evas="harfbuzz ${requirement_evas}"
|
|
],
|
|
[
|
|
if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
|
|
AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
|
|
fi
|
|
])
|
|
if test "x$have_harfbuzz" = "xyes" ; then
|
|
|
|
CPPFLAGS_SAVE="$CPPFLAGS"
|
|
CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_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])
|
|
],
|
|
[
|
|
if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
|
|
AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
|
|
fi
|
|
have_harfbuzz="no"
|
|
])
|
|
CPPFLAGS="$CPPFLAGS_SAVE"
|
|
fi
|
|
fi
|
|
|
|
if test "x${have_harfbuzz}" = "xno"; then
|
|
HAS_HARFBUZZ=0
|
|
fi
|
|
|
|
# Pixman
|
|
have_pixman="no"
|
|
AC_ARG_ENABLE([pixman],
|
|
AC_HELP_STRING([--disable-pixman],
|
|
[disable pixman for software rendering. @<:@default=enabled@:>@]),
|
|
[
|
|
if test "x${enableval}" = "xyes" ; then
|
|
want_pixman="yes"
|
|
else
|
|
want_pixman="no"
|
|
fi
|
|
])
|
|
|
|
|
|
if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
|
|
PKG_CHECK_MODULES([PIXMAN],
|
|
[pixman-1],
|
|
[
|
|
have_pixman="yes"
|
|
AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
|
|
requirement_evas="pixman-1 ${requirement_evas}"
|
|
],
|
|
[
|
|
if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
|
|
AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
|
|
fi
|
|
])
|
|
fi
|
|
|
|
### Checks for header files
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h netinet/in.h])
|
|
|
|
EFL_CHECK_PATH_MAX
|
|
|
|
|
|
### Checks for types
|
|
|
|
|
|
### Checks for structures
|
|
|
|
|
|
### Checks for compiler characteristics
|
|
AC_C_CONST
|
|
AC_C_BIGENDIAN
|
|
AC_C___ATTRIBUTE__
|
|
AM_PROG_CC_STDC
|
|
|
|
WIN32_CPPFLAGS=""
|
|
case "$host_os" in
|
|
mingw32ce* | cegcc*)
|
|
WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
|
|
;;
|
|
mingw*)
|
|
WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
|
|
;;
|
|
esac
|
|
AC_SUBST(WIN32_CPPFLAGS)
|
|
|
|
WIN32_CFLAGS=""
|
|
case "${host_os}" in
|
|
cegcc*)
|
|
WIN32_CFLAGS="-mwin32"
|
|
;;
|
|
esac
|
|
AC_SUBST(WIN32_CFLAGS)
|
|
|
|
|
|
### Checks for linker characteristics
|
|
lt_enable_auto_import=""
|
|
case "${host_os}" in
|
|
mingw* | cegcc*)
|
|
AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
|
|
lt_enable_auto_import="-Wl,--enable-auto-import"
|
|
;;
|
|
esac
|
|
AC_SUBST(lt_enable_auto_import)
|
|
|
|
|
|
### Checks for library functions
|
|
|
|
AC_ISC_POSIX
|
|
|
|
# alloca
|
|
AC_FUNC_ALLOCA
|
|
|
|
# fnmatch
|
|
EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
|
|
|
|
# dlopen
|
|
dlopen_libs=""
|
|
case "$host_os" in
|
|
mingw32ce* | cegcc*)
|
|
# managed by evil
|
|
AC_DEFINE(HAVE_DLADDR)
|
|
;;
|
|
mingw*)
|
|
# nothing on mingw platform
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNCS(dlopen, res=yes, res=no)
|
|
if test "x$res" = "xyes"; then
|
|
AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
|
|
else
|
|
AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
|
|
if test "x$res" = "xyes"; then
|
|
AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
|
|
dlopen_libs=-ldl
|
|
else
|
|
AC_MSG_ERROR(Cannot find dlopen)
|
|
fi
|
|
fi
|
|
esac
|
|
AC_SUBST(dlopen_libs)
|
|
|
|
SHM_OPEN_LINK=""
|
|
AC_MSG_CHECKING([whether shm_open() is present])
|
|
LIBS_save=${LIBS}
|
|
LIBS="${LIBS} -lrt"
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM(
|
|
[[
|
|
#include <sys/stat.h>
|
|
#include <sys/mman.h>
|
|
#include <fcntl.h>
|
|
]],
|
|
[[
|
|
int fd;
|
|
fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
|
|
shm_unlink("/");
|
|
]])],
|
|
[
|
|
have_shm_open="yes"
|
|
AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call])
|
|
SHM_OPEN_LINK="-lrt"
|
|
],
|
|
[have_shm_open="no"])
|
|
LIBS=${LIBS_save}
|
|
AC_MSG_RESULT([${have_shm_open}])
|
|
AC_SUBST(SHM_OPEN_LINK)
|
|
|
|
# (shm_open (for cache server)
|
|
AC_ARG_ENABLE([evas-cserve],
|
|
AC_HELP_STRING([--disable-evas-cserve],
|
|
[disable shared cache server support. @<:@default=enabled@:>@]),
|
|
[
|
|
if test "x${enableval}" = "xyes" ; then
|
|
want_evas_cserve="yes"
|
|
else
|
|
want_evas_cserve="no"
|
|
fi
|
|
])
|
|
AC_MSG_CHECKING(whether to build shared cache server and support)
|
|
AC_MSG_RESULT(${want_evas_cserve})
|
|
|
|
if test "x${want_evas_cserve}" = "xyes" ; then
|
|
AC_MSG_CHECKING([whether shm_open() is present])
|
|
LIBS_save=${LIBS}
|
|
LIBS="${LIBS} -lrt"
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM(
|
|
[[
|
|
#include <sys/types.h>
|
|
#include <sys/mman.h>
|
|
#include <fcntl.h>
|
|
]],
|
|
[[
|
|
int fd;
|
|
fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
|
|
shm_unlink("/");
|
|
]])],
|
|
[want_evas_cserve="yes"],
|
|
[want_evas_cserve="no"])
|
|
LIBS=${LIBS_save}
|
|
AC_MSG_RESULT([${want_evas_cserve}])
|
|
fi
|
|
|
|
if test "x${want_evas_cserve}" = "xyes" ; then
|
|
AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
|
|
fi
|
|
|
|
AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
|
|
|
|
|
|
|
|
#######################################
|
|
## GL force flavor gles
|
|
gl_flavor_gles="no"
|
|
AC_MSG_CHECKING(whether to build GLES flavor of GL)
|
|
AC_ARG_ENABLE(gl-flavor-gles,
|
|
AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_MSG_RESULT(yes)
|
|
gl_flavor_gles="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
gl_flavor_gles="no"
|
|
fi
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
gl_flavor_gles="no"
|
|
]
|
|
)
|
|
|
|
#######################################
|
|
## GLES variety sgx
|
|
gles_variety_sgx="no"
|
|
AC_MSG_CHECKING(whether to build GLES variety for SGX)
|
|
AC_ARG_ENABLE(gles-variety-sgx,
|
|
AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
|
|
gles_variety_sgx="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
gles_variety_sgx="no"
|
|
fi
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
gles_variety_sgx="no"
|
|
]
|
|
)
|
|
|
|
#######################################
|
|
## GLES variety s3c6410
|
|
gles_variety_s3c6410="no"
|
|
AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
|
|
AC_ARG_ENABLE(gles-variety-s3c6410,
|
|
AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
|
|
gles_variety_s3c6410="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
gles_variety_s3c6410="no"
|
|
fi
|
|
], [
|
|
AC_MSG_RESULT(no)
|
|
gles_variety_s3c6410="no"
|
|
]
|
|
)
|
|
|
|
if test "x$gl_flavor_gles" = "xyes"; then
|
|
eng=""
|
|
if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
|
|
if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
|
|
if test "x$eng" = "xx"; then
|
|
eng=""
|
|
else
|
|
AC_MSG_ERROR(
|
|
[Please enable just 1 OpenGL-ES flavor. Choices are:
|
|
--enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
|
|
--enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
|
|
You will also need to enable the OpenGL engine for X11 with:
|
|
--enable-gl-x11
|
|
])
|
|
fi
|
|
fi
|
|
|
|
#####################################################################
|
|
## Engines
|
|
|
|
EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
|
|
|
|
EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
|
|
|
|
EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
|
|
|
|
EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
|
|
|
|
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([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
|
|
|
|
EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
|
|
|
|
EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
|
|
|
|
EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
|
|
|
|
EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
|
|
|
|
EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
|
|
|
|
EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
|
|
|
|
EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
|
|
|
|
EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
|
|
|
|
# common gl
|
|
have_evas_engine_gl_common="no"
|
|
have_static_evas_engine_gl_common="no"
|
|
if test "x$have_evas_engine_gl_x11" = "xyes" \
|
|
|| test "x$have_evas_engine_gl_sdl" = "xyes"; then
|
|
have_evas_engine_gl_common="yes"
|
|
fi
|
|
if test "x$have_evas_engine_gl_x11" = "xstatic" \
|
|
|| test "x$have_evas_engine_gl_sdl" = "xstatic"; then
|
|
have_evas_engine_gl_common="yes"
|
|
have_static_evas_engine_gl_common="yes"
|
|
fi
|
|
|
|
if test "x$have_evas_engine_gl_common" = "xyes"; then
|
|
evas_engine_gl_common_libs=""
|
|
AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
|
|
fi
|
|
|
|
AC_SUBST([evas_engine_gl_common_libs])
|
|
|
|
AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
|
|
|
|
AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_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
|
|
|
|
# gl_sdl
|
|
if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
|
|
AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
|
|
[AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
|
|
[#include <SDL/SDL_video.h>])
|
|
fi
|
|
|
|
if test "x$gl_flavor_gles" = "xyes"; then
|
|
AC_CHECK_DECL(SDL_OPENGLES,
|
|
[AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
|
|
[#include <SDL/SDL_video.h>])
|
|
fi
|
|
|
|
# SDL primitive
|
|
sdl_primitive="no"
|
|
|
|
AC_ARG_ENABLE([sdl-primitive],
|
|
[AC_HELP_STRING([--enable-sdl-primitive], [])],
|
|
[sdl_primitive=${enableval}]
|
|
)
|
|
AC_MSG_CHECKING([whether to use SDL primitive when possible])
|
|
AC_MSG_RESULT([${sdl_primitive}])
|
|
|
|
if test "x${sdl_primitive}" = "xyes" ; then
|
|
AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
|
|
fi
|
|
|
|
# if software generic need to be build as part of libevas.so
|
|
have_static_software_generic="no"
|
|
AC_ARG_ENABLE([static-software-generic],
|
|
[AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
|
|
[have_static_software_generic=${enableval}]
|
|
)
|
|
AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
|
|
AC_MSG_RESULT([${have_static_software_generic}])
|
|
|
|
if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
|
|
AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
|
|
have_static_software_generic="yes"
|
|
fi
|
|
|
|
AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
|
|
if test "x${have_static_software_generic}" = "xyes"; then
|
|
AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
|
|
fi
|
|
|
|
# if software_xlib or software_xcb are available, define everything needed for X11
|
|
have_evas_engine_software_x11="no"
|
|
if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
|
|
have_evas_engine_software_x11="static"
|
|
else
|
|
if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
|
|
have_evas_engine_software_x11="yes"
|
|
fi
|
|
fi
|
|
|
|
if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
|
|
have_evas_engine_software_xlib="yes"
|
|
fi
|
|
|
|
if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
|
|
have_evas_engine_software_xcb="yes"
|
|
fi
|
|
|
|
if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
|
|
AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
|
|
fi
|
|
|
|
if test "x$have_evas_engine_software_x11" = "xstatic" ; then
|
|
AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
|
|
fi
|
|
|
|
AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
|
|
AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
|
|
|
|
AC_SUBST(have_evas_engine_software_xlib)
|
|
AC_SUBST(have_evas_engine_software_xcb)
|
|
|
|
# if software 16 x11 is enabled - build software_16 (the generic 16bit
|
|
# engine). later enable it fb_16 or other "16" bit engines are enabled.
|
|
have_evas_engine_software_16="no"
|
|
if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
|
|
have_evas_engine_software_16="yes"
|
|
fi
|
|
if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
|
|
have_evas_engine_software_16="yes"
|
|
fi
|
|
if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
|
|
have_evas_engine_software_16="yes"
|
|
fi
|
|
if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
|
|
have_evas_engine_software_16="yes"
|
|
fi
|
|
AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
|
|
|
|
# if software 16 need to be build as part of libevas.so
|
|
have_static_software_16="no"
|
|
AC_ARG_ENABLE([static-software-16],
|
|
[AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
|
|
[have_static_software_16=${enableval}]
|
|
)
|
|
AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
|
|
AC_MSG_RESULT([${have_static_software_16}])
|
|
|
|
AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
|
|
if test "x${have_static_software_16}" = "xyes"; then
|
|
AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
|
|
fi
|
|
|
|
# if software 8 x11 is enabled - build software_8 (the generic 8bit
|
|
# engine).
|
|
have_evas_engine_software_8="no"
|
|
if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
|
|
have_evas_engine_software_8="yes"
|
|
fi
|
|
AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
|
|
|
|
# if software 8 need to be build as part of libevas.so
|
|
have_static_software_8="no"
|
|
AC_ARG_ENABLE([static-software-8],
|
|
[AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
|
|
[have_static_software_8=${enableval}]
|
|
)
|
|
AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
|
|
AC_MSG_RESULT([${have_static_software_8}])
|
|
|
|
AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
|
|
if test "x${have_static_software_8}" = "xyes"; then
|
|
AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
|
|
fi
|
|
|
|
#####################################################################
|
|
## Image loaders
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
|
|
EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
|
|
|
|
have_evas_image_saver_jpeg="no"
|
|
EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
|
|
|
|
dnl Windows has no sigsetjmp function, nor equivalent.
|
|
dnl So we disable the jpeg saver.
|
|
dnl TODO: must find a workaround
|
|
case "$host_os" in
|
|
mingw* | cegcc*)
|
|
;;
|
|
*)
|
|
if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
|
|
AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
|
|
have_evas_image_saver_jpeg="yes"
|
|
fi
|
|
;;
|
|
esac
|
|
AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
|
|
|
|
EVAS_CHECK_IMAGE_LOADER([GENERIC], [${want_evas_image_loader_generic}])
|
|
|
|
#####################################################################
|
|
## Cpu based optimizations
|
|
|
|
#######################################
|
|
## PTHREADS
|
|
pthread_cflags=""
|
|
pthread_libs=""
|
|
build_pthreads="no"
|
|
has_pthreads="no"
|
|
need_pthreads="no"
|
|
# basic pthread support
|
|
AC_CHECK_HEADER(pthread.h,
|
|
[
|
|
has_pthreads="yes"
|
|
],
|
|
[
|
|
has_pthreads="no"
|
|
]
|
|
)
|
|
|
|
# sched_getaffinity pthread_attr_setaffinity_np
|
|
AC_CHECK_HEADERS(pthread.h sched.h,
|
|
[
|
|
AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
|
|
[
|
|
AC_CHECK_LIB(pthread, pthread_barrier_wait,
|
|
[ build_pthreads="yes" ],
|
|
[ build_pthreads="no" ]
|
|
)
|
|
],
|
|
[ build_pthreads="no" ]
|
|
)
|
|
],
|
|
[ build_pthreads="no" ]
|
|
)
|
|
|
|
#######################################
|
|
## Pthread
|
|
AC_MSG_CHECKING(whether to build pthread code)
|
|
AC_ARG_ENABLE(pthreads,
|
|
AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
if test "x$build_pthreads" = "xyes"; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
|
|
build_pthreads="yes"
|
|
need_pthreads="yes"
|
|
else
|
|
if "x$use_strict" = "xyes"; then
|
|
AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
|
|
else
|
|
AC_MSG_RESULT(no: pthread headers or functions not found)
|
|
fi
|
|
fi
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_pthreads="no"
|
|
fi
|
|
],
|
|
[
|
|
AC_MSG_RESULT($build_pthreads)
|
|
if test "x$build_pthreads" = "xyes" ; then
|
|
AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
|
|
need_pthreads="yes"
|
|
fi
|
|
]
|
|
)
|
|
|
|
#######################################
|
|
## Pipe Renderer
|
|
build_pipe_render="no"
|
|
|
|
AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
|
|
AC_ARG_ENABLE(pipe-render,
|
|
AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
|
|
[ build_pipe_render=$enableval ]
|
|
)
|
|
AC_MSG_RESULT($build_pipe_render)
|
|
|
|
AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
|
|
if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
|
|
build_pipe_render="yes"
|
|
need_pthreads="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_pipe_render="no"
|
|
fi
|
|
|
|
#######################################
|
|
## Async Renderer
|
|
build_async_render="no"
|
|
|
|
AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
|
|
AC_ARG_ENABLE(async-render,
|
|
AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
|
|
[ build_async_render=$enableval ]
|
|
)
|
|
AC_MSG_RESULT($build_async_render)
|
|
|
|
AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
|
|
if test \( "x$build_async_render" = "xyes" \); then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
|
|
build_async_render="yes"
|
|
AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
|
|
build_pipe_render="yes"
|
|
need_pthreads="yes"
|
|
|
|
PKG_CHECK_MODULES([XEXT],
|
|
[xext < 1.1.1],
|
|
[ build_avoid_libXext_bug=yes ],
|
|
[ build_avoid_libXext_bug=no ]
|
|
)
|
|
if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
|
|
AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
|
|
fi
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_async_render="no"
|
|
fi
|
|
|
|
#######################################
|
|
## Async events
|
|
build_async_events="auto"
|
|
AC_MSG_CHECKING(whether to build Async Events support)
|
|
AC_ARG_ENABLE(async-events,
|
|
AC_HELP_STRING([--enable-async-events], [enable async events support]),
|
|
[ build_async_events=$enableval ]
|
|
)
|
|
AC_MSG_RESULT($build_async_events)
|
|
|
|
AC_MSG_CHECKING(whether we can build Async Events support)
|
|
if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
|
|
build_async_events="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_async_events="no"
|
|
fi
|
|
|
|
#######################################
|
|
## Async image preload
|
|
build_async_preload="auto"
|
|
AC_MSG_CHECKING(whether to build Async Image Preload support)
|
|
AC_ARG_ENABLE(async-preload,
|
|
AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
|
|
[ build_async_preload=$enableval ]
|
|
)
|
|
AC_MSG_RESULT($build_async_preload)
|
|
|
|
AC_MSG_CHECKING(whether we can build Async Image Preload support)
|
|
if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
|
|
build_async_preload="yes"
|
|
need_pthreads="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_async_preload="no"
|
|
fi
|
|
|
|
#######################################
|
|
## Link with pthread if needed
|
|
AC_MSG_CHECKING(whether we should link with pthread)
|
|
if test "x$need_pthreads" = "xyes"; then
|
|
AC_MSG_RESULT(yes)
|
|
pthread_cflags=""
|
|
pthread_libs="-lpthread"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
#######################################
|
|
## MMX
|
|
build_cpu_mmx="no"
|
|
case $host_cpu in
|
|
i*86)
|
|
build_cpu_mmx="yes"
|
|
;;
|
|
x86_64)
|
|
build_cpu_mmx="yes"
|
|
;;
|
|
amd64)
|
|
build_cpu_mmx="yes"
|
|
;;
|
|
esac
|
|
AC_MSG_CHECKING(whether to build mmx code)
|
|
AC_ARG_ENABLE(cpu-mmx,
|
|
AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
|
|
build_cpu_mmx="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_cpu_mmx="no"
|
|
fi
|
|
],
|
|
[
|
|
AC_MSG_RESULT($build_cpu_mmx)
|
|
if test "x$build_cpu_mmx" = "xyes" ; then
|
|
AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
|
|
fi
|
|
]
|
|
)
|
|
|
|
#######################################
|
|
## SSE
|
|
build_cpu_sse="no"
|
|
case $host_cpu in
|
|
i*86)
|
|
build_cpu_sse="yes"
|
|
;;
|
|
x86_64)
|
|
build_cpu_sse="yes"
|
|
;;
|
|
amd64)
|
|
build_cpu_sse="yes"
|
|
;;
|
|
esac
|
|
AC_MSG_CHECKING(whether to build sse code)
|
|
AC_ARG_ENABLE(cpu-sse,
|
|
AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
|
|
build_cpu_sse="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_cpu_sse="no"
|
|
fi
|
|
],
|
|
[
|
|
AC_MSG_RESULT($build_cpu_sse)
|
|
if test "x$build_cpu_sse" = "xyes" ; then
|
|
AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
|
|
fi
|
|
]
|
|
)
|
|
|
|
#######################################
|
|
## ALTIVEC
|
|
build_cpu_altivec="no"
|
|
case $host_cpu in
|
|
*power* | *ppc*)
|
|
build_cpu_altivec="auto"
|
|
;;
|
|
esac
|
|
altivec_cflags=""
|
|
AC_MSG_CHECKING(whether to build altivec code)
|
|
AC_ARG_ENABLE(cpu-altivec,
|
|
AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
|
|
[ build_cpu_altivec=$enableval ],
|
|
[
|
|
if test ! "x$build_cpu_altivec" = "xauto"; then
|
|
build_cpu_altivec="no"
|
|
fi
|
|
]
|
|
)
|
|
AC_MSG_RESULT($build_cpu_altivec)
|
|
|
|
if test "x$build_cpu_altivec" = "xyes"; then
|
|
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"
|
|
],
|
|
[
|
|
if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
|
|
AC_MSG_ERROR(Altivec not found (strict dependencies checking))
|
|
fi
|
|
build_cpu_altivec="no"
|
|
]
|
|
)
|
|
CFLAGS=$save_CFLAGS
|
|
CPPFLAGS=$save_CPPFLAGS
|
|
]
|
|
)
|
|
fi
|
|
|
|
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"
|
|
fi
|
|
|
|
#######################################
|
|
## NEON
|
|
build_cpu_neon="no"
|
|
case $host_cpu in
|
|
arm*)
|
|
build_cpu_neon="yes"
|
|
;;
|
|
esac
|
|
AC_MSG_CHECKING(whether to build neon code)
|
|
AC_ARG_ENABLE(cpu-neon,
|
|
AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
|
|
checked at run time to see if the CPU supports it]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_TRY_COMPILE([],
|
|
[asm volatile (".fpu neon\nvqadd.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"
|
|
])
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_cpu_neon="no"
|
|
fi
|
|
],
|
|
[
|
|
if test "x$build_cpu_neon" = "xyes" ; then
|
|
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"
|
|
])
|
|
fi
|
|
]
|
|
)
|
|
|
|
#######################################
|
|
## C
|
|
build_cpu_c="yes"
|
|
AC_MSG_CHECKING(whether to build c code)
|
|
AC_ARG_ENABLE(cpu-c,
|
|
AC_HELP_STRING([--enable-cpu-c], [enable C code]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_C, 1, [Build plain C code])
|
|
build_cpu_c="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
build_cpu_c="no"
|
|
fi
|
|
], [
|
|
AC_MSG_RESULT($build_cpu_c)
|
|
if test "x$build_cpu_c" = "xyes" ; then
|
|
AC_DEFINE(BUILD_C, 1, [Build plain C code])
|
|
fi
|
|
]
|
|
)
|
|
|
|
#######################################
|
|
## MAGIC_DEBUG
|
|
want_evas_magic_debug="yes"
|
|
AC_MSG_CHECKING(whether to check magic for evas object)
|
|
AC_ARG_ENABLE(evas-magic-debug,
|
|
AC_HELP_STRING(
|
|
[--disable-evas-magic-debug],
|
|
[disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
|
|
),
|
|
[ want_evas_magic_debug="$enableval" ]
|
|
)
|
|
AC_MSG_RESULT($want_evas_magic_debug)
|
|
|
|
AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
|
|
if test "x$want_evas_magic_debug" = "xyes"; then
|
|
AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
|
|
fi
|
|
|
|
|
|
#######################################
|
|
## Word Caching
|
|
want_word_cache="no"
|
|
AC_MSG_CHECKING(whether to enable caching of rendered words)
|
|
AC_ARG_ENABLE(word-cache,
|
|
AC_HELP_STRING(
|
|
[--enable-word-cache],
|
|
[Enable experimental word caching to speed up rendering [[default=disabled]]]
|
|
),
|
|
[ want_word_cache="$enableval" ]
|
|
)
|
|
AC_MSG_RESULT($want_word_cache)
|
|
|
|
AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
|
|
if test "x$want_word_cache" = "xyes"; then
|
|
AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
|
|
fi
|
|
|
|
#######################################
|
|
## Metric Caching
|
|
want_metric_cache="no"
|
|
AC_MSG_CHECKING(whether to enable caching of rendered metrics)
|
|
AC_ARG_ENABLE(metric-cache,
|
|
AC_HELP_STRING(
|
|
[--enable-metric-cache],
|
|
[Enable experimental metric caching to speed up rendering [[default=disabled]]]
|
|
),
|
|
[ want_metric_cache="$enableval" ]
|
|
)
|
|
AC_MSG_RESULT($want_metric_cache)
|
|
|
|
AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
|
|
if test "x$want_metric_cache" = "xyes"; then
|
|
AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
|
|
fi
|
|
|
|
|
|
|
|
#####################################################################
|
|
## ARGB engine options
|
|
|
|
#######################################
|
|
## Nearest sampling scaler
|
|
EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
|
|
## Smooth super and sub sampling scaler
|
|
EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
|
|
|
|
#######################################
|
|
## YUV -> ARGB converter
|
|
conv_yuv="no"
|
|
conv_yuv="yes"
|
|
AC_MSG_CHECKING(whether to build yuv converter code)
|
|
AC_ARG_ENABLE(convert-yuv,
|
|
AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
|
|
conv_yuv="yes"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
conv_yuv="no"
|
|
fi
|
|
], [
|
|
AC_MSG_RESULT($conv_yuv)
|
|
if test "x$conv_yuv" = "xyes" ; then
|
|
AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
|
|
fi
|
|
]
|
|
)
|
|
|
|
#####################################################################
|
|
## Output rendering features
|
|
|
|
#######################################
|
|
## Small dither mask instead of big one (lower quality)
|
|
EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
|
|
## Alternate Line dither mask instead of big one (lower quality - but fastest)
|
|
EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
|
|
## No dither mask at all for 16bpp
|
|
EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
|
|
|
|
#######################################
|
|
## Convert to 8bpp RGB 332
|
|
EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
|
|
## Convert to 8bpp RGB 666
|
|
EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
|
|
## Convert to 8bpp RGB 232
|
|
EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
|
|
## Convert to 8bpp RGB 222
|
|
EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
|
|
## Convert to 8bpp RGB 221
|
|
EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
|
|
## Convert to 8bpp RGB 121
|
|
EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
|
|
## Convert to 8bpp RGB 111
|
|
EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
|
|
## Convert to 16bpp RGB 565
|
|
EVAS_CONVERT_COLOR(16, RGB, 565)
|
|
## Convert to 16bpp BGR 565
|
|
EVAS_CONVERT_COLOR(16, BGR, 565)
|
|
## Convert to 16bpp RGB 555
|
|
EVAS_CONVERT_COLOR(16, RGB, 555)
|
|
## Convert to 16bpp RGB 444
|
|
EVAS_CONVERT_COLOR(16, RGB, 444)
|
|
|
|
#######################################
|
|
## Convert to 16bpp RGB 565 (444 ipaq)
|
|
conv_16_rgb_ipq="yes"
|
|
AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
|
|
AC_ARG_ENABLE(convert-16-rgb-ipq,
|
|
AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
|
|
conv_16_rgb_ipq="yes"
|
|
else
|
|
conv_16_rgb_ipq="no"
|
|
fi
|
|
], [
|
|
if test "x$conv_16_rgb_ipq" = "xyes" ; then
|
|
AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
|
|
fi
|
|
]
|
|
)
|
|
AC_MSG_RESULT($conv_16_rgb_ipq)
|
|
|
|
#######################################
|
|
## Convert to 16bpp RGB with rotation of 0
|
|
EVAS_CONVERT_ROT(16, RGB, 0)
|
|
## Convert to 16bpp RGB with rotation of 180
|
|
EVAS_CONVERT_ROT(16, RGB, 180)
|
|
## Convert to 16bpp RGB with rotation of 270
|
|
EVAS_CONVERT_ROT(16, RGB, 270)
|
|
## Convert to 16bpp RGB with rotation of 90
|
|
EVAS_CONVERT_ROT(16, RGB, 90)
|
|
|
|
#######################################
|
|
## Convert to 24bpp RGB 888
|
|
EVAS_CONVERT_COLOR(24, RGB, 888)
|
|
## Convert to 24bpp BGR 888
|
|
EVAS_CONVERT_COLOR(24, BGR, 888)
|
|
## Convert to 32bpp RGB 8888
|
|
EVAS_CONVERT_COLOR(32, RGB, 8888)
|
|
## Convert to 32bpp RGBX 8888
|
|
EVAS_CONVERT_COLOR(32, RGBX, 8888)
|
|
## Convert to 32bpp BGR 8888
|
|
EVAS_CONVERT_COLOR(32, BGR, 8888)
|
|
## Convert to 32bpp BGRX 8888
|
|
EVAS_CONVERT_COLOR(32, BGRX, 8888)
|
|
|
|
#######################################
|
|
## Convert to 24bpp RGB 666 (666 ezx)
|
|
conv_24_rgb_ezx="yes"
|
|
AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
|
|
AC_ARG_ENABLE(convert-24-rgb-ezx,
|
|
AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
|
|
conv_24_rgb_ezx="yes"
|
|
else
|
|
conv_24_rgb_ezx="no"
|
|
fi
|
|
], [
|
|
if test "x$conv_24_rgb_ezx" = "xyes" ; then
|
|
AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
|
|
fi
|
|
]
|
|
)
|
|
AC_MSG_RESULT($conv_24_rgb_ezx)
|
|
|
|
#######################################
|
|
## Convert to 32bpp RGB 666 (666 ezx)
|
|
conv_32_rgb_ezx="yes"
|
|
AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
|
|
AC_ARG_ENABLE(convert-32-rgb-ezx,
|
|
AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
|
|
[
|
|
if test "x$enableval" = "xyes" ; then
|
|
AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
|
|
conv_32_rgb_ezx="yes"
|
|
else
|
|
conv_32_rgb_ezx="no"
|
|
fi
|
|
], [
|
|
if test "x$conv_32_rgb_ezx" = "xyes" ; then
|
|
AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
|
|
fi
|
|
]
|
|
)
|
|
AC_MSG_RESULT($conv_32_rgb_ezx)
|
|
|
|
#######################################
|
|
## Convert to 32bpp RGB with rotation of 0
|
|
EVAS_CONVERT_ROT(32, RGB, 0)
|
|
## Convert to 32bpp RGB with rotation of 180
|
|
EVAS_CONVERT_ROT(32, RGB, 180)
|
|
## Convert to 32bpp RGB with rotation of 270
|
|
EVAS_CONVERT_ROT(32, RGB, 270)
|
|
## Convert to 32bpp RGB with rotation of 90
|
|
EVAS_CONVERT_ROT(32, RGB, 90)
|
|
|
|
#######################################
|
|
## Convert to 8bpp grayscale with 256 value, no palette
|
|
EVAS_CONVERT_COLOR(8, GRY, 1)
|
|
## Convert to 8bpp grayscale with 16 value, no palette
|
|
EVAS_CONVERT_COLOR(8, GRY, 16)
|
|
|
|
#######################################
|
|
## Convert to 8bpp grayscale, 64-palette
|
|
conv_8_grayscale_64="yes"
|
|
AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
|
|
AC_ARG_ENABLE(convert-8-grayscale-64,
|
|
AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
|
|
[
|
|
if test "x$enableval" = "xyes"; then
|
|
AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
|
|
conv_8_grayscale_64="yes"
|
|
else
|
|
conv_8_grayscale_64="no"
|
|
fi
|
|
], [
|
|
if test "x$conv_8_grayscale_64" = "xyes"; then
|
|
AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
|
|
fi
|
|
]
|
|
)
|
|
AC_MSG_RESULT($conv_8_grayscale_64)
|
|
|
|
## valgrind
|
|
want_valgrind="no"
|
|
have_valgrind="no"
|
|
|
|
AC_MSG_CHECKING(whether to enable build with valgrind)
|
|
AC_ARG_ENABLE(valgrind,
|
|
AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
|
|
[ want_valgrind=$enableval ]
|
|
)
|
|
AC_MSG_RESULT($want_valgrind)
|
|
|
|
if test x$want_valgrind = "xyes"; then
|
|
PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
|
|
[
|
|
AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
|
|
have_valgrind=yes
|
|
requirement_evas="valgrind ${requirement_evas}"
|
|
],
|
|
[
|
|
if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
|
|
AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
|
|
fi
|
|
]
|
|
)
|
|
fi
|
|
|
|
## Examples
|
|
|
|
install_examples="yes"
|
|
AC_ARG_ENABLE([install-examples],
|
|
AC_HELP_STRING([--disable-install-examples],
|
|
[disable installing examples (compiled or just source).
|
|
@<:@default==enabled@:>@]),
|
|
[
|
|
if test "x${enableval}" = "xyes" ; then
|
|
install_examples="yes"
|
|
else
|
|
install_examples="no"
|
|
fi
|
|
],
|
|
[install_examples="yes"])
|
|
AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
|
|
|
|
build_examples="no"
|
|
AC_ARG_ENABLE([build-examples],
|
|
AC_HELP_STRING([--enable-build-examples],
|
|
[enable building examples (this requires extra denpendencies. if you don't have them installed yet, don't build with this option or it will fail. build again when you have it, overriding the previous installation). @<:@default==disabled@:>@]),
|
|
[
|
|
if test "x${enableval}" = "xyes" ; then
|
|
build_examples="yes"
|
|
# put in here the dependencies for Evas' examples. they are
|
|
# meant to be 'real world' usage examples, thus one will be
|
|
# using higher level libraries on these programs
|
|
PKG_CHECK_MODULES([ECORE_EVAS], [ecore-evas ecore])
|
|
else
|
|
build_examples="no"
|
|
fi
|
|
],
|
|
[build_examples="no"])
|
|
AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
|
|
|
|
|
|
#####################################################################
|
|
## Fill in flags
|
|
|
|
AC_SUBST(altivec_cflags)
|
|
AC_SUBST(pthread_cflags)
|
|
AC_SUBST(pthread_libs)
|
|
AC_SUBST(requirement_evas)
|
|
|
|
|
|
#####################################################################
|
|
## Output
|
|
|
|
AC_OUTPUT([
|
|
Makefile
|
|
evas-directfb.pc
|
|
evas-fb.pc
|
|
evas-opengl-x11.pc
|
|
evas-opengl-sdl.pc
|
|
evas-software-buffer.pc
|
|
evas-software-x11.pc
|
|
evas-software-8-x11.pc
|
|
evas-software-16-x11.pc
|
|
evas-software-gdi.pc
|
|
evas-software-ddraw.pc
|
|
evas-software-16-ddraw.pc
|
|
evas-direct3d.pc
|
|
evas-software-16-wince.pc
|
|
evas-software-sdl.pc
|
|
evas.pc
|
|
doc/evas.dox
|
|
doc/Makefile
|
|
doc/Doxyfile
|
|
src/Makefile
|
|
src/bin/Makefile
|
|
src/lib/Makefile
|
|
src/lib/canvas/Makefile
|
|
src/lib/file/Makefile
|
|
src/lib/cache/Makefile
|
|
src/lib/cserve/Makefile
|
|
src/lib/engines/Makefile
|
|
src/lib/engines/common/Makefile
|
|
src/lib/engines/common/evas_op_add/Makefile
|
|
src/lib/engines/common/evas_op_blend/Makefile
|
|
src/lib/engines/common/evas_op_copy/Makefile
|
|
src/lib/engines/common/evas_op_mask/Makefile
|
|
src/lib/engines/common/evas_op_mul/Makefile
|
|
src/lib/engines/common/evas_op_sub/Makefile
|
|
src/lib/engines/common_8/Makefile
|
|
src/lib/engines/common_16/Makefile
|
|
src/modules/Makefile
|
|
src/modules/engines/Makefile
|
|
src/modules/engines/software_generic/Makefile
|
|
src/modules/engines/software_gdi/Makefile
|
|
src/modules/engines/software_ddraw/Makefile
|
|
src/modules/engines/direct3d/Makefile
|
|
src/modules/engines/software_16_wince/Makefile
|
|
src/modules/engines/software_x11/Makefile
|
|
src/modules/engines/fb/Makefile
|
|
src/modules/engines/buffer/Makefile
|
|
src/modules/engines/directfb/Makefile
|
|
src/modules/engines/gl_common/Makefile
|
|
src/modules/engines/gl_x11/Makefile
|
|
src/modules/engines/gl_sdl/Makefile
|
|
src/modules/engines/software_sdl/Makefile
|
|
src/modules/engines/software_8/Makefile
|
|
src/modules/engines/software_8_x11/Makefile
|
|
src/modules/engines/software_16/Makefile
|
|
src/modules/engines/software_16_x11/Makefile
|
|
src/modules/engines/software_16_ddraw/Makefile
|
|
src/modules/engines/software_16_sdl/Makefile
|
|
src/modules/loaders/Makefile
|
|
src/modules/loaders/edb/Makefile
|
|
src/modules/loaders/eet/Makefile
|
|
src/modules/loaders/gif/Makefile
|
|
src/modules/loaders/jpeg/Makefile
|
|
src/modules/loaders/png/Makefile
|
|
src/modules/loaders/tiff/Makefile
|
|
src/modules/loaders/xpm/Makefile
|
|
src/modules/loaders/bmp/Makefile
|
|
src/modules/loaders/ico/Makefile
|
|
src/modules/loaders/tga/Makefile
|
|
src/modules/loaders/svg/Makefile
|
|
src/modules/loaders/pmaps/Makefile
|
|
src/modules/loaders/wbmp/Makefile
|
|
src/modules/loaders/psd/Makefile
|
|
src/modules/loaders/generic/Makefile
|
|
src/modules/savers/Makefile
|
|
src/modules/savers/edb/Makefile
|
|
src/modules/savers/eet/Makefile
|
|
src/modules/savers/jpeg/Makefile
|
|
src/modules/savers/png/Makefile
|
|
src/modules/savers/tiff/Makefile
|
|
src/static_deps/Makefile
|
|
src/static_deps/liblinebreak/Makefile
|
|
src/lib/include/Makefile
|
|
src/examples/Makefile
|
|
README
|
|
evas.spec
|
|
])
|
|
|
|
#####################################################################
|
|
## Sanity Checks
|
|
|
|
if test "x$build_pthreads" = "xno" ; then
|
|
if test "x$build_async_render" = "xyes" ; then
|
|
echo "ERROR: PThreads off, but async rendering on. Async rendering"
|
|
echo " needs thread support."
|
|
exit 1
|
|
fi
|
|
if test "x$build_pipe_render" = "xyes" ; then
|
|
echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
|
|
echo " needs thread support."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
if test "x${has_pthreads}" = "xno" ; then
|
|
if test "x$build_async_preload" = "xyes" ; then
|
|
echo "ERROR: PThreads off, but Async Preload on. Async Preload"
|
|
echo " needs thread support."
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
#####################################################################
|
|
## Info
|
|
|
|
echo
|
|
echo
|
|
echo
|
|
echo "------------------------------------------------------------------------"
|
|
echo "$PACKAGE $VERSION"
|
|
echo "------------------------------------------------------------------------"
|
|
echo
|
|
echo "Configuration Options Summary:"
|
|
echo
|
|
echo "Engines:"
|
|
echo " Software Memory Buffer.....: $have_evas_engine_buffer"
|
|
echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
|
|
echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
|
|
if test "x$have_evas_engine_gl_x11" = "xyes"; then
|
|
echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
|
|
else
|
|
echo
|
|
fi
|
|
echo " Software GDI...............: $have_evas_engine_software_gdi"
|
|
echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
|
|
echo " Direct3d...................: $have_evas_engine_direct3d"
|
|
echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
|
|
echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
|
|
if test "x$have_evas_engine_gl_sdl" = "xyes"; then
|
|
echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
|
|
else
|
|
echo
|
|
fi
|
|
echo " Software Framebuffer.......: $have_evas_engine_fb"
|
|
echo " DirectFB...................: $have_evas_engine_directfb"
|
|
echo " Software 8bit grayscale....: $have_evas_engine_software_8"
|
|
# FIXME: kill software 16bit
|
|
echo " Software 16bit ............: $have_evas_engine_software_16"
|
|
echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
|
|
echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
|
|
echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
|
|
echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
|
|
echo
|
|
echo "Image Loaders:"
|
|
echo " BMP.....................: $have_evas_image_loader_bmp"
|
|
echo " EDB.....................: $have_evas_image_loader_edb"
|
|
echo " EET.....................: $have_evas_image_loader_eet"
|
|
echo " GENERIC.................: $have_evas_image_loader_generic"
|
|
echo " GIF.....................: $have_evas_image_loader_gif"
|
|
echo " ICO.....................: $have_evas_image_loader_ico"
|
|
echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
|
|
echo " PMAPS...................: $have_evas_image_loader_pmaps"
|
|
echo " PNG.....................: $have_evas_image_loader_png"
|
|
echo " PSD.....................: $have_evas_image_loader_psd"
|
|
echo " SVG.....................: $have_evas_image_loader_svg"
|
|
echo " TGA.....................: $have_evas_image_loader_tga"
|
|
echo " TIFF....................: $have_evas_image_loader_tiff"
|
|
echo " WBMP....................: $have_evas_image_loader_wbmp"
|
|
echo " XPM.....................: $have_evas_image_loader_xpm"
|
|
echo
|
|
echo "Font Sourcing Systems:"
|
|
echo " EET.....................: $have_evas_font_loader_eet"
|
|
echo
|
|
echo "Font Searching Systems:"
|
|
echo " Fontconfig..............: $have_fontconfig"
|
|
echo
|
|
echo "Font Rendering Helpers:"
|
|
echo " Fribidi.................: $have_fribidi"
|
|
echo " Harfbuzz................: $have_harfbuzz"
|
|
echo " liblinebreak............: $have_linebreak"
|
|
# FIXME: add non freetype2 font engine support
|
|
# FIXME: make freetype2 optional
|
|
echo
|
|
echo "CPU Specific Extensions:"
|
|
echo " Fallback C Code.........: $build_cpu_c"
|
|
echo " MMX.....................: $build_cpu_mmx"
|
|
echo " SSE.....................: $build_cpu_sse"
|
|
echo " ALTIVEC.................: $build_cpu_altivec"
|
|
echo " NEON....................: $build_cpu_neon"
|
|
echo " Thread Support..........: $build_pthreads"
|
|
echo
|
|
echo "Features:"
|
|
echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
|
|
echo " Cache Server............: $want_evas_cserve"
|
|
echo
|
|
dnl
|
|
dnl ... DISABLED! some testing has shown that this seems to have some
|
|
dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
|
|
dnl disabling this for now until it can be fixed
|
|
dnl
|
|
echo " Threaded Pipe Rendering.: $build_pipe_render"
|
|
echo " Async Pipe Rendering....: $build_async_render"
|
|
echo " Async Events............: $build_async_events"
|
|
echo " Async Image Preload.....: $build_async_preload"
|
|
echo
|
|
echo " Word Cache..............: $want_word_cache"
|
|
echo " Metric Cache............: $want_metric_cache"
|
|
echo
|
|
echo "ARGB Software Engine Options:"
|
|
echo " Sampling Scaler.........: $scaler_sample"
|
|
echo " Smooth Scaler...........: $scaler_smooth"
|
|
# FIXME: add an mmx scaler routine
|
|
echo " YUV Converter...........: $conv_yuv"
|
|
# FIXME: add more YUV format and colorvariant support
|
|
echo
|
|
echo "ARGB Conversion Options:"
|
|
echo " Smaller Dither Mask.....: $conv_small_dither"
|
|
echo " Line Dither Mask........: $conv_line_dither"
|
|
echo " No Dither Mask for 16bpp: $conv_no_dither"
|
|
echo " 8bpp RGB 332............: $conv_8_rgb_332"
|
|
echo " 8bpp RGB 666............: $conv_8_rgb_666"
|
|
echo " 8bpp RGB 232............: $conv_8_rgb_232"
|
|
echo " 8bpp RGB 222............: $conv_8_rgb_222"
|
|
echo " 8bpp RGB 221............: $conv_8_rgb_221"
|
|
echo " 8bpp RGB 121............: $conv_8_rgb_121"
|
|
echo " 8bpp RGB 111............: $conv_8_rgb_111"
|
|
echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
|
|
echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
|
|
echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
|
|
# FIXME: add grayscale and B&W support to standard x converters
|
|
echo " 16bpp RGB 565...........: $conv_16_rgb_565"
|
|
echo " 16bpp BGR 565...........: $conv_16_bgr_565"
|
|
echo " 16bpp RGB 555...........: $conv_16_rgb_555"
|
|
echo " 16bpp RGB 444...........: $conv_16_rgb_444"
|
|
echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
|
|
# FIXME: add 555 (444 ipaq) support
|
|
# FIXME: add 30bpp support
|
|
# FIXME: add palletted support (ugh!)
|
|
# FIXME: add 8bpp and below rotation
|
|
echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
|
|
echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
|
|
echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
|
|
echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
|
|
echo " 24bpp RGB 888...........: $conv_24_rgb_888"
|
|
echo " 24bpp BGR 888...........: $conv_24_bgr_888"
|
|
echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
|
|
# FIXME: add 24bpp rotation
|
|
echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
|
|
echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
|
|
echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
|
|
echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
|
|
echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
|
|
echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
|
|
echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
|
|
echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
|
|
echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
|
|
echo
|
|
echo "Documentation.............: ${build_doc}"
|
|
echo "Examples..................: install:${install_examples} build:${build_examples}"
|
|
echo
|
|
echo "Compilation............: make (or gmake)"
|
|
echo " CPPFLAGS.............: $CPPFLAGS"
|
|
echo " CFLAGS...............: $CFLAGS"
|
|
echo " CXXFLAGS.............: $CXXFLAGS"
|
|
echo " LDFLAGS..............: $LDFLAGS"
|
|
echo
|
|
echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
|
|
echo " prefix...............: $prefix"
|
|
echo
|
|
if test "x${have_static_module}" = "xyes" ; then
|
|
echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
|
|
echo " You must know what you are doing, or else you will have a lot of"
|
|
echo " problems. And Kenny will be killed."
|
|
echo " Think about that."
|
|
echo
|
|
fi
|