1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [0])
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
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.beta3], [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"
92 want_evas_cserve="yes"
94 want_evas_engine_buffer="yes"
95 want_evas_engine_software_xlib="no"
96 want_evas_engine_xrender_x11="no"
97 want_evas_engine_gl_x11="no"
98 want_evas_engine_gl_sdl="no"
99 want_evas_engine_cairo_x11="no"
100 want_evas_engine_software_xcb="no"
101 want_evas_engine_xrender_xcb="no"
102 want_evas_engine_software_gdi="no"
103 want_evas_engine_software_ddraw="no"
104 want_evas_engine_direct3d="no"
105 want_evas_engine_quartz="no"
106 want_evas_engine_gl_glew="no"
107 want_evas_engine_software_sdl="no"
108 want_evas_engine_fb="no"
109 want_evas_engine_directfb="no"
110 want_evas_engine_software_qtopia="no"
111 want_evas_engine_software_8_x11="no"
112 want_evas_engine_software_16_x11="no"
113 want_evas_engine_software_16_ddraw="no"
114 want_evas_engine_software_16_wince="no"
116 want_evas_image_loader_edb="yes"
117 want_evas_image_loader_eet="yes"
118 want_evas_image_loader_gif="yes"
119 want_evas_image_loader_jpeg="yes"
120 want_evas_image_loader_pmaps="yes"
121 want_evas_image_loader_png="yes"
122 want_evas_image_loader_svg="yes"
123 want_evas_image_loader_tiff="yes"
124 want_evas_image_loader_xpm="yes"
125 want_evas_image_loader_bmp="yes"
126 want_evas_image_loader_tga="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"
149 want_evas_engine_quartz="auto"
152 want_evas_engine_software_xlib="auto"
153 want_evas_engine_gl_x11="auto"
154 want_evas_engine_fb="auto"
155 ### no - not ready/usable/complete
156 # want_evas_engine_software_8_x11="auto"
157 # want_evas_engine_xrender_x11="auto"
158 # want_evas_engine_software_16_x11="auto"
165 ### Additional options to configure
167 # when used, that option makes configure script fails when
168 # a requirement is selected, but not met.
170 AC_ARG_ENABLE([strict],
171 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
175 # Simple X11 build/link
176 AC_ARG_ENABLE([simple-x11],
177 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
179 if test "x${enableval}" = "xyes" ; then
180 want_evas_simple_x11="yes"
182 want_evas_simple_x11="no"
187 ### Checks for programs
189 m4_ifdef([AC_PROG_OBJC],
192 _AM_DEPENDENCIES(OBJC)
195 dnl#AC_CHECK_TOOL([OBJC], [gcc])
197 dnl#AC_SUBST([OBJCFLAGS])
208 # Check whether pkg-config supports Requires.private
209 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
210 pkgconfig_requires_private="Requires.private"
212 pkgconfig_requires_private="Requires"
214 AC_SUBST(pkgconfig_requires_private)
216 # doxygen program for documentation building
217 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
220 ### Checks for libraries
222 # Evil library for compilation on Windows CE
226 PKG_CHECK_MODULES([EVIL], [evil])
227 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
228 requirement_evas="evil ${requirement_evas}"
232 ## strong dependencies
235 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
238 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
240 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
242 ## optional dependencies
246 AC_ARG_ENABLE([fontconfig],
247 AC_HELP_STRING([--disable-fontconfig],
248 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
250 if test "x${enableval}" = "xyes" ; then
251 want_fontconfig="yes"
258 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
259 PKG_CHECK_MODULES([FONTCONFIG],
262 have_fontconfig="yes"
263 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
264 requirement_evas="fontconfig ${requirement_evas}"
267 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
268 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
275 AC_ARG_ENABLE([fribidi],
276 AC_HELP_STRING([--disable-fribidi],
277 [disable bidirectional text support. @<:@default=enabled@:>@]),
279 if test "x${enableval}" = "xyes" ; then
286 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
287 PKG_CHECK_MODULES([FRIBIDI],
291 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
292 requirement_evas="fribidi ${requirement_evas}"
295 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
296 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
301 if test "x${have_fribidi}" = "xno"; then
305 ### Checks for header files
307 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
315 ### Checks for structures
318 ### Checks for compiler characteristics
327 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
330 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
333 AC_SUBST(WIN32_CPPFLAGS)
338 WIN32_CFLAGS="-mwin32"
341 AC_SUBST(WIN32_CFLAGS)
344 ### Checks for linker characteristics
345 lt_enable_auto_import=""
348 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
349 lt_enable_auto_import="-Wl,--enable-auto-import"
352 AC_SUBST(lt_enable_auto_import)
355 ### Checks for library functions
363 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
370 AC_DEFINE(HAVE_DLADDR)
373 # nothing on mingw platform
376 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
377 if test "x$res" = "xyes"; then
378 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
380 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
381 if test "x$res" = "xyes"; then
382 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
385 AC_MSG_ERROR(Cannot find dlopen)
389 AC_SUBST(dlopen_libs)
391 # (shm_open (for cache server)
392 AC_ARG_ENABLE([evas-cserve],
393 AC_HELP_STRING([--disable-evas-cserve],
394 [disable shared cache server support. @<:@default=enabled@:>@]),
396 if test "x${enableval}" = "xyes" ; then
397 want_evas_cserve="yes"
399 want_evas_cserve="no"
402 AC_MSG_CHECKING(whether to build shared cache server and support)
403 AC_MSG_RESULT(${want_evas_cserve})
405 if test "x${want_evas_cserve}" = "xyes" ; then
406 AC_MSG_CHECKING([whether shm_open() is present])
412 #include <sys/types.h>
413 #include <sys/mman.h>
418 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
421 [want_evas_cserve="yes"],
422 [want_evas_cserve="no"])
424 AC_MSG_RESULT([${want_evas_cserve}])
427 if test "x${want_evas_cserve}" = "xyes" ; then
428 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
431 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
435 #######################################
436 ## GL force flavor gles
438 AC_MSG_CHECKING(whether to build GLES flavor of GL)
439 AC_ARG_ENABLE(gl-flavor-gles,
440 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
442 if test "x$enableval" = "xyes" ; then
455 #######################################
457 gles_variety_sgx="no"
458 AC_MSG_CHECKING(whether to build GLES variety for SGX)
459 AC_ARG_ENABLE(gles-variety-sgx,
460 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
462 if test "x$enableval" = "xyes" ; then
464 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
465 gles_variety_sgx="yes"
468 gles_variety_sgx="no"
472 gles_variety_sgx="no"
476 #######################################
477 ## GLES variety s3c6410
478 gles_variety_s3c6410="no"
479 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
480 AC_ARG_ENABLE(gles-variety-s3c6410,
481 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
483 if test "x$enableval" = "xyes" ; then
485 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
486 gles_variety_s3c6410="yes"
489 gles_variety_s3c6410="no"
493 gles_variety_s3c6410="no"
497 if test "x$gl_flavor_gles" = "xyes"; then
499 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
500 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
501 if test "x$eng" = "xx"; then
505 [Please enable just 1 OpenGL-ES flavor. Choices are:
506 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
507 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
508 You will also need to enable the OpenGL engine for X11 with:
514 #####################################################################
517 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
519 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
521 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
523 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
525 # disable cairo engine for the release
526 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
528 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
530 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
532 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
534 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
536 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
538 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
540 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
542 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
544 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
546 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
548 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
550 # disable qtopia engine for the release
551 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
553 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
555 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
557 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
559 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
562 #have_evas_engine_cairo_common="no"
563 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
564 # have_evas_engine_cairo_common="yes"
565 # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
567 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
570 have_evas_engine_gl_common="no"
571 if test "x$have_evas_engine_gl_x11" = "xyes" \
572 || test "x$have_evas_engine_gl_x11" = "xstatic" \
573 || test "x$have_evas_engine_gl_glew" = "xyes" \
574 || test "x$have_evas_engine_gl_glew" = "xstatic" \
575 || test "x$have_evas_engine_gl_sdl" = "xyes" \
576 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
577 have_evas_engine_gl_common="yes"
580 if test "x$have_evas_engine_gl_common" = "xyes"; then
581 evas_engine_gl_common_libs=""
582 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
585 AC_SUBST([evas_engine_gl_common_libs])
587 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
590 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
591 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
592 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
593 [#include <SDL/SDL_video.h>])
596 if test "x$gl_flavor_gles" = "xyes"; then
597 AC_CHECK_DECL(SDL_OPENGLES,
598 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
599 [#include <SDL/SDL_video.h>])
605 AC_ARG_ENABLE([sdl-primitive],
606 [AC_HELP_STRING([--enable-sdl-primitive], [])],
607 [sdl_primitive=${enableval}]
609 AC_MSG_CHECKING([whether to use SDL primitive when possible])
610 AC_MSG_RESULT([${sdl_primitive}])
612 if test "x${sdl_primitive}" = "xyes" ; then
613 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
616 # if software generic need to be build as part of libevas.so
617 have_static_software_generic="no"
618 AC_ARG_ENABLE([static-software-generic],
619 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
620 [have_static_software_generic=${enableval}]
622 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
623 AC_MSG_RESULT([${have_static_software_generic}])
625 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
626 if test "x${have_static_software_generic}" = "xyes"; then
627 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
630 # if software_xlib or software_xcb are available, define everything needed for X11
631 have_evas_engine_software_x11="no"
632 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
633 have_evas_engine_software_x11="static"
635 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
636 have_evas_engine_software_x11="yes"
640 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
641 have_evas_engine_software_xlib="yes"
644 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
645 have_evas_engine_software_xcb="yes"
648 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
649 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
652 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
653 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
656 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
657 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
659 AC_SUBST(have_evas_engine_software_xlib)
660 AC_SUBST(have_evas_engine_software_xcb)
662 # if software 16 x11 is enabled - build software_16 (the generic 16bit
663 # engine). later enable it fb_16 or other "16" bit engines are enabled.
664 have_evas_engine_software_16="no"
665 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
666 have_evas_engine_software_16="yes"
668 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
669 have_evas_engine_software_16="yes"
671 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
672 have_evas_engine_software_16="yes"
674 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
675 have_evas_engine_software_16="yes"
677 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
679 # if software 16 need to be build as part of libevas.so
680 have_static_software_16="no"
681 AC_ARG_ENABLE([static-software-16],
682 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
683 [have_static_software_16=${enableval}]
685 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
686 AC_MSG_RESULT([${have_static_software_16}])
688 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
689 if test "x${have_static_software_16}" = "xyes"; then
690 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
693 # if software 8 x11 is enabled - build software_8 (the generic 8bit
695 have_evas_engine_software_8="no"
696 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
697 have_evas_engine_software_8="yes"
699 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
701 # if software 8 need to be build as part of libevas.so
702 have_static_software_8="no"
703 AC_ARG_ENABLE([static-software-8],
704 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
705 [have_static_software_8=${enableval}]
707 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
708 AC_MSG_RESULT([${have_static_software_8}])
710 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
711 if test "x${have_static_software_8}" = "xyes"; then
712 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
715 #####################################################################
718 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
720 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
721 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
723 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
725 have_evas_image_saver_jpeg="no"
726 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
728 dnl Windows has no sigsetjmp function, nor equivalent.
729 dnl So we disable the jpeg saver.
730 dnl TODO: must find a workaround
735 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
736 have_evas_image_saver_jpeg="yes"
740 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
742 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
744 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
746 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
748 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
750 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
752 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
754 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
757 #####################################################################
758 ## Cpu based optimizations
760 #######################################
767 # basic pthread support
768 AC_CHECK_HEADER(pthread.h,
777 # sched_getaffinity pthread_attr_setaffinity_np
778 AC_CHECK_HEADERS(pthread.h sched.h,
780 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
782 AC_CHECK_LIB(pthread, pthread_barrier_wait,
783 [ build_pthreads="yes" ],
784 [ build_pthreads="no" ]
787 [ build_pthreads="no" ]
790 [ build_pthreads="no" ]
793 #######################################
795 AC_MSG_CHECKING(whether to build pthread code)
796 AC_ARG_ENABLE(pthreads,
797 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
799 if test "x$enableval" = "xyes" ; then
800 if test "x$build_pthreads" = "xyes"; then
802 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
806 if "x$use_strict" = "xyes"; then
807 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
809 AC_MSG_RESULT(no: pthread headers or functions not found)
818 AC_MSG_RESULT($build_pthreads)
819 if test "x$build_pthreads" = "xyes" ; then
820 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
826 #######################################
828 build_pipe_render="no"
830 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
831 AC_ARG_ENABLE(pipe-render,
832 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
833 [ build_pipe_render=$enableval ]
835 AC_MSG_RESULT($build_pipe_render)
837 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
838 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
840 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
841 build_pipe_render="yes"
845 build_pipe_render="no"
848 #######################################
850 build_async_render="no"
852 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
853 AC_ARG_ENABLE(async-render,
854 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
855 [ build_async_render=$enableval ]
857 AC_MSG_RESULT($build_async_render)
859 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
860 if test \( "x$build_async_render" = "xyes" \); then
862 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
863 build_async_render="yes"
864 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
865 build_pipe_render="yes"
868 PKG_CHECK_MODULES([XEXT],
870 [ build_avoid_libXext_bug=yes ],
871 [ build_avoid_libXext_bug=no ]
873 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
874 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
878 build_async_render="no"
881 #######################################
883 build_async_events="auto"
884 AC_MSG_CHECKING(whether to build Async Events support)
885 AC_ARG_ENABLE(async-events,
886 AC_HELP_STRING([--enable-async-events], [enable async events support]),
887 [ build_async_events=$enableval ]
889 AC_MSG_RESULT($build_async_events)
891 AC_MSG_CHECKING(whether we can build Async Events support)
892 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
894 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
895 build_async_events="yes"
898 build_async_events="no"
901 #######################################
902 ## Async image preload
903 build_async_preload="auto"
904 AC_MSG_CHECKING(whether to build Async Image Preload support)
905 AC_ARG_ENABLE(async-preload,
906 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
907 [ build_async_preload=$enableval ]
909 AC_MSG_RESULT($build_async_preload)
911 AC_MSG_CHECKING(whether we can build Async Image Preload support)
912 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
914 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
915 build_async_preload="yes"
919 build_async_preload="no"
922 #######################################
923 ## Link with pthread if needed
924 AC_MSG_CHECKING(whether we should link with pthread)
925 if test "x$need_pthreads" = "xyes"; then
928 pthread_libs="-lpthread"
933 #######################################
947 AC_MSG_CHECKING(whether to build mmx code)
948 AC_ARG_ENABLE(cpu-mmx,
949 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
951 if test "x$enableval" = "xyes" ; then
953 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
961 AC_MSG_RESULT($build_cpu_mmx)
962 if test "x$build_cpu_mmx" = "xyes" ; then
963 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
968 #######################################
982 AC_MSG_CHECKING(whether to build sse code)
983 AC_ARG_ENABLE(cpu-sse,
984 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
986 if test "x$enableval" = "xyes" ; then
988 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
996 AC_MSG_RESULT($build_cpu_sse)
997 if test "x$build_cpu_sse" = "xyes" ; then
998 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1003 #######################################
1005 build_cpu_altivec="no"
1008 build_cpu_altivec="auto"
1012 AC_MSG_CHECKING(whether to build altivec code)
1013 AC_ARG_ENABLE(cpu-altivec,
1014 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1015 [ build_cpu_altivec=$enableval ],
1017 if test ! "x$build_cpu_altivec" = "xauto"; then
1018 build_cpu_altivec="no"
1022 AC_MSG_RESULT($build_cpu_altivec)
1024 if test "x$build_cpu_altivec" = "xyes"; then
1025 AC_CHECK_HEADER(altivec.h,
1027 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1028 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1029 build_cpu_altivec="yes"
1033 save_CPPFLAGS=$CPPFLAGS
1034 CFLAGS=$CFLAGS" -maltivec"
1035 CPPFLAGS=$CPPFLAGS" -maltivec"
1036 unset ac_cv_header_altivec_h
1037 AC_CHECK_HEADER(altivec.h,
1039 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1040 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1041 build_cpu_altivec="yes"
1044 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1045 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1047 build_cpu_altivec="no"
1051 CPPFLAGS=$save_CPPFLAGS
1056 if test "x$build_cpu_altivec" = "xyes"; then
1057 AC_MSG_CHECKING(whether to use altivec compiler flag)
1058 if test "x$GCC" = "xyes"; then
1059 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1060 altivec_cflags="-faltivec"
1061 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1062 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1063 altivec_cflags="-maltivec"
1064 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1067 AC_MSG_RESULT($altivec_cflags)
1068 CFLAGS="$CFLAGS $altivec_cflags"
1071 #######################################
1076 build_cpu_neon="yes"
1079 AC_MSG_CHECKING(whether to build neon code)
1080 AC_ARG_ENABLE(cpu-neon,
1081 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1082 checked at run time to see if the CPU supports it]),
1084 if test "x$enableval" = "xyes" ; then
1086 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1089 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1090 build_cpu_neon="yes"
1101 if test "x$build_cpu_neon" = "xyes" ; then
1102 AC_TRY_COMPILE([#include <arm_neon.h>],
1103 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1106 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1107 build_cpu_neon="yes"
1116 #######################################
1119 AC_MSG_CHECKING(whether to build c code)
1120 AC_ARG_ENABLE(cpu-c,
1121 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1123 if test "x$enableval" = "xyes" ; then
1125 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1132 AC_MSG_RESULT($build_cpu_c)
1133 if test "x$build_cpu_c" = "xyes" ; then
1134 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1139 #######################################
1141 want_evas_magic_debug="yes"
1142 AC_MSG_CHECKING(whether to check magic for evas object)
1143 AC_ARG_ENABLE(evas-magic-debug,
1145 [--disable-evas-magic-debug],
1146 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1148 [ want_evas_magic_debug="$enableval" ]
1150 AC_MSG_RESULT($want_evas_magic_debug)
1152 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1153 if test "x$want_evas_magic_debug" = "xyes"; then
1154 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1158 #######################################
1160 want_word_cache="no"
1161 AC_MSG_CHECKING(whether to enable caching of rendered words)
1162 AC_ARG_ENABLE(word-cache,
1164 [--enable-word-cache],
1165 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1167 [ want_word_cache="$enableval" ]
1169 AC_MSG_RESULT($want_word_cache)
1171 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1172 if test "x$want_word_cache" = "xyes"; then
1173 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1176 #######################################
1178 want_metric_cache="no"
1179 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1180 AC_ARG_ENABLE(metric-cache,
1182 [--enable-metric-cache],
1183 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1185 [ want_metric_cache="$enableval" ]
1187 AC_MSG_RESULT($want_metric_cache)
1189 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1190 if test "x$want_metric_cache" = "xyes"; then
1191 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1196 #####################################################################
1197 ## ARGB engine options
1199 #######################################
1200 ## Nearest sampling scaler
1201 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1202 ## Smooth super and sub sampling scaler
1203 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1205 #######################################
1206 ## YUV -> ARGB converter
1209 AC_MSG_CHECKING(whether to build yuv converter code)
1210 AC_ARG_ENABLE(convert-yuv,
1211 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1213 if test "x$enableval" = "xyes" ; then
1215 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1222 AC_MSG_RESULT($conv_yuv)
1223 if test "x$conv_yuv" = "xyes" ; then
1224 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1229 #####################################################################
1230 ## Output rendering features
1232 #######################################
1233 ## Small dither mask instead of big one (lower quality)
1234 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1235 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1236 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1237 ## No dither mask at all for 16bpp
1238 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1240 #######################################
1241 ## Convert to 8bpp RGB 332
1242 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1243 ## Convert to 8bpp RGB 666
1244 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1245 ## Convert to 8bpp RGB 232
1246 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1247 ## Convert to 8bpp RGB 222
1248 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1249 ## Convert to 8bpp RGB 221
1250 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1251 ## Convert to 8bpp RGB 121
1252 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1253 ## Convert to 8bpp RGB 111
1254 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1255 ## Convert to 16bpp RGB 565
1256 EVAS_CONVERT_COLOR(16, RGB, 565)
1257 ## Convert to 16bpp BGR 565
1258 EVAS_CONVERT_COLOR(16, BGR, 565)
1259 ## Convert to 16bpp RGB 555
1260 EVAS_CONVERT_COLOR(16, RGB, 555)
1261 ## Convert to 16bpp RGB 444
1262 EVAS_CONVERT_COLOR(16, RGB, 444)
1264 #######################################
1265 ## Convert to 16bpp RGB 565 (444 ipaq)
1266 conv_16_rgb_ipq="yes"
1267 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1268 AC_ARG_ENABLE(convert-16-rgb-ipq,
1269 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1271 if test "x$enableval" = "xyes" ; then
1272 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1273 conv_16_rgb_ipq="yes"
1275 conv_16_rgb_ipq="no"
1278 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1279 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1283 AC_MSG_RESULT($conv_16_rgb_ipq)
1285 #######################################
1286 ## Convert to 16bpp RGB with rotation of 0
1287 EVAS_CONVERT_ROT(16, RGB, 0)
1288 ## Convert to 16bpp RGB with rotation of 180
1289 EVAS_CONVERT_ROT(16, RGB, 180)
1290 ## Convert to 16bpp RGB with rotation of 270
1291 EVAS_CONVERT_ROT(16, RGB, 270)
1292 ## Convert to 16bpp RGB with rotation of 90
1293 EVAS_CONVERT_ROT(16, RGB, 90)
1295 #######################################
1296 ## Convert to 24bpp RGB 888
1297 EVAS_CONVERT_COLOR(24, RGB, 888)
1298 ## Convert to 24bpp BGR 888
1299 EVAS_CONVERT_COLOR(24, BGR, 888)
1300 ## Convert to 32bpp RGB 8888
1301 EVAS_CONVERT_COLOR(32, RGB, 8888)
1302 ## Convert to 32bpp RGBX 8888
1303 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1304 ## Convert to 32bpp BGR 8888
1305 EVAS_CONVERT_COLOR(32, BGR, 8888)
1306 ## Convert to 32bpp BGRX 8888
1307 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1309 #######################################
1310 ## Convert to 24bpp RGB 666 (666 ezx)
1311 conv_24_rgb_ezx="yes"
1312 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1313 AC_ARG_ENABLE(convert-24-rgb-ezx,
1314 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1316 if test "x$enableval" = "xyes" ; then
1317 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1318 conv_24_rgb_ezx="yes"
1320 conv_24_rgb_ezx="no"
1323 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1324 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1328 AC_MSG_RESULT($conv_24_rgb_ezx)
1330 #######################################
1331 ## Convert to 32bpp RGB 666 (666 ezx)
1332 conv_32_rgb_ezx="yes"
1333 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1334 AC_ARG_ENABLE(convert-32-rgb-ezx,
1335 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1337 if test "x$enableval" = "xyes" ; then
1338 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1339 conv_32_rgb_ezx="yes"
1341 conv_32_rgb_ezx="no"
1344 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1345 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1349 AC_MSG_RESULT($conv_32_rgb_ezx)
1351 #######################################
1352 ## Convert to 32bpp RGB with rotation of 0
1353 EVAS_CONVERT_ROT(32, RGB, 0)
1354 ## Convert to 32bpp RGB with rotation of 180
1355 EVAS_CONVERT_ROT(32, RGB, 180)
1356 ## Convert to 32bpp RGB with rotation of 270
1357 EVAS_CONVERT_ROT(32, RGB, 270)
1358 ## Convert to 32bpp RGB with rotation of 90
1359 EVAS_CONVERT_ROT(32, RGB, 90)
1361 #######################################
1362 ## Convert to 8bpp grayscale with 256 value, no palette
1363 EVAS_CONVERT_COLOR(8, GRY, 1)
1364 ## Convert to 8bpp grayscale with 16 value, no palette
1365 EVAS_CONVERT_COLOR(8, GRY, 16)
1367 #######################################
1368 ## Convert to 8bpp grayscale, 64-palette
1369 conv_8_grayscale_64="yes"
1370 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1371 AC_ARG_ENABLE(convert-8-grayscale-64,
1372 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1374 if test "x$enableval" = "xyes"; then
1375 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1376 conv_8_grayscale_64="yes"
1378 conv_8_grayscale_64="no"
1381 if test "x$conv_8_grayscale_64" = "xyes"; then
1382 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1386 AC_MSG_RESULT($conv_8_grayscale_64)
1392 AC_MSG_CHECKING(whether to enable build with valgrind)
1393 AC_ARG_ENABLE(valgrind,
1394 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1395 [ want_valgrind=$enableval ]
1397 AC_MSG_RESULT($want_valgrind)
1399 if test x$want_valgrind = "xyes"; then
1400 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1402 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1404 requirement_evas="valgrind ${requirement_evas}"
1407 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1408 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1416 install_examples="yes"
1417 AC_ARG_ENABLE([install-examples],
1418 AC_HELP_STRING([--disable-install-examples],
1419 [disable installing examples (compiled or just source).
1420 @<:@default==enabled@:>@]),
1422 if test "x${enableval}" = "xyes" ; then
1423 install_examples="yes"
1425 install_examples="no"
1428 [install_examples="yes"])
1429 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1432 AC_ARG_ENABLE([build-examples],
1433 AC_HELP_STRING([--enable-build-examples],
1434 [enable building examples. @<:@default==disabled@:>@]),
1436 if test "x${enableval}" = "xyes" ; then
1437 build_examples="yes"
1442 [build_examples="no"])
1443 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1446 #####################################################################
1449 AC_SUBST(altivec_cflags)
1450 AC_SUBST(pthread_cflags)
1451 AC_SUBST(pthread_libs)
1452 AC_SUBST(requirement_evas)
1455 #####################################################################
1466 evas-software-buffer.pc
1467 evas-software-x11.pc
1468 evas-software-8-x11.pc
1469 evas-software-16-x11.pc
1472 evas-software-gdi.pc
1473 evas-software-ddraw.pc
1474 evas-software-16-ddraw.pc
1476 evas-software-16-wince.pc
1477 evas-software-sdl.pc
1484 src/lib/canvas/Makefile
1485 src/lib/file/Makefile
1486 src/lib/cache/Makefile
1487 src/lib/cserve/Makefile
1488 src/lib/engines/Makefile
1489 src/lib/engines/common/Makefile
1490 src/lib/engines/common/evas_op_add/Makefile
1491 src/lib/engines/common/evas_op_blend/Makefile
1492 src/lib/engines/common/evas_op_copy/Makefile
1493 src/lib/engines/common/evas_op_mask/Makefile
1494 src/lib/engines/common/evas_op_mul/Makefile
1495 src/lib/engines/common/evas_op_sub/Makefile
1496 src/lib/engines/common_8/Makefile
1497 src/lib/engines/common_16/Makefile
1498 src/modules/Makefile
1499 src/modules/engines/Makefile
1500 src/modules/engines/software_generic/Makefile
1501 src/modules/engines/software_gdi/Makefile
1502 src/modules/engines/software_ddraw/Makefile
1503 src/modules/engines/direct3d/Makefile
1504 src/modules/engines/software_16_wince/Makefile
1505 src/modules/engines/software_x11/Makefile
1506 src/modules/engines/fb/Makefile
1507 src/modules/engines/buffer/Makefile
1508 src/modules/engines/directfb/Makefile
1509 src/modules/engines/gl_common/Makefile
1510 src/modules/engines/gl_glew/Makefile
1511 src/modules/engines/gl_x11/Makefile
1512 src/modules/engines/gl_sdl/Makefile
1513 src/modules/engines/quartz/Makefile
1514 src/modules/engines/xrender_x11/Makefile
1515 src/modules/engines/software_sdl/Makefile
1516 src/modules/engines/software_8/Makefile
1517 src/modules/engines/software_8_x11/Makefile
1518 src/modules/engines/software_16/Makefile
1519 src/modules/engines/software_16_x11/Makefile
1520 src/modules/engines/software_16_ddraw/Makefile
1521 src/modules/engines/software_16_sdl/Makefile
1522 src/modules/loaders/Makefile
1523 src/modules/loaders/edb/Makefile
1524 src/modules/loaders/eet/Makefile
1525 src/modules/loaders/gif/Makefile
1526 src/modules/loaders/jpeg/Makefile
1527 src/modules/loaders/png/Makefile
1528 src/modules/loaders/tiff/Makefile
1529 src/modules/loaders/xpm/Makefile
1530 src/modules/loaders/bmp/Makefile
1531 src/modules/loaders/tga/Makefile
1532 src/modules/loaders/svg/Makefile
1533 src/modules/loaders/pmaps/Makefile
1534 src/modules/savers/Makefile
1535 src/modules/savers/edb/Makefile
1536 src/modules/savers/eet/Makefile
1537 src/modules/savers/jpeg/Makefile
1538 src/modules/savers/png/Makefile
1539 src/modules/savers/tiff/Makefile
1540 src/lib/include/Makefile
1541 src/examples/Makefile
1546 #disabled for the release:
1548 # evas-software-qtopia.pc
1549 # src/modules/engines/cairo_common/Makefile
1550 # src/modules/engines/cairo_x11/Makefile
1551 # src/modules/engines/software_qtopia/Makefile
1554 #####################################################################
1557 if test "x$build_pthreads" = "xno" ; then
1558 if test "x$build_async_render" = "xyes" ; then
1559 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1560 echo " needs thread support."
1563 if test "x$build_pipe_render" = "xyes" ; then
1564 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1565 echo " needs thread support."
1570 if test "x${has_pthreads}" = "xno" ; then
1571 if test "x$build_async_preload" = "xyes" ; then
1572 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1573 echo " needs thread support."
1578 #####################################################################
1584 echo "------------------------------------------------------------------------"
1585 echo "$PACKAGE $VERSION"
1586 echo "------------------------------------------------------------------------"
1588 echo "Configuration Options Summary:"
1591 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1592 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1593 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1594 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1595 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1596 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1600 dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
1601 echo " Software GDI...............: $have_evas_engine_software_gdi"
1602 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1603 echo " Direct3d...................: $have_evas_engine_direct3d"
1604 echo " Quartz.....................: $have_evas_engine_quartz"
1605 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1606 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1607 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1608 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1609 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1613 echo " Software Framebuffer.......: $have_evas_engine_fb"
1614 echo " DirectFB...................: $have_evas_engine_directfb"
1615 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1616 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1617 # FIXME: kill software 16bit
1618 echo " Software 16bit ............: $have_evas_engine_software_16"
1619 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1620 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1621 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1622 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1624 echo "Image Loaders:"
1625 echo " EDB.....................: $have_evas_image_loader_edb"
1626 echo " EET.....................: $have_evas_image_loader_eet"
1627 echo " GIF.....................: $have_evas_image_loader_gif"
1628 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1629 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1630 echo " PNG.....................: $have_evas_image_loader_png"
1631 echo " SVG.....................: $have_evas_image_loader_svg"
1632 echo " TIFF....................: $have_evas_image_loader_tiff"
1633 echo " XPM.....................: $have_evas_image_loader_xpm"
1634 echo " BMP.....................: $have_evas_image_loader_bmp"
1635 echo " TGA.....................: $have_evas_image_loader_tga"
1637 echo "Font Sourcing Systems:"
1638 echo " EET.....................: $have_evas_font_loader_eet"
1640 echo "Font Searching Systems:"
1641 echo " Fontconfig..............: $have_fontconfig"
1642 echo " Fribidi.................: $have_fribidi"
1643 # FIXME: add non freetype2 font engine support
1644 # FIXME: make freetype2 optional
1646 echo "CPU Specific Extensions:"
1647 echo " Fallback C Code.........: $build_cpu_c"
1648 echo " MMX.....................: $build_cpu_mmx"
1649 echo " SSE.....................: $build_cpu_sse"
1650 echo " ALTIVEC.................: $build_cpu_altivec"
1651 echo " NEON....................: $build_cpu_neon"
1652 echo " Thread Support..........: $build_pthreads"
1655 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1656 echo " Cache Server............: $want_evas_cserve"
1659 dnl ... DISABLED! some testing has shown that this seems to have some
1660 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1661 dnl disabling this for now until it can be fixed
1663 echo " Threaded Pipe Rendering.: $build_pipe_render"
1664 echo " Async Pipe Rendering....: $build_async_render"
1665 echo " Async Events............: $build_async_events"
1666 echo " Async Image Preload.....: $build_async_preload"
1668 echo " Word Cache..............: $want_word_cache"
1669 echo " Metric Cache............: $want_metric_cache"
1671 echo "ARGB Software Engine Options:"
1672 echo " Sampling Scaler.........: $scaler_sample"
1673 echo " Smooth Scaler...........: $scaler_smooth"
1674 # FIXME: add an mmx scaler routine
1675 echo " YUV Converter...........: $conv_yuv"
1676 # FIXME: add more YUV format and colorvariant support
1678 echo "ARGB Conversion Options:"
1679 echo " Smaller Dither Mask.....: $conv_small_dither"
1680 echo " Line Dither Mask........: $conv_line_dither"
1681 echo " No Dither Mask for 16bpp: $conv_no_dither"
1682 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1683 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1684 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1685 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1686 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1687 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1688 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1689 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1690 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1691 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1692 # FIXME: add grayscale and B&W support to standard x converters
1693 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1694 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1695 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1696 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1697 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1698 # FIXME: add 555 (444 ipaq) support
1699 # FIXME: add 30bpp support
1700 # FIXME: add palletted support (ugh!)
1701 # FIXME: add 8bpp and below rotation
1702 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1703 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1704 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1705 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1706 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1707 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1708 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1709 # FIXME: add 24bpp rotation
1710 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1711 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1712 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1713 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1714 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1715 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1716 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1717 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1718 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1720 echo "Documentation.............: ${build_doc}"
1721 echo "Examples..................: install:${install_examples} build:${build_examples}"
1723 echo "Compilation............: make (or gmake)"
1724 echo " CPPFLAGS.............: $CPPFLAGS"
1725 echo " CFLAGS...............: $CFLAGS"
1726 echo " CXXFLAGS.............: $CXXFLAGS"
1727 echo " LDFLAGS..............: $LDFLAGS"
1729 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1730 echo " prefix...............: $prefix"
1732 if test "x${have_static_module}" = "xyes" ; then
1733 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1734 echo " You must know what you are doing, or else you will have a lot of problems."
1735 echo " And Kenny will be killed."
1736 echo " Think about that."