1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [2])
5 m4_define([v_mic], [99])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || 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"
95 want_evas_cserve2="yes"
97 want_evas_engine_buffer="yes"
98 want_evas_engine_software_xlib="no"
99 want_evas_engine_software_xcb="no"
100 want_evas_engine_software_gdi="no"
101 want_evas_engine_software_ddraw="no"
102 want_evas_engine_software_8_x11="no"
103 want_evas_engine_software_16_x11="no"
104 want_evas_engine_software_16_ddraw="no"
105 want_evas_engine_software_16_wince="no"
106 want_evas_engine_software_16_sdl="no"
107 want_evas_engine_gl_xlib="no"
108 want_evas_engine_gl_xcb="no"
109 want_evas_engine_gl_sdl="no"
110 want_evas_engine_gl_cocoa="no"
111 want_evas_engine_direct3d="no"
112 want_evas_engine_fb="no"
113 want_evas_engine_directfb="no"
114 want_evas_engine_psl1ght="no"
115 want_evas_engine_wayland_shm="no"
116 want_evas_engine_wayland_egl="no"
118 want_evas_image_loader_edb="yes"
119 want_evas_image_loader_eet="yes"
120 want_evas_image_loader_gif="yes"
121 want_evas_image_loader_jpeg="yes"
122 want_evas_image_loader_pmaps="yes"
123 want_evas_image_loader_png="yes"
124 want_evas_image_loader_svg="yes"
125 want_evas_image_loader_tiff="yes"
126 want_evas_image_loader_xpm="yes"
127 want_evas_image_loader_bmp="yes"
128 want_evas_image_loader_tga="yes"
129 want_evas_image_loader_wbmp="yes"
130 want_evas_image_loader_ico="yes"
131 want_evas_image_loader_psd="yes"
132 want_evas_image_loader_generic="yes"
134 want_evas_font_loader_eet="yes"
139 want_evas_engine_software_16_wince="yes"
140 want_evas_image_loader_edb="no"
141 want_evas_image_loader_gif="no"
142 want_evas_image_loader_svg="no"
143 want_evas_image_loader_tiff="no"
146 want_evas_engine_software_gdi="yes"
147 want_evas_engine_software_ddraw="yes"
148 want_evas_engine_direct3d="yes"
149 want_evas_engine_software_16_ddraw="yes"
150 want_evas_image_loader_edb="no"
151 want_evas_image_loader_svg="no"
154 want_evas_engine_software_xlib="auto"
155 want_evas_engine_gl_cocoa="auto"
158 want_evas_engine_software_xlib="auto"
159 want_evas_engine_gl_xlib="auto"
160 want_evas_engine_software_xcb="no"
161 want_evas_engine_gl_xcb="no"
162 want_evas_engine_fb="auto"
163 want_evas_engine_wayland_shm="auto"
164 want_evas_engine_wayland_egl="auto"
165 ### no - not ready/usable/complete
166 # want_evas_engine_software_8_x11="auto"
167 # want_evas_engine_software_16_x11="auto"
171 case "$host_vendor" in
173 want_evas_engine_psl1ght="static"
180 ### Additional options to configure
182 # when used, that option makes configure script fails when
183 # a requirement is selected, but not met.
185 AC_ARG_ENABLE([strict],
186 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
190 # Simple X11 build/link
191 AC_ARG_ENABLE([simple-x11],
192 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
194 if test "x${enableval}" = "xyes" ; then
195 want_evas_simple_x11="yes"
197 want_evas_simple_x11="no"
202 ### Checks for programs
204 m4_ifdef([AC_PROG_OBJC],
207 _AM_DEPENDENCIES(OBJC)
210 dnl#AC_CHECK_TOOL([OBJC], [gcc])
212 dnl#AC_SUBST([OBJCFLAGS])
223 # Check whether pkg-config supports Requires.private
224 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
225 pkgconfig_requires_private="Requires.private"
227 pkgconfig_requires_private="Requires"
229 AC_SUBST(pkgconfig_requires_private)
231 # doxygen program for documentation building
232 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
235 ### Checks for libraries
237 # Evil library for compilation on Windows CE
241 PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
242 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
243 requirement_evas="evil ${requirement_evas}"
247 ### Checks for portability layer
249 PKG_CHECK_MODULES([EXOTIC],
251 [enable_exotic="yes"],
252 [enable_exotic="no"])
254 if test "x${enable_exotic}" = "xyes"; then
255 requirement_evas="exotic ${requirement_evas}"
257 AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.])
259 AM_CONDITIONAL([EVAS_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"])
261 ## strong dependencies
264 PKG_CHECK_MODULES([EINA], [eina >= 1.2.0])
265 CPPFLAGS_SAVE="$CPPFLAGS"
266 CPPFLAGS="$CPPFLAGS $EINA_CFLAGS"
267 AC_CHECK_SIZEOF(Eina_Unicode,, [#include <Eina.h>])
268 CPPFLAGS="$CPPFLAGS_SAVE"
271 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
273 requirement_evas="freetype2 eina >= 1.2.0 ${requirement_evas}"
275 ## optional dependencies
279 AC_ARG_ENABLE([fontconfig],
280 AC_HELP_STRING([--disable-fontconfig],
281 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
283 if test "x${enableval}" = "xyes" ; then
284 want_fontconfig="yes"
291 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
292 PKG_CHECK_MODULES([FONTCONFIG],
293 [fontconfig >= 2.5.0],
295 have_fontconfig="yes"
296 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
297 requirement_evas="fontconfig ${requirement_evas}"
300 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
301 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
309 AC_ARG_ENABLE([liblinebreak],
310 AC_HELP_STRING([--disable-liblinebreak],
311 [disable linking against liblinebreak. @<:@default=enabled@:>@]),
313 if test "x${enableval}" = "xyes" ; then
321 AM_CONDITIONAL(EVAS_USE_LINEBREAK, test "x${want_linebreak}" = "xyes")
322 if test "x${want_linebreak}" = "xyes" ; then
324 LINEBREAK_CFLAGS='-I$(top_srcdir)/src/static_deps/liblinebreak'
325 LINEBREAK_LIBS='$(top_builddir)/src/static_deps/liblinebreak/liblinebreak.la'
326 AC_SUBST(LINEBREAK_CFLAGS)
327 AC_SUBST(LINEBREAK_LIBS)
328 AC_DEFINE(HAVE_LINEBREAK, 1, [have liblinebreak support])
335 AC_ARG_ENABLE([fribidi],
336 AC_HELP_STRING([--disable-fribidi],
337 [disable bidirectional text support. @<:@default=enabled@:>@]),
339 if test "x${enableval}" = "xyes" ; then
346 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
347 PKG_CHECK_MODULES([FRIBIDI],
351 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
352 requirement_evas="fribidi ${requirement_evas}"
353 CPPFLAGS_SAVE="$CPPFLAGS"
354 CPPFLAGS="$CPPFLAGS $FRIBIDI_CFLAGS"
355 AC_CHECK_SIZEOF(FriBidiChar,, [#include <fribidi/fribidi.h>])
356 CPPFLAGS="$CPPFLAGS_SAVE"
359 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
360 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
365 if test "x${have_fribidi}" = "xno"; then
371 have_harfbuzz_ft="no"
372 AC_ARG_ENABLE([harfbuzz],
373 AC_HELP_STRING([--disable-harfbuzz],
374 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
376 if test "x${enableval}" = "xyes" ; then
383 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
384 PKG_CHECK_MODULES([HARFBUZZ],
388 requirement_evas="harfbuzz ${requirement_evas}"
391 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
392 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
395 if test "x$have_harfbuzz" = "xyes" ; then
397 CPPFLAGS_SAVE="$CPPFLAGS"
398 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
399 # must have for usage with harfbuzz although harfbuzz may not have it.
401 AC_CHECK_HEADER(hb-ft.h,
403 have_harfbuzz_ft="yes"
404 #Depend on harfbuzz ft for harfbuzz support
405 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
408 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
409 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
413 CPPFLAGS="$CPPFLAGS_SAVE"
417 if test "x${have_harfbuzz}" = "xno"; then
423 AC_ARG_ENABLE([pixman],
424 AC_HELP_STRING([--enable-pixman],
425 [enable pixman for software rendering. @<:@default=enabled@:>@]),
427 if test "x${enableval}" = "xyes" ; then
435 if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
436 PKG_CHECK_MODULES([PIXMAN],
440 AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
441 requirement_evas="pixman-1 ${requirement_evas}"
444 if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
445 AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
450 have_pixman_font="no"
451 AC_ARG_ENABLE(pixman-font,
452 AC_HELP_STRING([--enable-pixman-font], [Allow pixman to render fonts]),
454 have_pixman_font="yes"
455 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
459 have_pixman_rect="no"
460 AC_ARG_ENABLE(pixman-rect,
461 AC_HELP_STRING([--enable-pixman-rect], [Allow pixman to render rects]),
463 have_pixman_rect="yes"
464 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
468 have_pixman_line="no"
469 AC_ARG_ENABLE(pixman-line,
470 AC_HELP_STRING([--enable-pixman-line], [Allow pixman to render lines]),
472 have_pixman_line="yes"
473 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
477 have_pixman_poly="no"
478 AC_ARG_ENABLE(pixman-poly,
479 AC_HELP_STRING([--enable-pixman-poly], [Allow pixman to render polys]),
481 have_pixman_poly="yes"
482 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
486 have_pixman_image="no"
487 AC_ARG_ENABLE(pixman-image,
488 AC_HELP_STRING([--enable-pixman-image], [Allow pixman to render images]),
490 have_pixman_image="yes"
491 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
495 have_pixman_image_scale_sample="no"
496 AC_ARG_ENABLE(pixman-image-scale-sample,
497 AC_HELP_STRING([--enable-pixman-image-scale-sample], [Allow pixman to render sampled scaled images]),
499 have_pixman_image_scale_sample="yes"
500 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
504 have_tile_rotate="no"
505 AC_ARG_ENABLE(tile-rotate,
506 AC_HELP_STRING([--enable-tile-rotate], [Enable tiled rotate algorithm]),
508 have_tile_rotate="yes"
509 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
513 ### Checks for header files
515 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h netinet/in.h sys/mman.h])
519 AC_CHECK_TYPES([struct sigaction], [], [],
520 [[#include <signal.h>]])
523 ### Checks for structures
526 ### Checks for compiler characteristics
532 EFL_ATTRIBUTE_ALWAYS_INLINE
535 ### Checks for linker characteristics
536 lt_enable_auto_import=""
539 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
540 lt_enable_auto_import="-Wl,--enable-auto-import"
543 AC_SUBST(lt_enable_auto_import)
546 ### Checks for library functions
549 AC_CHECK_FUNCS([siglongjmp])
555 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
562 AC_DEFINE(HAVE_DLSYM)
565 # nothing on mingw platform
568 AC_CHECK_FUNCS(dlsym, res=yes, res=no)
569 if test "x$res" = "xyes"; then
570 AC_DEFINE(HAVE_DLSYM)
572 AC_CHECK_LIB(dl, dlsym, res=yes, res=no)
573 if test "x$res" = "xyes"; then
575 AC_DEFINE(HAVE_DLSYM)
577 want_evas_engine_gl_xlib="no"
578 want_evas_engine_gl_xcb="no"
579 want_evas_engine_gl_sdl="no"
583 AC_SUBST(dlopen_libs)
586 AC_CHECK_LIB(m, lround, res=yes, res=no)
587 if test "x$res" = "xyes"; then
588 AC_DEFINE(HAVE_LROUND, 1, C99 lround function exists)
591 if test "x${want_evas_image_loader_generic}" = "xyes" ; then
595 # (shm_open (for cache server)
596 AC_ARG_ENABLE([evas-cserve],
597 AC_HELP_STRING([--disable-evas-cserve],
598 [disable shared cache server support. @<:@default=enabled@:>@]),
600 if test "x${enableval}" = "xyes" ; then
601 want_evas_cserve="yes"
603 want_evas_cserve="no"
606 AC_MSG_CHECKING(whether to build shared cache server and support)
607 AC_MSG_RESULT(${want_evas_cserve})
609 # (shm_open (for cache server)
610 AC_ARG_ENABLE([evas-cserve2],
611 AC_HELP_STRING([--disable-evas-cserve2],
612 [disable shared cache server 2 support. @<:@default=enabled@:>@]),
614 if test "x${enableval}" = "xyes" ; then
615 want_evas_cserve2="yes"
617 want_evas_cserve2="no"
620 AC_MSG_CHECKING(whether to build shared cache server 2 and support)
621 AC_MSG_RESULT(${want_evas_cserve2})
623 # cserve2 only works on Linux so far.
624 if test "x${want_evas_cserve2}" = "xyes" ; then
626 [sys/epoll.h sys/inotify.h sys/signalfd.h],
629 want_evas_cserve2="no"
634 if test "x${want_evas_cserve2}" = "xyes"; then
635 want_evas_cserve="no"
639 if test "x${want_evas_cserve}" = "xyes" -o "x${want_evas_cserve2}" = "xyes" ; then
642 shm_open_libs=${EFL_SHM_OPEN_LIBS}
645 want_evas_cserve="no"
646 want_evas_cserve2="no"
649 AC_SUBST([shm_open_libs])
651 if test "x${want_evas_cserve}" = "xyes" ; then
652 AC_DEFINE(EVAS_CSERVE, 1, [Shared cache server.])
655 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
657 if test "x${want_evas_cserve2}" = "xyes" ; then
658 AC_DEFINE(EVAS_CSERVE2, 1, [Shared cache server.])
661 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
665 #######################################
666 ## GL force flavor gles
668 AC_MSG_CHECKING(whether to build GLES flavor of GL)
669 AC_ARG_ENABLE(gl-flavor-gles,
670 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles flavor of gl instead of standard]),
672 if test "x$enableval" = "xyes" ; then
685 #######################################
687 gles_variety_sgx="no"
688 AC_MSG_CHECKING(whether to build GLES variety for SGX)
689 AC_ARG_ENABLE(gles-variety-sgx,
690 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
692 if test "x$enableval" = "xyes" ; then
694 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
695 gles_variety_sgx="yes"
698 gles_variety_sgx="no"
702 gles_variety_sgx="no"
706 #######################################
707 ## GLES variety s3c6410
708 gles_variety_s3c6410="no"
709 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
710 AC_ARG_ENABLE(gles-variety-s3c6410,
711 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
713 if test "x$enableval" = "xyes" ; then
715 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
716 gles_variety_s3c6410="yes"
719 gles_variety_s3c6410="no"
723 gles_variety_s3c6410="no"
727 if test "x$gl_flavor_gles" = "xyes"; then
729 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
730 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
731 if test "x$eng" = "xx"; then
735 [Please enable just 1 OpenGL-ES flavor. Choices are:
736 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
737 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
738 You will also need to enable the OpenGL engine for X11 with:
739 --enable-gl-xlib or --enable-gl-xcb
744 #####################################################################
747 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
749 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
751 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
753 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
755 EVAS_CHECK_ENGINE([psl1ght], [${want_evas_engine_psl1ght}], [no], [PSL1GHT])
757 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [no], [OpenGL SDL])
759 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
761 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [no], [Framebuffer])
763 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
765 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [no], [Software X11 8 bits grayscale])
767 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [no], [Software X11 16 bits])
769 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
771 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
773 EVAS_CHECK_ENGINE([software-16-sdl], [${want_evas_engine_software_16_sdl}], [no], [Software SDL 16 bits])
775 EVAS_CHECK_ENGINE([wayland-shm], [${want_evas_engine_wayland_shm}], [no], [Wayland Shm])
777 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
782 AC_ARG_ENABLE([sdl-primitive],
783 [AC_HELP_STRING([--enable-sdl-primitive], [])],
784 [sdl_primitive=${enableval}]
786 AC_MSG_CHECKING([whether to use SDL primitive when possible])
787 AC_MSG_RESULT([${sdl_primitive}])
789 if test "x${sdl_primitive}" = "xyes" ; then
790 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
793 # if software generic need to be build as part of libevas.so
794 have_static_software_generic="no"
795 AC_ARG_ENABLE([static-software-generic],
796 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
797 [have_static_software_generic=${enableval}]
799 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
800 AC_MSG_RESULT([${have_static_software_generic}])
802 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
803 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
804 have_static_software_generic="yes"
807 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
808 if test "x${have_static_software_generic}" = "xyes"; then
809 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
813 ######## Software Engine ########
814 have_evas_engine_software_x11="no"
815 have_evas_engine_software_xcb="no"
816 have_evas_engine_software_xlib="no"
821 AC_MSG_CHECKING(whether to build Software XCB Engine)
822 AC_ARG_ENABLE(software-xcb,
823 AC_HELP_STRING([--enable-software-xcb], [enable Software XCB Engine. @<:@default=disabled@:>@]), [want_xcb=$enableval]
825 if test "x$want_xcb" != "xno" ; then
826 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
827 if test "x$have_evas_engine_software_xcb" != "xno" ; then
828 build_software_xcb="yes"
829 have_evas_engine_software_x11="yes"
830 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engine])
831 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_XCB, [1], [Build software XCB backend])
835 build_software_xcb="no"
838 ## If we are not building XCB, then we can build XLib ##
840 if test "x$build_software_xcb" = "xno" ; then
841 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [no], [Software Xlib])
842 # if software_x11 is available, define everything needed for X11
843 if test "x$have_evas_engine_software_xlib" != "xno" ; then
844 have_evas_engine_software_x11="yes"
845 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engine])
846 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_XLIB, [1], [Build software Xlib backend])
849 have_evas_engine_software_xlib="no"
852 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic"; then
853 AC_DEFINE_UNQUOTED(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engine as part of libevas])
856 AC_SUBST(have_evas_engine_software_xcb)
857 AC_SUBST(have_evas_engine_software_xlib)
859 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [test "x${have_evas_engine_software_xlib}" != "xno"])
860 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [test "x${have_evas_engine_software_xcb}" != "xno"])
861 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" != "xno"])
863 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" -o "x${have_evas_engine_software_xlib}" = "xstatic"])
864 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [test "x${have_evas_engine_software_xlib}" = "xstatic"])
865 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [test "x${have_evas_engine_software_xcb}" = "xstatic"])
867 AC_SUBST(have_evas_engine_software_x11)
870 ######## OpenGL Engine ########
871 have_evas_engine_gl_x11="no"
872 have_evas_engine_gl_xcb="no"
877 AC_MSG_CHECKING(whether to build OpenGL XCB Engine)
878 AC_ARG_ENABLE(gl-xcb,
879 AC_HELP_STRING([--enable-gl-xcb], [enable OpenGL XCB Engine. @<:@default=disabled@:>@]), [want_gl_xcb=$enableval]
881 if test "x$want_gl_xcb" = "xyes" ; then
882 EVAS_CHECK_ENGINE([gl-xcb], [${want_evas_engine_gl_xcb}], [no], [OpenGL XCB])
883 if test "x$have_evas_engine_gl_xcb" != "xno" ; then
885 have_evas_engine_gl_x11="yes"
886 AC_DEFINE(BUILD_ENGINE_GL_X11, [1], [Build GL X11 engine])
887 AC_DEFINE(BUILD_ENGINE_GL_XCB, [1], [Build GL Xcb backend])
888 if test "x$have_evas_engine_gl_xcb" = "xstatic" ; then
889 AC_DEFINE(EVAS_STATIC_BUILD_GL_X11, [1], [Build GL X11 engine as part of libevas])
892 AC_SUBST(have_evas_engine_gl_xcb)
898 ## If we are not building XCB, then we can build XLib ##
900 if test "x$build_gl_xcb" = "xno" ; then
901 EVAS_CHECK_ENGINE([gl-xlib], [${want_evas_engine_gl_xlib}], [no], [OpenGL XLib])
902 if test "x$have_evas_engine_gl_xlib" != "xno" ; then
903 have_evas_engine_gl_x11="yes"
904 AC_DEFINE_UNQUOTED(BUILD_ENGINE_GL_X11, [1], [Build OpenGL X11 engine])
905 AC_DEFINE_UNQUOTED(BUILD_ENGINE_GL_XLIB, [1], [Build OpenGL Xlib backend])
906 if test "x$have_evas_engine_gl_xlib" = "xstatic" ; then
907 AC_DEFINE_UNQUOTED(EVAS_STATIC_BUILD_GL_X11, [1], [Build OpenGL X11 engine as part of libevas])
911 have_evas_engine_gl_xlib="no"
913 AC_SUBST(have_evas_engine_gl_xlib)
915 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [test "x${have_evas_engine_gl_xlib}" != "xno"])
916 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [test "x${have_evas_engine_gl_xcb}" != "xno"])
917 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" != "xno"])
919 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" -o "x${have_evas_engine_gl_xlib}" = "xstatic"])
920 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [test "x${have_evas_engine_gl_xlib}" = "xstatic"])
921 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [test "x${have_evas_engine_gl_xcb}" = "xstatic"])
923 AC_SUBST(have_evas_engine_gl_x11)
926 have_evas_engine_gl_common="no"
927 have_static_evas_engine_gl_common="no"
928 if test "x$have_evas_engine_gl_xlib" = "xyes" \
929 || test "x$have_evas_engine_gl_xcb" = "xyes" \
930 || test "x$have_evas_engine_gl_sdl" = "xyes" \
931 || test "x$have_evas_engine_gl_cocoa" = "xyes" \
932 || test "x$have_evas_engine_wayland_egl" = "xyes"; then
933 have_evas_engine_gl_common="yes"
935 if test "x$have_evas_engine_gl_xlib" = "xstatic" \
936 || test "x$have_evas_engine_gl_xcb" = "xstatic" \
937 || test "x$have_evas_engine_gl_sdl" = "xstatic" \
938 || test "x$have_evas_engine_gl_cocoa" = "xstatic" \
939 || test "x$have_evas_engine_wayland_egl" = "xstatic"; then
940 have_evas_engine_gl_common="yes"
941 have_static_evas_engine_gl_common="yes"
944 if test "x$have_evas_engine_gl_common" = "xyes"; then
945 evas_engine_gl_common_libs=""
946 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
949 AC_SUBST([evas_engine_gl_common_libs])
951 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
953 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
954 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
955 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
959 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
960 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
961 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
962 [#include <SDL/SDL_video.h>])
965 if test "x$gl_flavor_gles" = "xyes"; then
966 AC_CHECK_DECL(SDL_OPENGLES,
967 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
968 [#include <SDL/SDL_video.h>])
971 # if software 16 x11 is enabled - build software_16 (the generic 16bit
972 # engine). later enable it fb_16 or other "16" bit engines are enabled.
973 have_evas_engine_software_16="no"
974 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
975 have_evas_engine_software_16="yes"
977 if test "x$have_evas_engine_software_16_sdl" = "xyes" -o "x$have_evas_engine_software_16_sdl" = "xstatic"; then
978 have_evas_engine_software_16="yes"
980 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
981 have_evas_engine_software_16="yes"
983 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
984 have_evas_engine_software_16="yes"
986 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
988 # if software 16 need to be build as part of libevas.so
989 have_static_software_16="no"
990 AC_ARG_ENABLE([static-software-16],
991 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
992 [have_static_software_16=${enableval}]
994 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
995 AC_MSG_RESULT([${have_static_software_16}])
997 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
998 if test "x${have_static_software_16}" = "xyes"; then
999 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
1002 # if software 8 x11 is enabled - build software_8 (the generic 8bit
1004 have_evas_engine_software_8="no"
1005 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
1006 have_evas_engine_software_8="yes"
1008 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
1010 # if software 8 need to be build as part of libevas.so
1011 have_static_software_8="no"
1012 AC_ARG_ENABLE([static-software-8],
1013 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
1014 [have_static_software_8=${enableval}]
1016 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
1017 AC_MSG_RESULT([${have_static_software_8}])
1019 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
1020 if test "x${have_static_software_8}" = "xyes"; then
1021 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
1024 #####################################################################
1027 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
1029 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
1030 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
1032 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
1034 have_evas_image_saver_jpeg="no"
1035 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
1037 dnl Windows has no sigsetjmp function, nor equivalent.
1038 dnl So we disable the jpeg saver.
1039 dnl TODO: must find a workaround
1044 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
1045 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
1046 have_evas_image_saver_jpeg="yes"
1050 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
1052 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
1054 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
1056 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
1058 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
1060 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
1062 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
1064 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
1066 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
1068 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
1070 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
1072 EVAS_CHECK_IMAGE_LOADER([GENERIC], [${want_evas_image_loader_generic}])
1074 #####################################################################
1075 ## Cpu based optimizations
1077 #######################################
1084 # basic pthread support
1085 AC_CHECK_HEADER(pthread.h,
1094 # sched_getaffinity pthread_attr_setaffinity_np
1095 AC_CHECK_HEADERS([pthread.h sched.h],
1097 CFLAGS_save="${CFLAGS}"
1098 CFLAGS="${CFLAGS} -pthread"
1100 LIBS="${LIBS} -pthread"
1103 #include <pthread.h>
1107 pthread_attr_setaffinity_np(NULL, 0, NULL);
1108 pthread_barrier_wait(NULL);
1110 [build_pthreads="yes"],
1111 [build_pthreads="no"])
1112 CFLAGS=${CFLAGS_save}
1115 [build_pthreads="no"])
1117 AC_MSG_CHECKING([whether pthread_attr_setaffinity_np() and pthread_barrier_wait() are supported])
1118 AC_MSG_RESULT([${build_pthreads}])
1120 #######################################
1122 AC_MSG_CHECKING(whether to build pthread code)
1123 AC_ARG_ENABLE(pthreads,
1124 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
1126 if test "x$enableval" = "xyes" ; then
1127 if test "x$build_pthreads" = "xyes"; then
1129 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
1130 build_pthreads="yes"
1133 if "x$use_strict" = "xyes"; then
1134 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
1136 AC_MSG_RESULT(no: pthread headers or functions not found)
1145 AC_MSG_RESULT($build_pthreads)
1146 if test "x$build_pthreads" = "xyes" ; then
1147 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
1153 #######################################
1155 build_pipe_render="no"
1157 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
1158 AC_ARG_ENABLE(pipe-render,
1159 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
1160 [ build_pipe_render=$enableval ]
1162 AC_MSG_RESULT($build_pipe_render)
1164 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
1165 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
1167 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
1168 build_pipe_render="yes"
1172 build_pipe_render="no"
1175 #######################################
1177 build_async_render="no"
1179 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
1180 AC_ARG_ENABLE(async-render,
1181 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
1182 [ build_async_render=$enableval ]
1184 AC_MSG_RESULT($build_async_render)
1186 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
1187 if test \( "x$build_async_render" = "xyes" \); then
1189 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
1190 build_async_render="yes"
1191 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
1192 build_pipe_render="yes"
1195 PKG_CHECK_MODULES([XEXT],
1197 [ build_avoid_libXext_bug=yes ],
1198 [ build_avoid_libXext_bug=no ]
1200 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
1201 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
1205 build_async_render="no"
1208 #######################################
1210 build_async_events="auto"
1211 AC_MSG_CHECKING(whether to build Async Events support)
1212 AC_ARG_ENABLE(async-events,
1213 AC_HELP_STRING([--enable-async-events], [enable async events support]),
1214 [ build_async_events=$enableval ]
1216 AC_MSG_RESULT($build_async_events)
1218 AC_MSG_CHECKING(whether we can build Async Events support)
1219 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
1221 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
1222 build_async_events="yes"
1225 build_async_events="no"
1228 #######################################
1229 ## Async image preload
1230 build_async_preload="auto"
1231 AC_MSG_CHECKING(whether to build Async Image Preload support)
1232 AC_ARG_ENABLE(async-preload,
1233 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
1234 [ build_async_preload=$enableval ]
1236 AC_MSG_RESULT($build_async_preload)
1238 AC_MSG_CHECKING(whether we can build Async Image Preload support)
1239 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
1241 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
1242 build_async_preload="yes"
1246 build_async_preload="no"
1249 #######################################
1250 ## Link with pthread if needed
1251 AC_MSG_CHECKING(whether we should link with pthread)
1252 if test "x$need_pthreads" = "xyes"; then
1254 pthread_cflags="-pthread"
1255 pthread_libs="-pthread"
1260 #######################################
1274 AC_MSG_CHECKING(whether to build mmx code)
1275 AC_ARG_ENABLE(cpu-mmx,
1276 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1278 if test "x$enableval" = "xyes" ; then
1280 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1288 AC_MSG_RESULT($build_cpu_mmx)
1289 if test "x$build_cpu_mmx" = "xyes" ; then
1290 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1295 #######################################
1309 AC_MSG_CHECKING(whether to build sse code)
1310 AC_ARG_ENABLE(cpu-sse,
1311 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1313 if test "x$enableval" = "xyes" ; then
1315 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1323 AC_MSG_RESULT($build_cpu_sse)
1324 if test "x$build_cpu_sse" = "xyes" ; then
1325 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1330 #######################################
1335 build_cpu_sse3="yes"
1338 build_cpu_sse3="yes"
1341 build_cpu_sse3="yes"
1344 AC_MSG_CHECKING(whether to build sse3 code)
1345 AC_ARG_ENABLE(cpu-sse3,
1346 AS_HELP_STRING([--enable-cpu-sse3], [enable sse3 code]),
1348 if test "x$enableval" = "xyes" ; then
1349 AC_CHECK_HEADER(immintrin.h,
1352 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
1353 build_cpu_sse3="yes"
1365 AC_MSG_RESULT($build_cpu_sse3)
1366 if test "x$build_cpu_sse3" = "xyes" ; then
1367 AC_CHECK_HEADER(immintrin.h,
1370 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
1371 build_cpu_sse3="yes"
1382 # as a big warning flag to anyone doing stuff like this...
1383 # NEVER EVER EVER EVER put **OPTIMIZATION** flags in
1384 # build flags in makefiles (from configure or anywhere else)
1385 # EVER as this screws your ability to build 1 binary and
1386 # cover ALL x86 arch's. This is the HEIGHT of WRONG. If the
1387 # person building choses to add optimization flags themselves
1388 # and decide the minimum baseline cpu arch is X then that's
1389 # their business, but NEVER should it be done here. NEVER.
1390 # I now have to do this due to the way this sse3 code was done - using
1391 # intrinsics and "functions" (opcodes) and types that only compile *IF*
1392 # you compile with -msse3. this ALSO tries to optimize REGULAR c code
1393 # with sse3 asm.. and this breaks things so badly. so... sse3 will be
1394 # off until further notice for 32bit x86.
1395 EVAS_SSE3_CFLAGS=" "
1396 if test "x$build_cpu_sse3" = "xyes" ; then
1397 EVAS_SSE3_CFLAGS="-msse3 "
1398 # CFLAGS="${CFLAGS} ${EVAS_SSE3_CFLAGS}"
1402 AC_SUBST(EVAS_SSE3_CFLAGS)
1404 #######################################
1406 build_cpu_altivec="no"
1409 build_cpu_altivec="auto"
1413 AC_MSG_CHECKING(whether to build altivec code)
1414 AC_ARG_ENABLE(cpu-altivec,
1415 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1416 [ build_cpu_altivec=$enableval ],
1418 if test ! "x$build_cpu_altivec" = "xauto"; then
1419 build_cpu_altivec="no"
1423 AC_MSG_RESULT($build_cpu_altivec)
1425 if test "x$build_cpu_altivec" = "xyes"; then
1426 AC_CHECK_HEADER(altivec.h,
1428 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1429 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1430 build_cpu_altivec="yes"
1434 save_CPPFLAGS=$CPPFLAGS
1435 CFLAGS=$CFLAGS" -maltivec"
1436 CPPFLAGS=$CPPFLAGS" -maltivec"
1437 unset ac_cv_header_altivec_h
1438 AC_CHECK_HEADER(altivec.h,
1440 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1441 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1442 build_cpu_altivec="yes"
1445 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1446 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1448 build_cpu_altivec="no"
1452 CPPFLAGS=$save_CPPFLAGS
1457 if test "x$build_cpu_altivec" = "xyes"; then
1458 AC_MSG_CHECKING(whether to use altivec compiler flag)
1459 if test "x$GCC" = "xyes"; then
1460 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1461 altivec_cflags="-faltivec"
1462 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1463 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1464 altivec_cflags="-maltivec"
1465 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1468 AC_MSG_RESULT($altivec_cflags)
1469 CFLAGS="$CFLAGS $altivec_cflags"
1472 #######################################
1477 build_cpu_neon="yes"
1480 AC_MSG_CHECKING(whether to build neon code)
1481 AC_ARG_ENABLE(cpu-neon,
1482 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1483 checked at run time to see if the CPU supports it]),
1485 if test "x$enableval" = "xyes" ; then
1487 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1490 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1491 build_cpu_neon="yes"
1502 if test "x$build_cpu_neon" = "xyes" ; then
1503 AC_TRY_COMPILE([#include <arm_neon.h>],
1504 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1507 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1508 build_cpu_neon="yes"
1517 #######################################
1520 AC_MSG_CHECKING(whether to build c code)
1521 AC_ARG_ENABLE(cpu-c,
1522 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1524 if test "x$enableval" = "xyes" ; then
1526 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1533 AC_MSG_RESULT($build_cpu_c)
1534 if test "x$build_cpu_c" = "xyes" ; then
1535 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1540 #######################################
1542 want_evas_magic_debug="yes"
1543 AC_MSG_CHECKING(whether to check magic for evas object)
1544 AC_ARG_ENABLE(evas-magic-debug,
1546 [--disable-evas-magic-debug],
1547 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1549 [ want_evas_magic_debug="$enableval" ]
1551 AC_MSG_RESULT($want_evas_magic_debug)
1553 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1554 if test "x$want_evas_magic_debug" = "xyes"; then
1555 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1559 #######################################
1561 want_word_cache="no"
1562 AC_MSG_CHECKING(whether to enable caching of rendered words)
1563 AC_ARG_ENABLE(word-cache,
1565 [--enable-word-cache],
1566 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1568 [ want_word_cache="$enableval" ]
1570 AC_MSG_RESULT($want_word_cache)
1572 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1573 if test "x$want_word_cache" = "xyes"; then
1574 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1577 #######################################
1579 want_metric_cache="no"
1580 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1581 AC_ARG_ENABLE(metric-cache,
1583 [--enable-metric-cache],
1584 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1586 [ want_metric_cache="$enableval" ]
1588 AC_MSG_RESULT($want_metric_cache)
1590 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1591 if test "x$want_metric_cache" = "xyes"; then
1592 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1597 #####################################################################
1598 ## ARGB engine options
1600 #######################################
1601 ## Nearest sampling scaler
1602 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1603 ## Smooth super and sub sampling scaler
1604 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1606 #######################################
1607 ## YUV -> ARGB converter
1610 AC_MSG_CHECKING(whether to build yuv converter code)
1611 AC_ARG_ENABLE(convert-yuv,
1612 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1614 if test "x$enableval" = "xyes" ; then
1616 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1623 AC_MSG_RESULT($conv_yuv)
1624 if test "x$conv_yuv" = "xyes" ; then
1625 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1630 #####################################################################
1631 ## Output rendering features
1633 #######################################
1634 ## Small dither mask instead of big one (lower quality)
1635 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1636 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1637 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1638 ## No dither mask at all for 16bpp
1639 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1641 #######################################
1642 ## Convert to 8bpp RGB 332
1643 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1644 ## Convert to 8bpp RGB 666
1645 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1646 ## Convert to 8bpp RGB 232
1647 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1648 ## Convert to 8bpp RGB 222
1649 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1650 ## Convert to 8bpp RGB 221
1651 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1652 ## Convert to 8bpp RGB 121
1653 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1654 ## Convert to 8bpp RGB 111
1655 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1656 ## Convert to 16bpp RGB 565
1657 EVAS_CONVERT_COLOR(16, RGB, 565)
1658 ## Convert to 16bpp BGR 565
1659 EVAS_CONVERT_COLOR(16, BGR, 565)
1660 ## Convert to 16bpp RGB 555
1661 EVAS_CONVERT_COLOR(16, RGB, 555)
1662 ## Convert to 16bpp RGB 444
1663 EVAS_CONVERT_COLOR(16, RGB, 444)
1665 #######################################
1666 ## Convert to 16bpp RGB 565 (444 ipaq)
1667 conv_16_rgb_ipq="yes"
1668 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1669 AC_ARG_ENABLE(convert-16-rgb-ipq,
1670 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1672 if test "x$enableval" = "xyes" ; then
1673 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1674 conv_16_rgb_ipq="yes"
1676 conv_16_rgb_ipq="no"
1679 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1680 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1684 AC_MSG_RESULT($conv_16_rgb_ipq)
1686 #######################################
1687 ## Convert to 16bpp RGB with rotation of 0
1688 EVAS_CONVERT_ROT(16, RGB, 0)
1689 ## Convert to 16bpp RGB with rotation of 180
1690 EVAS_CONVERT_ROT(16, RGB, 180)
1691 ## Convert to 16bpp RGB with rotation of 270
1692 EVAS_CONVERT_ROT(16, RGB, 270)
1693 ## Convert to 16bpp RGB with rotation of 90
1694 EVAS_CONVERT_ROT(16, RGB, 90)
1696 #######################################
1697 ## Convert to 24bpp RGB 888
1698 EVAS_CONVERT_COLOR(24, RGB, 888)
1699 ## Convert to 24bpp BGR 888
1700 EVAS_CONVERT_COLOR(24, BGR, 888)
1701 ## Convert to 32bpp RGB 8888
1702 EVAS_CONVERT_COLOR(32, RGB, 8888)
1703 ## Convert to 32bpp RGBX 8888
1704 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1705 ## Convert to 32bpp BGR 8888
1706 EVAS_CONVERT_COLOR(32, BGR, 8888)
1707 ## Convert to 32bpp BGRX 8888
1708 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1710 #######################################
1711 ## Convert to 24bpp RGB 666 (666 ezx)
1712 conv_24_rgb_ezx="yes"
1713 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1714 AC_ARG_ENABLE(convert-24-rgb-ezx,
1715 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1717 if test "x$enableval" = "xyes" ; then
1718 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1719 conv_24_rgb_ezx="yes"
1721 conv_24_rgb_ezx="no"
1724 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1725 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1729 AC_MSG_RESULT($conv_24_rgb_ezx)
1731 #######################################
1732 ## Convert to 32bpp RGB 666 (666 ezx)
1733 conv_32_rgb_ezx="yes"
1734 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1735 AC_ARG_ENABLE(convert-32-rgb-ezx,
1736 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1738 if test "x$enableval" = "xyes" ; then
1739 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1740 conv_32_rgb_ezx="yes"
1742 conv_32_rgb_ezx="no"
1745 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1746 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1750 AC_MSG_RESULT($conv_32_rgb_ezx)
1752 #######################################
1753 ## Convert to 32bpp RGB with rotation of 0
1754 EVAS_CONVERT_ROT(32, RGB, 0)
1755 ## Convert to 32bpp RGB with rotation of 180
1756 EVAS_CONVERT_ROT(32, RGB, 180)
1757 ## Convert to 32bpp RGB with rotation of 270
1758 EVAS_CONVERT_ROT(32, RGB, 270)
1759 ## Convert to 32bpp RGB with rotation of 90
1760 EVAS_CONVERT_ROT(32, RGB, 90)
1762 #######################################
1763 ## Convert to 8bpp grayscale with 256 value, no palette
1764 EVAS_CONVERT_COLOR(8, GRY, 1)
1765 ## Convert to 8bpp grayscale with 16 value, no palette
1766 EVAS_CONVERT_COLOR(8, GRY, 16)
1768 #######################################
1769 ## Convert to 8bpp grayscale, 64-palette
1770 conv_8_grayscale_64="yes"
1771 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1772 AC_ARG_ENABLE(convert-8-grayscale-64,
1773 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1775 if test "x$enableval" = "xyes"; then
1776 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1777 conv_8_grayscale_64="yes"
1779 conv_8_grayscale_64="no"
1782 if test "x$conv_8_grayscale_64" = "xyes"; then
1783 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1787 AC_MSG_RESULT($conv_8_grayscale_64)
1793 AC_MSG_CHECKING(whether to enable build with valgrind)
1794 AC_ARG_ENABLE(valgrind,
1795 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1796 [ want_valgrind=$enableval ]
1798 AC_MSG_RESULT($want_valgrind)
1800 if test x$want_valgrind = "xyes"; then
1801 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1803 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1805 requirement_evas="valgrind ${requirement_evas}"
1808 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1809 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1817 install_examples="yes"
1818 AC_ARG_ENABLE([install-examples],
1819 AC_HELP_STRING([--disable-install-examples],
1820 [disable installing examples (compiled or just source).
1821 @<:@default==enabled@:>@]),
1823 if test "x${enableval}" = "xyes" ; then
1824 install_examples="yes"
1826 install_examples="no"
1829 [install_examples="yes"])
1830 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1833 AC_ARG_ENABLE([build-examples],
1834 AC_HELP_STRING([--enable-build-examples],
1835 [enable building examples (this requires extra denpendencies. if you don't have them installed yet, don't build with this option or it will fail. build again when you have it, overriding the previous installation). @<:@default==disabled@:>@]),
1837 if test "x${enableval}" = "xyes" ; then
1838 build_examples="yes"
1839 # put in here the dependencies for Evas' examples. they are
1840 # meant to be 'real world' usage examples, thus one will be
1841 # using higher level libraries on these programs
1842 PKG_CHECK_MODULES([ECORE_EVAS], [ecore-evas ecore], [], [build_examples="no"])
1843 PKG_CHECK_MODULES([EDJE], [edje],
1844 [edje_cc=$($PKG_CONFIG --variable=prefix edje)/bin/edje_cc],
1845 [build_examples="no"])
1851 [build_examples="no"])
1852 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1854 ## Unit tests, coverage
1856 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
1858 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
1859 EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS} ${EXOTIC_CFLAGS}"
1860 EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS} ${EXOTIC_LIBS}"
1861 if test "x$enable_coverage" = "xyes" ; then
1862 EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_DEBUG_CFLAGS}"
1865 AC_SUBST(EVAS_CFLAGS)
1868 #####################################################################
1871 AC_SUBST(altivec_cflags)
1872 AC_SUBST(pthread_cflags)
1873 AC_SUBST(pthread_libs)
1874 AC_SUBST(requirement_evas)
1877 #####################################################################
1886 evas-opengl-cocoa.pc
1887 evas-software-buffer.pc
1888 evas-software-x11.pc
1889 evas-software-8-x11.pc
1890 evas-software-16-x11.pc
1891 evas-software-gdi.pc
1892 evas-software-ddraw.pc
1893 evas-software-16-ddraw.pc
1895 evas-software-16-wince.pc
1896 evas-software-sdl.pc
1906 src/bin/loaders/Makefile
1907 src/bin/loaders/jpeg/Makefile
1908 src/bin/loaders/png/Makefile
1909 src/bin/loaders/eet/Makefile
1910 src/bin/loaders/tiff/Makefile
1911 src/bin/loaders/xpm/Makefile
1912 src/bin/loaders/bmp/Makefile
1913 src/bin/loaders/ico/Makefile
1914 src/bin/loaders/tga/Makefile
1915 src/bin/loaders/pmaps/Makefile
1916 src/bin/loaders/wbmp/Makefile
1917 src/bin/loaders/psd/Makefile
1919 src/lib/canvas/Makefile
1920 src/lib/file/Makefile
1921 src/lib/cache/Makefile
1922 src/lib/cache2/Makefile
1923 src/lib/cserve/Makefile
1924 src/lib/cserve2/Makefile
1925 src/lib/engines/Makefile
1926 src/lib/engines/common/Makefile
1927 src/lib/engines/common/evas_op_add/Makefile
1928 src/lib/engines/common/evas_op_blend/Makefile
1929 src/lib/engines/common/evas_op_copy/Makefile
1930 src/lib/engines/common/evas_op_mask/Makefile
1931 src/lib/engines/common/evas_op_mul/Makefile
1932 src/lib/engines/common/evas_op_sub/Makefile
1933 src/lib/engines/common_8/Makefile
1934 src/lib/engines/common_16/Makefile
1935 src/modules/Makefile
1936 src/modules/engines/Makefile
1937 src/modules/engines/software_generic/Makefile
1938 src/modules/engines/software_gdi/Makefile
1939 src/modules/engines/software_ddraw/Makefile
1940 src/modules/engines/direct3d/Makefile
1941 src/modules/engines/software_16_wince/Makefile
1942 src/modules/engines/software_x11/Makefile
1943 src/modules/engines/fb/Makefile
1944 src/modules/engines/buffer/Makefile
1945 src/modules/engines/directfb/Makefile
1946 src/modules/engines/gl_common/Makefile
1947 src/modules/engines/gl_x11/Makefile
1948 src/modules/engines/gl_sdl/Makefile
1949 src/modules/engines/gl_cocoa/Makefile
1950 src/modules/engines/psl1ght/Makefile
1951 src/modules/engines/software_8/Makefile
1952 src/modules/engines/software_8_x11/Makefile
1953 src/modules/engines/software_16/Makefile
1954 src/modules/engines/software_16_x11/Makefile
1955 src/modules/engines/software_16_ddraw/Makefile
1956 src/modules/engines/software_16_sdl/Makefile
1957 src/modules/engines/wayland_shm/Makefile
1958 src/modules/engines/wayland_egl/Makefile
1959 src/modules/loaders/Makefile
1960 src/modules/loaders/edb/Makefile
1961 src/modules/loaders/eet/Makefile
1962 src/modules/loaders/gif/Makefile
1963 src/modules/loaders/jpeg/Makefile
1964 src/modules/loaders/png/Makefile
1965 src/modules/loaders/tiff/Makefile
1966 src/modules/loaders/xpm/Makefile
1967 src/modules/loaders/bmp/Makefile
1968 src/modules/loaders/ico/Makefile
1969 src/modules/loaders/tga/Makefile
1970 src/modules/loaders/svg/Makefile
1971 src/modules/loaders/pmaps/Makefile
1972 src/modules/loaders/wbmp/Makefile
1973 src/modules/loaders/psd/Makefile
1974 src/modules/loaders/generic/Makefile
1975 src/modules/savers/Makefile
1976 src/modules/savers/edb/Makefile
1977 src/modules/savers/eet/Makefile
1978 src/modules/savers/jpeg/Makefile
1979 src/modules/savers/png/Makefile
1980 src/modules/savers/tiff/Makefile
1981 src/static_deps/Makefile
1982 src/static_deps/liblinebreak/Makefile
1983 src/lib/include/Makefile
1984 src/examples/Makefile
1989 #####################################################################
1992 if test "x$build_pthreads" = "xno" ; then
1993 if test "x$build_async_render" = "xyes" ; then
1994 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1995 echo " needs thread support."
1998 if test "x$build_pipe_render" = "xyes" ; then
1999 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
2000 echo " needs thread support."
2005 if test "x${has_pthreads}" = "xno" ; then
2006 if test "x$build_async_preload" = "xyes" ; then
2007 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
2008 echo " needs thread support."
2013 #####################################################################
2019 echo "------------------------------------------------------------------------"
2020 echo "$PACKAGE $VERSION"
2021 echo "------------------------------------------------------------------------"
2023 echo "Configuration Options Summary:"
2026 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
2027 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
2028 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 (Xlib: $have_evas_engine_gl_xlib) (XCB: $have_evas_engine_gl_xcb) $ECHO_C"
2029 if test "x$have_evas_engine_gl_x11" = "xyes"; then
2030 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
2034 echo " Software GDI...............: $have_evas_engine_software_gdi"
2035 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
2036 echo " Direct3d...................: $have_evas_engine_direct3d"
2037 echo " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
2038 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
2039 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
2043 echo " OpenGL Cocoa...............: $have_evas_engine_gl_cocoa"
2044 echo " Software Framebuffer.......: $have_evas_engine_fb"
2045 echo " DirectFB...................: $have_evas_engine_directfb"
2046 echo " PSL1GHT....................: $have_evas_engine_psl1ght"
2047 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
2048 # FIXME: kill software 16bit
2049 echo " Software 16bit ............: $have_evas_engine_software_16"
2050 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
2051 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
2052 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
2053 echo " Software 16bit SDL.........: $have_evas_engine_software_16_sdl (primitive: $sdl_primitive)"
2054 echo " Wayland Shm................: $have_evas_engine_wayland_shm"
2055 echo " Wayland Egl................: $have_evas_engine_wayland_egl"
2057 echo "Image Loaders:"
2058 echo " BMP.....................: $have_evas_image_loader_bmp"
2059 echo " EDB.....................: $have_evas_image_loader_edb"
2060 echo " EET.....................: $have_evas_image_loader_eet"
2061 echo " GENERIC.................: $have_evas_image_loader_generic"
2062 echo " GIF.....................: $have_evas_image_loader_gif"
2063 echo " ICO.....................: $have_evas_image_loader_ico"
2064 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
2065 echo " PMAPS...................: $have_evas_image_loader_pmaps"
2066 echo " PNG.....................: $have_evas_image_loader_png"
2067 echo " PSD.....................: $have_evas_image_loader_psd"
2068 echo " SVG.....................: $have_evas_image_loader_svg"
2069 echo " TGA.....................: $have_evas_image_loader_tga"
2070 echo " TIFF....................: $have_evas_image_loader_tiff"
2071 echo " WBMP....................: $have_evas_image_loader_wbmp"
2072 echo " XPM.....................: $have_evas_image_loader_xpm"
2074 echo "Font Sourcing Systems:"
2075 echo " EET.....................: $have_evas_font_loader_eet"
2077 echo "Font Searching Systems:"
2078 echo " Fontconfig..............: $have_fontconfig"
2080 echo "Font Rendering Helpers:"
2081 echo " Fribidi.................: $have_fribidi"
2082 echo " Harfbuzz................: $have_harfbuzz"
2083 echo " liblinebreak............: $have_linebreak"
2084 # FIXME: add non freetype2 font engine support
2085 # FIXME: make freetype2 optional
2087 echo "CPU Specific Extensions:"
2088 echo " Fallback C Code.........: $build_cpu_c"
2089 echo " MMX.....................: $build_cpu_mmx"
2090 echo " SSE.....................: $build_cpu_sse"
2091 echo " SSE3....................: $build_cpu_sse3"
2092 echo " ALTIVEC.................: $build_cpu_altivec"
2093 echo " NEON....................: $build_cpu_neon"
2094 echo " Thread Support..........: $build_pthreads"
2097 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
2098 echo " Cache Server............: $want_evas_cserve"
2099 echo " Cache Server 2..........: $want_evas_cserve2"
2102 dnl ... DISABLED! some testing has shown that this seems to have some
2103 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
2104 dnl disabling this for now until it can be fixed
2106 echo " Threaded Pipe Rendering.: $build_pipe_render"
2107 echo " Async Pipe Rendering....: $build_async_render"
2108 echo " Async Events............: $build_async_events"
2109 echo " Async Image Preload.....: $build_async_preload"
2111 echo " Word Cache..............: $want_word_cache"
2112 echo " Metric Cache............: $want_metric_cache"
2114 echo " Pixman..................: $have_pixman"
2115 echo " Pixman Fonts............: $have_pixman_font"
2116 echo " Pixman Rects............: $have_pixman_rect"
2117 echo " Pixman Lines............: $have_pixman_line"
2118 echo " Pixman Polygons.........: $have_pixman_poly"
2119 echo " Pixman Images...........: $have_pixman_image"
2120 echo " Pixman Image ScaleSample: $have_pixman_image_scale_sample"
2122 echo " Tiled 32BPP rotate......: $have_tile_rotate"
2124 echo "ARGB Software Engine Options:"
2125 echo " Sampling Scaler.........: $scaler_sample"
2126 echo " Smooth Scaler...........: $scaler_smooth"
2127 # FIXME: add an mmx scaler routine
2128 echo " YUV Converter...........: $conv_yuv"
2129 # FIXME: add more YUV format and colorvariant support
2131 echo "ARGB Conversion Options:"
2132 echo " Smaller Dither Mask.....: $conv_small_dither"
2133 echo " Line Dither Mask........: $conv_line_dither"
2134 echo " No Dither Mask for 16bpp: $conv_no_dither"
2135 echo " 8bpp RGB 332............: $conv_8_rgb_332"
2136 echo " 8bpp RGB 666............: $conv_8_rgb_666"
2137 echo " 8bpp RGB 232............: $conv_8_rgb_232"
2138 echo " 8bpp RGB 222............: $conv_8_rgb_222"
2139 echo " 8bpp RGB 221............: $conv_8_rgb_221"
2140 echo " 8bpp RGB 121............: $conv_8_rgb_121"
2141 echo " 8bpp RGB 111............: $conv_8_rgb_111"
2142 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
2143 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
2144 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
2145 # FIXME: add grayscale and B&W support to standard x converters
2146 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
2147 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
2148 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
2149 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
2150 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
2151 # FIXME: add 555 (444 ipaq) support
2152 # FIXME: add 30bpp support
2153 # FIXME: add palletted support (ugh!)
2154 # FIXME: add 8bpp and below rotation
2155 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
2156 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
2157 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
2158 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
2159 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
2160 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
2161 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
2162 # FIXME: add 24bpp rotation
2163 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
2164 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
2165 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
2166 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
2167 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
2168 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
2169 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
2170 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
2171 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
2173 echo "Documentation.............: ${build_doc}"
2174 echo "Examples..................: install:${install_examples} build:${build_examples}"
2175 if test "x${enable_tests}" = "xyes" ; then
2176 echo "Tests.....................: ${enable_tests} (make check)"
2178 echo "Tests.....................: ${enable_tests}"
2180 if test "x${enable_coverage}" = "xyes" ; then
2181 echo "Coverage..................: ${enable_coverage} (make coverage)"
2183 echo "Coverage..................: ${enable_coverage}"
2186 echo "Compilation............: make (or gmake)"
2187 echo " CPPFLAGS.............: $CPPFLAGS"
2188 echo " CFLAGS...............: $CFLAGS"
2189 echo " CXXFLAGS.............: $CXXFLAGS"
2190 echo " LDFLAGS..............: $LDFLAGS"
2192 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
2193 echo " prefix...............: $prefix"
2195 if test "x${have_static_module}" = "xyes" ; then
2196 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
2197 echo " You must know what you are doing, or else you will have a lot of"
2198 echo " problems. And Kenny will be killed."
2199 echo " Think about that."