1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [999])
6 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']))
7 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']))])
8 ##-- When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##-- When doing snapshots - change soname. remove dnl on below line
11 dnl m4_define([relname], [ver-pre-svn-07])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 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])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
22 # Check whether the Objective C compiler works.
23 AC_DEFUN([rw_PROG_OBJC_WORKS],
24 [m4_ifdef([AC_PROG_OBJC], [AC_REQUIRE([AC_PROG_OBJC])dnl
25 AC_CACHE_CHECK([whether the Objective C compiler works],
26 [rw_cv_prog_objc_works],
27 [AC_LANG_PUSH([Objective C])
28 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
29 [rw_cv_prog_objc_works=yes],
30 [rw_cv_prog_objc_works=no])
31 AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
34 AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
39 AC_CONFIG_HEADERS([config.h])
41 #ifndef EFL_CONFIG_H__
42 #define EFL_CONFIG_H__
45 #endif /* EFL_CONFIG_H__ */
48 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
49 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
54 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
57 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
59 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
60 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
61 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
62 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
63 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
64 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
65 version_info="lt_cur:lt_rev:lt_age"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
74 ### Needed information
81 MODULE_ARCH="$host_os-$host_cpu"
84 MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
90 want_fontconfig="auto"
94 want_evas_cserve="yes"
96 want_evas_engine_buffer="yes"
97 want_evas_engine_software_xlib="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_software_xcb="no"
101 want_evas_engine_software_gdi="no"
102 want_evas_engine_software_ddraw="no"
103 want_evas_engine_direct3d="no"
104 want_evas_engine_software_sdl="no"
105 want_evas_engine_fb="no"
106 want_evas_engine_directfb="no"
107 want_evas_engine_software_8_x11="no"
108 want_evas_engine_software_16_x11="no"
109 want_evas_engine_software_16_ddraw="no"
110 want_evas_engine_software_16_wince="no"
112 want_evas_image_loader_edb="yes"
113 want_evas_image_loader_eet="yes"
114 want_evas_image_loader_gif="yes"
115 want_evas_image_loader_jpeg="yes"
116 want_evas_image_loader_pmaps="yes"
117 want_evas_image_loader_png="yes"
118 want_evas_image_loader_svg="yes"
119 want_evas_image_loader_tiff="yes"
120 want_evas_image_loader_xpm="yes"
121 want_evas_image_loader_bmp="yes"
122 want_evas_image_loader_tga="yes"
123 want_evas_image_loader_wbmp="yes"
124 want_evas_image_loader_ico="yes"
125 want_evas_image_loader_psd="yes"
126 want_evas_image_loader_generic="yes"
128 want_evas_font_loader_eet="yes"
133 want_evas_engine_software_16_wince="yes"
134 want_evas_image_loader_edb="no"
135 want_evas_image_loader_gif="no"
136 want_evas_image_loader_svg="no"
137 want_evas_image_loader_tiff="no"
140 want_evas_engine_software_gdi="yes"
141 want_evas_engine_software_ddraw="yes"
142 want_evas_engine_direct3d="yes"
143 want_evas_engine_software_16_ddraw="yes"
144 want_evas_image_loader_edb="no"
145 want_evas_image_loader_svg="no"
148 want_evas_engine_software_xlib="auto"
151 want_evas_engine_software_xlib="auto"
152 want_evas_engine_gl_x11="auto"
153 want_evas_engine_fb="auto"
154 ### no - not ready/usable/complete
155 # want_evas_engine_software_8_x11="auto"
156 # want_evas_engine_software_16_x11="auto"
163 ### Additional options to configure
165 # when used, that option makes configure script fails when
166 # a requirement is selected, but not met.
168 AC_ARG_ENABLE([strict],
169 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
173 # Simple X11 build/link
174 AC_ARG_ENABLE([simple-x11],
175 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
177 if test "x${enableval}" = "xyes" ; then
178 want_evas_simple_x11="yes"
180 want_evas_simple_x11="no"
185 ### Checks for programs
187 m4_ifdef([AC_PROG_OBJC],
190 _AM_DEPENDENCIES(OBJC)
193 dnl#AC_CHECK_TOOL([OBJC], [gcc])
195 dnl#AC_SUBST([OBJCFLAGS])
206 # Check whether pkg-config supports Requires.private
207 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
208 pkgconfig_requires_private="Requires.private"
210 pkgconfig_requires_private="Requires"
212 AC_SUBST(pkgconfig_requires_private)
214 # doxygen program for documentation building
215 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
218 ### Checks for libraries
220 # Evil library for compilation on Windows CE
224 PKG_CHECK_MODULES([EVIL], [evil])
225 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
226 requirement_evas="evil ${requirement_evas}"
230 ## strong dependencies
233 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
234 CPPFLAGS_SAVE="$CPPFLAGS"
235 CPPFLAGS="$CPPFLAGS $EINA_CFLAGS"
236 AC_CHECK_SIZEOF(Eina_Unicode,, [#include <Eina.h>])
237 CPPFLAGS="$CPPFLAGS_SAVE"
240 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
242 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
244 ## optional dependencies
248 AC_ARG_ENABLE([fontconfig],
249 AC_HELP_STRING([--disable-fontconfig],
250 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
252 if test "x${enableval}" = "xyes" ; then
253 want_fontconfig="yes"
260 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
261 PKG_CHECK_MODULES([FONTCONFIG],
264 have_fontconfig="yes"
265 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
266 requirement_evas="fontconfig ${requirement_evas}"
269 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
270 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
277 AC_ARG_ENABLE([fribidi],
278 AC_HELP_STRING([--disable-fribidi],
279 [disable bidirectional text support. @<:@default=enabled@:>@]),
281 if test "x${enableval}" = "xyes" ; then
288 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
289 PKG_CHECK_MODULES([FRIBIDI],
293 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
294 requirement_evas="fribidi ${requirement_evas}"
295 CPPFLAGS_SAVE="$CPPFLAGS"
296 CPPFLAGS="$CPPFLAGS $FRIBIDI_CFLAGS"
297 AC_CHECK_SIZEOF(FriBidiChar,, [#include <fribidi/fribidi.h>])
298 CPPFLAGS="$CPPFLAGS_SAVE"
301 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
302 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
307 if test "x${have_fribidi}" = "xno"; then
313 have_harfbuzz_ft="no"
314 AC_ARG_ENABLE([harfbuzz],
315 AC_HELP_STRING([--disable-harfbuzz],
316 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
318 if test "x${enableval}" = "xyes" ; then
325 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
326 PKG_CHECK_MODULES([HARFBUZZ],
330 requirement_evas="harfbuzz ${requirement_evas}"
333 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
334 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
337 if test "x$have_harfbuzz" = "xyes" ; then
339 CPPFLAGS_SAVE="$CPPFLAGS"
340 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
341 # must have for usage with harfbuzz although harfbuzz may not have it.
343 AC_CHECK_HEADER(hb-ft.h,
345 have_harfbuzz_ft="yes"
346 #Depend on harfbuzz ft for harfbuzz support
347 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
350 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
351 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
355 CPPFLAGS="$CPPFLAGS_SAVE"
359 if test "x${have_harfbuzz}" = "xno"; then
365 AC_ARG_ENABLE([pixman],
366 AC_HELP_STRING([--disable-pixman],
367 [disable pixman for software rendering. @<:@default=enabled@:>@]),
369 if test "x${enableval}" = "xyes" ; then
377 if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
378 PKG_CHECK_MODULES([PIXMAN],
382 AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
383 requirement_evas="pixman-1 ${requirement_evas}"
386 if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
387 AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
392 ### Checks for header files
394 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
402 ### Checks for structures
405 ### Checks for compiler characteristics
414 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
417 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
420 AC_SUBST(WIN32_CPPFLAGS)
425 WIN32_CFLAGS="-mwin32"
428 AC_SUBST(WIN32_CFLAGS)
431 ### Checks for linker characteristics
432 lt_enable_auto_import=""
435 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
436 lt_enable_auto_import="-Wl,--enable-auto-import"
439 AC_SUBST(lt_enable_auto_import)
442 ### Checks for library functions
450 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
457 AC_DEFINE(HAVE_DLADDR)
460 # nothing on mingw platform
463 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
464 if test "x$res" = "xyes"; then
465 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
467 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
468 if test "x$res" = "xyes"; then
469 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
472 AC_MSG_ERROR(Cannot find dlopen)
476 AC_SUBST(dlopen_libs)
479 AC_MSG_CHECKING([whether shm_open() is present])
485 #include <sys/stat.h>
486 #include <sys/mman.h>
491 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
496 AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call])
499 [have_shm_open="no"])
501 AC_MSG_RESULT([${have_shm_open}])
502 AC_SUBST(SHM_OPEN_LINK)
504 # (shm_open (for cache server)
505 AC_ARG_ENABLE([evas-cserve],
506 AC_HELP_STRING([--disable-evas-cserve],
507 [disable shared cache server support. @<:@default=enabled@:>@]),
509 if test "x${enableval}" = "xyes" ; then
510 want_evas_cserve="yes"
512 want_evas_cserve="no"
515 AC_MSG_CHECKING(whether to build shared cache server and support)
516 AC_MSG_RESULT(${want_evas_cserve})
518 if test "x${want_evas_cserve}" = "xyes" ; then
519 AC_MSG_CHECKING([whether shm_open() is present])
525 #include <sys/types.h>
526 #include <sys/mman.h>
531 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
534 [want_evas_cserve="yes"],
535 [want_evas_cserve="no"])
537 AC_MSG_RESULT([${want_evas_cserve}])
540 if test "x${want_evas_cserve}" = "xyes" ; then
541 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
544 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
548 #######################################
549 ## GL force flavor gles
551 AC_MSG_CHECKING(whether to build GLES flavor of GL)
552 AC_ARG_ENABLE(gl-flavor-gles,
553 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
555 if test "x$enableval" = "xyes" ; then
568 #######################################
570 gles_variety_sgx="no"
571 AC_MSG_CHECKING(whether to build GLES variety for SGX)
572 AC_ARG_ENABLE(gles-variety-sgx,
573 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
575 if test "x$enableval" = "xyes" ; then
577 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
578 gles_variety_sgx="yes"
581 gles_variety_sgx="no"
585 gles_variety_sgx="no"
589 #######################################
590 ## GLES variety s3c6410
591 gles_variety_s3c6410="no"
592 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
593 AC_ARG_ENABLE(gles-variety-s3c6410,
594 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
596 if test "x$enableval" = "xyes" ; then
598 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
599 gles_variety_s3c6410="yes"
602 gles_variety_s3c6410="no"
606 gles_variety_s3c6410="no"
610 if test "x$gl_flavor_gles" = "xyes"; then
612 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
613 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
614 if test "x$eng" = "xx"; then
618 [Please enable just 1 OpenGL-ES flavor. Choices are:
619 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
620 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
621 You will also need to enable the OpenGL engine for X11 with:
627 #####################################################################
630 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
632 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
634 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
636 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
638 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
640 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
642 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
644 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
646 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
648 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
650 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
652 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
654 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
656 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
658 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
661 have_evas_engine_gl_common="no"
662 have_static_evas_engine_gl_common="no"
663 if test "x$have_evas_engine_gl_x11" = "xyes" \
664 || test "x$have_evas_engine_gl_sdl" = "xyes"; then
665 have_evas_engine_gl_common="yes"
667 if test "x$have_evas_engine_gl_x11" = "xstatic" \
668 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
669 have_evas_engine_gl_common="yes"
670 have_static_evas_engine_gl_common="yes"
673 if test "x$have_evas_engine_gl_common" = "xyes"; then
674 evas_engine_gl_common_libs=""
675 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
678 AC_SUBST([evas_engine_gl_common_libs])
680 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
682 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
683 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
684 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
688 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
689 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
690 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
691 [#include <SDL/SDL_video.h>])
694 if test "x$gl_flavor_gles" = "xyes"; then
695 AC_CHECK_DECL(SDL_OPENGLES,
696 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
697 [#include <SDL/SDL_video.h>])
703 AC_ARG_ENABLE([sdl-primitive],
704 [AC_HELP_STRING([--enable-sdl-primitive], [])],
705 [sdl_primitive=${enableval}]
707 AC_MSG_CHECKING([whether to use SDL primitive when possible])
708 AC_MSG_RESULT([${sdl_primitive}])
710 if test "x${sdl_primitive}" = "xyes" ; then
711 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
714 # if software generic need to be build as part of libevas.so
715 have_static_software_generic="no"
716 AC_ARG_ENABLE([static-software-generic],
717 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
718 [have_static_software_generic=${enableval}]
720 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
721 AC_MSG_RESULT([${have_static_software_generic}])
723 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
724 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
725 have_static_software_generic="yes"
728 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
729 if test "x${have_static_software_generic}" = "xyes"; then
730 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
733 # if software_xlib or software_xcb are available, define everything needed for X11
734 have_evas_engine_software_x11="no"
735 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
736 have_evas_engine_software_x11="static"
738 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
739 have_evas_engine_software_x11="yes"
743 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
744 have_evas_engine_software_xlib="yes"
747 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
748 have_evas_engine_software_xcb="yes"
751 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
752 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
755 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
756 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
759 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
760 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
762 AC_SUBST(have_evas_engine_software_xlib)
763 AC_SUBST(have_evas_engine_software_xcb)
765 # if software 16 x11 is enabled - build software_16 (the generic 16bit
766 # engine). later enable it fb_16 or other "16" bit engines are enabled.
767 have_evas_engine_software_16="no"
768 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
769 have_evas_engine_software_16="yes"
771 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
772 have_evas_engine_software_16="yes"
774 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
775 have_evas_engine_software_16="yes"
777 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
778 have_evas_engine_software_16="yes"
780 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
782 # if software 16 need to be build as part of libevas.so
783 have_static_software_16="no"
784 AC_ARG_ENABLE([static-software-16],
785 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
786 [have_static_software_16=${enableval}]
788 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
789 AC_MSG_RESULT([${have_static_software_16}])
791 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
792 if test "x${have_static_software_16}" = "xyes"; then
793 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
796 # if software 8 x11 is enabled - build software_8 (the generic 8bit
798 have_evas_engine_software_8="no"
799 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
800 have_evas_engine_software_8="yes"
802 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
804 # if software 8 need to be build as part of libevas.so
805 have_static_software_8="no"
806 AC_ARG_ENABLE([static-software-8],
807 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
808 [have_static_software_8=${enableval}]
810 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
811 AC_MSG_RESULT([${have_static_software_8}])
813 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
814 if test "x${have_static_software_8}" = "xyes"; then
815 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
818 #####################################################################
821 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
823 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
824 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
826 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
828 have_evas_image_saver_jpeg="no"
829 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
831 dnl Windows has no sigsetjmp function, nor equivalent.
832 dnl So we disable the jpeg saver.
833 dnl TODO: must find a workaround
838 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
839 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
840 have_evas_image_saver_jpeg="yes"
844 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
846 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
848 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
850 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
852 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
854 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
856 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
858 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
860 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
862 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
864 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
866 EVAS_CHECK_IMAGE_LOADER([GENERIC], [${want_evas_image_loader_generic}])
868 #####################################################################
869 ## Cpu based optimizations
871 #######################################
878 # basic pthread support
879 AC_CHECK_HEADER(pthread.h,
888 # sched_getaffinity pthread_attr_setaffinity_np
889 AC_CHECK_HEADERS(pthread.h sched.h,
891 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
893 AC_CHECK_LIB(pthread, pthread_barrier_wait,
894 [ build_pthreads="yes" ],
895 [ build_pthreads="no" ]
898 [ build_pthreads="no" ]
901 [ build_pthreads="no" ]
904 #######################################
906 AC_MSG_CHECKING(whether to build pthread code)
907 AC_ARG_ENABLE(pthreads,
908 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
910 if test "x$enableval" = "xyes" ; then
911 if test "x$build_pthreads" = "xyes"; then
913 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
917 if "x$use_strict" = "xyes"; then
918 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
920 AC_MSG_RESULT(no: pthread headers or functions not found)
929 AC_MSG_RESULT($build_pthreads)
930 if test "x$build_pthreads" = "xyes" ; then
931 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
937 #######################################
939 build_pipe_render="no"
941 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
942 AC_ARG_ENABLE(pipe-render,
943 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
944 [ build_pipe_render=$enableval ]
946 AC_MSG_RESULT($build_pipe_render)
948 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
949 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
951 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
952 build_pipe_render="yes"
956 build_pipe_render="no"
959 #######################################
961 build_async_render="no"
963 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
964 AC_ARG_ENABLE(async-render,
965 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
966 [ build_async_render=$enableval ]
968 AC_MSG_RESULT($build_async_render)
970 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
971 if test \( "x$build_async_render" = "xyes" \); then
973 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
974 build_async_render="yes"
975 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
976 build_pipe_render="yes"
979 PKG_CHECK_MODULES([XEXT],
981 [ build_avoid_libXext_bug=yes ],
982 [ build_avoid_libXext_bug=no ]
984 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
985 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
989 build_async_render="no"
992 #######################################
994 build_async_events="auto"
995 AC_MSG_CHECKING(whether to build Async Events support)
996 AC_ARG_ENABLE(async-events,
997 AC_HELP_STRING([--enable-async-events], [enable async events support]),
998 [ build_async_events=$enableval ]
1000 AC_MSG_RESULT($build_async_events)
1002 AC_MSG_CHECKING(whether we can build Async Events support)
1003 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
1005 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
1006 build_async_events="yes"
1009 build_async_events="no"
1012 #######################################
1013 ## Async image preload
1014 build_async_preload="auto"
1015 AC_MSG_CHECKING(whether to build Async Image Preload support)
1016 AC_ARG_ENABLE(async-preload,
1017 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
1018 [ build_async_preload=$enableval ]
1020 AC_MSG_RESULT($build_async_preload)
1022 AC_MSG_CHECKING(whether we can build Async Image Preload support)
1023 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
1025 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
1026 build_async_preload="yes"
1030 build_async_preload="no"
1033 #######################################
1034 ## Link with pthread if needed
1035 AC_MSG_CHECKING(whether we should link with pthread)
1036 if test "x$need_pthreads" = "xyes"; then
1039 pthread_libs="-lpthread"
1044 #######################################
1058 AC_MSG_CHECKING(whether to build mmx code)
1059 AC_ARG_ENABLE(cpu-mmx,
1060 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1062 if test "x$enableval" = "xyes" ; then
1064 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1072 AC_MSG_RESULT($build_cpu_mmx)
1073 if test "x$build_cpu_mmx" = "xyes" ; then
1074 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1079 #######################################
1093 AC_MSG_CHECKING(whether to build sse code)
1094 AC_ARG_ENABLE(cpu-sse,
1095 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1097 if test "x$enableval" = "xyes" ; then
1099 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1107 AC_MSG_RESULT($build_cpu_sse)
1108 if test "x$build_cpu_sse" = "xyes" ; then
1109 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1114 #######################################
1116 build_cpu_altivec="no"
1119 build_cpu_altivec="auto"
1123 AC_MSG_CHECKING(whether to build altivec code)
1124 AC_ARG_ENABLE(cpu-altivec,
1125 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1126 [ build_cpu_altivec=$enableval ],
1128 if test ! "x$build_cpu_altivec" = "xauto"; then
1129 build_cpu_altivec="no"
1133 AC_MSG_RESULT($build_cpu_altivec)
1135 if test "x$build_cpu_altivec" = "xyes"; then
1136 AC_CHECK_HEADER(altivec.h,
1138 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1139 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1140 build_cpu_altivec="yes"
1144 save_CPPFLAGS=$CPPFLAGS
1145 CFLAGS=$CFLAGS" -maltivec"
1146 CPPFLAGS=$CPPFLAGS" -maltivec"
1147 unset ac_cv_header_altivec_h
1148 AC_CHECK_HEADER(altivec.h,
1150 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1151 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1152 build_cpu_altivec="yes"
1155 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1156 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1158 build_cpu_altivec="no"
1162 CPPFLAGS=$save_CPPFLAGS
1167 if test "x$build_cpu_altivec" = "xyes"; then
1168 AC_MSG_CHECKING(whether to use altivec compiler flag)
1169 if test "x$GCC" = "xyes"; then
1170 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1171 altivec_cflags="-faltivec"
1172 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1173 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1174 altivec_cflags="-maltivec"
1175 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1178 AC_MSG_RESULT($altivec_cflags)
1179 CFLAGS="$CFLAGS $altivec_cflags"
1182 #######################################
1187 build_cpu_neon="yes"
1190 AC_MSG_CHECKING(whether to build neon code)
1191 AC_ARG_ENABLE(cpu-neon,
1192 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1193 checked at run time to see if the CPU supports it]),
1195 if test "x$enableval" = "xyes" ; then
1197 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1200 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1201 build_cpu_neon="yes"
1212 if test "x$build_cpu_neon" = "xyes" ; then
1213 AC_TRY_COMPILE([#include <arm_neon.h>],
1214 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1217 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1218 build_cpu_neon="yes"
1227 #######################################
1230 AC_MSG_CHECKING(whether to build c code)
1231 AC_ARG_ENABLE(cpu-c,
1232 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1234 if test "x$enableval" = "xyes" ; then
1236 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1243 AC_MSG_RESULT($build_cpu_c)
1244 if test "x$build_cpu_c" = "xyes" ; then
1245 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1250 #######################################
1252 want_evas_magic_debug="yes"
1253 AC_MSG_CHECKING(whether to check magic for evas object)
1254 AC_ARG_ENABLE(evas-magic-debug,
1256 [--disable-evas-magic-debug],
1257 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1259 [ want_evas_magic_debug="$enableval" ]
1261 AC_MSG_RESULT($want_evas_magic_debug)
1263 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1264 if test "x$want_evas_magic_debug" = "xyes"; then
1265 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1269 #######################################
1271 want_word_cache="no"
1272 AC_MSG_CHECKING(whether to enable caching of rendered words)
1273 AC_ARG_ENABLE(word-cache,
1275 [--enable-word-cache],
1276 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1278 [ want_word_cache="$enableval" ]
1280 AC_MSG_RESULT($want_word_cache)
1282 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1283 if test "x$want_word_cache" = "xyes"; then
1284 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1287 #######################################
1289 want_metric_cache="no"
1290 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1291 AC_ARG_ENABLE(metric-cache,
1293 [--enable-metric-cache],
1294 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1296 [ want_metric_cache="$enableval" ]
1298 AC_MSG_RESULT($want_metric_cache)
1300 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1301 if test "x$want_metric_cache" = "xyes"; then
1302 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1307 #####################################################################
1308 ## ARGB engine options
1310 #######################################
1311 ## Nearest sampling scaler
1312 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1313 ## Smooth super and sub sampling scaler
1314 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1316 #######################################
1317 ## YUV -> ARGB converter
1320 AC_MSG_CHECKING(whether to build yuv converter code)
1321 AC_ARG_ENABLE(convert-yuv,
1322 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1324 if test "x$enableval" = "xyes" ; then
1326 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1333 AC_MSG_RESULT($conv_yuv)
1334 if test "x$conv_yuv" = "xyes" ; then
1335 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1340 #####################################################################
1341 ## Output rendering features
1343 #######################################
1344 ## Small dither mask instead of big one (lower quality)
1345 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1346 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1347 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1348 ## No dither mask at all for 16bpp
1349 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1351 #######################################
1352 ## Convert to 8bpp RGB 332
1353 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1354 ## Convert to 8bpp RGB 666
1355 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1356 ## Convert to 8bpp RGB 232
1357 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1358 ## Convert to 8bpp RGB 222
1359 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1360 ## Convert to 8bpp RGB 221
1361 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1362 ## Convert to 8bpp RGB 121
1363 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1364 ## Convert to 8bpp RGB 111
1365 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1366 ## Convert to 16bpp RGB 565
1367 EVAS_CONVERT_COLOR(16, RGB, 565)
1368 ## Convert to 16bpp BGR 565
1369 EVAS_CONVERT_COLOR(16, BGR, 565)
1370 ## Convert to 16bpp RGB 555
1371 EVAS_CONVERT_COLOR(16, RGB, 555)
1372 ## Convert to 16bpp RGB 444
1373 EVAS_CONVERT_COLOR(16, RGB, 444)
1375 #######################################
1376 ## Convert to 16bpp RGB 565 (444 ipaq)
1377 conv_16_rgb_ipq="yes"
1378 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1379 AC_ARG_ENABLE(convert-16-rgb-ipq,
1380 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1382 if test "x$enableval" = "xyes" ; then
1383 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1384 conv_16_rgb_ipq="yes"
1386 conv_16_rgb_ipq="no"
1389 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1390 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1394 AC_MSG_RESULT($conv_16_rgb_ipq)
1396 #######################################
1397 ## Convert to 16bpp RGB with rotation of 0
1398 EVAS_CONVERT_ROT(16, RGB, 0)
1399 ## Convert to 16bpp RGB with rotation of 180
1400 EVAS_CONVERT_ROT(16, RGB, 180)
1401 ## Convert to 16bpp RGB with rotation of 270
1402 EVAS_CONVERT_ROT(16, RGB, 270)
1403 ## Convert to 16bpp RGB with rotation of 90
1404 EVAS_CONVERT_ROT(16, RGB, 90)
1406 #######################################
1407 ## Convert to 24bpp RGB 888
1408 EVAS_CONVERT_COLOR(24, RGB, 888)
1409 ## Convert to 24bpp BGR 888
1410 EVAS_CONVERT_COLOR(24, BGR, 888)
1411 ## Convert to 32bpp RGB 8888
1412 EVAS_CONVERT_COLOR(32, RGB, 8888)
1413 ## Convert to 32bpp RGBX 8888
1414 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1415 ## Convert to 32bpp BGR 8888
1416 EVAS_CONVERT_COLOR(32, BGR, 8888)
1417 ## Convert to 32bpp BGRX 8888
1418 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1420 #######################################
1421 ## Convert to 24bpp RGB 666 (666 ezx)
1422 conv_24_rgb_ezx="yes"
1423 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1424 AC_ARG_ENABLE(convert-24-rgb-ezx,
1425 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1427 if test "x$enableval" = "xyes" ; then
1428 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1429 conv_24_rgb_ezx="yes"
1431 conv_24_rgb_ezx="no"
1434 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1435 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1439 AC_MSG_RESULT($conv_24_rgb_ezx)
1441 #######################################
1442 ## Convert to 32bpp RGB 666 (666 ezx)
1443 conv_32_rgb_ezx="yes"
1444 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1445 AC_ARG_ENABLE(convert-32-rgb-ezx,
1446 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1448 if test "x$enableval" = "xyes" ; then
1449 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1450 conv_32_rgb_ezx="yes"
1452 conv_32_rgb_ezx="no"
1455 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1456 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1460 AC_MSG_RESULT($conv_32_rgb_ezx)
1462 #######################################
1463 ## Convert to 32bpp RGB with rotation of 0
1464 EVAS_CONVERT_ROT(32, RGB, 0)
1465 ## Convert to 32bpp RGB with rotation of 180
1466 EVAS_CONVERT_ROT(32, RGB, 180)
1467 ## Convert to 32bpp RGB with rotation of 270
1468 EVAS_CONVERT_ROT(32, RGB, 270)
1469 ## Convert to 32bpp RGB with rotation of 90
1470 EVAS_CONVERT_ROT(32, RGB, 90)
1472 #######################################
1473 ## Convert to 8bpp grayscale with 256 value, no palette
1474 EVAS_CONVERT_COLOR(8, GRY, 1)
1475 ## Convert to 8bpp grayscale with 16 value, no palette
1476 EVAS_CONVERT_COLOR(8, GRY, 16)
1478 #######################################
1479 ## Convert to 8bpp grayscale, 64-palette
1480 conv_8_grayscale_64="yes"
1481 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1482 AC_ARG_ENABLE(convert-8-grayscale-64,
1483 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1485 if test "x$enableval" = "xyes"; then
1486 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1487 conv_8_grayscale_64="yes"
1489 conv_8_grayscale_64="no"
1492 if test "x$conv_8_grayscale_64" = "xyes"; then
1493 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1497 AC_MSG_RESULT($conv_8_grayscale_64)
1503 AC_MSG_CHECKING(whether to enable build with valgrind)
1504 AC_ARG_ENABLE(valgrind,
1505 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1506 [ want_valgrind=$enableval ]
1508 AC_MSG_RESULT($want_valgrind)
1510 if test x$want_valgrind = "xyes"; then
1511 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1513 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1515 requirement_evas="valgrind ${requirement_evas}"
1518 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1519 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1527 install_examples="yes"
1528 AC_ARG_ENABLE([install-examples],
1529 AC_HELP_STRING([--disable-install-examples],
1530 [disable installing examples (compiled or just source).
1531 @<:@default==enabled@:>@]),
1533 if test "x${enableval}" = "xyes" ; then
1534 install_examples="yes"
1536 install_examples="no"
1539 [install_examples="yes"])
1540 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1543 AC_ARG_ENABLE([build-examples],
1544 AC_HELP_STRING([--enable-build-examples],
1545 [enable building examples. @<:@default==disabled@:>@]),
1547 if test "x${enableval}" = "xyes" ; then
1548 build_examples="yes"
1553 [build_examples="no"])
1554 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1557 #####################################################################
1560 AC_SUBST(altivec_cflags)
1561 AC_SUBST(pthread_cflags)
1562 AC_SUBST(pthread_libs)
1563 AC_SUBST(requirement_evas)
1566 #####################################################################
1575 evas-software-buffer.pc
1576 evas-software-x11.pc
1577 evas-software-8-x11.pc
1578 evas-software-16-x11.pc
1579 evas-software-gdi.pc
1580 evas-software-ddraw.pc
1581 evas-software-16-ddraw.pc
1583 evas-software-16-wince.pc
1584 evas-software-sdl.pc
1591 src/lib/canvas/Makefile
1592 src/lib/file/Makefile
1593 src/lib/cache/Makefile
1594 src/lib/cserve/Makefile
1595 src/lib/engines/Makefile
1596 src/lib/engines/common/Makefile
1597 src/lib/engines/common/evas_op_add/Makefile
1598 src/lib/engines/common/evas_op_blend/Makefile
1599 src/lib/engines/common/evas_op_copy/Makefile
1600 src/lib/engines/common/evas_op_mask/Makefile
1601 src/lib/engines/common/evas_op_mul/Makefile
1602 src/lib/engines/common/evas_op_sub/Makefile
1603 src/lib/engines/common_8/Makefile
1604 src/lib/engines/common_16/Makefile
1605 src/modules/Makefile
1606 src/modules/engines/Makefile
1607 src/modules/engines/software_generic/Makefile
1608 src/modules/engines/software_gdi/Makefile
1609 src/modules/engines/software_ddraw/Makefile
1610 src/modules/engines/direct3d/Makefile
1611 src/modules/engines/software_16_wince/Makefile
1612 src/modules/engines/software_x11/Makefile
1613 src/modules/engines/fb/Makefile
1614 src/modules/engines/buffer/Makefile
1615 src/modules/engines/directfb/Makefile
1616 src/modules/engines/gl_common/Makefile
1617 src/modules/engines/gl_x11/Makefile
1618 src/modules/engines/gl_sdl/Makefile
1619 src/modules/engines/software_sdl/Makefile
1620 src/modules/engines/software_8/Makefile
1621 src/modules/engines/software_8_x11/Makefile
1622 src/modules/engines/software_16/Makefile
1623 src/modules/engines/software_16_x11/Makefile
1624 src/modules/engines/software_16_ddraw/Makefile
1625 src/modules/engines/software_16_sdl/Makefile
1626 src/modules/loaders/Makefile
1627 src/modules/loaders/edb/Makefile
1628 src/modules/loaders/eet/Makefile
1629 src/modules/loaders/gif/Makefile
1630 src/modules/loaders/jpeg/Makefile
1631 src/modules/loaders/png/Makefile
1632 src/modules/loaders/tiff/Makefile
1633 src/modules/loaders/xpm/Makefile
1634 src/modules/loaders/bmp/Makefile
1635 src/modules/loaders/ico/Makefile
1636 src/modules/loaders/tga/Makefile
1637 src/modules/loaders/svg/Makefile
1638 src/modules/loaders/pmaps/Makefile
1639 src/modules/loaders/wbmp/Makefile
1640 src/modules/loaders/psd/Makefile
1641 src/modules/loaders/generic/Makefile
1642 src/modules/savers/Makefile
1643 src/modules/savers/edb/Makefile
1644 src/modules/savers/eet/Makefile
1645 src/modules/savers/jpeg/Makefile
1646 src/modules/savers/png/Makefile
1647 src/modules/savers/tiff/Makefile
1648 src/lib/include/Makefile
1649 src/examples/Makefile
1654 #####################################################################
1657 if test "x$build_pthreads" = "xno" ; then
1658 if test "x$build_async_render" = "xyes" ; then
1659 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1660 echo " needs thread support."
1663 if test "x$build_pipe_render" = "xyes" ; then
1664 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1665 echo " needs thread support."
1670 if test "x${has_pthreads}" = "xno" ; then
1671 if test "x$build_async_preload" = "xyes" ; then
1672 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1673 echo " needs thread support."
1678 #####################################################################
1684 echo "------------------------------------------------------------------------"
1685 echo "$PACKAGE $VERSION"
1686 echo "------------------------------------------------------------------------"
1688 echo "Configuration Options Summary:"
1691 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1692 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1693 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1694 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1695 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1699 echo " Software GDI...............: $have_evas_engine_software_gdi"
1700 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1701 echo " Direct3d...................: $have_evas_engine_direct3d"
1702 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1703 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1704 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1705 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1709 echo " Software Framebuffer.......: $have_evas_engine_fb"
1710 echo " DirectFB...................: $have_evas_engine_directfb"
1711 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1712 # FIXME: kill software 16bit
1713 echo " Software 16bit ............: $have_evas_engine_software_16"
1714 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1715 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1716 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1717 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1719 echo "Image Loaders:"
1720 echo " BMP.....................: $have_evas_image_loader_bmp"
1721 echo " EDB.....................: $have_evas_image_loader_edb"
1722 echo " EET.....................: $have_evas_image_loader_eet"
1723 echo " GIF.....................: $have_evas_image_loader_gif"
1724 echo " ICO.....................: $have_evas_image_loader_ico"
1725 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1726 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1727 echo " PNG.....................: $have_evas_image_loader_png"
1728 echo " SVG.....................: $have_evas_image_loader_svg"
1729 echo " TGA.....................: $have_evas_image_loader_tga"
1730 echo " TIFF....................: $have_evas_image_loader_tiff"
1731 echo " WBMP....................: $have_evas_image_loader_wbmp"
1732 echo " XPM.....................: $have_evas_image_loader_xpm"
1733 echo " PSD.....................: $have_evas_image_loader_psd"
1734 echo " GENERIC.................: $have_evas_image_loader_generic"
1736 echo "Font Sourcing Systems:"
1737 echo " EET.....................: $have_evas_font_loader_eet"
1739 echo "Font Searching Systems:"
1740 echo " Fontconfig..............: $have_fontconfig"
1742 echo "Font Rendering Helpers:"
1743 echo " Fribidi.................: $have_fribidi"
1744 echo " Harfbuzz................: $have_harfbuzz"
1745 # FIXME: add non freetype2 font engine support
1746 # FIXME: make freetype2 optional
1748 echo "CPU Specific Extensions:"
1749 echo " Fallback C Code.........: $build_cpu_c"
1750 echo " MMX.....................: $build_cpu_mmx"
1751 echo " SSE.....................: $build_cpu_sse"
1752 echo " ALTIVEC.................: $build_cpu_altivec"
1753 echo " NEON....................: $build_cpu_neon"
1754 echo " Thread Support..........: $build_pthreads"
1757 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1758 echo " Cache Server............: $want_evas_cserve"
1761 dnl ... DISABLED! some testing has shown that this seems to have some
1762 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1763 dnl disabling this for now until it can be fixed
1765 echo " Threaded Pipe Rendering.: $build_pipe_render"
1766 echo " Async Pipe Rendering....: $build_async_render"
1767 echo " Async Events............: $build_async_events"
1768 echo " Async Image Preload.....: $build_async_preload"
1770 echo " Word Cache..............: $want_word_cache"
1771 echo " Metric Cache............: $want_metric_cache"
1773 echo "ARGB Software Engine Options:"
1774 echo " Sampling Scaler.........: $scaler_sample"
1775 echo " Smooth Scaler...........: $scaler_smooth"
1776 # FIXME: add an mmx scaler routine
1777 echo " YUV Converter...........: $conv_yuv"
1778 # FIXME: add more YUV format and colorvariant support
1780 echo "ARGB Conversion Options:"
1781 echo " Smaller Dither Mask.....: $conv_small_dither"
1782 echo " Line Dither Mask........: $conv_line_dither"
1783 echo " No Dither Mask for 16bpp: $conv_no_dither"
1784 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1785 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1786 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1787 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1788 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1789 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1790 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1791 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1792 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1793 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1794 # FIXME: add grayscale and B&W support to standard x converters
1795 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1796 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1797 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1798 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1799 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1800 # FIXME: add 555 (444 ipaq) support
1801 # FIXME: add 30bpp support
1802 # FIXME: add palletted support (ugh!)
1803 # FIXME: add 8bpp and below rotation
1804 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1805 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1806 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1807 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1808 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1809 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1810 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1811 # FIXME: add 24bpp rotation
1812 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1813 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1814 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1815 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1816 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1817 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1818 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1819 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1820 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1822 echo "Documentation.............: ${build_doc}"
1823 echo "Examples..................: install:${install_examples} build:${build_examples}"
1825 echo "Compilation............: make (or gmake)"
1826 echo " CPPFLAGS.............: $CPPFLAGS"
1827 echo " CFLAGS...............: $CFLAGS"
1828 echo " CXXFLAGS.............: $CXXFLAGS"
1829 echo " LDFLAGS..............: $LDFLAGS"
1831 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1832 echo " prefix...............: $prefix"
1834 if test "x${have_static_module}" = "xyes" ; then
1835 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1836 echo " You must know what you are doing, or else you will have a lot of"
1837 echo " problems. And Kenny will be killed."
1838 echo " Think about that."