1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [999])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##-- When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##-- When doing snapshots - change soname. remove dnl on below line
11 dnl m4_define([relname], [ver-pre-svn-07])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
22 # Check whether the Objective C compiler works.
23 AC_DEFUN([rw_PROG_OBJC_WORKS],
24 [m4_ifdef([AC_PROG_OBJC], [AC_REQUIRE([AC_PROG_OBJC])dnl
25 AC_CACHE_CHECK([whether the Objective C compiler works],
26 [rw_cv_prog_objc_works],
27 [AC_LANG_PUSH([Objective C])
28 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
29 [rw_cv_prog_objc_works=yes],
30 [rw_cv_prog_objc_works=no])
31 AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
34 AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
39 AC_CONFIG_HEADERS([config.h])
41 #ifndef EFL_CONFIG_H__
42 #define EFL_CONFIG_H__
45 #endif /* EFL_CONFIG_H__ */
48 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
49 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
54 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
57 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
59 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
60 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
61 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
62 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
63 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
64 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
65 version_info="lt_cur:lt_rev:lt_age"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
74 ### Needed information
81 MODULE_ARCH="$host_os-$host_cpu"
84 MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
90 want_fontconfig="auto"
94 want_evas_cserve="yes"
96 want_evas_engine_buffer="yes"
97 want_evas_engine_software_xlib="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_software_xcb="no"
101 want_evas_engine_software_gdi="no"
102 want_evas_engine_software_ddraw="no"
103 want_evas_engine_direct3d="no"
104 want_evas_engine_software_sdl="no"
105 want_evas_engine_fb="no"
106 want_evas_engine_directfb="no"
107 want_evas_engine_software_8_x11="no"
108 want_evas_engine_software_16_x11="no"
109 want_evas_engine_software_16_ddraw="no"
110 want_evas_engine_software_16_wince="no"
112 want_evas_image_loader_edb="yes"
113 want_evas_image_loader_eet="yes"
114 want_evas_image_loader_gif="yes"
115 want_evas_image_loader_jpeg="yes"
116 want_evas_image_loader_pmaps="yes"
117 want_evas_image_loader_png="yes"
118 want_evas_image_loader_svg="yes"
119 want_evas_image_loader_tiff="yes"
120 want_evas_image_loader_xpm="yes"
121 want_evas_image_loader_bmp="yes"
122 want_evas_image_loader_tga="yes"
123 want_evas_image_loader_wbmp="yes"
124 want_evas_image_loader_ico="yes"
126 want_evas_font_loader_eet="yes"
131 want_evas_engine_software_16_wince="yes"
132 want_evas_image_loader_edb="no"
133 want_evas_image_loader_gif="no"
134 want_evas_image_loader_svg="no"
135 want_evas_image_loader_tiff="no"
138 want_evas_engine_software_gdi="yes"
139 want_evas_engine_software_ddraw="yes"
140 want_evas_engine_direct3d="yes"
141 want_evas_engine_software_16_ddraw="yes"
142 want_evas_image_loader_edb="no"
143 want_evas_image_loader_svg="no"
146 want_evas_engine_software_xlib="auto"
149 want_evas_engine_software_xlib="auto"
150 want_evas_engine_gl_x11="auto"
151 want_evas_engine_fb="auto"
152 ### no - not ready/usable/complete
153 # want_evas_engine_software_8_x11="auto"
154 # want_evas_engine_software_16_x11="auto"
161 ### Additional options to configure
163 # when used, that option makes configure script fails when
164 # a requirement is selected, but not met.
166 AC_ARG_ENABLE([strict],
167 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
171 # Simple X11 build/link
172 AC_ARG_ENABLE([simple-x11],
173 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
175 if test "x${enableval}" = "xyes" ; then
176 want_evas_simple_x11="yes"
178 want_evas_simple_x11="no"
183 ### Checks for programs
185 m4_ifdef([AC_PROG_OBJC],
188 _AM_DEPENDENCIES(OBJC)
191 dnl#AC_CHECK_TOOL([OBJC], [gcc])
193 dnl#AC_SUBST([OBJCFLAGS])
204 # Check whether pkg-config supports Requires.private
205 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
206 pkgconfig_requires_private="Requires.private"
208 pkgconfig_requires_private="Requires"
210 AC_SUBST(pkgconfig_requires_private)
212 # doxygen program for documentation building
213 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
216 ### Checks for libraries
218 # Evil library for compilation on Windows CE
222 PKG_CHECK_MODULES([EVIL], [evil])
223 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
224 requirement_evas="evil ${requirement_evas}"
228 ## strong dependencies
231 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
234 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
236 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
238 ## optional dependencies
242 AC_ARG_ENABLE([fontconfig],
243 AC_HELP_STRING([--disable-fontconfig],
244 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
246 if test "x${enableval}" = "xyes" ; then
247 want_fontconfig="yes"
254 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
255 PKG_CHECK_MODULES([FONTCONFIG],
258 have_fontconfig="yes"
259 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
260 requirement_evas="fontconfig ${requirement_evas}"
263 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
264 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
271 AC_ARG_ENABLE([fribidi],
272 AC_HELP_STRING([--disable-fribidi],
273 [disable bidirectional text support. @<:@default=enabled@:>@]),
275 if test "x${enableval}" = "xyes" ; then
282 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
283 PKG_CHECK_MODULES([FRIBIDI],
287 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
288 requirement_evas="fribidi ${requirement_evas}"
291 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
292 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
297 if test "x${have_fribidi}" = "xno"; then
303 have_harfbuzz_glib="no"
304 have_harfbuzz_ft="no"
305 AC_ARG_ENABLE([harfbuzz],
306 AC_HELP_STRING([--disable-harfbuzz],
307 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
309 if test "x${enableval}" = "xyes" ; then
316 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
317 PKG_CHECK_MODULES([HARFBUZZ],
321 requirement_evas="harfbuzz ${requirement_evas}"
324 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
325 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
328 if test "x$have_harfbuzz" = "xyes" ; then
330 CPPFLAGS_SAVE="$CPPFLAGS"
331 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
332 # must have for usage with harfbuzz although harfbuzz may not have it.
334 AC_CHECK_HEADER(hb-ft.h,
336 have_harfbuzz_ft="yes"
337 #Depend on harfbuzz ft for harfbuzz support
338 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
341 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
342 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
346 # nice to have if harfbuzz has it
347 AC_CHECK_HEADER(hb-glib.h,
349 have_harfbuzz_glib="yes"
350 AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
353 have_harfbuzz_glib="no"
355 CPPFLAGS="$CPPFLAGS_SAVE"
359 if test "x${have_harfbuzz}" = "xno"; then
365 AC_ARG_ENABLE([pixman],
366 AC_HELP_STRING([--disable-pixman],
367 [disable pixman for software rendering. @<:@default=enabled@:>@]),
369 if test "x${enableval}" = "xyes" ; then
377 if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
378 PKG_CHECK_MODULES([PIXMAN],
382 AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
383 requirement_evas="pixman-1 ${requirement_evas}"
386 if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
387 AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
392 ### Checks for header files
394 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
402 ### Checks for structures
405 ### Checks for compiler characteristics
414 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
417 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
420 AC_SUBST(WIN32_CPPFLAGS)
425 WIN32_CFLAGS="-mwin32"
428 AC_SUBST(WIN32_CFLAGS)
431 ### Checks for linker characteristics
432 lt_enable_auto_import=""
435 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
436 lt_enable_auto_import="-Wl,--enable-auto-import"
439 AC_SUBST(lt_enable_auto_import)
442 ### Checks for library functions
450 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
457 AC_DEFINE(HAVE_DLADDR)
460 # nothing on mingw platform
463 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
464 if test "x$res" = "xyes"; then
465 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
467 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
468 if test "x$res" = "xyes"; then
469 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
472 AC_MSG_ERROR(Cannot find dlopen)
476 AC_SUBST(dlopen_libs)
478 # (shm_open (for cache server)
479 AC_ARG_ENABLE([evas-cserve],
480 AC_HELP_STRING([--disable-evas-cserve],
481 [disable shared cache server support. @<:@default=enabled@:>@]),
483 if test "x${enableval}" = "xyes" ; then
484 want_evas_cserve="yes"
486 want_evas_cserve="no"
489 AC_MSG_CHECKING(whether to build shared cache server and support)
490 AC_MSG_RESULT(${want_evas_cserve})
492 if test "x${want_evas_cserve}" = "xyes" ; then
493 AC_MSG_CHECKING([whether shm_open() is present])
499 #include <sys/types.h>
500 #include <sys/mman.h>
505 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
508 [want_evas_cserve="yes"],
509 [want_evas_cserve="no"])
511 AC_MSG_RESULT([${want_evas_cserve}])
514 if test "x${want_evas_cserve}" = "xyes" ; then
515 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
518 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
522 #######################################
523 ## GL force flavor gles
525 AC_MSG_CHECKING(whether to build GLES flavor of GL)
526 AC_ARG_ENABLE(gl-flavor-gles,
527 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
529 if test "x$enableval" = "xyes" ; then
542 #######################################
544 gles_variety_sgx="no"
545 AC_MSG_CHECKING(whether to build GLES variety for SGX)
546 AC_ARG_ENABLE(gles-variety-sgx,
547 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
549 if test "x$enableval" = "xyes" ; then
551 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
552 gles_variety_sgx="yes"
555 gles_variety_sgx="no"
559 gles_variety_sgx="no"
563 #######################################
564 ## GLES variety s3c6410
565 gles_variety_s3c6410="no"
566 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
567 AC_ARG_ENABLE(gles-variety-s3c6410,
568 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
570 if test "x$enableval" = "xyes" ; then
572 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
573 gles_variety_s3c6410="yes"
576 gles_variety_s3c6410="no"
580 gles_variety_s3c6410="no"
584 if test "x$gl_flavor_gles" = "xyes"; then
586 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
587 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
588 if test "x$eng" = "xx"; then
592 [Please enable just 1 OpenGL-ES flavor. Choices are:
593 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
594 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
595 You will also need to enable the OpenGL engine for X11 with:
601 #####################################################################
604 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
606 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
608 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
610 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
612 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
614 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
616 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
618 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
620 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
622 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
624 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
626 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
628 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
630 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
632 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
635 have_evas_engine_gl_common="no"
636 have_static_evas_engine_gl_common="no"
637 if test "x$have_evas_engine_gl_x11" = "xyes" \
638 || test "x$have_evas_engine_gl_sdl" = "xyes"; then
639 have_evas_engine_gl_common="yes"
641 if test "x$have_evas_engine_gl_x11" = "xstatic" \
642 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
643 have_evas_engine_gl_common="yes"
644 have_static_evas_engine_gl_common="yes"
647 if test "x$have_evas_engine_gl_common" = "xyes"; then
648 evas_engine_gl_common_libs=""
649 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
652 AC_SUBST([evas_engine_gl_common_libs])
654 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
656 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
657 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
658 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
662 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
663 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
664 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
665 [#include <SDL/SDL_video.h>])
668 if test "x$gl_flavor_gles" = "xyes"; then
669 AC_CHECK_DECL(SDL_OPENGLES,
670 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
671 [#include <SDL/SDL_video.h>])
677 AC_ARG_ENABLE([sdl-primitive],
678 [AC_HELP_STRING([--enable-sdl-primitive], [])],
679 [sdl_primitive=${enableval}]
681 AC_MSG_CHECKING([whether to use SDL primitive when possible])
682 AC_MSG_RESULT([${sdl_primitive}])
684 if test "x${sdl_primitive}" = "xyes" ; then
685 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
688 # if software generic need to be build as part of libevas.so
689 have_static_software_generic="no"
690 AC_ARG_ENABLE([static-software-generic],
691 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
692 [have_static_software_generic=${enableval}]
694 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
695 AC_MSG_RESULT([${have_static_software_generic}])
697 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
698 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
699 have_static_software_generic="yes"
702 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
703 if test "x${have_static_software_generic}" = "xyes"; then
704 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
707 # if software_xlib or software_xcb are available, define everything needed for X11
708 have_evas_engine_software_x11="no"
709 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
710 have_evas_engine_software_x11="static"
712 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
713 have_evas_engine_software_x11="yes"
717 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
718 have_evas_engine_software_xlib="yes"
721 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
722 have_evas_engine_software_xcb="yes"
725 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
726 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
729 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
730 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
733 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
734 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
736 AC_SUBST(have_evas_engine_software_xlib)
737 AC_SUBST(have_evas_engine_software_xcb)
739 # if software 16 x11 is enabled - build software_16 (the generic 16bit
740 # engine). later enable it fb_16 or other "16" bit engines are enabled.
741 have_evas_engine_software_16="no"
742 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
743 have_evas_engine_software_16="yes"
745 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
746 have_evas_engine_software_16="yes"
748 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
749 have_evas_engine_software_16="yes"
751 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
752 have_evas_engine_software_16="yes"
754 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
756 # if software 16 need to be build as part of libevas.so
757 have_static_software_16="no"
758 AC_ARG_ENABLE([static-software-16],
759 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
760 [have_static_software_16=${enableval}]
762 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
763 AC_MSG_RESULT([${have_static_software_16}])
765 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
766 if test "x${have_static_software_16}" = "xyes"; then
767 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
770 # if software 8 x11 is enabled - build software_8 (the generic 8bit
772 have_evas_engine_software_8="no"
773 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
774 have_evas_engine_software_8="yes"
776 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
778 # if software 8 need to be build as part of libevas.so
779 have_static_software_8="no"
780 AC_ARG_ENABLE([static-software-8],
781 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
782 [have_static_software_8=${enableval}]
784 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
785 AC_MSG_RESULT([${have_static_software_8}])
787 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
788 if test "x${have_static_software_8}" = "xyes"; then
789 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
792 #####################################################################
795 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
797 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
798 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
800 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
802 have_evas_image_saver_jpeg="no"
803 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
805 dnl Windows has no sigsetjmp function, nor equivalent.
806 dnl So we disable the jpeg saver.
807 dnl TODO: must find a workaround
812 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
813 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
814 have_evas_image_saver_jpeg="yes"
818 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
820 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
822 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
824 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
826 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
828 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
830 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
832 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
834 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
836 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
838 #####################################################################
839 ## Cpu based optimizations
841 #######################################
848 # basic pthread support
849 AC_CHECK_HEADER(pthread.h,
858 # sched_getaffinity pthread_attr_setaffinity_np
859 AC_CHECK_HEADERS(pthread.h sched.h,
861 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
863 AC_CHECK_LIB(pthread, pthread_barrier_wait,
864 [ build_pthreads="yes" ],
865 [ build_pthreads="no" ]
868 [ build_pthreads="no" ]
871 [ build_pthreads="no" ]
874 #######################################
876 AC_MSG_CHECKING(whether to build pthread code)
877 AC_ARG_ENABLE(pthreads,
878 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
880 if test "x$enableval" = "xyes" ; then
881 if test "x$build_pthreads" = "xyes"; then
883 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
887 if "x$use_strict" = "xyes"; then
888 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
890 AC_MSG_RESULT(no: pthread headers or functions not found)
899 AC_MSG_RESULT($build_pthreads)
900 if test "x$build_pthreads" = "xyes" ; then
901 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
907 #######################################
909 build_pipe_render="no"
911 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
912 AC_ARG_ENABLE(pipe-render,
913 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
914 [ build_pipe_render=$enableval ]
916 AC_MSG_RESULT($build_pipe_render)
918 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
919 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
921 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
922 build_pipe_render="yes"
926 build_pipe_render="no"
929 #######################################
931 build_async_render="no"
933 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
934 AC_ARG_ENABLE(async-render,
935 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
936 [ build_async_render=$enableval ]
938 AC_MSG_RESULT($build_async_render)
940 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
941 if test \( "x$build_async_render" = "xyes" \); then
943 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
944 build_async_render="yes"
945 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
946 build_pipe_render="yes"
949 PKG_CHECK_MODULES([XEXT],
951 [ build_avoid_libXext_bug=yes ],
952 [ build_avoid_libXext_bug=no ]
954 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
955 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
959 build_async_render="no"
962 #######################################
964 build_async_events="auto"
965 AC_MSG_CHECKING(whether to build Async Events support)
966 AC_ARG_ENABLE(async-events,
967 AC_HELP_STRING([--enable-async-events], [enable async events support]),
968 [ build_async_events=$enableval ]
970 AC_MSG_RESULT($build_async_events)
972 AC_MSG_CHECKING(whether we can build Async Events support)
973 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
975 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
976 build_async_events="yes"
979 build_async_events="no"
982 #######################################
983 ## Async image preload
984 build_async_preload="auto"
985 AC_MSG_CHECKING(whether to build Async Image Preload support)
986 AC_ARG_ENABLE(async-preload,
987 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
988 [ build_async_preload=$enableval ]
990 AC_MSG_RESULT($build_async_preload)
992 AC_MSG_CHECKING(whether we can build Async Image Preload support)
993 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
995 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
996 build_async_preload="yes"
1000 build_async_preload="no"
1003 #######################################
1004 ## Link with pthread if needed
1005 AC_MSG_CHECKING(whether we should link with pthread)
1006 if test "x$need_pthreads" = "xyes"; then
1009 pthread_libs="-lpthread"
1014 #######################################
1028 AC_MSG_CHECKING(whether to build mmx code)
1029 AC_ARG_ENABLE(cpu-mmx,
1030 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1032 if test "x$enableval" = "xyes" ; then
1034 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1042 AC_MSG_RESULT($build_cpu_mmx)
1043 if test "x$build_cpu_mmx" = "xyes" ; then
1044 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1049 #######################################
1063 AC_MSG_CHECKING(whether to build sse code)
1064 AC_ARG_ENABLE(cpu-sse,
1065 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1067 if test "x$enableval" = "xyes" ; then
1069 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1077 AC_MSG_RESULT($build_cpu_sse)
1078 if test "x$build_cpu_sse" = "xyes" ; then
1079 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1084 #######################################
1086 build_cpu_altivec="no"
1089 build_cpu_altivec="auto"
1093 AC_MSG_CHECKING(whether to build altivec code)
1094 AC_ARG_ENABLE(cpu-altivec,
1095 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1096 [ build_cpu_altivec=$enableval ],
1098 if test ! "x$build_cpu_altivec" = "xauto"; then
1099 build_cpu_altivec="no"
1103 AC_MSG_RESULT($build_cpu_altivec)
1105 if test "x$build_cpu_altivec" = "xyes"; then
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"
1114 save_CPPFLAGS=$CPPFLAGS
1115 CFLAGS=$CFLAGS" -maltivec"
1116 CPPFLAGS=$CPPFLAGS" -maltivec"
1117 unset ac_cv_header_altivec_h
1118 AC_CHECK_HEADER(altivec.h,
1120 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1121 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1122 build_cpu_altivec="yes"
1125 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1126 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1128 build_cpu_altivec="no"
1132 CPPFLAGS=$save_CPPFLAGS
1137 if test "x$build_cpu_altivec" = "xyes"; then
1138 AC_MSG_CHECKING(whether to use altivec compiler flag)
1139 if test "x$GCC" = "xyes"; then
1140 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1141 altivec_cflags="-faltivec"
1142 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1143 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1144 altivec_cflags="-maltivec"
1145 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1148 AC_MSG_RESULT($altivec_cflags)
1149 CFLAGS="$CFLAGS $altivec_cflags"
1152 #######################################
1157 build_cpu_neon="yes"
1160 AC_MSG_CHECKING(whether to build neon code)
1161 AC_ARG_ENABLE(cpu-neon,
1162 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1163 checked at run time to see if the CPU supports it]),
1165 if test "x$enableval" = "xyes" ; then
1167 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1170 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1171 build_cpu_neon="yes"
1182 if test "x$build_cpu_neon" = "xyes" ; then
1183 AC_TRY_COMPILE([#include <arm_neon.h>],
1184 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1187 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1188 build_cpu_neon="yes"
1197 #######################################
1200 AC_MSG_CHECKING(whether to build c code)
1201 AC_ARG_ENABLE(cpu-c,
1202 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1204 if test "x$enableval" = "xyes" ; then
1206 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1213 AC_MSG_RESULT($build_cpu_c)
1214 if test "x$build_cpu_c" = "xyes" ; then
1215 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1220 #######################################
1222 want_evas_magic_debug="yes"
1223 AC_MSG_CHECKING(whether to check magic for evas object)
1224 AC_ARG_ENABLE(evas-magic-debug,
1226 [--disable-evas-magic-debug],
1227 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1229 [ want_evas_magic_debug="$enableval" ]
1231 AC_MSG_RESULT($want_evas_magic_debug)
1233 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1234 if test "x$want_evas_magic_debug" = "xyes"; then
1235 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1239 #######################################
1241 want_word_cache="no"
1242 AC_MSG_CHECKING(whether to enable caching of rendered words)
1243 AC_ARG_ENABLE(word-cache,
1245 [--enable-word-cache],
1246 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1248 [ want_word_cache="$enableval" ]
1250 AC_MSG_RESULT($want_word_cache)
1252 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1253 if test "x$want_word_cache" = "xyes"; then
1254 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1257 #######################################
1259 want_metric_cache="no"
1260 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1261 AC_ARG_ENABLE(metric-cache,
1263 [--enable-metric-cache],
1264 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1266 [ want_metric_cache="$enableval" ]
1268 AC_MSG_RESULT($want_metric_cache)
1270 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1271 if test "x$want_metric_cache" = "xyes"; then
1272 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1277 #####################################################################
1278 ## ARGB engine options
1280 #######################################
1281 ## Nearest sampling scaler
1282 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1283 ## Smooth super and sub sampling scaler
1284 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1286 #######################################
1287 ## YUV -> ARGB converter
1290 AC_MSG_CHECKING(whether to build yuv converter code)
1291 AC_ARG_ENABLE(convert-yuv,
1292 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1294 if test "x$enableval" = "xyes" ; then
1296 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1303 AC_MSG_RESULT($conv_yuv)
1304 if test "x$conv_yuv" = "xyes" ; then
1305 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1310 #####################################################################
1311 ## Output rendering features
1313 #######################################
1314 ## Small dither mask instead of big one (lower quality)
1315 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1316 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1317 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1318 ## No dither mask at all for 16bpp
1319 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1321 #######################################
1322 ## Convert to 8bpp RGB 332
1323 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1324 ## Convert to 8bpp RGB 666
1325 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1326 ## Convert to 8bpp RGB 232
1327 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1328 ## Convert to 8bpp RGB 222
1329 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1330 ## Convert to 8bpp RGB 221
1331 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1332 ## Convert to 8bpp RGB 121
1333 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1334 ## Convert to 8bpp RGB 111
1335 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1336 ## Convert to 16bpp RGB 565
1337 EVAS_CONVERT_COLOR(16, RGB, 565)
1338 ## Convert to 16bpp BGR 565
1339 EVAS_CONVERT_COLOR(16, BGR, 565)
1340 ## Convert to 16bpp RGB 555
1341 EVAS_CONVERT_COLOR(16, RGB, 555)
1342 ## Convert to 16bpp RGB 444
1343 EVAS_CONVERT_COLOR(16, RGB, 444)
1345 #######################################
1346 ## Convert to 16bpp RGB 565 (444 ipaq)
1347 conv_16_rgb_ipq="yes"
1348 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1349 AC_ARG_ENABLE(convert-16-rgb-ipq,
1350 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1352 if test "x$enableval" = "xyes" ; then
1353 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1354 conv_16_rgb_ipq="yes"
1356 conv_16_rgb_ipq="no"
1359 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1360 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1364 AC_MSG_RESULT($conv_16_rgb_ipq)
1366 #######################################
1367 ## Convert to 16bpp RGB with rotation of 0
1368 EVAS_CONVERT_ROT(16, RGB, 0)
1369 ## Convert to 16bpp RGB with rotation of 180
1370 EVAS_CONVERT_ROT(16, RGB, 180)
1371 ## Convert to 16bpp RGB with rotation of 270
1372 EVAS_CONVERT_ROT(16, RGB, 270)
1373 ## Convert to 16bpp RGB with rotation of 90
1374 EVAS_CONVERT_ROT(16, RGB, 90)
1376 #######################################
1377 ## Convert to 24bpp RGB 888
1378 EVAS_CONVERT_COLOR(24, RGB, 888)
1379 ## Convert to 24bpp BGR 888
1380 EVAS_CONVERT_COLOR(24, BGR, 888)
1381 ## Convert to 32bpp RGB 8888
1382 EVAS_CONVERT_COLOR(32, RGB, 8888)
1383 ## Convert to 32bpp RGBX 8888
1384 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1385 ## Convert to 32bpp BGR 8888
1386 EVAS_CONVERT_COLOR(32, BGR, 8888)
1387 ## Convert to 32bpp BGRX 8888
1388 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1390 #######################################
1391 ## Convert to 24bpp RGB 666 (666 ezx)
1392 conv_24_rgb_ezx="yes"
1393 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1394 AC_ARG_ENABLE(convert-24-rgb-ezx,
1395 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1397 if test "x$enableval" = "xyes" ; then
1398 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1399 conv_24_rgb_ezx="yes"
1401 conv_24_rgb_ezx="no"
1404 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1405 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1409 AC_MSG_RESULT($conv_24_rgb_ezx)
1411 #######################################
1412 ## Convert to 32bpp RGB 666 (666 ezx)
1413 conv_32_rgb_ezx="yes"
1414 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1415 AC_ARG_ENABLE(convert-32-rgb-ezx,
1416 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1418 if test "x$enableval" = "xyes" ; then
1419 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1420 conv_32_rgb_ezx="yes"
1422 conv_32_rgb_ezx="no"
1425 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1426 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1430 AC_MSG_RESULT($conv_32_rgb_ezx)
1432 #######################################
1433 ## Convert to 32bpp RGB with rotation of 0
1434 EVAS_CONVERT_ROT(32, RGB, 0)
1435 ## Convert to 32bpp RGB with rotation of 180
1436 EVAS_CONVERT_ROT(32, RGB, 180)
1437 ## Convert to 32bpp RGB with rotation of 270
1438 EVAS_CONVERT_ROT(32, RGB, 270)
1439 ## Convert to 32bpp RGB with rotation of 90
1440 EVAS_CONVERT_ROT(32, RGB, 90)
1442 #######################################
1443 ## Convert to 8bpp grayscale with 256 value, no palette
1444 EVAS_CONVERT_COLOR(8, GRY, 1)
1445 ## Convert to 8bpp grayscale with 16 value, no palette
1446 EVAS_CONVERT_COLOR(8, GRY, 16)
1448 #######################################
1449 ## Convert to 8bpp grayscale, 64-palette
1450 conv_8_grayscale_64="yes"
1451 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1452 AC_ARG_ENABLE(convert-8-grayscale-64,
1453 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1455 if test "x$enableval" = "xyes"; then
1456 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1457 conv_8_grayscale_64="yes"
1459 conv_8_grayscale_64="no"
1462 if test "x$conv_8_grayscale_64" = "xyes"; then
1463 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1467 AC_MSG_RESULT($conv_8_grayscale_64)
1473 AC_MSG_CHECKING(whether to enable build with valgrind)
1474 AC_ARG_ENABLE(valgrind,
1475 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1476 [ want_valgrind=$enableval ]
1478 AC_MSG_RESULT($want_valgrind)
1480 if test x$want_valgrind = "xyes"; then
1481 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1483 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1485 requirement_evas="valgrind ${requirement_evas}"
1488 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1489 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1497 install_examples="yes"
1498 AC_ARG_ENABLE([install-examples],
1499 AC_HELP_STRING([--disable-install-examples],
1500 [disable installing examples (compiled or just source).
1501 @<:@default==enabled@:>@]),
1503 if test "x${enableval}" = "xyes" ; then
1504 install_examples="yes"
1506 install_examples="no"
1509 [install_examples="yes"])
1510 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1513 AC_ARG_ENABLE([build-examples],
1514 AC_HELP_STRING([--enable-build-examples],
1515 [enable building examples. @<:@default==disabled@:>@]),
1517 if test "x${enableval}" = "xyes" ; then
1518 build_examples="yes"
1523 [build_examples="no"])
1524 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1527 #####################################################################
1530 AC_SUBST(altivec_cflags)
1531 AC_SUBST(pthread_cflags)
1532 AC_SUBST(pthread_libs)
1533 AC_SUBST(requirement_evas)
1536 #####################################################################
1545 evas-software-buffer.pc
1546 evas-software-x11.pc
1547 evas-software-8-x11.pc
1548 evas-software-16-x11.pc
1549 evas-software-gdi.pc
1550 evas-software-ddraw.pc
1551 evas-software-16-ddraw.pc
1553 evas-software-16-wince.pc
1554 evas-software-sdl.pc
1561 src/lib/canvas/Makefile
1562 src/lib/file/Makefile
1563 src/lib/cache/Makefile
1564 src/lib/cserve/Makefile
1565 src/lib/engines/Makefile
1566 src/lib/engines/common/Makefile
1567 src/lib/engines/common/evas_op_add/Makefile
1568 src/lib/engines/common/evas_op_blend/Makefile
1569 src/lib/engines/common/evas_op_copy/Makefile
1570 src/lib/engines/common/evas_op_mask/Makefile
1571 src/lib/engines/common/evas_op_mul/Makefile
1572 src/lib/engines/common/evas_op_sub/Makefile
1573 src/lib/engines/common_8/Makefile
1574 src/lib/engines/common_16/Makefile
1575 src/modules/Makefile
1576 src/modules/engines/Makefile
1577 src/modules/engines/software_generic/Makefile
1578 src/modules/engines/software_gdi/Makefile
1579 src/modules/engines/software_ddraw/Makefile
1580 src/modules/engines/direct3d/Makefile
1581 src/modules/engines/software_16_wince/Makefile
1582 src/modules/engines/software_x11/Makefile
1583 src/modules/engines/fb/Makefile
1584 src/modules/engines/buffer/Makefile
1585 src/modules/engines/directfb/Makefile
1586 src/modules/engines/gl_common/Makefile
1587 src/modules/engines/gl_x11/Makefile
1588 src/modules/engines/gl_sdl/Makefile
1589 src/modules/engines/software_sdl/Makefile
1590 src/modules/engines/software_8/Makefile
1591 src/modules/engines/software_8_x11/Makefile
1592 src/modules/engines/software_16/Makefile
1593 src/modules/engines/software_16_x11/Makefile
1594 src/modules/engines/software_16_ddraw/Makefile
1595 src/modules/engines/software_16_sdl/Makefile
1596 src/modules/loaders/Makefile
1597 src/modules/loaders/edb/Makefile
1598 src/modules/loaders/eet/Makefile
1599 src/modules/loaders/gif/Makefile
1600 src/modules/loaders/jpeg/Makefile
1601 src/modules/loaders/png/Makefile
1602 src/modules/loaders/tiff/Makefile
1603 src/modules/loaders/xpm/Makefile
1604 src/modules/loaders/bmp/Makefile
1605 src/modules/loaders/ico/Makefile
1606 src/modules/loaders/tga/Makefile
1607 src/modules/loaders/svg/Makefile
1608 src/modules/loaders/pmaps/Makefile
1609 src/modules/loaders/wbmp/Makefile
1610 src/modules/savers/Makefile
1611 src/modules/savers/edb/Makefile
1612 src/modules/savers/eet/Makefile
1613 src/modules/savers/jpeg/Makefile
1614 src/modules/savers/png/Makefile
1615 src/modules/savers/tiff/Makefile
1616 src/lib/include/Makefile
1617 src/examples/Makefile
1622 #####################################################################
1625 if test "x$build_pthreads" = "xno" ; then
1626 if test "x$build_async_render" = "xyes" ; then
1627 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1628 echo " needs thread support."
1631 if test "x$build_pipe_render" = "xyes" ; then
1632 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1633 echo " needs thread support."
1638 if test "x${has_pthreads}" = "xno" ; then
1639 if test "x$build_async_preload" = "xyes" ; then
1640 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1641 echo " needs thread support."
1646 #####################################################################
1652 echo "------------------------------------------------------------------------"
1653 echo "$PACKAGE $VERSION"
1654 echo "------------------------------------------------------------------------"
1656 echo "Configuration Options Summary:"
1659 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1660 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1661 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1662 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1663 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1667 echo " Software GDI...............: $have_evas_engine_software_gdi"
1668 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1669 echo " Direct3d...................: $have_evas_engine_direct3d"
1670 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1671 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1672 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1673 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1677 echo " Software Framebuffer.......: $have_evas_engine_fb"
1678 echo " DirectFB...................: $have_evas_engine_directfb"
1679 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1680 # FIXME: kill software 16bit
1681 echo " Software 16bit ............: $have_evas_engine_software_16"
1682 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1683 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1684 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1685 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1687 echo "Image Loaders:"
1688 echo " BMP.....................: $have_evas_image_loader_bmp"
1689 echo " EDB.....................: $have_evas_image_loader_edb"
1690 echo " EET.....................: $have_evas_image_loader_eet"
1691 echo " GIF.....................: $have_evas_image_loader_gif"
1692 echo " ICO.....................: $have_evas_image_loader_ico"
1693 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1694 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1695 echo " PNG.....................: $have_evas_image_loader_png"
1696 echo " SVG.....................: $have_evas_image_loader_svg"
1697 echo " TGA.....................: $have_evas_image_loader_tga"
1698 echo " TIFF....................: $have_evas_image_loader_tiff"
1699 echo " WBMP....................: $have_evas_image_loader_wbmp"
1700 echo " XPM.....................: $have_evas_image_loader_xpm"
1702 echo "Font Sourcing Systems:"
1703 echo " EET.....................: $have_evas_font_loader_eet"
1705 echo "Font Searching Systems:"
1706 echo " Fontconfig..............: $have_fontconfig"
1708 echo "Font Rendering Helpers:"
1709 echo " Fribidi.................: $have_fribidi"
1710 echo " Harfbuzz................: $have_harfbuzz"
1711 # FIXME: add non freetype2 font engine support
1712 # FIXME: make freetype2 optional
1714 echo "CPU Specific Extensions:"
1715 echo " Fallback C Code.........: $build_cpu_c"
1716 echo " MMX.....................: $build_cpu_mmx"
1717 echo " SSE.....................: $build_cpu_sse"
1718 echo " ALTIVEC.................: $build_cpu_altivec"
1719 echo " NEON....................: $build_cpu_neon"
1720 echo " Thread Support..........: $build_pthreads"
1723 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1724 echo " Cache Server............: $want_evas_cserve"
1727 dnl ... DISABLED! some testing has shown that this seems to have some
1728 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1729 dnl disabling this for now until it can be fixed
1731 echo " Threaded Pipe Rendering.: $build_pipe_render"
1732 echo " Async Pipe Rendering....: $build_async_render"
1733 echo " Async Events............: $build_async_events"
1734 echo " Async Image Preload.....: $build_async_preload"
1736 echo " Word Cache..............: $want_word_cache"
1737 echo " Metric Cache............: $want_metric_cache"
1739 echo "ARGB Software Engine Options:"
1740 echo " Sampling Scaler.........: $scaler_sample"
1741 echo " Smooth Scaler...........: $scaler_smooth"
1742 # FIXME: add an mmx scaler routine
1743 echo " YUV Converter...........: $conv_yuv"
1744 # FIXME: add more YUV format and colorvariant support
1746 echo "ARGB Conversion Options:"
1747 echo " Smaller Dither Mask.....: $conv_small_dither"
1748 echo " Line Dither Mask........: $conv_line_dither"
1749 echo " No Dither Mask for 16bpp: $conv_no_dither"
1750 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1751 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1752 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1753 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1754 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1755 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1756 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1757 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1758 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1759 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1760 # FIXME: add grayscale and B&W support to standard x converters
1761 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1762 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1763 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1764 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1765 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1766 # FIXME: add 555 (444 ipaq) support
1767 # FIXME: add 30bpp support
1768 # FIXME: add palletted support (ugh!)
1769 # FIXME: add 8bpp and below rotation
1770 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1771 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1772 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1773 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1774 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1775 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1776 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1777 # FIXME: add 24bpp rotation
1778 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1779 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1780 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1781 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1782 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1783 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1784 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1785 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1786 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1788 echo "Documentation.............: ${build_doc}"
1789 echo "Examples..................: install:${install_examples} build:${build_examples}"
1791 echo "Compilation............: make (or gmake)"
1792 echo " CPPFLAGS.............: $CPPFLAGS"
1793 echo " CFLAGS...............: $CFLAGS"
1794 echo " CXXFLAGS.............: $CXXFLAGS"
1795 echo " LDFLAGS..............: $LDFLAGS"
1797 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1798 echo " prefix...............: $prefix"
1800 if test "x${have_static_module}" = "xyes" ; then
1801 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1802 echo " You must know what you are doing, or else you will have a lot of"
1803 echo " problems. And Kenny will be killed."
1804 echo " Think about that."