##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## m4_define([v_maj], [1]) m4_define([v_min], [0]) m4_define([v_mic], [0]) 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 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_rev], m4_eval(v_maj + v_min)) m4_define([lt_cur], 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], [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])]) ]) AC_INIT([evas], [v_ver-alpha], [enlightenment-devel@lists.sourceforge.net]) AC_PREREQ([2.52]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([m4]) AC_CANONICAL_BUILD AC_CANONICAL_HOST AC_ISC_POSIX AM_INIT_AUTOMAKE([1.6 dist-bzip2]) AM_CONFIG_HEADER([config.h]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) 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_rev:lt_cur:lt_age" release_info="v_rel" AC_SUBST(version_info) AC_SUBST(release_info) ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--## VMAJ=v_maj AC_SUBST(VMAJ) EFL_CHECK_PATH_MAX ### Needed information 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") # weird debian etch bug where pthread_barrier doesn't work without adding # this. CFLAGS="${CFLAGS=} -D_GNU_SOURCE" AC_SUBST(CFLAGS) want_fontconfig="auto" want_fribidi="auto" want_evas_cserve="yes" want_evas_engine_buffer="yes" want_evas_engine_software_xlib="no" want_evas_engine_xrender_x11="no" want_evas_engine_gl_x11="no" want_evas_engine_gl_sdl="no" want_evas_engine_cairo_x11="no" want_evas_engine_software_xcb="no" want_evas_engine_xrender_xcb="no" want_evas_engine_software_gdi="no" want_evas_engine_software_ddraw="no" want_evas_engine_direct3d="no" want_evas_engine_quartz="no" want_evas_engine_gl_glew="no" want_evas_engine_software_sdl="no" want_evas_engine_fb="no" want_evas_engine_directfb="no" want_evas_engine_software_qtopia="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_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_quartz="auto" ;; *) want_evas_engine_software_xlib="auto" want_evas_engine_xrender_x11="auto" 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) ], [ AC_CHECK_TOOL([OBJC], [gcc]) AC_SUBST([OBJC]) 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]) # Freetype PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0]) requirement_evas="freetype2 eina-1 >= 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 # 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}" ], [ 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 ### Checks for header files AC_HEADER_STDC ### 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 # 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 (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 #include #include ]], [[ 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" ] ) ##################################################################### ## 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([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11]) EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11]) # disable cairo engine for the release #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11]) EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB]) EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender 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([quartz], [${want_evas_engine_quartz}], [no], [Quartz]) EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew]) 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}], [no], [Framebuffer]) EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB]) # disable cairo engine for the release #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia]) 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 cairo #have_evas_engine_cairo_common="no" #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then # have_evas_engine_cairo_common="yes" # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support]) #fi #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"]) # common gl have_evas_engine_gl_common="no" if test "x$have_evas_engine_gl_x11" = "xyes" \ || test "x$have_evas_engine_gl_x11" = "xstatic" \ || test "x$have_evas_engine_gl_glew" = "xyes" \ || test "x$have_evas_engine_gl_glew" = "xstatic" \ || test "x$have_evas_engine_gl_sdl" = "xyes" \ || test "x$have_evas_engine_gl_sdl" = "xstatic"; then have_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"]) # 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 ]) 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 ]) 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}]) 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 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}]) ##################################################################### ## 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 armv7*) build_cpu_neon="yes" ;; esac AC_MSG_CHECKING(whether to build neon code) AC_ARG_ENABLE(cpu-neon, AC_HELP_STRING([--enable-cpu-neon], [enable neon code - with gcc you will need these CFLAGS for it to begin to work, and even then your gcc may have broken or non-existant support: -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon]), [ if test "x$enableval" = "xyes" ; then AC_TRY_COMPILE([#include ], [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" ]) else AC_MSG_RESULT(no) build_cpu_neon="no" fi ], [ if test "x$build_cpu_neon" = "xyes" ; then AC_TRY_COMPILE([#include ], [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. @<:@default==disabled@:>@]), [ if test "x${enableval}" = "xyes" ; then build_examples="yes" 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-glew.pc evas-opengl-x11.pc evas-opengl-sdl.pc evas-quartz.pc evas-software-buffer.pc evas-software-x11.pc evas-software-8-x11.pc evas-software-16-x11.pc evas-xrender-x11.pc evas-xrender-xcb.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 src/Makefile src/bin/Makefile src/lib/Makefile src/lib/canvas/Makefile src/lib/file/Makefile src/lib/imaging/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_glew/Makefile src/modules/engines/gl_x11/Makefile src/modules/engines/gl_sdl/Makefile src/modules/engines/quartz/Makefile src/modules/engines/xrender_x11/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/tga/Makefile src/modules/loaders/svg/Makefile src/modules/loaders/pmaps/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/lib/include/Makefile src/examples/Makefile README evas.spec ]) #disabled for the release: # evas-cairo-x11.pc # evas-software-qtopia.pc # src/modules/engines/cairo_common/Makefile # src/modules/engines/cairo_x11/Makefile # src/modules/engines/software_qtopia/Makefile ##################################################################### ## 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 " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_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 " Cairo X11..................: $have_evas_engine_cairo_x11" echo " Software GDI...............: $have_evas_engine_software_gdi" echo " Software DirectDraw........: $have_evas_engine_software_ddraw" echo " Direct3d...................: $have_evas_engine_direct3d" echo " Quartz.....................: $have_evas_engine_quartz" echo " OpenGL Glew................: $have_evas_engine_gl_glew" 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 Qtopia............: $have_evas_engine_software_qtopia" echo " Software 8bit grayscale....: $have_evas_engine_software_8" 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)" # FIXME: opengl engine needs to be fixed and tested lots for all drivers echo echo "Image Loaders:" echo " EDB.....................: $have_evas_image_loader_edb" echo " EET.....................: $have_evas_image_loader_eet" echo " GIF.....................: $have_evas_image_loader_gif" 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 " SVG.....................: $have_evas_image_loader_svg" echo " TIFF....................: $have_evas_image_loader_tiff" echo " XPM.....................: $have_evas_image_loader_xpm" echo " BMP.....................: $have_evas_image_loader_bmp" # FIXME: need to add modular image loader system # FIXME: add more image loader modules echo echo "Font Sourcing Systems:" echo " EET.....................: $have_evas_font_loader_eet" echo echo "Font Searching Systems:" echo " Fontconfig..............: $have_fontconfig" echo " Fribidi.................: $have_fribidi" # 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 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 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 # 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 problems." echo " And Kenny will be killed." echo " Think about that." echo fi