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_rev], m4_eval(v_maj + v_min))
16 m4_define([lt_cur], 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_rev:lt_cur: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"
93 want_evas_cserve="yes"
95 want_evas_engine_buffer="yes"
96 want_evas_engine_software_xlib="no"
97 want_evas_engine_xrender_x11="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_cairo_x11="no"
101 want_evas_engine_software_xcb="no"
102 want_evas_engine_xrender_xcb="no"
103 want_evas_engine_software_gdi="no"
104 want_evas_engine_software_ddraw="no"
105 want_evas_engine_direct3d="no"
106 want_evas_engine_quartz="no"
107 want_evas_engine_gl_glew="no"
108 want_evas_engine_software_sdl="no"
109 want_evas_engine_fb="no"
110 want_evas_engine_directfb="no"
111 want_evas_engine_software_qtopia="no"
112 want_evas_engine_software_8_x11="no"
113 want_evas_engine_software_16_x11="no"
114 want_evas_engine_software_16_ddraw="no"
115 want_evas_engine_software_16_wince="no"
117 want_evas_image_loader_edb="yes"
118 want_evas_image_loader_eet="yes"
119 want_evas_image_loader_gif="yes"
120 want_evas_image_loader_jpeg="yes"
121 want_evas_image_loader_pmaps="yes"
122 want_evas_image_loader_png="yes"
123 want_evas_image_loader_svg="yes"
124 want_evas_image_loader_tiff="yes"
125 want_evas_image_loader_xpm="yes"
126 want_evas_image_loader_bmp="yes"
127 want_evas_image_loader_tga="yes"
129 want_evas_font_loader_eet="yes"
134 want_evas_engine_software_16_wince="yes"
135 want_evas_image_loader_edb="no"
136 want_evas_image_loader_gif="no"
137 want_evas_image_loader_svg="no"
138 want_evas_image_loader_tiff="no"
141 want_evas_engine_software_gdi="yes"
142 want_evas_engine_software_ddraw="yes"
143 want_evas_engine_direct3d="yes"
144 want_evas_engine_software_16_ddraw="yes"
145 want_evas_image_loader_edb="no"
146 want_evas_image_loader_svg="no"
149 want_evas_engine_software_xlib="auto"
150 want_evas_engine_quartz="auto"
153 want_evas_engine_software_xlib="auto"
154 want_evas_engine_gl_x11="auto"
155 want_evas_engine_fb="auto"
156 ### no - not ready/usable/complete
157 # want_evas_engine_software_8_x11="auto"
158 # want_evas_engine_xrender_x11="auto"
159 # want_evas_engine_software_16_x11="auto"
166 ### Additional options to configure
168 # when used, that option makes configure script fails when
169 # a requirement is selected, but not met.
171 AC_ARG_ENABLE([strict],
172 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
176 # Simple X11 build/link
177 AC_ARG_ENABLE([simple-x11],
178 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
180 if test "x${enableval}" = "xyes" ; then
181 want_evas_simple_x11="yes"
183 want_evas_simple_x11="no"
188 ### Checks for programs
190 m4_ifdef([AC_PROG_OBJC],
193 _AM_DEPENDENCIES(OBJC)
196 dnl#AC_CHECK_TOOL([OBJC], [gcc])
198 dnl#AC_SUBST([OBJCFLAGS])
209 # Check whether pkg-config supports Requires.private
210 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
211 pkgconfig_requires_private="Requires.private"
213 pkgconfig_requires_private="Requires"
215 AC_SUBST(pkgconfig_requires_private)
217 # doxygen program for documentation building
218 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
221 ### Checks for libraries
223 # Evil library for compilation on Windows CE
227 PKG_CHECK_MODULES([EVIL], [evil])
228 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
229 requirement_evas="evil ${requirement_evas}"
233 ## strong dependencies
236 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
239 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
241 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
243 ## optional dependencies
247 AC_ARG_ENABLE([fontconfig],
248 AC_HELP_STRING([--disable-fontconfig],
249 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
251 if test "x${enableval}" = "xyes" ; then
252 want_fontconfig="yes"
259 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
260 PKG_CHECK_MODULES([FONTCONFIG],
263 have_fontconfig="yes"
264 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
265 requirement_evas="fontconfig ${requirement_evas}"
268 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
269 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
276 AC_ARG_ENABLE([fribidi],
277 AC_HELP_STRING([--disable-fribidi],
278 [disable bidirectional text support. @<:@default=enabled@:>@]),
280 if test "x${enableval}" = "xyes" ; then
287 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
288 PKG_CHECK_MODULES([FRIBIDI],
292 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
293 requirement_evas="fribidi ${requirement_evas}"
296 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
297 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
302 if test "x${have_fribidi}" = "xno"; then
308 AC_ARG_ENABLE([harfbuzz],
309 AC_HELP_STRING([--disable-harfbuzz],
310 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
312 if test "x${enableval}" = "xyes" ; then
319 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
320 PKG_CHECK_MODULES([HARFBUZZ],
324 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
325 requirement_evas="harfbuzz ${requirement_evas}"
328 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
329 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
334 if test "x${have_harfbuzz}" = "xno"; then
338 ### Checks for header files
340 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
348 ### Checks for structures
351 ### Checks for compiler characteristics
360 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
363 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
366 AC_SUBST(WIN32_CPPFLAGS)
371 WIN32_CFLAGS="-mwin32"
374 AC_SUBST(WIN32_CFLAGS)
377 ### Checks for linker characteristics
378 lt_enable_auto_import=""
381 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
382 lt_enable_auto_import="-Wl,--enable-auto-import"
385 AC_SUBST(lt_enable_auto_import)
388 ### Checks for library functions
396 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
403 AC_DEFINE(HAVE_DLADDR)
406 # nothing on mingw platform
409 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
410 if test "x$res" = "xyes"; then
411 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
413 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
414 if test "x$res" = "xyes"; then
415 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
418 AC_MSG_ERROR(Cannot find dlopen)
422 AC_SUBST(dlopen_libs)
424 # (shm_open (for cache server)
425 AC_ARG_ENABLE([evas-cserve],
426 AC_HELP_STRING([--disable-evas-cserve],
427 [disable shared cache server support. @<:@default=enabled@:>@]),
429 if test "x${enableval}" = "xyes" ; then
430 want_evas_cserve="yes"
432 want_evas_cserve="no"
435 AC_MSG_CHECKING(whether to build shared cache server and support)
436 AC_MSG_RESULT(${want_evas_cserve})
438 if test "x${want_evas_cserve}" = "xyes" ; then
439 AC_MSG_CHECKING([whether shm_open() is present])
445 #include <sys/types.h>
446 #include <sys/mman.h>
451 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
454 [want_evas_cserve="yes"],
455 [want_evas_cserve="no"])
457 AC_MSG_RESULT([${want_evas_cserve}])
460 if test "x${want_evas_cserve}" = "xyes" ; then
461 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
464 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
468 #######################################
469 ## GL force flavor gles
471 AC_MSG_CHECKING(whether to build GLES flavor of GL)
472 AC_ARG_ENABLE(gl-flavor-gles,
473 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
475 if test "x$enableval" = "xyes" ; then
488 #######################################
490 gles_variety_sgx="no"
491 AC_MSG_CHECKING(whether to build GLES variety for SGX)
492 AC_ARG_ENABLE(gles-variety-sgx,
493 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
495 if test "x$enableval" = "xyes" ; then
497 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
498 gles_variety_sgx="yes"
501 gles_variety_sgx="no"
505 gles_variety_sgx="no"
509 #######################################
510 ## GLES variety s3c6410
511 gles_variety_s3c6410="no"
512 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
513 AC_ARG_ENABLE(gles-variety-s3c6410,
514 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
516 if test "x$enableval" = "xyes" ; then
518 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
519 gles_variety_s3c6410="yes"
522 gles_variety_s3c6410="no"
526 gles_variety_s3c6410="no"
530 if test "x$gl_flavor_gles" = "xyes"; then
532 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
533 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
534 if test "x$eng" = "xx"; then
538 [Please enable just 1 OpenGL-ES flavor. Choices are:
539 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
540 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
541 You will also need to enable the OpenGL engine for X11 with:
547 #####################################################################
550 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
552 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
554 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
556 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
558 # disable cairo engine for the release
559 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
561 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
563 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
565 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
567 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
569 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
571 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
573 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
575 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
577 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
579 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
581 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
583 # disable qtopia engine for the release
584 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
586 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
588 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
590 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
592 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
595 #have_evas_engine_cairo_common="no"
596 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
597 # have_evas_engine_cairo_common="yes"
598 # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
600 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
603 have_evas_engine_gl_common="no"
604 if test "x$have_evas_engine_gl_x11" = "xyes" \
605 || test "x$have_evas_engine_gl_x11" = "xstatic" \
606 || test "x$have_evas_engine_gl_glew" = "xyes" \
607 || test "x$have_evas_engine_gl_glew" = "xstatic" \
608 || test "x$have_evas_engine_gl_sdl" = "xyes" \
609 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
610 have_evas_engine_gl_common="yes"
613 if test "x$have_evas_engine_gl_common" = "xyes"; then
614 evas_engine_gl_common_libs=""
615 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
618 AC_SUBST([evas_engine_gl_common_libs])
620 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
623 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
624 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
625 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
626 [#include <SDL/SDL_video.h>])
629 if test "x$gl_flavor_gles" = "xyes"; then
630 AC_CHECK_DECL(SDL_OPENGLES,
631 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
632 [#include <SDL/SDL_video.h>])
638 AC_ARG_ENABLE([sdl-primitive],
639 [AC_HELP_STRING([--enable-sdl-primitive], [])],
640 [sdl_primitive=${enableval}]
642 AC_MSG_CHECKING([whether to use SDL primitive when possible])
643 AC_MSG_RESULT([${sdl_primitive}])
645 if test "x${sdl_primitive}" = "xyes" ; then
646 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
649 # if software generic need to be build as part of libevas.so
650 have_static_software_generic="no"
651 AC_ARG_ENABLE([static-software-generic],
652 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
653 [have_static_software_generic=${enableval}]
655 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
656 AC_MSG_RESULT([${have_static_software_generic}])
658 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
659 if test "x${have_static_software_generic}" = "xyes"; then
660 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
663 # if software_xlib or software_xcb are available, define everything needed for X11
664 have_evas_engine_software_x11="no"
665 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
666 have_evas_engine_software_x11="static"
668 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
669 have_evas_engine_software_x11="yes"
673 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
674 have_evas_engine_software_xlib="yes"
677 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
678 have_evas_engine_software_xcb="yes"
681 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
682 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
685 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
686 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
689 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
690 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
692 AC_SUBST(have_evas_engine_software_xlib)
693 AC_SUBST(have_evas_engine_software_xcb)
695 # if software 16 x11 is enabled - build software_16 (the generic 16bit
696 # engine). later enable it fb_16 or other "16" bit engines are enabled.
697 have_evas_engine_software_16="no"
698 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
699 have_evas_engine_software_16="yes"
701 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
702 have_evas_engine_software_16="yes"
704 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
705 have_evas_engine_software_16="yes"
707 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
708 have_evas_engine_software_16="yes"
710 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
712 # if software 16 need to be build as part of libevas.so
713 have_static_software_16="no"
714 AC_ARG_ENABLE([static-software-16],
715 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
716 [have_static_software_16=${enableval}]
718 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
719 AC_MSG_RESULT([${have_static_software_16}])
721 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
722 if test "x${have_static_software_16}" = "xyes"; then
723 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
726 # if software 8 x11 is enabled - build software_8 (the generic 8bit
728 have_evas_engine_software_8="no"
729 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
730 have_evas_engine_software_8="yes"
732 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
734 # if software 8 need to be build as part of libevas.so
735 have_static_software_8="no"
736 AC_ARG_ENABLE([static-software-8],
737 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
738 [have_static_software_8=${enableval}]
740 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
741 AC_MSG_RESULT([${have_static_software_8}])
743 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
744 if test "x${have_static_software_8}" = "xyes"; then
745 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
748 #####################################################################
751 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
753 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
754 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
756 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
758 have_evas_image_saver_jpeg="no"
759 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
761 dnl Windows has no sigsetjmp function, nor equivalent.
762 dnl So we disable the jpeg saver.
763 dnl TODO: must find a workaround
768 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
769 have_evas_image_saver_jpeg="yes"
773 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
775 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
777 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
779 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
781 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
783 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
785 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
787 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
790 #####################################################################
791 ## Cpu based optimizations
793 #######################################
800 # basic pthread support
801 AC_CHECK_HEADER(pthread.h,
810 # sched_getaffinity pthread_attr_setaffinity_np
811 AC_CHECK_HEADERS(pthread.h sched.h,
813 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
815 AC_CHECK_LIB(pthread, pthread_barrier_wait,
816 [ build_pthreads="yes" ],
817 [ build_pthreads="no" ]
820 [ build_pthreads="no" ]
823 [ build_pthreads="no" ]
826 #######################################
828 AC_MSG_CHECKING(whether to build pthread code)
829 AC_ARG_ENABLE(pthreads,
830 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
832 if test "x$enableval" = "xyes" ; then
833 if test "x$build_pthreads" = "xyes"; then
835 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
839 if "x$use_strict" = "xyes"; then
840 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
842 AC_MSG_RESULT(no: pthread headers or functions not found)
851 AC_MSG_RESULT($build_pthreads)
852 if test "x$build_pthreads" = "xyes" ; then
853 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
859 #######################################
861 build_pipe_render="no"
863 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
864 AC_ARG_ENABLE(pipe-render,
865 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
866 [ build_pipe_render=$enableval ]
868 AC_MSG_RESULT($build_pipe_render)
870 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
871 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
873 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
874 build_pipe_render="yes"
878 build_pipe_render="no"
881 #######################################
883 build_async_render="no"
885 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
886 AC_ARG_ENABLE(async-render,
887 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
888 [ build_async_render=$enableval ]
890 AC_MSG_RESULT($build_async_render)
892 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
893 if test \( "x$build_async_render" = "xyes" \); then
895 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
896 build_async_render="yes"
897 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
898 build_pipe_render="yes"
901 PKG_CHECK_MODULES([XEXT],
903 [ build_avoid_libXext_bug=yes ],
904 [ build_avoid_libXext_bug=no ]
906 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
907 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
911 build_async_render="no"
914 #######################################
916 build_async_events="auto"
917 AC_MSG_CHECKING(whether to build Async Events support)
918 AC_ARG_ENABLE(async-events,
919 AC_HELP_STRING([--enable-async-events], [enable async events support]),
920 [ build_async_events=$enableval ]
922 AC_MSG_RESULT($build_async_events)
924 AC_MSG_CHECKING(whether we can build Async Events support)
925 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
927 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
928 build_async_events="yes"
931 build_async_events="no"
934 #######################################
935 ## Async image preload
936 build_async_preload="auto"
937 AC_MSG_CHECKING(whether to build Async Image Preload support)
938 AC_ARG_ENABLE(async-preload,
939 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
940 [ build_async_preload=$enableval ]
942 AC_MSG_RESULT($build_async_preload)
944 AC_MSG_CHECKING(whether we can build Async Image Preload support)
945 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
947 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
948 build_async_preload="yes"
952 build_async_preload="no"
955 #######################################
956 ## Link with pthread if needed
957 AC_MSG_CHECKING(whether we should link with pthread)
958 if test "x$need_pthreads" = "xyes"; then
961 pthread_libs="-lpthread"
966 #######################################
980 AC_MSG_CHECKING(whether to build mmx code)
981 AC_ARG_ENABLE(cpu-mmx,
982 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
984 if test "x$enableval" = "xyes" ; then
986 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
994 AC_MSG_RESULT($build_cpu_mmx)
995 if test "x$build_cpu_mmx" = "xyes" ; then
996 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1001 #######################################
1015 AC_MSG_CHECKING(whether to build sse code)
1016 AC_ARG_ENABLE(cpu-sse,
1017 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1019 if test "x$enableval" = "xyes" ; then
1021 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1029 AC_MSG_RESULT($build_cpu_sse)
1030 if test "x$build_cpu_sse" = "xyes" ; then
1031 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1036 #######################################
1038 build_cpu_altivec="no"
1041 build_cpu_altivec="auto"
1045 AC_MSG_CHECKING(whether to build altivec code)
1046 AC_ARG_ENABLE(cpu-altivec,
1047 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1048 [ build_cpu_altivec=$enableval ],
1050 if test ! "x$build_cpu_altivec" = "xauto"; then
1051 build_cpu_altivec="no"
1055 AC_MSG_RESULT($build_cpu_altivec)
1057 if test "x$build_cpu_altivec" = "xyes"; then
1058 AC_CHECK_HEADER(altivec.h,
1060 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1061 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1062 build_cpu_altivec="yes"
1066 save_CPPFLAGS=$CPPFLAGS
1067 CFLAGS=$CFLAGS" -maltivec"
1068 CPPFLAGS=$CPPFLAGS" -maltivec"
1069 unset ac_cv_header_altivec_h
1070 AC_CHECK_HEADER(altivec.h,
1072 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1073 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1074 build_cpu_altivec="yes"
1077 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1078 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1080 build_cpu_altivec="no"
1084 CPPFLAGS=$save_CPPFLAGS
1089 if test "x$build_cpu_altivec" = "xyes"; then
1090 AC_MSG_CHECKING(whether to use altivec compiler flag)
1091 if test "x$GCC" = "xyes"; then
1092 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1093 altivec_cflags="-faltivec"
1094 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1095 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1096 altivec_cflags="-maltivec"
1097 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1100 AC_MSG_RESULT($altivec_cflags)
1101 CFLAGS="$CFLAGS $altivec_cflags"
1104 #######################################
1109 build_cpu_neon="yes"
1112 AC_MSG_CHECKING(whether to build neon code)
1113 AC_ARG_ENABLE(cpu-neon,
1114 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1115 checked at run time to see if the CPU supports it]),
1117 if test "x$enableval" = "xyes" ; then
1119 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1122 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1123 build_cpu_neon="yes"
1134 if test "x$build_cpu_neon" = "xyes" ; then
1135 AC_TRY_COMPILE([#include <arm_neon.h>],
1136 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1139 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1140 build_cpu_neon="yes"
1149 #######################################
1152 AC_MSG_CHECKING(whether to build c code)
1153 AC_ARG_ENABLE(cpu-c,
1154 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1156 if test "x$enableval" = "xyes" ; then
1158 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1165 AC_MSG_RESULT($build_cpu_c)
1166 if test "x$build_cpu_c" = "xyes" ; then
1167 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1172 #######################################
1174 want_evas_magic_debug="yes"
1175 AC_MSG_CHECKING(whether to check magic for evas object)
1176 AC_ARG_ENABLE(evas-magic-debug,
1178 [--disable-evas-magic-debug],
1179 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1181 [ want_evas_magic_debug="$enableval" ]
1183 AC_MSG_RESULT($want_evas_magic_debug)
1185 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1186 if test "x$want_evas_magic_debug" = "xyes"; then
1187 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1191 #######################################
1193 want_word_cache="no"
1194 AC_MSG_CHECKING(whether to enable caching of rendered words)
1195 AC_ARG_ENABLE(word-cache,
1197 [--enable-word-cache],
1198 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1200 [ want_word_cache="$enableval" ]
1202 AC_MSG_RESULT($want_word_cache)
1204 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1205 if test "x$want_word_cache" = "xyes"; then
1206 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1209 #######################################
1211 want_metric_cache="no"
1212 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1213 AC_ARG_ENABLE(metric-cache,
1215 [--enable-metric-cache],
1216 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1218 [ want_metric_cache="$enableval" ]
1220 AC_MSG_RESULT($want_metric_cache)
1222 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1223 if test "x$want_metric_cache" = "xyes"; then
1224 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1229 #####################################################################
1230 ## ARGB engine options
1232 #######################################
1233 ## Nearest sampling scaler
1234 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1235 ## Smooth super and sub sampling scaler
1236 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1238 #######################################
1239 ## YUV -> ARGB converter
1242 AC_MSG_CHECKING(whether to build yuv converter code)
1243 AC_ARG_ENABLE(convert-yuv,
1244 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1246 if test "x$enableval" = "xyes" ; then
1248 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1255 AC_MSG_RESULT($conv_yuv)
1256 if test "x$conv_yuv" = "xyes" ; then
1257 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1262 #####################################################################
1263 ## Output rendering features
1265 #######################################
1266 ## Small dither mask instead of big one (lower quality)
1267 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1268 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1269 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1270 ## No dither mask at all for 16bpp
1271 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1273 #######################################
1274 ## Convert to 8bpp RGB 332
1275 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1276 ## Convert to 8bpp RGB 666
1277 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1278 ## Convert to 8bpp RGB 232
1279 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1280 ## Convert to 8bpp RGB 222
1281 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1282 ## Convert to 8bpp RGB 221
1283 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1284 ## Convert to 8bpp RGB 121
1285 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1286 ## Convert to 8bpp RGB 111
1287 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1288 ## Convert to 16bpp RGB 565
1289 EVAS_CONVERT_COLOR(16, RGB, 565)
1290 ## Convert to 16bpp BGR 565
1291 EVAS_CONVERT_COLOR(16, BGR, 565)
1292 ## Convert to 16bpp RGB 555
1293 EVAS_CONVERT_COLOR(16, RGB, 555)
1294 ## Convert to 16bpp RGB 444
1295 EVAS_CONVERT_COLOR(16, RGB, 444)
1297 #######################################
1298 ## Convert to 16bpp RGB 565 (444 ipaq)
1299 conv_16_rgb_ipq="yes"
1300 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1301 AC_ARG_ENABLE(convert-16-rgb-ipq,
1302 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1304 if test "x$enableval" = "xyes" ; then
1305 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1306 conv_16_rgb_ipq="yes"
1308 conv_16_rgb_ipq="no"
1311 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1312 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1316 AC_MSG_RESULT($conv_16_rgb_ipq)
1318 #######################################
1319 ## Convert to 16bpp RGB with rotation of 0
1320 EVAS_CONVERT_ROT(16, RGB, 0)
1321 ## Convert to 16bpp RGB with rotation of 180
1322 EVAS_CONVERT_ROT(16, RGB, 180)
1323 ## Convert to 16bpp RGB with rotation of 270
1324 EVAS_CONVERT_ROT(16, RGB, 270)
1325 ## Convert to 16bpp RGB with rotation of 90
1326 EVAS_CONVERT_ROT(16, RGB, 90)
1328 #######################################
1329 ## Convert to 24bpp RGB 888
1330 EVAS_CONVERT_COLOR(24, RGB, 888)
1331 ## Convert to 24bpp BGR 888
1332 EVAS_CONVERT_COLOR(24, BGR, 888)
1333 ## Convert to 32bpp RGB 8888
1334 EVAS_CONVERT_COLOR(32, RGB, 8888)
1335 ## Convert to 32bpp RGBX 8888
1336 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1337 ## Convert to 32bpp BGR 8888
1338 EVAS_CONVERT_COLOR(32, BGR, 8888)
1339 ## Convert to 32bpp BGRX 8888
1340 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1342 #######################################
1343 ## Convert to 24bpp RGB 666 (666 ezx)
1344 conv_24_rgb_ezx="yes"
1345 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1346 AC_ARG_ENABLE(convert-24-rgb-ezx,
1347 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1349 if test "x$enableval" = "xyes" ; then
1350 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1351 conv_24_rgb_ezx="yes"
1353 conv_24_rgb_ezx="no"
1356 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1357 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1361 AC_MSG_RESULT($conv_24_rgb_ezx)
1363 #######################################
1364 ## Convert to 32bpp RGB 666 (666 ezx)
1365 conv_32_rgb_ezx="yes"
1366 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1367 AC_ARG_ENABLE(convert-32-rgb-ezx,
1368 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1370 if test "x$enableval" = "xyes" ; then
1371 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1372 conv_32_rgb_ezx="yes"
1374 conv_32_rgb_ezx="no"
1377 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1378 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1382 AC_MSG_RESULT($conv_32_rgb_ezx)
1384 #######################################
1385 ## Convert to 32bpp RGB with rotation of 0
1386 EVAS_CONVERT_ROT(32, RGB, 0)
1387 ## Convert to 32bpp RGB with rotation of 180
1388 EVAS_CONVERT_ROT(32, RGB, 180)
1389 ## Convert to 32bpp RGB with rotation of 270
1390 EVAS_CONVERT_ROT(32, RGB, 270)
1391 ## Convert to 32bpp RGB with rotation of 90
1392 EVAS_CONVERT_ROT(32, RGB, 90)
1394 #######################################
1395 ## Convert to 8bpp grayscale with 256 value, no palette
1396 EVAS_CONVERT_COLOR(8, GRY, 1)
1397 ## Convert to 8bpp grayscale with 16 value, no palette
1398 EVAS_CONVERT_COLOR(8, GRY, 16)
1400 #######################################
1401 ## Convert to 8bpp grayscale, 64-palette
1402 conv_8_grayscale_64="yes"
1403 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1404 AC_ARG_ENABLE(convert-8-grayscale-64,
1405 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1407 if test "x$enableval" = "xyes"; then
1408 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1409 conv_8_grayscale_64="yes"
1411 conv_8_grayscale_64="no"
1414 if test "x$conv_8_grayscale_64" = "xyes"; then
1415 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1419 AC_MSG_RESULT($conv_8_grayscale_64)
1425 AC_MSG_CHECKING(whether to enable build with valgrind)
1426 AC_ARG_ENABLE(valgrind,
1427 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1428 [ want_valgrind=$enableval ]
1430 AC_MSG_RESULT($want_valgrind)
1432 if test x$want_valgrind = "xyes"; then
1433 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1435 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1437 requirement_evas="valgrind ${requirement_evas}"
1440 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1441 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1449 install_examples="yes"
1450 AC_ARG_ENABLE([install-examples],
1451 AC_HELP_STRING([--disable-install-examples],
1452 [disable installing examples (compiled or just source).
1453 @<:@default==enabled@:>@]),
1455 if test "x${enableval}" = "xyes" ; then
1456 install_examples="yes"
1458 install_examples="no"
1461 [install_examples="yes"])
1462 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1465 AC_ARG_ENABLE([build-examples],
1466 AC_HELP_STRING([--enable-build-examples],
1467 [enable building examples. @<:@default==disabled@:>@]),
1469 if test "x${enableval}" = "xyes" ; then
1470 build_examples="yes"
1475 [build_examples="no"])
1476 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1479 #####################################################################
1482 AC_SUBST(altivec_cflags)
1483 AC_SUBST(pthread_cflags)
1484 AC_SUBST(pthread_libs)
1485 AC_SUBST(requirement_evas)
1488 #####################################################################
1499 evas-software-buffer.pc
1500 evas-software-x11.pc
1501 evas-software-8-x11.pc
1502 evas-software-16-x11.pc
1505 evas-software-gdi.pc
1506 evas-software-ddraw.pc
1507 evas-software-16-ddraw.pc
1509 evas-software-16-wince.pc
1510 evas-software-sdl.pc
1517 src/lib/canvas/Makefile
1518 src/lib/file/Makefile
1519 src/lib/cache/Makefile
1520 src/lib/cserve/Makefile
1521 src/lib/engines/Makefile
1522 src/lib/engines/common/Makefile
1523 src/lib/engines/common/evas_op_add/Makefile
1524 src/lib/engines/common/evas_op_blend/Makefile
1525 src/lib/engines/common/evas_op_copy/Makefile
1526 src/lib/engines/common/evas_op_mask/Makefile
1527 src/lib/engines/common/evas_op_mul/Makefile
1528 src/lib/engines/common/evas_op_sub/Makefile
1529 src/lib/engines/common_8/Makefile
1530 src/lib/engines/common_16/Makefile
1531 src/modules/Makefile
1532 src/modules/engines/Makefile
1533 src/modules/engines/software_generic/Makefile
1534 src/modules/engines/software_gdi/Makefile
1535 src/modules/engines/software_ddraw/Makefile
1536 src/modules/engines/direct3d/Makefile
1537 src/modules/engines/software_16_wince/Makefile
1538 src/modules/engines/software_x11/Makefile
1539 src/modules/engines/fb/Makefile
1540 src/modules/engines/buffer/Makefile
1541 src/modules/engines/directfb/Makefile
1542 src/modules/engines/gl_common/Makefile
1543 src/modules/engines/gl_glew/Makefile
1544 src/modules/engines/gl_x11/Makefile
1545 src/modules/engines/gl_sdl/Makefile
1546 src/modules/engines/quartz/Makefile
1547 src/modules/engines/xrender_x11/Makefile
1548 src/modules/engines/software_sdl/Makefile
1549 src/modules/engines/software_8/Makefile
1550 src/modules/engines/software_8_x11/Makefile
1551 src/modules/engines/software_16/Makefile
1552 src/modules/engines/software_16_x11/Makefile
1553 src/modules/engines/software_16_ddraw/Makefile
1554 src/modules/engines/software_16_sdl/Makefile
1555 src/modules/loaders/Makefile
1556 src/modules/loaders/edb/Makefile
1557 src/modules/loaders/eet/Makefile
1558 src/modules/loaders/gif/Makefile
1559 src/modules/loaders/jpeg/Makefile
1560 src/modules/loaders/png/Makefile
1561 src/modules/loaders/tiff/Makefile
1562 src/modules/loaders/xpm/Makefile
1563 src/modules/loaders/bmp/Makefile
1564 src/modules/loaders/tga/Makefile
1565 src/modules/loaders/svg/Makefile
1566 src/modules/loaders/pmaps/Makefile
1567 src/modules/savers/Makefile
1568 src/modules/savers/edb/Makefile
1569 src/modules/savers/eet/Makefile
1570 src/modules/savers/jpeg/Makefile
1571 src/modules/savers/png/Makefile
1572 src/modules/savers/tiff/Makefile
1573 src/lib/include/Makefile
1574 src/examples/Makefile
1579 #disabled for the release:
1581 # evas-software-qtopia.pc
1582 # src/modules/engines/cairo_common/Makefile
1583 # src/modules/engines/cairo_x11/Makefile
1584 # src/modules/engines/software_qtopia/Makefile
1587 #####################################################################
1590 if test "x$build_pthreads" = "xno" ; then
1591 if test "x$build_async_render" = "xyes" ; then
1592 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1593 echo " needs thread support."
1596 if test "x$build_pipe_render" = "xyes" ; then
1597 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1598 echo " needs thread support."
1603 if test "x${has_pthreads}" = "xno" ; then
1604 if test "x$build_async_preload" = "xyes" ; then
1605 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1606 echo " needs thread support."
1611 #####################################################################
1617 echo "------------------------------------------------------------------------"
1618 echo "$PACKAGE $VERSION"
1619 echo "------------------------------------------------------------------------"
1621 echo "Configuration Options Summary:"
1624 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1625 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1626 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1627 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1628 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1629 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1633 dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
1634 echo " Software GDI...............: $have_evas_engine_software_gdi"
1635 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1636 echo " Direct3d...................: $have_evas_engine_direct3d"
1637 echo " Quartz.....................: $have_evas_engine_quartz"
1638 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1639 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1640 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1641 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1642 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1646 echo " Software Framebuffer.......: $have_evas_engine_fb"
1647 echo " DirectFB...................: $have_evas_engine_directfb"
1648 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1649 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1650 # FIXME: kill software 16bit
1651 echo " Software 16bit ............: $have_evas_engine_software_16"
1652 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1653 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1654 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1655 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1657 echo "Image Loaders:"
1658 echo " EDB.....................: $have_evas_image_loader_edb"
1659 echo " EET.....................: $have_evas_image_loader_eet"
1660 echo " GIF.....................: $have_evas_image_loader_gif"
1661 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1662 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1663 echo " PNG.....................: $have_evas_image_loader_png"
1664 echo " SVG.....................: $have_evas_image_loader_svg"
1665 echo " TIFF....................: $have_evas_image_loader_tiff"
1666 echo " XPM.....................: $have_evas_image_loader_xpm"
1667 echo " BMP.....................: $have_evas_image_loader_bmp"
1668 echo " TGA.....................: $have_evas_image_loader_tga"
1670 echo "Font Sourcing Systems:"
1671 echo " EET.....................: $have_evas_font_loader_eet"
1673 echo "Font Searching Systems:"
1674 echo " Fontconfig..............: $have_fontconfig"
1676 echo "Font Rendering Helpers:"
1677 echo " Fribidi.................: $have_fribidi"
1678 echo " Harfbuzz................: $have_harfbuzz"
1679 # FIXME: add non freetype2 font engine support
1680 # FIXME: make freetype2 optional
1682 echo "CPU Specific Extensions:"
1683 echo " Fallback C Code.........: $build_cpu_c"
1684 echo " MMX.....................: $build_cpu_mmx"
1685 echo " SSE.....................: $build_cpu_sse"
1686 echo " ALTIVEC.................: $build_cpu_altivec"
1687 echo " NEON....................: $build_cpu_neon"
1688 echo " Thread Support..........: $build_pthreads"
1691 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1692 echo " Cache Server............: $want_evas_cserve"
1695 dnl ... DISABLED! some testing has shown that this seems to have some
1696 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1697 dnl disabling this for now until it can be fixed
1699 echo " Threaded Pipe Rendering.: $build_pipe_render"
1700 echo " Async Pipe Rendering....: $build_async_render"
1701 echo " Async Events............: $build_async_events"
1702 echo " Async Image Preload.....: $build_async_preload"
1704 echo " Word Cache..............: $want_word_cache"
1705 echo " Metric Cache............: $want_metric_cache"
1707 echo "ARGB Software Engine Options:"
1708 echo " Sampling Scaler.........: $scaler_sample"
1709 echo " Smooth Scaler...........: $scaler_smooth"
1710 # FIXME: add an mmx scaler routine
1711 echo " YUV Converter...........: $conv_yuv"
1712 # FIXME: add more YUV format and colorvariant support
1714 echo "ARGB Conversion Options:"
1715 echo " Smaller Dither Mask.....: $conv_small_dither"
1716 echo " Line Dither Mask........: $conv_line_dither"
1717 echo " No Dither Mask for 16bpp: $conv_no_dither"
1718 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1719 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1720 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1721 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1722 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1723 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1724 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1725 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1726 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1727 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1728 # FIXME: add grayscale and B&W support to standard x converters
1729 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1730 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1731 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1732 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1733 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1734 # FIXME: add 555 (444 ipaq) support
1735 # FIXME: add 30bpp support
1736 # FIXME: add palletted support (ugh!)
1737 # FIXME: add 8bpp and below rotation
1738 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1739 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1740 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1741 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1742 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1743 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1744 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1745 # FIXME: add 24bpp rotation
1746 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1747 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1748 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1749 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1750 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1751 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1752 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1753 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1754 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1756 echo "Documentation.............: ${build_doc}"
1757 echo "Examples..................: install:${install_examples} build:${build_examples}"
1759 echo "Compilation............: make (or gmake)"
1760 echo " CPPFLAGS.............: $CPPFLAGS"
1761 echo " CFLAGS...............: $CFLAGS"
1762 echo " CXXFLAGS.............: $CXXFLAGS"
1763 echo " LDFLAGS..............: $LDFLAGS"
1765 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1766 echo " prefix...............: $prefix"
1768 if test "x${have_static_module}" = "xyes" ; then
1769 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1770 echo " You must know what you are doing, or else you will have a lot of problems."
1771 echo " And Kenny will be killed."
1772 echo " Think about that."