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"
128 want_evas_image_loader_wbmp="yes"
129 want_evas_image_loader_ico="yes"
131 want_evas_font_loader_eet="yes"
136 want_evas_engine_software_16_wince="yes"
137 want_evas_image_loader_edb="no"
138 want_evas_image_loader_gif="no"
139 want_evas_image_loader_svg="no"
140 want_evas_image_loader_tiff="no"
143 want_evas_engine_software_gdi="yes"
144 want_evas_engine_software_ddraw="yes"
145 want_evas_engine_direct3d="yes"
146 want_evas_engine_software_16_ddraw="yes"
147 want_evas_image_loader_edb="no"
148 want_evas_image_loader_svg="no"
151 want_evas_engine_software_xlib="auto"
152 want_evas_engine_quartz="auto"
155 want_evas_engine_software_xlib="auto"
156 want_evas_engine_gl_x11="auto"
157 want_evas_engine_fb="auto"
158 ### no - not ready/usable/complete
159 # want_evas_engine_software_8_x11="auto"
160 # want_evas_engine_xrender_x11="auto"
161 # want_evas_engine_software_16_x11="auto"
168 ### Additional options to configure
170 # when used, that option makes configure script fails when
171 # a requirement is selected, but not met.
173 AC_ARG_ENABLE([strict],
174 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
178 # Simple X11 build/link
179 AC_ARG_ENABLE([simple-x11],
180 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
182 if test "x${enableval}" = "xyes" ; then
183 want_evas_simple_x11="yes"
185 want_evas_simple_x11="no"
190 ### Checks for programs
192 m4_ifdef([AC_PROG_OBJC],
195 _AM_DEPENDENCIES(OBJC)
198 dnl#AC_CHECK_TOOL([OBJC], [gcc])
200 dnl#AC_SUBST([OBJCFLAGS])
211 # Check whether pkg-config supports Requires.private
212 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
213 pkgconfig_requires_private="Requires.private"
215 pkgconfig_requires_private="Requires"
217 AC_SUBST(pkgconfig_requires_private)
219 # doxygen program for documentation building
220 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
223 ### Checks for libraries
225 # Evil library for compilation on Windows CE
229 PKG_CHECK_MODULES([EVIL], [evil])
230 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
231 requirement_evas="evil ${requirement_evas}"
235 ## strong dependencies
238 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
241 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
243 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
245 ## optional dependencies
249 AC_ARG_ENABLE([fontconfig],
250 AC_HELP_STRING([--disable-fontconfig],
251 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
253 if test "x${enableval}" = "xyes" ; then
254 want_fontconfig="yes"
261 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
262 PKG_CHECK_MODULES([FONTCONFIG],
265 have_fontconfig="yes"
266 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
267 requirement_evas="fontconfig ${requirement_evas}"
270 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
271 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
278 AC_ARG_ENABLE([fribidi],
279 AC_HELP_STRING([--disable-fribidi],
280 [disable bidirectional text support. @<:@default=enabled@:>@]),
282 if test "x${enableval}" = "xyes" ; then
289 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
290 PKG_CHECK_MODULES([FRIBIDI],
294 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
295 requirement_evas="fribidi ${requirement_evas}"
298 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
299 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
304 if test "x${have_fribidi}" = "xno"; then
310 have_harfbuzz_glib="no"
311 have_harfbuzz_ft="no"
312 AC_ARG_ENABLE([harfbuzz],
313 AC_HELP_STRING([--disable-harfbuzz],
314 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
316 if test "x${enableval}" = "xyes" ; then
323 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
324 PKG_CHECK_MODULES([HARFBUZZ],
328 requirement_evas="harfbuzz ${requirement_evas}"
331 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
332 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
335 if test "x$have_harfbuzz" = "xyes" ; then
337 CPPFLAGS_SAVE="$CPPFLAGS"
338 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
339 # must have for usage with harfbuzz although harfbuzz may not have it.
341 AC_CHECK_HEADER(hb-ft.h,
343 have_harfbuzz_ft="yes"
344 #Depend on harfbuzz ft for harfbuzz support
345 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
348 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
349 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
353 # nice to have if harfbuzz has it
354 AC_CHECK_HEADER(hb-glib.h,
356 have_harfbuzz_glib="yes"
357 AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
360 have_harfbuzz_glib="no"
362 CPPFLAGS="$CPPFLAGS_SAVE"
366 if test "x${have_harfbuzz}" = "xno"; then
370 ### Checks for header files
372 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
380 ### Checks for structures
383 ### Checks for compiler characteristics
392 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
395 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
398 AC_SUBST(WIN32_CPPFLAGS)
403 WIN32_CFLAGS="-mwin32"
406 AC_SUBST(WIN32_CFLAGS)
409 ### Checks for linker characteristics
410 lt_enable_auto_import=""
413 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
414 lt_enable_auto_import="-Wl,--enable-auto-import"
417 AC_SUBST(lt_enable_auto_import)
420 ### Checks for library functions
428 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
435 AC_DEFINE(HAVE_DLADDR)
438 # nothing on mingw platform
441 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
442 if test "x$res" = "xyes"; then
443 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
445 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
446 if test "x$res" = "xyes"; then
447 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
450 AC_MSG_ERROR(Cannot find dlopen)
454 AC_SUBST(dlopen_libs)
456 # (shm_open (for cache server)
457 AC_ARG_ENABLE([evas-cserve],
458 AC_HELP_STRING([--disable-evas-cserve],
459 [disable shared cache server support. @<:@default=enabled@:>@]),
461 if test "x${enableval}" = "xyes" ; then
462 want_evas_cserve="yes"
464 want_evas_cserve="no"
467 AC_MSG_CHECKING(whether to build shared cache server and support)
468 AC_MSG_RESULT(${want_evas_cserve})
470 if test "x${want_evas_cserve}" = "xyes" ; then
471 AC_MSG_CHECKING([whether shm_open() is present])
477 #include <sys/types.h>
478 #include <sys/mman.h>
483 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
486 [want_evas_cserve="yes"],
487 [want_evas_cserve="no"])
489 AC_MSG_RESULT([${want_evas_cserve}])
492 if test "x${want_evas_cserve}" = "xyes" ; then
493 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
496 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
500 #######################################
501 ## GL force flavor gles
503 AC_MSG_CHECKING(whether to build GLES flavor of GL)
504 AC_ARG_ENABLE(gl-flavor-gles,
505 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
507 if test "x$enableval" = "xyes" ; then
520 #######################################
522 gles_variety_sgx="no"
523 AC_MSG_CHECKING(whether to build GLES variety for SGX)
524 AC_ARG_ENABLE(gles-variety-sgx,
525 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
527 if test "x$enableval" = "xyes" ; then
529 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
530 gles_variety_sgx="yes"
533 gles_variety_sgx="no"
537 gles_variety_sgx="no"
541 #######################################
542 ## GLES variety s3c6410
543 gles_variety_s3c6410="no"
544 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
545 AC_ARG_ENABLE(gles-variety-s3c6410,
546 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
548 if test "x$enableval" = "xyes" ; then
550 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
551 gles_variety_s3c6410="yes"
554 gles_variety_s3c6410="no"
558 gles_variety_s3c6410="no"
562 if test "x$gl_flavor_gles" = "xyes"; then
564 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
565 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
566 if test "x$eng" = "xx"; then
570 [Please enable just 1 OpenGL-ES flavor. Choices are:
571 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
572 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
573 You will also need to enable the OpenGL engine for X11 with:
579 #####################################################################
582 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
584 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
586 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
588 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
590 # disable cairo engine for the release
591 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
593 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
595 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
597 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
599 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
601 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
603 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
605 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
607 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
609 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
611 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
613 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
615 # disable qtopia engine for the release
616 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
618 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
620 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
622 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
624 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
627 #have_evas_engine_cairo_common="no"
628 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
629 # have_evas_engine_cairo_common="yes"
630 # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
632 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
635 have_evas_engine_gl_common="no"
636 if test "x$have_evas_engine_gl_x11" = "xyes" \
637 || test "x$have_evas_engine_gl_x11" = "xstatic" \
638 || test "x$have_evas_engine_gl_glew" = "xyes" \
639 || test "x$have_evas_engine_gl_glew" = "xstatic" \
640 || test "x$have_evas_engine_gl_sdl" = "xyes" \
641 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
642 have_evas_engine_gl_common="yes"
645 if test "x$have_evas_engine_gl_common" = "xyes"; then
646 evas_engine_gl_common_libs=""
647 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
650 AC_SUBST([evas_engine_gl_common_libs])
652 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
655 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
656 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
657 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
658 [#include <SDL/SDL_video.h>])
661 if test "x$gl_flavor_gles" = "xyes"; then
662 AC_CHECK_DECL(SDL_OPENGLES,
663 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
664 [#include <SDL/SDL_video.h>])
670 AC_ARG_ENABLE([sdl-primitive],
671 [AC_HELP_STRING([--enable-sdl-primitive], [])],
672 [sdl_primitive=${enableval}]
674 AC_MSG_CHECKING([whether to use SDL primitive when possible])
675 AC_MSG_RESULT([${sdl_primitive}])
677 if test "x${sdl_primitive}" = "xyes" ; then
678 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
681 # if software generic need to be build as part of libevas.so
682 have_static_software_generic="no"
683 AC_ARG_ENABLE([static-software-generic],
684 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
685 [have_static_software_generic=${enableval}]
687 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
688 AC_MSG_RESULT([${have_static_software_generic}])
690 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
691 if test "x${have_static_software_generic}" = "xyes"; then
692 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
695 # if software_xlib or software_xcb are available, define everything needed for X11
696 have_evas_engine_software_x11="no"
697 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
698 have_evas_engine_software_x11="static"
700 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
701 have_evas_engine_software_x11="yes"
705 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
706 have_evas_engine_software_xlib="yes"
709 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
710 have_evas_engine_software_xcb="yes"
713 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
714 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
717 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
718 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
721 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
722 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
724 AC_SUBST(have_evas_engine_software_xlib)
725 AC_SUBST(have_evas_engine_software_xcb)
727 # if software 16 x11 is enabled - build software_16 (the generic 16bit
728 # engine). later enable it fb_16 or other "16" bit engines are enabled.
729 have_evas_engine_software_16="no"
730 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
731 have_evas_engine_software_16="yes"
733 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
734 have_evas_engine_software_16="yes"
736 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
737 have_evas_engine_software_16="yes"
739 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
740 have_evas_engine_software_16="yes"
742 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
744 # if software 16 need to be build as part of libevas.so
745 have_static_software_16="no"
746 AC_ARG_ENABLE([static-software-16],
747 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
748 [have_static_software_16=${enableval}]
750 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
751 AC_MSG_RESULT([${have_static_software_16}])
753 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
754 if test "x${have_static_software_16}" = "xyes"; then
755 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
758 # if software 8 x11 is enabled - build software_8 (the generic 8bit
760 have_evas_engine_software_8="no"
761 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
762 have_evas_engine_software_8="yes"
764 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
766 # if software 8 need to be build as part of libevas.so
767 have_static_software_8="no"
768 AC_ARG_ENABLE([static-software-8],
769 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
770 [have_static_software_8=${enableval}]
772 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
773 AC_MSG_RESULT([${have_static_software_8}])
775 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
776 if test "x${have_static_software_8}" = "xyes"; then
777 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
780 #####################################################################
783 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
785 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
786 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
788 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
790 have_evas_image_saver_jpeg="no"
791 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
793 dnl Windows has no sigsetjmp function, nor equivalent.
794 dnl So we disable the jpeg saver.
795 dnl TODO: must find a workaround
800 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
801 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
802 have_evas_image_saver_jpeg="yes"
806 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
808 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
810 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
812 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
814 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
816 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
818 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
820 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
822 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
824 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
826 #####################################################################
827 ## Cpu based optimizations
829 #######################################
836 # basic pthread support
837 AC_CHECK_HEADER(pthread.h,
846 # sched_getaffinity pthread_attr_setaffinity_np
847 AC_CHECK_HEADERS(pthread.h sched.h,
849 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
851 AC_CHECK_LIB(pthread, pthread_barrier_wait,
852 [ build_pthreads="yes" ],
853 [ build_pthreads="no" ]
856 [ build_pthreads="no" ]
859 [ build_pthreads="no" ]
862 #######################################
864 AC_MSG_CHECKING(whether to build pthread code)
865 AC_ARG_ENABLE(pthreads,
866 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
868 if test "x$enableval" = "xyes" ; then
869 if test "x$build_pthreads" = "xyes"; then
871 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
875 if "x$use_strict" = "xyes"; then
876 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
878 AC_MSG_RESULT(no: pthread headers or functions not found)
887 AC_MSG_RESULT($build_pthreads)
888 if test "x$build_pthreads" = "xyes" ; then
889 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
895 #######################################
897 build_pipe_render="no"
899 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
900 AC_ARG_ENABLE(pipe-render,
901 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
902 [ build_pipe_render=$enableval ]
904 AC_MSG_RESULT($build_pipe_render)
906 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
907 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
909 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
910 build_pipe_render="yes"
914 build_pipe_render="no"
917 #######################################
919 build_async_render="no"
921 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
922 AC_ARG_ENABLE(async-render,
923 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
924 [ build_async_render=$enableval ]
926 AC_MSG_RESULT($build_async_render)
928 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
929 if test \( "x$build_async_render" = "xyes" \); then
931 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
932 build_async_render="yes"
933 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
934 build_pipe_render="yes"
937 PKG_CHECK_MODULES([XEXT],
939 [ build_avoid_libXext_bug=yes ],
940 [ build_avoid_libXext_bug=no ]
942 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
943 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
947 build_async_render="no"
950 #######################################
952 build_async_events="auto"
953 AC_MSG_CHECKING(whether to build Async Events support)
954 AC_ARG_ENABLE(async-events,
955 AC_HELP_STRING([--enable-async-events], [enable async events support]),
956 [ build_async_events=$enableval ]
958 AC_MSG_RESULT($build_async_events)
960 AC_MSG_CHECKING(whether we can build Async Events support)
961 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
963 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
964 build_async_events="yes"
967 build_async_events="no"
970 #######################################
971 ## Async image preload
972 build_async_preload="auto"
973 AC_MSG_CHECKING(whether to build Async Image Preload support)
974 AC_ARG_ENABLE(async-preload,
975 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
976 [ build_async_preload=$enableval ]
978 AC_MSG_RESULT($build_async_preload)
980 AC_MSG_CHECKING(whether we can build Async Image Preload support)
981 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
983 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
984 build_async_preload="yes"
988 build_async_preload="no"
991 #######################################
992 ## Link with pthread if needed
993 AC_MSG_CHECKING(whether we should link with pthread)
994 if test "x$need_pthreads" = "xyes"; then
997 pthread_libs="-lpthread"
1002 #######################################
1016 AC_MSG_CHECKING(whether to build mmx code)
1017 AC_ARG_ENABLE(cpu-mmx,
1018 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1020 if test "x$enableval" = "xyes" ; then
1022 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1030 AC_MSG_RESULT($build_cpu_mmx)
1031 if test "x$build_cpu_mmx" = "xyes" ; then
1032 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1037 #######################################
1051 AC_MSG_CHECKING(whether to build sse code)
1052 AC_ARG_ENABLE(cpu-sse,
1053 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1055 if test "x$enableval" = "xyes" ; then
1057 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1065 AC_MSG_RESULT($build_cpu_sse)
1066 if test "x$build_cpu_sse" = "xyes" ; then
1067 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1072 #######################################
1074 build_cpu_altivec="no"
1077 build_cpu_altivec="auto"
1081 AC_MSG_CHECKING(whether to build altivec code)
1082 AC_ARG_ENABLE(cpu-altivec,
1083 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1084 [ build_cpu_altivec=$enableval ],
1086 if test ! "x$build_cpu_altivec" = "xauto"; then
1087 build_cpu_altivec="no"
1091 AC_MSG_RESULT($build_cpu_altivec)
1093 if test "x$build_cpu_altivec" = "xyes"; then
1094 AC_CHECK_HEADER(altivec.h,
1096 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1097 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1098 build_cpu_altivec="yes"
1102 save_CPPFLAGS=$CPPFLAGS
1103 CFLAGS=$CFLAGS" -maltivec"
1104 CPPFLAGS=$CPPFLAGS" -maltivec"
1105 unset ac_cv_header_altivec_h
1106 AC_CHECK_HEADER(altivec.h,
1108 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1109 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1110 build_cpu_altivec="yes"
1113 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1114 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1116 build_cpu_altivec="no"
1120 CPPFLAGS=$save_CPPFLAGS
1125 if test "x$build_cpu_altivec" = "xyes"; then
1126 AC_MSG_CHECKING(whether to use altivec compiler flag)
1127 if test "x$GCC" = "xyes"; then
1128 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1129 altivec_cflags="-faltivec"
1130 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1131 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1132 altivec_cflags="-maltivec"
1133 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1136 AC_MSG_RESULT($altivec_cflags)
1137 CFLAGS="$CFLAGS $altivec_cflags"
1140 #######################################
1145 build_cpu_neon="yes"
1148 AC_MSG_CHECKING(whether to build neon code)
1149 AC_ARG_ENABLE(cpu-neon,
1150 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1151 checked at run time to see if the CPU supports it]),
1153 if test "x$enableval" = "xyes" ; then
1155 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1158 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1159 build_cpu_neon="yes"
1170 if test "x$build_cpu_neon" = "xyes" ; then
1171 AC_TRY_COMPILE([#include <arm_neon.h>],
1172 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1175 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1176 build_cpu_neon="yes"
1185 #######################################
1188 AC_MSG_CHECKING(whether to build c code)
1189 AC_ARG_ENABLE(cpu-c,
1190 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1192 if test "x$enableval" = "xyes" ; then
1194 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1201 AC_MSG_RESULT($build_cpu_c)
1202 if test "x$build_cpu_c" = "xyes" ; then
1203 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1208 #######################################
1210 want_evas_magic_debug="yes"
1211 AC_MSG_CHECKING(whether to check magic for evas object)
1212 AC_ARG_ENABLE(evas-magic-debug,
1214 [--disable-evas-magic-debug],
1215 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1217 [ want_evas_magic_debug="$enableval" ]
1219 AC_MSG_RESULT($want_evas_magic_debug)
1221 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1222 if test "x$want_evas_magic_debug" = "xyes"; then
1223 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1227 #######################################
1229 want_word_cache="no"
1230 AC_MSG_CHECKING(whether to enable caching of rendered words)
1231 AC_ARG_ENABLE(word-cache,
1233 [--enable-word-cache],
1234 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1236 [ want_word_cache="$enableval" ]
1238 AC_MSG_RESULT($want_word_cache)
1240 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1241 if test "x$want_word_cache" = "xyes"; then
1242 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1245 #######################################
1247 want_metric_cache="no"
1248 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1249 AC_ARG_ENABLE(metric-cache,
1251 [--enable-metric-cache],
1252 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1254 [ want_metric_cache="$enableval" ]
1256 AC_MSG_RESULT($want_metric_cache)
1258 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1259 if test "x$want_metric_cache" = "xyes"; then
1260 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1265 #####################################################################
1266 ## ARGB engine options
1268 #######################################
1269 ## Nearest sampling scaler
1270 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1271 ## Smooth super and sub sampling scaler
1272 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1274 #######################################
1275 ## YUV -> ARGB converter
1278 AC_MSG_CHECKING(whether to build yuv converter code)
1279 AC_ARG_ENABLE(convert-yuv,
1280 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1282 if test "x$enableval" = "xyes" ; then
1284 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1291 AC_MSG_RESULT($conv_yuv)
1292 if test "x$conv_yuv" = "xyes" ; then
1293 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1298 #####################################################################
1299 ## Output rendering features
1301 #######################################
1302 ## Small dither mask instead of big one (lower quality)
1303 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1304 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1305 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1306 ## No dither mask at all for 16bpp
1307 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1309 #######################################
1310 ## Convert to 8bpp RGB 332
1311 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1312 ## Convert to 8bpp RGB 666
1313 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1314 ## Convert to 8bpp RGB 232
1315 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1316 ## Convert to 8bpp RGB 222
1317 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1318 ## Convert to 8bpp RGB 221
1319 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1320 ## Convert to 8bpp RGB 121
1321 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1322 ## Convert to 8bpp RGB 111
1323 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1324 ## Convert to 16bpp RGB 565
1325 EVAS_CONVERT_COLOR(16, RGB, 565)
1326 ## Convert to 16bpp BGR 565
1327 EVAS_CONVERT_COLOR(16, BGR, 565)
1328 ## Convert to 16bpp RGB 555
1329 EVAS_CONVERT_COLOR(16, RGB, 555)
1330 ## Convert to 16bpp RGB 444
1331 EVAS_CONVERT_COLOR(16, RGB, 444)
1333 #######################################
1334 ## Convert to 16bpp RGB 565 (444 ipaq)
1335 conv_16_rgb_ipq="yes"
1336 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1337 AC_ARG_ENABLE(convert-16-rgb-ipq,
1338 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1340 if test "x$enableval" = "xyes" ; then
1341 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1342 conv_16_rgb_ipq="yes"
1344 conv_16_rgb_ipq="no"
1347 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1348 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1352 AC_MSG_RESULT($conv_16_rgb_ipq)
1354 #######################################
1355 ## Convert to 16bpp RGB with rotation of 0
1356 EVAS_CONVERT_ROT(16, RGB, 0)
1357 ## Convert to 16bpp RGB with rotation of 180
1358 EVAS_CONVERT_ROT(16, RGB, 180)
1359 ## Convert to 16bpp RGB with rotation of 270
1360 EVAS_CONVERT_ROT(16, RGB, 270)
1361 ## Convert to 16bpp RGB with rotation of 90
1362 EVAS_CONVERT_ROT(16, RGB, 90)
1364 #######################################
1365 ## Convert to 24bpp RGB 888
1366 EVAS_CONVERT_COLOR(24, RGB, 888)
1367 ## Convert to 24bpp BGR 888
1368 EVAS_CONVERT_COLOR(24, BGR, 888)
1369 ## Convert to 32bpp RGB 8888
1370 EVAS_CONVERT_COLOR(32, RGB, 8888)
1371 ## Convert to 32bpp RGBX 8888
1372 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1373 ## Convert to 32bpp BGR 8888
1374 EVAS_CONVERT_COLOR(32, BGR, 8888)
1375 ## Convert to 32bpp BGRX 8888
1376 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1378 #######################################
1379 ## Convert to 24bpp RGB 666 (666 ezx)
1380 conv_24_rgb_ezx="yes"
1381 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1382 AC_ARG_ENABLE(convert-24-rgb-ezx,
1383 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1385 if test "x$enableval" = "xyes" ; then
1386 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1387 conv_24_rgb_ezx="yes"
1389 conv_24_rgb_ezx="no"
1392 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1393 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1397 AC_MSG_RESULT($conv_24_rgb_ezx)
1399 #######################################
1400 ## Convert to 32bpp RGB 666 (666 ezx)
1401 conv_32_rgb_ezx="yes"
1402 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1403 AC_ARG_ENABLE(convert-32-rgb-ezx,
1404 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1406 if test "x$enableval" = "xyes" ; then
1407 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1408 conv_32_rgb_ezx="yes"
1410 conv_32_rgb_ezx="no"
1413 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1414 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1418 AC_MSG_RESULT($conv_32_rgb_ezx)
1420 #######################################
1421 ## Convert to 32bpp RGB with rotation of 0
1422 EVAS_CONVERT_ROT(32, RGB, 0)
1423 ## Convert to 32bpp RGB with rotation of 180
1424 EVAS_CONVERT_ROT(32, RGB, 180)
1425 ## Convert to 32bpp RGB with rotation of 270
1426 EVAS_CONVERT_ROT(32, RGB, 270)
1427 ## Convert to 32bpp RGB with rotation of 90
1428 EVAS_CONVERT_ROT(32, RGB, 90)
1430 #######################################
1431 ## Convert to 8bpp grayscale with 256 value, no palette
1432 EVAS_CONVERT_COLOR(8, GRY, 1)
1433 ## Convert to 8bpp grayscale with 16 value, no palette
1434 EVAS_CONVERT_COLOR(8, GRY, 16)
1436 #######################################
1437 ## Convert to 8bpp grayscale, 64-palette
1438 conv_8_grayscale_64="yes"
1439 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1440 AC_ARG_ENABLE(convert-8-grayscale-64,
1441 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1443 if test "x$enableval" = "xyes"; then
1444 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1445 conv_8_grayscale_64="yes"
1447 conv_8_grayscale_64="no"
1450 if test "x$conv_8_grayscale_64" = "xyes"; then
1451 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1455 AC_MSG_RESULT($conv_8_grayscale_64)
1461 AC_MSG_CHECKING(whether to enable build with valgrind)
1462 AC_ARG_ENABLE(valgrind,
1463 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1464 [ want_valgrind=$enableval ]
1466 AC_MSG_RESULT($want_valgrind)
1468 if test x$want_valgrind = "xyes"; then
1469 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1471 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1473 requirement_evas="valgrind ${requirement_evas}"
1476 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1477 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1485 install_examples="yes"
1486 AC_ARG_ENABLE([install-examples],
1487 AC_HELP_STRING([--disable-install-examples],
1488 [disable installing examples (compiled or just source).
1489 @<:@default==enabled@:>@]),
1491 if test "x${enableval}" = "xyes" ; then
1492 install_examples="yes"
1494 install_examples="no"
1497 [install_examples="yes"])
1498 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1501 AC_ARG_ENABLE([build-examples],
1502 AC_HELP_STRING([--enable-build-examples],
1503 [enable building examples. @<:@default==disabled@:>@]),
1505 if test "x${enableval}" = "xyes" ; then
1506 build_examples="yes"
1511 [build_examples="no"])
1512 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1515 #####################################################################
1518 AC_SUBST(altivec_cflags)
1519 AC_SUBST(pthread_cflags)
1520 AC_SUBST(pthread_libs)
1521 AC_SUBST(requirement_evas)
1524 #####################################################################
1535 evas-software-buffer.pc
1536 evas-software-x11.pc
1537 evas-software-8-x11.pc
1538 evas-software-16-x11.pc
1541 evas-software-gdi.pc
1542 evas-software-ddraw.pc
1543 evas-software-16-ddraw.pc
1545 evas-software-16-wince.pc
1546 evas-software-sdl.pc
1553 src/lib/canvas/Makefile
1554 src/lib/file/Makefile
1555 src/lib/cache/Makefile
1556 src/lib/cserve/Makefile
1557 src/lib/engines/Makefile
1558 src/lib/engines/common/Makefile
1559 src/lib/engines/common/evas_op_add/Makefile
1560 src/lib/engines/common/evas_op_blend/Makefile
1561 src/lib/engines/common/evas_op_copy/Makefile
1562 src/lib/engines/common/evas_op_mask/Makefile
1563 src/lib/engines/common/evas_op_mul/Makefile
1564 src/lib/engines/common/evas_op_sub/Makefile
1565 src/lib/engines/common_8/Makefile
1566 src/lib/engines/common_16/Makefile
1567 src/modules/Makefile
1568 src/modules/engines/Makefile
1569 src/modules/engines/software_generic/Makefile
1570 src/modules/engines/software_gdi/Makefile
1571 src/modules/engines/software_ddraw/Makefile
1572 src/modules/engines/direct3d/Makefile
1573 src/modules/engines/software_16_wince/Makefile
1574 src/modules/engines/software_x11/Makefile
1575 src/modules/engines/fb/Makefile
1576 src/modules/engines/buffer/Makefile
1577 src/modules/engines/directfb/Makefile
1578 src/modules/engines/gl_common/Makefile
1579 src/modules/engines/gl_glew/Makefile
1580 src/modules/engines/gl_x11/Makefile
1581 src/modules/engines/gl_sdl/Makefile
1582 src/modules/engines/quartz/Makefile
1583 src/modules/engines/xrender_x11/Makefile
1584 src/modules/engines/software_sdl/Makefile
1585 src/modules/engines/software_8/Makefile
1586 src/modules/engines/software_8_x11/Makefile
1587 src/modules/engines/software_16/Makefile
1588 src/modules/engines/software_16_x11/Makefile
1589 src/modules/engines/software_16_ddraw/Makefile
1590 src/modules/engines/software_16_sdl/Makefile
1591 src/modules/loaders/Makefile
1592 src/modules/loaders/edb/Makefile
1593 src/modules/loaders/eet/Makefile
1594 src/modules/loaders/gif/Makefile
1595 src/modules/loaders/jpeg/Makefile
1596 src/modules/loaders/png/Makefile
1597 src/modules/loaders/tiff/Makefile
1598 src/modules/loaders/xpm/Makefile
1599 src/modules/loaders/bmp/Makefile
1600 src/modules/loaders/ico/Makefile
1601 src/modules/loaders/tga/Makefile
1602 src/modules/loaders/svg/Makefile
1603 src/modules/loaders/pmaps/Makefile
1604 src/modules/loaders/wbmp/Makefile
1605 src/modules/savers/Makefile
1606 src/modules/savers/edb/Makefile
1607 src/modules/savers/eet/Makefile
1608 src/modules/savers/jpeg/Makefile
1609 src/modules/savers/png/Makefile
1610 src/modules/savers/tiff/Makefile
1611 src/lib/include/Makefile
1612 src/examples/Makefile
1617 #disabled for the release:
1619 # evas-software-qtopia.pc
1620 # src/modules/engines/cairo_common/Makefile
1621 # src/modules/engines/cairo_x11/Makefile
1622 # src/modules/engines/software_qtopia/Makefile
1625 #####################################################################
1628 if test "x$build_pthreads" = "xno" ; then
1629 if test "x$build_async_render" = "xyes" ; then
1630 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1631 echo " needs thread support."
1634 if test "x$build_pipe_render" = "xyes" ; then
1635 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1636 echo " needs thread support."
1641 if test "x${has_pthreads}" = "xno" ; then
1642 if test "x$build_async_preload" = "xyes" ; then
1643 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1644 echo " needs thread support."
1649 #####################################################################
1655 echo "------------------------------------------------------------------------"
1656 echo "$PACKAGE $VERSION"
1657 echo "------------------------------------------------------------------------"
1659 echo "Configuration Options Summary:"
1662 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1663 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1664 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1665 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1666 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1667 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1671 dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
1672 echo " Software GDI...............: $have_evas_engine_software_gdi"
1673 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1674 echo " Direct3d...................: $have_evas_engine_direct3d"
1675 echo " Quartz.....................: $have_evas_engine_quartz"
1676 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1677 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1678 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1679 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1680 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1684 echo " Software Framebuffer.......: $have_evas_engine_fb"
1685 echo " DirectFB...................: $have_evas_engine_directfb"
1686 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1687 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1688 # FIXME: kill software 16bit
1689 echo " Software 16bit ............: $have_evas_engine_software_16"
1690 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1691 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1692 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1693 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1695 echo "Image Loaders:"
1696 echo " BMP.....................: $have_evas_image_loader_bmp"
1697 echo " EDB.....................: $have_evas_image_loader_edb"
1698 echo " EET.....................: $have_evas_image_loader_eet"
1699 echo " GIF.....................: $have_evas_image_loader_gif"
1700 echo " ICO.....................: $have_evas_image_loader_ico"
1701 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1702 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1703 echo " PNG.....................: $have_evas_image_loader_png"
1704 echo " SVG.....................: $have_evas_image_loader_svg"
1705 echo " TGA.....................: $have_evas_image_loader_tga"
1706 echo " TIFF....................: $have_evas_image_loader_tiff"
1707 echo " WBMP....................: $have_evas_image_loader_wbmp"
1708 echo " XPM.....................: $have_evas_image_loader_xpm"
1710 echo "Font Sourcing Systems:"
1711 echo " EET.....................: $have_evas_font_loader_eet"
1713 echo "Font Searching Systems:"
1714 echo " Fontconfig..............: $have_fontconfig"
1716 echo "Font Rendering Helpers:"
1717 echo " Fribidi.................: $have_fribidi"
1718 echo " Harfbuzz................: $have_harfbuzz"
1719 # FIXME: add non freetype2 font engine support
1720 # FIXME: make freetype2 optional
1722 echo "CPU Specific Extensions:"
1723 echo " Fallback C Code.........: $build_cpu_c"
1724 echo " MMX.....................: $build_cpu_mmx"
1725 echo " SSE.....................: $build_cpu_sse"
1726 echo " ALTIVEC.................: $build_cpu_altivec"
1727 echo " NEON....................: $build_cpu_neon"
1728 echo " Thread Support..........: $build_pthreads"
1731 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1732 echo " Cache Server............: $want_evas_cserve"
1735 dnl ... DISABLED! some testing has shown that this seems to have some
1736 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1737 dnl disabling this for now until it can be fixed
1739 echo " Threaded Pipe Rendering.: $build_pipe_render"
1740 echo " Async Pipe Rendering....: $build_async_render"
1741 echo " Async Events............: $build_async_events"
1742 echo " Async Image Preload.....: $build_async_preload"
1744 echo " Word Cache..............: $want_word_cache"
1745 echo " Metric Cache............: $want_metric_cache"
1747 echo "ARGB Software Engine Options:"
1748 echo " Sampling Scaler.........: $scaler_sample"
1749 echo " Smooth Scaler...........: $scaler_smooth"
1750 # FIXME: add an mmx scaler routine
1751 echo " YUV Converter...........: $conv_yuv"
1752 # FIXME: add more YUV format and colorvariant support
1754 echo "ARGB Conversion Options:"
1755 echo " Smaller Dither Mask.....: $conv_small_dither"
1756 echo " Line Dither Mask........: $conv_line_dither"
1757 echo " No Dither Mask for 16bpp: $conv_no_dither"
1758 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1759 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1760 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1761 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1762 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1763 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1764 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1765 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1766 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1767 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1768 # FIXME: add grayscale and B&W support to standard x converters
1769 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1770 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1771 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1772 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1773 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1774 # FIXME: add 555 (444 ipaq) support
1775 # FIXME: add 30bpp support
1776 # FIXME: add palletted support (ugh!)
1777 # FIXME: add 8bpp and below rotation
1778 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1779 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1780 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1781 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1782 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1783 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1784 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1785 # FIXME: add 24bpp rotation
1786 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1787 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1788 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1789 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1790 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1791 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1792 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1793 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1794 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1796 echo "Documentation.............: ${build_doc}"
1797 echo "Examples..................: install:${install_examples} build:${build_examples}"
1799 echo "Compilation............: make (or gmake)"
1800 echo " CPPFLAGS.............: $CPPFLAGS"
1801 echo " CFLAGS...............: $CFLAGS"
1802 echo " CXXFLAGS.............: $CXXFLAGS"
1803 echo " LDFLAGS..............: $LDFLAGS"
1805 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1806 echo " prefix...............: $prefix"
1808 if test "x${have_static_module}" = "xyes" ; then
1809 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1810 echo " You must know what you are doing, or else you will have a lot of problems."
1811 echo " And Kenny will be killed."
1812 echo " Think about that."