1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [999])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##-- When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##-- When doing snapshots - change soname. remove dnl on below line
11 dnl m4_define([relname], [ver-pre-svn-07])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
22 # Check whether the Objective C compiler works.
23 AC_DEFUN([rw_PROG_OBJC_WORKS],
24 [m4_ifdef([AC_PROG_OBJC], [AC_REQUIRE([AC_PROG_OBJC])dnl
25 AC_CACHE_CHECK([whether the Objective C compiler works],
26 [rw_cv_prog_objc_works],
27 [AC_LANG_PUSH([Objective C])
28 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
29 [rw_cv_prog_objc_works=yes],
30 [rw_cv_prog_objc_works=no])
31 AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
34 AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
39 AC_CONFIG_HEADERS([config.h])
41 #ifndef EFL_CONFIG_H__
42 #define EFL_CONFIG_H__
45 #endif /* EFL_CONFIG_H__ */
48 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
49 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
54 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
57 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
59 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
60 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
61 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
62 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
63 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
64 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
65 version_info="lt_cur:lt_rev:lt_age"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
74 ### Needed information
81 MODULE_ARCH="$host_os-$host_cpu"
84 MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
90 want_fontconfig="auto"
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_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_gl_glew="no"
106 want_evas_engine_software_sdl="no"
107 want_evas_engine_fb="no"
108 want_evas_engine_directfb="no"
109 want_evas_engine_software_qtopia="no"
110 want_evas_engine_software_8_x11="no"
111 want_evas_engine_software_16_x11="no"
112 want_evas_engine_software_16_ddraw="no"
113 want_evas_engine_software_16_wince="no"
115 want_evas_image_loader_edb="yes"
116 want_evas_image_loader_eet="yes"
117 want_evas_image_loader_gif="yes"
118 want_evas_image_loader_jpeg="yes"
119 want_evas_image_loader_pmaps="yes"
120 want_evas_image_loader_png="yes"
121 want_evas_image_loader_svg="yes"
122 want_evas_image_loader_tiff="yes"
123 want_evas_image_loader_xpm="yes"
124 want_evas_image_loader_bmp="yes"
125 want_evas_image_loader_tga="yes"
126 want_evas_image_loader_wbmp="yes"
127 want_evas_image_loader_ico="yes"
129 want_evas_font_loader_eet="yes"
134 want_evas_engine_software_16_wince="yes"
135 want_evas_image_loader_edb="no"
136 want_evas_image_loader_gif="no"
137 want_evas_image_loader_svg="no"
138 want_evas_image_loader_tiff="no"
141 want_evas_engine_software_gdi="yes"
142 want_evas_engine_software_ddraw="yes"
143 want_evas_engine_direct3d="yes"
144 want_evas_engine_software_16_ddraw="yes"
145 want_evas_image_loader_edb="no"
146 want_evas_image_loader_svg="no"
149 want_evas_engine_software_xlib="auto"
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
307 have_harfbuzz_glib="no"
308 have_harfbuzz_ft="no"
309 AC_ARG_ENABLE([harfbuzz],
310 AC_HELP_STRING([--disable-harfbuzz],
311 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
313 if test "x${enableval}" = "xyes" ; then
320 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
321 PKG_CHECK_MODULES([HARFBUZZ],
325 requirement_evas="harfbuzz ${requirement_evas}"
328 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
329 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
332 if test "x$have_harfbuzz" = "xyes" ; then
334 CPPFLAGS_SAVE="$CPPFLAGS"
335 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
336 # must have for usage with harfbuzz although harfbuzz may not have it.
338 AC_CHECK_HEADER(hb-ft.h,
340 have_harfbuzz_ft="yes"
341 #Depend on harfbuzz ft for harfbuzz support
342 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
345 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
346 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
350 # nice to have if harfbuzz has it
351 AC_CHECK_HEADER(hb-glib.h,
353 have_harfbuzz_glib="yes"
354 AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
357 have_harfbuzz_glib="no"
359 CPPFLAGS="$CPPFLAGS_SAVE"
363 if test "x${have_harfbuzz}" = "xno"; then
367 ### Checks for header files
369 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
377 ### Checks for structures
380 ### Checks for compiler characteristics
389 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
392 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
395 AC_SUBST(WIN32_CPPFLAGS)
400 WIN32_CFLAGS="-mwin32"
403 AC_SUBST(WIN32_CFLAGS)
406 ### Checks for linker characteristics
407 lt_enable_auto_import=""
410 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
411 lt_enable_auto_import="-Wl,--enable-auto-import"
414 AC_SUBST(lt_enable_auto_import)
417 ### Checks for library functions
425 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
432 AC_DEFINE(HAVE_DLADDR)
435 # nothing on mingw platform
438 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
439 if test "x$res" = "xyes"; then
440 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
442 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
443 if test "x$res" = "xyes"; then
444 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
447 AC_MSG_ERROR(Cannot find dlopen)
451 AC_SUBST(dlopen_libs)
453 # (shm_open (for cache server)
454 AC_ARG_ENABLE([evas-cserve],
455 AC_HELP_STRING([--disable-evas-cserve],
456 [disable shared cache server support. @<:@default=enabled@:>@]),
458 if test "x${enableval}" = "xyes" ; then
459 want_evas_cserve="yes"
461 want_evas_cserve="no"
464 AC_MSG_CHECKING(whether to build shared cache server and support)
465 AC_MSG_RESULT(${want_evas_cserve})
467 if test "x${want_evas_cserve}" = "xyes" ; then
468 AC_MSG_CHECKING([whether shm_open() is present])
474 #include <sys/types.h>
475 #include <sys/mman.h>
480 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
483 [want_evas_cserve="yes"],
484 [want_evas_cserve="no"])
486 AC_MSG_RESULT([${want_evas_cserve}])
489 if test "x${want_evas_cserve}" = "xyes" ; then
490 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
493 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
497 #######################################
498 ## GL force flavor gles
500 AC_MSG_CHECKING(whether to build GLES flavor of GL)
501 AC_ARG_ENABLE(gl-flavor-gles,
502 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
504 if test "x$enableval" = "xyes" ; then
517 #######################################
519 gles_variety_sgx="no"
520 AC_MSG_CHECKING(whether to build GLES variety for SGX)
521 AC_ARG_ENABLE(gles-variety-sgx,
522 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
524 if test "x$enableval" = "xyes" ; then
526 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
527 gles_variety_sgx="yes"
530 gles_variety_sgx="no"
534 gles_variety_sgx="no"
538 #######################################
539 ## GLES variety s3c6410
540 gles_variety_s3c6410="no"
541 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
542 AC_ARG_ENABLE(gles-variety-s3c6410,
543 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
545 if test "x$enableval" = "xyes" ; then
547 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
548 gles_variety_s3c6410="yes"
551 gles_variety_s3c6410="no"
555 gles_variety_s3c6410="no"
559 if test "x$gl_flavor_gles" = "xyes"; then
561 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
562 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
563 if test "x$eng" = "xx"; then
567 [Please enable just 1 OpenGL-ES flavor. Choices are:
568 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
569 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
570 You will also need to enable the OpenGL engine for X11 with:
576 #####################################################################
579 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
581 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
583 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
585 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
587 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
589 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
591 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
593 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
595 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
597 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
599 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
601 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
603 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
605 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
607 # disable qtopia engine for the release
608 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
610 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
612 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
614 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
616 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
619 have_evas_engine_gl_common="no"
620 have_static_evas_engine_gl_common="no"
621 if test "x$have_evas_engine_gl_x11" = "xyes" \
622 || test "x$have_evas_engine_gl_glew" = "xyes" \
623 || test "x$have_evas_engine_gl_sdl" = "xyes"; then
624 have_evas_engine_gl_common="yes"
626 if test "x$have_evas_engine_gl_x11" = "xstatic" \
627 || test "x$have_evas_engine_gl_glew" = "xstatic" \
628 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
629 have_evas_engine_gl_common="yes"
630 have_static_evas_engine_gl_common="yes"
633 if test "x$have_evas_engine_gl_common" = "xyes"; then
634 evas_engine_gl_common_libs=""
635 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
638 AC_SUBST([evas_engine_gl_common_libs])
640 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
642 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
643 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
644 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
648 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
649 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
650 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
651 [#include <SDL/SDL_video.h>])
654 if test "x$gl_flavor_gles" = "xyes"; then
655 AC_CHECK_DECL(SDL_OPENGLES,
656 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
657 [#include <SDL/SDL_video.h>])
663 AC_ARG_ENABLE([sdl-primitive],
664 [AC_HELP_STRING([--enable-sdl-primitive], [])],
665 [sdl_primitive=${enableval}]
667 AC_MSG_CHECKING([whether to use SDL primitive when possible])
668 AC_MSG_RESULT([${sdl_primitive}])
670 if test "x${sdl_primitive}" = "xyes" ; then
671 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
674 # if software generic need to be build as part of libevas.so
675 have_static_software_generic="no"
676 AC_ARG_ENABLE([static-software-generic],
677 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
678 [have_static_software_generic=${enableval}]
680 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
681 AC_MSG_RESULT([${have_static_software_generic}])
683 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
684 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
685 have_static_software_generic="yes"
688 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
689 if test "x${have_static_software_generic}" = "xyes"; then
690 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
693 # if software_xlib or software_xcb are available, define everything needed for X11
694 have_evas_engine_software_x11="no"
695 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
696 have_evas_engine_software_x11="static"
698 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
699 have_evas_engine_software_x11="yes"
703 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
704 have_evas_engine_software_xlib="yes"
707 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
708 have_evas_engine_software_xcb="yes"
711 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
712 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
715 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
716 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
719 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
720 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
722 AC_SUBST(have_evas_engine_software_xlib)
723 AC_SUBST(have_evas_engine_software_xcb)
725 # if software 16 x11 is enabled - build software_16 (the generic 16bit
726 # engine). later enable it fb_16 or other "16" bit engines are enabled.
727 have_evas_engine_software_16="no"
728 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
729 have_evas_engine_software_16="yes"
731 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
732 have_evas_engine_software_16="yes"
734 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
735 have_evas_engine_software_16="yes"
737 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
738 have_evas_engine_software_16="yes"
740 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
742 # if software 16 need to be build as part of libevas.so
743 have_static_software_16="no"
744 AC_ARG_ENABLE([static-software-16],
745 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
746 [have_static_software_16=${enableval}]
748 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
749 AC_MSG_RESULT([${have_static_software_16}])
751 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
752 if test "x${have_static_software_16}" = "xyes"; then
753 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
756 # if software 8 x11 is enabled - build software_8 (the generic 8bit
758 have_evas_engine_software_8="no"
759 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
760 have_evas_engine_software_8="yes"
762 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
764 # if software 8 need to be build as part of libevas.so
765 have_static_software_8="no"
766 AC_ARG_ENABLE([static-software-8],
767 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
768 [have_static_software_8=${enableval}]
770 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
771 AC_MSG_RESULT([${have_static_software_8}])
773 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
774 if test "x${have_static_software_8}" = "xyes"; then
775 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
778 #####################################################################
781 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
783 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
784 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
786 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
788 have_evas_image_saver_jpeg="no"
789 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
791 dnl Windows has no sigsetjmp function, nor equivalent.
792 dnl So we disable the jpeg saver.
793 dnl TODO: must find a workaround
798 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
799 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
800 have_evas_image_saver_jpeg="yes"
804 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
806 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
808 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
810 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
812 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
814 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
816 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
818 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
820 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
822 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
824 #####################################################################
825 ## Cpu based optimizations
827 #######################################
834 # basic pthread support
835 AC_CHECK_HEADER(pthread.h,
844 # sched_getaffinity pthread_attr_setaffinity_np
845 AC_CHECK_HEADERS(pthread.h sched.h,
847 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
849 AC_CHECK_LIB(pthread, pthread_barrier_wait,
850 [ build_pthreads="yes" ],
851 [ build_pthreads="no" ]
854 [ build_pthreads="no" ]
857 [ build_pthreads="no" ]
860 #######################################
862 AC_MSG_CHECKING(whether to build pthread code)
863 AC_ARG_ENABLE(pthreads,
864 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
866 if test "x$enableval" = "xyes" ; then
867 if test "x$build_pthreads" = "xyes"; then
869 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
873 if "x$use_strict" = "xyes"; then
874 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
876 AC_MSG_RESULT(no: pthread headers or functions not found)
885 AC_MSG_RESULT($build_pthreads)
886 if test "x$build_pthreads" = "xyes" ; then
887 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
893 #######################################
895 build_pipe_render="no"
897 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
898 AC_ARG_ENABLE(pipe-render,
899 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
900 [ build_pipe_render=$enableval ]
902 AC_MSG_RESULT($build_pipe_render)
904 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
905 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
907 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
908 build_pipe_render="yes"
912 build_pipe_render="no"
915 #######################################
917 build_async_render="no"
919 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
920 AC_ARG_ENABLE(async-render,
921 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
922 [ build_async_render=$enableval ]
924 AC_MSG_RESULT($build_async_render)
926 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
927 if test \( "x$build_async_render" = "xyes" \); then
929 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
930 build_async_render="yes"
931 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
932 build_pipe_render="yes"
935 PKG_CHECK_MODULES([XEXT],
937 [ build_avoid_libXext_bug=yes ],
938 [ build_avoid_libXext_bug=no ]
940 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
941 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
945 build_async_render="no"
948 #######################################
950 build_async_events="auto"
951 AC_MSG_CHECKING(whether to build Async Events support)
952 AC_ARG_ENABLE(async-events,
953 AC_HELP_STRING([--enable-async-events], [enable async events support]),
954 [ build_async_events=$enableval ]
956 AC_MSG_RESULT($build_async_events)
958 AC_MSG_CHECKING(whether we can build Async Events support)
959 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
961 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
962 build_async_events="yes"
965 build_async_events="no"
968 #######################################
969 ## Async image preload
970 build_async_preload="auto"
971 AC_MSG_CHECKING(whether to build Async Image Preload support)
972 AC_ARG_ENABLE(async-preload,
973 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
974 [ build_async_preload=$enableval ]
976 AC_MSG_RESULT($build_async_preload)
978 AC_MSG_CHECKING(whether we can build Async Image Preload support)
979 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
981 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
982 build_async_preload="yes"
986 build_async_preload="no"
989 #######################################
990 ## Link with pthread if needed
991 AC_MSG_CHECKING(whether we should link with pthread)
992 if test "x$need_pthreads" = "xyes"; then
995 pthread_libs="-lpthread"
1000 #######################################
1014 AC_MSG_CHECKING(whether to build mmx code)
1015 AC_ARG_ENABLE(cpu-mmx,
1016 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1018 if test "x$enableval" = "xyes" ; then
1020 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1028 AC_MSG_RESULT($build_cpu_mmx)
1029 if test "x$build_cpu_mmx" = "xyes" ; then
1030 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1035 #######################################
1049 AC_MSG_CHECKING(whether to build sse code)
1050 AC_ARG_ENABLE(cpu-sse,
1051 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1053 if test "x$enableval" = "xyes" ; then
1055 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1063 AC_MSG_RESULT($build_cpu_sse)
1064 if test "x$build_cpu_sse" = "xyes" ; then
1065 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1070 #######################################
1072 build_cpu_altivec="no"
1075 build_cpu_altivec="auto"
1079 AC_MSG_CHECKING(whether to build altivec code)
1080 AC_ARG_ENABLE(cpu-altivec,
1081 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1082 [ build_cpu_altivec=$enableval ],
1084 if test ! "x$build_cpu_altivec" = "xauto"; then
1085 build_cpu_altivec="no"
1089 AC_MSG_RESULT($build_cpu_altivec)
1091 if test "x$build_cpu_altivec" = "xyes"; then
1092 AC_CHECK_HEADER(altivec.h,
1094 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1095 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1096 build_cpu_altivec="yes"
1100 save_CPPFLAGS=$CPPFLAGS
1101 CFLAGS=$CFLAGS" -maltivec"
1102 CPPFLAGS=$CPPFLAGS" -maltivec"
1103 unset ac_cv_header_altivec_h
1104 AC_CHECK_HEADER(altivec.h,
1106 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1107 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1108 build_cpu_altivec="yes"
1111 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1112 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1114 build_cpu_altivec="no"
1118 CPPFLAGS=$save_CPPFLAGS
1123 if test "x$build_cpu_altivec" = "xyes"; then
1124 AC_MSG_CHECKING(whether to use altivec compiler flag)
1125 if test "x$GCC" = "xyes"; then
1126 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1127 altivec_cflags="-faltivec"
1128 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1129 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1130 altivec_cflags="-maltivec"
1131 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1134 AC_MSG_RESULT($altivec_cflags)
1135 CFLAGS="$CFLAGS $altivec_cflags"
1138 #######################################
1143 build_cpu_neon="yes"
1146 AC_MSG_CHECKING(whether to build neon code)
1147 AC_ARG_ENABLE(cpu-neon,
1148 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1149 checked at run time to see if the CPU supports it]),
1151 if test "x$enableval" = "xyes" ; then
1153 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1156 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1157 build_cpu_neon="yes"
1168 if test "x$build_cpu_neon" = "xyes" ; then
1169 AC_TRY_COMPILE([#include <arm_neon.h>],
1170 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1173 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1174 build_cpu_neon="yes"
1183 #######################################
1186 AC_MSG_CHECKING(whether to build c code)
1187 AC_ARG_ENABLE(cpu-c,
1188 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1190 if test "x$enableval" = "xyes" ; then
1192 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1199 AC_MSG_RESULT($build_cpu_c)
1200 if test "x$build_cpu_c" = "xyes" ; then
1201 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1206 #######################################
1208 want_evas_magic_debug="yes"
1209 AC_MSG_CHECKING(whether to check magic for evas object)
1210 AC_ARG_ENABLE(evas-magic-debug,
1212 [--disable-evas-magic-debug],
1213 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1215 [ want_evas_magic_debug="$enableval" ]
1217 AC_MSG_RESULT($want_evas_magic_debug)
1219 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1220 if test "x$want_evas_magic_debug" = "xyes"; then
1221 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1225 #######################################
1227 want_word_cache="no"
1228 AC_MSG_CHECKING(whether to enable caching of rendered words)
1229 AC_ARG_ENABLE(word-cache,
1231 [--enable-word-cache],
1232 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1234 [ want_word_cache="$enableval" ]
1236 AC_MSG_RESULT($want_word_cache)
1238 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1239 if test "x$want_word_cache" = "xyes"; then
1240 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1243 #######################################
1245 want_metric_cache="no"
1246 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1247 AC_ARG_ENABLE(metric-cache,
1249 [--enable-metric-cache],
1250 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1252 [ want_metric_cache="$enableval" ]
1254 AC_MSG_RESULT($want_metric_cache)
1256 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1257 if test "x$want_metric_cache" = "xyes"; then
1258 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1263 #####################################################################
1264 ## ARGB engine options
1266 #######################################
1267 ## Nearest sampling scaler
1268 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1269 ## Smooth super and sub sampling scaler
1270 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1272 #######################################
1273 ## YUV -> ARGB converter
1276 AC_MSG_CHECKING(whether to build yuv converter code)
1277 AC_ARG_ENABLE(convert-yuv,
1278 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1280 if test "x$enableval" = "xyes" ; then
1282 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1289 AC_MSG_RESULT($conv_yuv)
1290 if test "x$conv_yuv" = "xyes" ; then
1291 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1296 #####################################################################
1297 ## Output rendering features
1299 #######################################
1300 ## Small dither mask instead of big one (lower quality)
1301 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1302 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1303 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1304 ## No dither mask at all for 16bpp
1305 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1307 #######################################
1308 ## Convert to 8bpp RGB 332
1309 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1310 ## Convert to 8bpp RGB 666
1311 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1312 ## Convert to 8bpp RGB 232
1313 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1314 ## Convert to 8bpp RGB 222
1315 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1316 ## Convert to 8bpp RGB 221
1317 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1318 ## Convert to 8bpp RGB 121
1319 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1320 ## Convert to 8bpp RGB 111
1321 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1322 ## Convert to 16bpp RGB 565
1323 EVAS_CONVERT_COLOR(16, RGB, 565)
1324 ## Convert to 16bpp BGR 565
1325 EVAS_CONVERT_COLOR(16, BGR, 565)
1326 ## Convert to 16bpp RGB 555
1327 EVAS_CONVERT_COLOR(16, RGB, 555)
1328 ## Convert to 16bpp RGB 444
1329 EVAS_CONVERT_COLOR(16, RGB, 444)
1331 #######################################
1332 ## Convert to 16bpp RGB 565 (444 ipaq)
1333 conv_16_rgb_ipq="yes"
1334 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1335 AC_ARG_ENABLE(convert-16-rgb-ipq,
1336 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1338 if test "x$enableval" = "xyes" ; then
1339 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1340 conv_16_rgb_ipq="yes"
1342 conv_16_rgb_ipq="no"
1345 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1346 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1350 AC_MSG_RESULT($conv_16_rgb_ipq)
1352 #######################################
1353 ## Convert to 16bpp RGB with rotation of 0
1354 EVAS_CONVERT_ROT(16, RGB, 0)
1355 ## Convert to 16bpp RGB with rotation of 180
1356 EVAS_CONVERT_ROT(16, RGB, 180)
1357 ## Convert to 16bpp RGB with rotation of 270
1358 EVAS_CONVERT_ROT(16, RGB, 270)
1359 ## Convert to 16bpp RGB with rotation of 90
1360 EVAS_CONVERT_ROT(16, RGB, 90)
1362 #######################################
1363 ## Convert to 24bpp RGB 888
1364 EVAS_CONVERT_COLOR(24, RGB, 888)
1365 ## Convert to 24bpp BGR 888
1366 EVAS_CONVERT_COLOR(24, BGR, 888)
1367 ## Convert to 32bpp RGB 8888
1368 EVAS_CONVERT_COLOR(32, RGB, 8888)
1369 ## Convert to 32bpp RGBX 8888
1370 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1371 ## Convert to 32bpp BGR 8888
1372 EVAS_CONVERT_COLOR(32, BGR, 8888)
1373 ## Convert to 32bpp BGRX 8888
1374 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1376 #######################################
1377 ## Convert to 24bpp RGB 666 (666 ezx)
1378 conv_24_rgb_ezx="yes"
1379 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1380 AC_ARG_ENABLE(convert-24-rgb-ezx,
1381 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1383 if test "x$enableval" = "xyes" ; then
1384 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1385 conv_24_rgb_ezx="yes"
1387 conv_24_rgb_ezx="no"
1390 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1391 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1395 AC_MSG_RESULT($conv_24_rgb_ezx)
1397 #######################################
1398 ## Convert to 32bpp RGB 666 (666 ezx)
1399 conv_32_rgb_ezx="yes"
1400 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1401 AC_ARG_ENABLE(convert-32-rgb-ezx,
1402 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1404 if test "x$enableval" = "xyes" ; then
1405 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1406 conv_32_rgb_ezx="yes"
1408 conv_32_rgb_ezx="no"
1411 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1412 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1416 AC_MSG_RESULT($conv_32_rgb_ezx)
1418 #######################################
1419 ## Convert to 32bpp RGB with rotation of 0
1420 EVAS_CONVERT_ROT(32, RGB, 0)
1421 ## Convert to 32bpp RGB with rotation of 180
1422 EVAS_CONVERT_ROT(32, RGB, 180)
1423 ## Convert to 32bpp RGB with rotation of 270
1424 EVAS_CONVERT_ROT(32, RGB, 270)
1425 ## Convert to 32bpp RGB with rotation of 90
1426 EVAS_CONVERT_ROT(32, RGB, 90)
1428 #######################################
1429 ## Convert to 8bpp grayscale with 256 value, no palette
1430 EVAS_CONVERT_COLOR(8, GRY, 1)
1431 ## Convert to 8bpp grayscale with 16 value, no palette
1432 EVAS_CONVERT_COLOR(8, GRY, 16)
1434 #######################################
1435 ## Convert to 8bpp grayscale, 64-palette
1436 conv_8_grayscale_64="yes"
1437 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1438 AC_ARG_ENABLE(convert-8-grayscale-64,
1439 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1441 if test "x$enableval" = "xyes"; then
1442 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1443 conv_8_grayscale_64="yes"
1445 conv_8_grayscale_64="no"
1448 if test "x$conv_8_grayscale_64" = "xyes"; then
1449 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1453 AC_MSG_RESULT($conv_8_grayscale_64)
1459 AC_MSG_CHECKING(whether to enable build with valgrind)
1460 AC_ARG_ENABLE(valgrind,
1461 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1462 [ want_valgrind=$enableval ]
1464 AC_MSG_RESULT($want_valgrind)
1466 if test x$want_valgrind = "xyes"; then
1467 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1469 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1471 requirement_evas="valgrind ${requirement_evas}"
1474 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1475 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1483 install_examples="yes"
1484 AC_ARG_ENABLE([install-examples],
1485 AC_HELP_STRING([--disable-install-examples],
1486 [disable installing examples (compiled or just source).
1487 @<:@default==enabled@:>@]),
1489 if test "x${enableval}" = "xyes" ; then
1490 install_examples="yes"
1492 install_examples="no"
1495 [install_examples="yes"])
1496 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1499 AC_ARG_ENABLE([build-examples],
1500 AC_HELP_STRING([--enable-build-examples],
1501 [enable building examples. @<:@default==disabled@:>@]),
1503 if test "x${enableval}" = "xyes" ; then
1504 build_examples="yes"
1509 [build_examples="no"])
1510 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1513 #####################################################################
1516 AC_SUBST(altivec_cflags)
1517 AC_SUBST(pthread_cflags)
1518 AC_SUBST(pthread_libs)
1519 AC_SUBST(requirement_evas)
1522 #####################################################################
1532 evas-software-buffer.pc
1533 evas-software-x11.pc
1534 evas-software-8-x11.pc
1535 evas-software-16-x11.pc
1538 evas-software-gdi.pc
1539 evas-software-ddraw.pc
1540 evas-software-16-ddraw.pc
1542 evas-software-16-wince.pc
1543 evas-software-sdl.pc
1550 src/lib/canvas/Makefile
1551 src/lib/file/Makefile
1552 src/lib/cache/Makefile
1553 src/lib/cserve/Makefile
1554 src/lib/engines/Makefile
1555 src/lib/engines/common/Makefile
1556 src/lib/engines/common/evas_op_add/Makefile
1557 src/lib/engines/common/evas_op_blend/Makefile
1558 src/lib/engines/common/evas_op_copy/Makefile
1559 src/lib/engines/common/evas_op_mask/Makefile
1560 src/lib/engines/common/evas_op_mul/Makefile
1561 src/lib/engines/common/evas_op_sub/Makefile
1562 src/lib/engines/common_8/Makefile
1563 src/lib/engines/common_16/Makefile
1564 src/modules/Makefile
1565 src/modules/engines/Makefile
1566 src/modules/engines/software_generic/Makefile
1567 src/modules/engines/software_gdi/Makefile
1568 src/modules/engines/software_ddraw/Makefile
1569 src/modules/engines/direct3d/Makefile
1570 src/modules/engines/software_16_wince/Makefile
1571 src/modules/engines/software_x11/Makefile
1572 src/modules/engines/fb/Makefile
1573 src/modules/engines/buffer/Makefile
1574 src/modules/engines/directfb/Makefile
1575 src/modules/engines/gl_common/Makefile
1576 src/modules/engines/gl_glew/Makefile
1577 src/modules/engines/gl_x11/Makefile
1578 src/modules/engines/gl_sdl/Makefile
1579 src/modules/engines/xrender_x11/Makefile
1580 src/modules/engines/software_sdl/Makefile
1581 src/modules/engines/software_8/Makefile
1582 src/modules/engines/software_8_x11/Makefile
1583 src/modules/engines/software_16/Makefile
1584 src/modules/engines/software_16_x11/Makefile
1585 src/modules/engines/software_16_ddraw/Makefile
1586 src/modules/engines/software_16_sdl/Makefile
1587 src/modules/loaders/Makefile
1588 src/modules/loaders/edb/Makefile
1589 src/modules/loaders/eet/Makefile
1590 src/modules/loaders/gif/Makefile
1591 src/modules/loaders/jpeg/Makefile
1592 src/modules/loaders/png/Makefile
1593 src/modules/loaders/tiff/Makefile
1594 src/modules/loaders/xpm/Makefile
1595 src/modules/loaders/bmp/Makefile
1596 src/modules/loaders/ico/Makefile
1597 src/modules/loaders/tga/Makefile
1598 src/modules/loaders/svg/Makefile
1599 src/modules/loaders/pmaps/Makefile
1600 src/modules/loaders/wbmp/Makefile
1601 src/modules/savers/Makefile
1602 src/modules/savers/edb/Makefile
1603 src/modules/savers/eet/Makefile
1604 src/modules/savers/jpeg/Makefile
1605 src/modules/savers/png/Makefile
1606 src/modules/savers/tiff/Makefile
1607 src/lib/include/Makefile
1608 src/examples/Makefile
1613 #disabled for the release:
1614 # evas-software-qtopia.pc
1615 # src/modules/engines/software_qtopia/Makefile
1618 #####################################################################
1621 if test "x$build_pthreads" = "xno" ; then
1622 if test "x$build_async_render" = "xyes" ; then
1623 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1624 echo " needs thread support."
1627 if test "x$build_pipe_render" = "xyes" ; then
1628 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1629 echo " needs thread support."
1634 if test "x${has_pthreads}" = "xno" ; then
1635 if test "x$build_async_preload" = "xyes" ; then
1636 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1637 echo " needs thread support."
1642 #####################################################################
1648 echo "------------------------------------------------------------------------"
1649 echo "$PACKAGE $VERSION"
1650 echo "------------------------------------------------------------------------"
1652 echo "Configuration Options Summary:"
1655 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1656 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1657 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1658 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1659 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1660 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1664 echo " Software GDI...............: $have_evas_engine_software_gdi"
1665 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1666 echo " Direct3d...................: $have_evas_engine_direct3d"
1667 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1668 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1669 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1670 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1671 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1675 echo " Software Framebuffer.......: $have_evas_engine_fb"
1676 echo " DirectFB...................: $have_evas_engine_directfb"
1677 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1678 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1679 # FIXME: kill software 16bit
1680 echo " Software 16bit ............: $have_evas_engine_software_16"
1681 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1682 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1683 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1684 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1686 echo "Image Loaders:"
1687 echo " BMP.....................: $have_evas_image_loader_bmp"
1688 echo " EDB.....................: $have_evas_image_loader_edb"
1689 echo " EET.....................: $have_evas_image_loader_eet"
1690 echo " GIF.....................: $have_evas_image_loader_gif"
1691 echo " ICO.....................: $have_evas_image_loader_ico"
1692 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1693 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1694 echo " PNG.....................: $have_evas_image_loader_png"
1695 echo " SVG.....................: $have_evas_image_loader_svg"
1696 echo " TGA.....................: $have_evas_image_loader_tga"
1697 echo " TIFF....................: $have_evas_image_loader_tiff"
1698 echo " WBMP....................: $have_evas_image_loader_wbmp"
1699 echo " XPM.....................: $have_evas_image_loader_xpm"
1701 echo "Font Sourcing Systems:"
1702 echo " EET.....................: $have_evas_font_loader_eet"
1704 echo "Font Searching Systems:"
1705 echo " Fontconfig..............: $have_fontconfig"
1707 echo "Font Rendering Helpers:"
1708 echo " Fribidi.................: $have_fribidi"
1709 echo " Harfbuzz................: $have_harfbuzz"
1710 # FIXME: add non freetype2 font engine support
1711 # FIXME: make freetype2 optional
1713 echo "CPU Specific Extensions:"
1714 echo " Fallback C Code.........: $build_cpu_c"
1715 echo " MMX.....................: $build_cpu_mmx"
1716 echo " SSE.....................: $build_cpu_sse"
1717 echo " ALTIVEC.................: $build_cpu_altivec"
1718 echo " NEON....................: $build_cpu_neon"
1719 echo " Thread Support..........: $build_pthreads"
1722 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1723 echo " Cache Server............: $want_evas_cserve"
1726 dnl ... DISABLED! some testing has shown that this seems to have some
1727 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1728 dnl disabling this for now until it can be fixed
1730 echo " Threaded Pipe Rendering.: $build_pipe_render"
1731 echo " Async Pipe Rendering....: $build_async_render"
1732 echo " Async Events............: $build_async_events"
1733 echo " Async Image Preload.....: $build_async_preload"
1735 echo " Word Cache..............: $want_word_cache"
1736 echo " Metric Cache............: $want_metric_cache"
1738 echo "ARGB Software Engine Options:"
1739 echo " Sampling Scaler.........: $scaler_sample"
1740 echo " Smooth Scaler...........: $scaler_smooth"
1741 # FIXME: add an mmx scaler routine
1742 echo " YUV Converter...........: $conv_yuv"
1743 # FIXME: add more YUV format and colorvariant support
1745 echo "ARGB Conversion Options:"
1746 echo " Smaller Dither Mask.....: $conv_small_dither"
1747 echo " Line Dither Mask........: $conv_line_dither"
1748 echo " No Dither Mask for 16bpp: $conv_no_dither"
1749 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1750 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1751 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1752 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1753 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1754 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1755 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1756 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1757 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1758 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1759 # FIXME: add grayscale and B&W support to standard x converters
1760 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1761 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1762 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1763 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1764 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1765 # FIXME: add 555 (444 ipaq) support
1766 # FIXME: add 30bpp support
1767 # FIXME: add palletted support (ugh!)
1768 # FIXME: add 8bpp and below rotation
1769 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1770 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1771 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1772 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1773 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1774 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1775 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1776 # FIXME: add 24bpp rotation
1777 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1778 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1779 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1780 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1781 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1782 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1783 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1784 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1785 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1787 echo "Documentation.............: ${build_doc}"
1788 echo "Examples..................: install:${install_examples} build:${build_examples}"
1790 echo "Compilation............: make (or gmake)"
1791 echo " CPPFLAGS.............: $CPPFLAGS"
1792 echo " CFLAGS...............: $CFLAGS"
1793 echo " CXXFLAGS.............: $CXXFLAGS"
1794 echo " LDFLAGS..............: $LDFLAGS"
1796 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1797 echo " prefix...............: $prefix"
1799 if test "x${have_static_module}" = "xyes" ; then
1800 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1801 echo " You must know what you are doing, or else you will have a lot of"
1802 echo " problems. And Kenny will be killed."
1803 echo " Think about that."