1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [1])
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"
96 want_evas_engine_buffer="yes"
97 want_evas_engine_software_xlib="no"
98 want_evas_engine_software_xcb="no"
99 want_evas_engine_software_gdi="no"
100 want_evas_engine_software_ddraw="no"
101 want_evas_engine_software_sdl="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 ## strong dependencies
250 PKG_CHECK_MODULES([EINA], [eina >= 1.1.0])
251 CPPFLAGS_SAVE="$CPPFLAGS"
252 CPPFLAGS="$CPPFLAGS $EINA_CFLAGS"
253 AC_CHECK_SIZEOF(Eina_Unicode,, [#include <Eina.h>])
254 CPPFLAGS="$CPPFLAGS_SAVE"
257 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
259 requirement_evas="freetype2 eina >= 1.1.0 ${requirement_evas}"
261 ## optional dependencies
265 AC_ARG_ENABLE([fontconfig],
266 AC_HELP_STRING([--disable-fontconfig],
267 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
269 if test "x${enableval}" = "xyes" ; then
270 want_fontconfig="yes"
277 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
278 PKG_CHECK_MODULES([FONTCONFIG],
279 [fontconfig >= 2.5.0],
281 have_fontconfig="yes"
282 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
283 requirement_evas="fontconfig ${requirement_evas}"
286 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
287 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
295 AC_ARG_ENABLE([liblinebreak],
296 AC_HELP_STRING([--disable-liblinebreak],
297 [disable linking against liblinebreak. @<:@default=enabled@:>@]),
299 if test "x${enableval}" = "xyes" ; then
307 AM_CONDITIONAL(EVAS_USE_LINEBREAK, test "x${want_linebreak}" = "xyes")
308 if test "x${want_linebreak}" = "xyes" ; then
310 LINEBREAK_CFLAGS='-I$(top_srcdir)/src/static_deps/liblinebreak'
311 LINEBREAK_LIBS='$(top_builddir)/src/static_deps/liblinebreak/liblinebreak.la'
312 AC_SUBST(LINEBREAK_CFLAGS)
313 AC_SUBST(LINEBREAK_LIBS)
314 AC_DEFINE(HAVE_LINEBREAK, 1, [have liblinebreak support])
321 AC_ARG_ENABLE([fribidi],
322 AC_HELP_STRING([--disable-fribidi],
323 [disable bidirectional text support. @<:@default=enabled@:>@]),
325 if test "x${enableval}" = "xyes" ; then
332 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
333 PKG_CHECK_MODULES([FRIBIDI],
337 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
338 requirement_evas="fribidi ${requirement_evas}"
339 CPPFLAGS_SAVE="$CPPFLAGS"
340 CPPFLAGS="$CPPFLAGS $FRIBIDI_CFLAGS"
341 AC_CHECK_SIZEOF(FriBidiChar,, [#include <fribidi/fribidi.h>])
342 CPPFLAGS="$CPPFLAGS_SAVE"
345 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
346 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
351 if test "x${have_fribidi}" = "xno"; then
357 have_harfbuzz_ft="no"
358 AC_ARG_ENABLE([harfbuzz],
359 AC_HELP_STRING([--disable-harfbuzz],
360 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
362 if test "x${enableval}" = "xyes" ; then
369 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
370 PKG_CHECK_MODULES([HARFBUZZ],
374 requirement_evas="harfbuzz ${requirement_evas}"
377 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
378 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
381 if test "x$have_harfbuzz" = "xyes" ; then
383 CPPFLAGS_SAVE="$CPPFLAGS"
384 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
385 # must have for usage with harfbuzz although harfbuzz may not have it.
387 AC_CHECK_HEADER(hb-ft.h,
389 have_harfbuzz_ft="yes"
390 #Depend on harfbuzz ft for harfbuzz support
391 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
394 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
395 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
399 CPPFLAGS="$CPPFLAGS_SAVE"
403 if test "x${have_harfbuzz}" = "xno"; then
409 AC_ARG_ENABLE([pixman],
410 AC_HELP_STRING([--enable-pixman],
411 [enable pixman for software rendering. @<:@default=enabled@:>@]),
413 if test "x${enableval}" = "xyes" ; then
421 if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
422 PKG_CHECK_MODULES([PIXMAN],
426 AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
427 requirement_evas="pixman-1 ${requirement_evas}"
430 if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
431 AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
436 have_pixman_font="no"
437 AC_ARG_ENABLE(pixman-font,
438 AC_HELP_STRING([--enable-pixman-font], [Allow pixman to render fonts]),
440 have_pixman_font="yes"
441 AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
445 have_pixman_rect="no"
446 AC_ARG_ENABLE(pixman-rect,
447 AC_HELP_STRING([--enable-pixman-rect], [Allow pixman to render rects]),
449 have_pixman_rect="yes"
450 AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
454 have_pixman_line="no"
455 AC_ARG_ENABLE(pixman-line,
456 AC_HELP_STRING([--enable-pixman-line], [Allow pixman to render lines]),
458 have_pixman_line="yes"
459 AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
463 have_pixman_poly="no"
464 AC_ARG_ENABLE(pixman-poly,
465 AC_HELP_STRING([--enable-pixman-poly], [Allow pixman to render polys]),
467 have_pixman_poly="yes"
468 AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
472 have_pixman_image="no"
473 AC_ARG_ENABLE(pixman-image,
474 AC_HELP_STRING([--enable-pixman-image], [Allow pixman to render images]),
476 have_pixman_image="yes"
477 AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
481 have_pixman_image_scale_sample="no"
482 AC_ARG_ENABLE(pixman-image-scale-sample,
483 AC_HELP_STRING([--enable-pixman-image-scale-sample], [Allow pixman to render sampled scaled images]),
485 have_pixman_image_scale_sample="yes"
486 AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
490 have_tile_rotate="no"
491 AC_ARG_ENABLE(tile-rotate,
492 AC_HELP_STRING([--enable-tile-rotate], [Enable tiled rotate algorithm]),
494 have_tile_rotate="yes"
495 AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
499 ### Checks for header files
501 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h netinet/in.h sys/mman.h])
505 AC_CHECK_TYPES([struct sigaction], [], [],
506 [[#include <signal.h>]])
509 ### Checks for structures
512 ### Checks for compiler characteristics
518 EFL_ATTRIBUTE_ALWAYS_INLINE
521 ### Checks for linker characteristics
522 lt_enable_auto_import=""
525 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
526 lt_enable_auto_import="-Wl,--enable-auto-import"
529 AC_SUBST(lt_enable_auto_import)
532 ### Checks for library functions
535 AC_CHECK_FUNCS([siglongjmp])
541 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
548 AC_DEFINE(HAVE_DLSYM)
551 # nothing on mingw platform
554 AC_CHECK_FUNCS(dlsym, res=yes, res=no)
555 if test "x$res" = "xyes"; then
556 AC_DEFINE(HAVE_DLSYM)
558 AC_CHECK_LIB(dl, dlsym, res=yes, res=no)
559 if test "x$res" = "xyes"; then
561 AC_DEFINE(HAVE_DLSYM)
563 want_evas_engine_gl_xlib="no"
564 want_evas_engine_gl_xcb="no"
565 want_evas_engine_gl_sdl="no"
569 AC_SUBST(dlopen_libs)
572 AC_CHECK_LIB(m, lround, res=yes, res=no)
573 if test "x$res" = "xyes"; then
574 AC_DEFINE(HAVE_LROUND, 1, C99 lround function exists)
578 AC_MSG_CHECKING([whether shm_open() is present])
584 #include <sys/stat.h>
585 #include <sys/mman.h>
590 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
595 AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call])
598 [have_shm_open="no"])
600 AC_MSG_RESULT([${have_shm_open}])
601 AC_SUBST(SHM_OPEN_LINK)
603 # (shm_open (for cache server)
604 AC_ARG_ENABLE([evas-cserve],
605 AC_HELP_STRING([--disable-evas-cserve],
606 [disable shared cache server support. @<:@default=enabled@:>@]),
608 if test "x${enableval}" = "xyes" ; then
609 want_evas_cserve="yes"
611 want_evas_cserve="no"
614 AC_MSG_CHECKING(whether to build shared cache server and support)
615 AC_MSG_RESULT(${want_evas_cserve})
617 if test "x${want_evas_cserve}" = "xyes" ; then
618 AC_MSG_CHECKING([whether shm_open() is present])
624 #include <sys/types.h>
625 #include <sys/mman.h>
630 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
633 [want_evas_cserve="yes"],
634 [want_evas_cserve="no"])
636 AC_MSG_RESULT([${want_evas_cserve}])
639 if test "x${want_evas_cserve}" = "xyes" ; then
640 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
643 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
647 #######################################
648 ## GL force flavor gles
650 AC_MSG_CHECKING(whether to build GLES flavor of GL)
651 AC_ARG_ENABLE(gl-flavor-gles,
652 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles flavor of gl instead of standard]),
654 if test "x$enableval" = "xyes" ; then
667 #######################################
669 gles_variety_sgx="no"
670 AC_MSG_CHECKING(whether to build GLES variety for SGX)
671 AC_ARG_ENABLE(gles-variety-sgx,
672 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
674 if test "x$enableval" = "xyes" ; then
676 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
677 gles_variety_sgx="yes"
680 gles_variety_sgx="no"
684 gles_variety_sgx="no"
688 #######################################
689 ## GLES variety s3c6410
690 gles_variety_s3c6410="no"
691 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
692 AC_ARG_ENABLE(gles-variety-s3c6410,
693 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
695 if test "x$enableval" = "xyes" ; then
697 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
698 gles_variety_s3c6410="yes"
701 gles_variety_s3c6410="no"
705 gles_variety_s3c6410="no"
709 if test "x$gl_flavor_gles" = "xyes"; then
711 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
712 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
713 if test "x$eng" = "xx"; then
717 [Please enable just 1 OpenGL-ES flavor. Choices are:
718 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
719 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
720 You will also need to enable the OpenGL engine for X11 with:
721 --enable-gl-xlib or --enable-gl-xcb
726 #####################################################################
729 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
731 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
733 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
735 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
737 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
739 EVAS_CHECK_ENGINE([psl1ght], [${want_evas_engine_psl1ght}], [no], [PSL1GHT])
741 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [no], [OpenGL SDL])
743 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
745 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [no], [Framebuffer])
747 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
749 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [no], [Software X11 8 bits grayscale])
751 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [no], [Software X11 16 bits])
753 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
755 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
757 EVAS_CHECK_ENGINE([software-16-sdl], [${want_evas_engine_software_16_sdl}], [no], [Software SDL 16 bits])
759 EVAS_CHECK_ENGINE([wayland-shm], [${want_evas_engine_wayland_shm}], [no], [Wayland Shm])
761 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
766 AC_ARG_ENABLE([sdl-primitive],
767 [AC_HELP_STRING([--enable-sdl-primitive], [])],
768 [sdl_primitive=${enableval}]
770 AC_MSG_CHECKING([whether to use SDL primitive when possible])
771 AC_MSG_RESULT([${sdl_primitive}])
773 if test "x${sdl_primitive}" = "xyes" ; then
774 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
777 # if software generic need to be build as part of libevas.so
778 have_static_software_generic="no"
779 AC_ARG_ENABLE([static-software-generic],
780 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
781 [have_static_software_generic=${enableval}]
783 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
784 AC_MSG_RESULT([${have_static_software_generic}])
786 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
787 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
788 have_static_software_generic="yes"
791 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
792 if test "x${have_static_software_generic}" = "xyes"; then
793 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
797 ######## Software Engine ########
798 have_evas_engine_software_x11="no"
799 have_evas_engine_software_xcb="no"
800 have_evas_engine_software_xlib="no"
805 AC_MSG_CHECKING(whether to build Software XCB Engine)
806 AC_ARG_ENABLE(software-xcb,
807 AC_HELP_STRING([--enable-software-xcb], [enable Software XCB Engine. @<:@default=disabled@:>@]), [want_xcb=$enableval]
809 if test "x$want_xcb" != "xno" ; then
810 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
811 if test "x$have_evas_engine_software_xcb" != "xno" ; then
812 build_software_xcb="yes"
813 have_evas_engine_software_x11="yes"
814 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engine])
815 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_XCB, [1], [Build software XCB backend])
819 build_software_xcb="no"
822 ## If we are not building XCB, then we can build XLib ##
824 if test "x$build_software_xcb" = "xno" ; then
825 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [no], [Software Xlib])
826 # if software_x11 is available, define everything needed for X11
827 if test "x$have_evas_engine_software_xlib" != "xno" ; then
828 have_evas_engine_software_x11="yes"
829 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engine])
830 AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_XLIB, [1], [Build software Xlib backend])
833 have_evas_engine_software_xlib="no"
836 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic"; then
837 AC_DEFINE_UNQUOTED(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engine as part of libevas])
840 AC_SUBST(have_evas_engine_software_xcb)
841 AC_SUBST(have_evas_engine_software_xlib)
843 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [test "x${have_evas_engine_software_xlib}" != "xno"])
844 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [test "x${have_evas_engine_software_xcb}" != "xno"])
845 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" != "xno"])
847 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" -o "x${have_evas_engine_software_xlib}" = "xstatic"])
848 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [test "x${have_evas_engine_software_xlib}" = "xstatic"])
849 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [test "x${have_evas_engine_software_xcb}" = "xstatic"])
851 AC_SUBST(have_evas_engine_software_x11)
854 ######## OpenGL Engine ########
855 have_evas_engine_gl_x11="no"
856 have_evas_engine_gl_xcb="no"
861 AC_MSG_CHECKING(whether to build OpenGL XCB Engine)
862 AC_ARG_ENABLE(gl-xcb,
863 AC_HELP_STRING([--enable-gl-xcb], [enable OpenGL XCB Engine. @<:@default=disabled@:>@]), [want_gl_xcb=$enableval]
865 if test "x$want_gl_xcb" = "xyes" ; then
866 EVAS_CHECK_ENGINE([gl-xcb], [${want_evas_engine_gl_xcb}], [no], [OpenGL XCB])
867 if test "x$have_evas_engine_gl_xcb" != "xno" ; then
869 have_evas_engine_gl_x11="yes"
870 AC_DEFINE(BUILD_ENGINE_GL_X11, [1], [Build GL X11 engine])
871 AC_DEFINE(BUILD_ENGINE_GL_XCB, [1], [Build GL Xcb backend])
872 if test "x$have_evas_engine_gl_xcb" = "xstatic" ; then
873 AC_DEFINE(EVAS_STATIC_BUILD_GL_X11, [1], [Build GL X11 engine as part of libevas])
876 AC_SUBST(have_evas_engine_gl_xcb)
882 ## If we are not building XCB, then we can build XLib ##
884 if test "x$build_gl_xcb" = "xno" ; then
885 EVAS_CHECK_ENGINE([gl-xlib], [${want_evas_engine_gl_xlib}], [no], [OpenGL XLib])
886 if test "x$have_evas_engine_gl_xlib" != "xno" ; then
887 have_evas_engine_gl_x11="yes"
888 AC_DEFINE_UNQUOTED(BUILD_ENGINE_GL_X11, [1], [Build OpenGL X11 engine])
889 AC_DEFINE_UNQUOTED(BUILD_ENGINE_GL_XLIB, [1], [Build OpenGL Xlib backend])
890 if test "x$have_evas_engine_gl_xlib" = "xstatic" ; then
891 AC_DEFINE_UNQUOTED(EVAS_STATIC_BUILD_GL_X11, [1], [Build OpenGL X11 engine as part of libevas])
895 have_evas_engine_gl_xlib="no"
897 AC_SUBST(have_evas_engine_gl_xlib)
899 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [test "x${have_evas_engine_gl_xlib}" != "xno"])
900 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [test "x${have_evas_engine_gl_xcb}" != "xno"])
901 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" != "xno"])
903 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" -o "x${have_evas_engine_gl_xlib}" = "xstatic"])
904 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [test "x${have_evas_engine_gl_xlib}" = "xstatic"])
905 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [test "x${have_evas_engine_gl_xcb}" = "xstatic"])
907 AC_SUBST(have_evas_engine_gl_x11)
910 have_evas_engine_gl_common="no"
911 have_static_evas_engine_gl_common="no"
912 if test "x$have_evas_engine_gl_xlib" = "xyes" \
913 || test "x$have_evas_engine_gl_xcb" = "xyes" \
914 || test "x$have_evas_engine_gl_sdl" = "xyes" \
915 || test "x$have_evas_engine_gl_cocoa" = "xyes" \
916 || test "x$have_evas_engine_wayland_egl" = "xyes"; then
917 have_evas_engine_gl_common="yes"
919 if test "x$have_evas_engine_gl_xlib" = "xstatic" \
920 || test "x$have_evas_engine_gl_xcb" = "xstatic" \
921 || test "x$have_evas_engine_gl_sdl" = "xstatic" \
922 || test "x$have_evas_engine_gl_cocoa" = "xstatic" \
923 || test "x$have_evas_engine_wayland_egl" = "xstatic"; then
924 have_evas_engine_gl_common="yes"
925 have_static_evas_engine_gl_common="yes"
928 if test "x$have_evas_engine_gl_common" = "xyes"; then
929 evas_engine_gl_common_libs=""
930 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
933 AC_SUBST([evas_engine_gl_common_libs])
935 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
937 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
938 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
939 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
943 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
944 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
945 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
946 [#include <SDL/SDL_video.h>])
949 if test "x$gl_flavor_gles" = "xyes"; then
950 AC_CHECK_DECL(SDL_OPENGLES,
951 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
952 [#include <SDL/SDL_video.h>])
955 # if software 16 x11 is enabled - build software_16 (the generic 16bit
956 # engine). later enable it fb_16 or other "16" bit engines are enabled.
957 have_evas_engine_software_16="no"
958 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
959 have_evas_engine_software_16="yes"
961 if test "x$have_evas_engine_software_16_sdl" = "xyes" -o "x$have_evas_engine_software_16_sdl" = "xstatic"; then
962 have_evas_engine_software_16="yes"
964 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
965 have_evas_engine_software_16="yes"
967 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
968 have_evas_engine_software_16="yes"
970 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
972 # if software 16 need to be build as part of libevas.so
973 have_static_software_16="no"
974 AC_ARG_ENABLE([static-software-16],
975 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
976 [have_static_software_16=${enableval}]
978 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
979 AC_MSG_RESULT([${have_static_software_16}])
981 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
982 if test "x${have_static_software_16}" = "xyes"; then
983 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
986 # if software 8 x11 is enabled - build software_8 (the generic 8bit
988 have_evas_engine_software_8="no"
989 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
990 have_evas_engine_software_8="yes"
992 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
994 # if software 8 need to be build as part of libevas.so
995 have_static_software_8="no"
996 AC_ARG_ENABLE([static-software-8],
997 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
998 [have_static_software_8=${enableval}]
1000 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
1001 AC_MSG_RESULT([${have_static_software_8}])
1003 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
1004 if test "x${have_static_software_8}" = "xyes"; then
1005 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
1008 #####################################################################
1011 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
1013 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
1014 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
1016 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
1018 have_evas_image_saver_jpeg="no"
1019 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
1021 dnl Windows has no sigsetjmp function, nor equivalent.
1022 dnl So we disable the jpeg saver.
1023 dnl TODO: must find a workaround
1028 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
1029 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
1030 have_evas_image_saver_jpeg="yes"
1034 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
1036 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
1038 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
1040 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
1042 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
1044 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
1046 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
1048 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
1050 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
1052 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
1054 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
1056 EVAS_CHECK_IMAGE_LOADER([GENERIC], [${want_evas_image_loader_generic}])
1058 #####################################################################
1059 ## Cpu based optimizations
1061 #######################################
1068 # basic pthread support
1069 AC_CHECK_HEADER(pthread.h,
1078 # sched_getaffinity pthread_attr_setaffinity_np
1079 AC_CHECK_HEADERS([pthread.h sched.h],
1081 CFLAGS_save="${CFLAGS}"
1082 CFLAGS="${CFLAGS} -pthread"
1084 LIBS="${LIBS} -pthread"
1087 #include <pthread.h>
1091 pthread_attr_setaffinity_np(NULL, 0, NULL);
1092 pthread_barrier_wait(NULL);
1094 [build_pthreads="yes"],
1095 [build_pthreads="no"])
1096 CFLAGS=${CFLAGS_save}
1099 [build_pthreads="no"])
1101 AC_MSG_CHECKING([whether pthread_attr_setaffinity_np() and pthread_barrier_wait() are supported])
1102 AC_MSG_RESULT([${build_pthreads}])
1104 #######################################
1106 AC_MSG_CHECKING(whether to build pthread code)
1107 AC_ARG_ENABLE(pthreads,
1108 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
1110 if test "x$enableval" = "xyes" ; then
1111 if test "x$build_pthreads" = "xyes"; then
1113 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
1114 build_pthreads="yes"
1117 if "x$use_strict" = "xyes"; then
1118 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
1120 AC_MSG_RESULT(no: pthread headers or functions not found)
1129 AC_MSG_RESULT($build_pthreads)
1130 if test "x$build_pthreads" = "xyes" ; then
1131 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
1137 #######################################
1139 build_pipe_render="no"
1141 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
1142 AC_ARG_ENABLE(pipe-render,
1143 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
1144 [ build_pipe_render=$enableval ]
1146 AC_MSG_RESULT($build_pipe_render)
1148 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
1149 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
1151 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
1152 build_pipe_render="yes"
1156 build_pipe_render="no"
1159 #######################################
1161 build_async_render="no"
1163 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
1164 AC_ARG_ENABLE(async-render,
1165 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
1166 [ build_async_render=$enableval ]
1168 AC_MSG_RESULT($build_async_render)
1170 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
1171 if test \( "x$build_async_render" = "xyes" \); then
1173 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
1174 build_async_render="yes"
1175 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
1176 build_pipe_render="yes"
1179 PKG_CHECK_MODULES([XEXT],
1181 [ build_avoid_libXext_bug=yes ],
1182 [ build_avoid_libXext_bug=no ]
1184 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
1185 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
1189 build_async_render="no"
1192 #######################################
1194 build_async_events="auto"
1195 AC_MSG_CHECKING(whether to build Async Events support)
1196 AC_ARG_ENABLE(async-events,
1197 AC_HELP_STRING([--enable-async-events], [enable async events support]),
1198 [ build_async_events=$enableval ]
1200 AC_MSG_RESULT($build_async_events)
1202 AC_MSG_CHECKING(whether we can build Async Events support)
1203 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
1205 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
1206 build_async_events="yes"
1209 build_async_events="no"
1212 #######################################
1213 ## Async image preload
1214 build_async_preload="auto"
1215 AC_MSG_CHECKING(whether to build Async Image Preload support)
1216 AC_ARG_ENABLE(async-preload,
1217 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
1218 [ build_async_preload=$enableval ]
1220 AC_MSG_RESULT($build_async_preload)
1222 AC_MSG_CHECKING(whether we can build Async Image Preload support)
1223 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
1225 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
1226 build_async_preload="yes"
1230 build_async_preload="no"
1233 #######################################
1234 ## Link with pthread if needed
1235 AC_MSG_CHECKING(whether we should link with pthread)
1236 if test "x$need_pthreads" = "xyes"; then
1238 pthread_cflags="-pthread"
1239 pthread_libs="-pthread"
1244 #######################################
1258 AC_MSG_CHECKING(whether to build mmx code)
1259 AC_ARG_ENABLE(cpu-mmx,
1260 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1262 if test "x$enableval" = "xyes" ; then
1264 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1272 AC_MSG_RESULT($build_cpu_mmx)
1273 if test "x$build_cpu_mmx" = "xyes" ; then
1274 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1279 #######################################
1293 AC_MSG_CHECKING(whether to build sse code)
1294 AC_ARG_ENABLE(cpu-sse,
1295 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1297 if test "x$enableval" = "xyes" ; then
1299 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1307 AC_MSG_RESULT($build_cpu_sse)
1308 if test "x$build_cpu_sse" = "xyes" ; then
1309 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1314 #######################################
1319 build_cpu_sse3="yes"
1322 build_cpu_sse3="yes"
1325 build_cpu_sse3="yes"
1328 AC_MSG_CHECKING(whether to build sse3 code)
1329 AC_ARG_ENABLE(cpu-sse3,
1330 AS_HELP_STRING([--enable-cpu-sse3], [enable sse3 code]),
1332 if test "x$enableval" = "xyes" ; then
1333 AC_CHECK_HEADER(immintrin.h,
1336 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
1337 build_cpu_sse3="yes"
1349 AC_MSG_RESULT($build_cpu_sse3)
1350 if test "x$build_cpu_sse3" = "xyes" ; then
1351 AC_CHECK_HEADER(immintrin.h,
1354 AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
1355 build_cpu_sse3="yes"
1366 # as a big warning flag to anyone doing stuff like this...
1367 # NEVER EVER EVER EVER put **OPTIMIZATION** flags in
1368 # build flags in makefiles (from configure or anywhere else)
1369 # EVER as this screws your ability to build 1 binary and
1370 # cover ALL x86 arch's. This is the HEIGHT of WRONG. If the
1371 # person building choses to add optimization flags themselves
1372 # and decide the minimum baseline cpu arch is X then that's
1373 # their business, but NEVER should it be done here. NEVER.
1374 # I now have to do this due to the way this sse3 code was done - using
1375 # intrinsics and "functions" (opcodes) and types that only compile *IF*
1376 # you compile with -msse3. this ALSO tries to optimize REGULAR c code
1377 # with sse3 asm.. and this breaks things so badly. so... sse3 will be
1378 # off until further notice for 32bit x86.
1379 EVAS_SSE3_CFLAGS=" "
1380 if test "x$build_cpu_sse3" = "xyes" ; then
1381 EVAS_SSE3_CFLAGS="-msse3 "
1382 # CFLAGS="${CFLAGS} ${EVAS_SSE3_CFLAGS}"
1386 AC_SUBST(EVAS_SSE3_CFLAGS)
1388 #######################################
1390 build_cpu_altivec="no"
1393 build_cpu_altivec="auto"
1397 AC_MSG_CHECKING(whether to build altivec code)
1398 AC_ARG_ENABLE(cpu-altivec,
1399 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1400 [ build_cpu_altivec=$enableval ],
1402 if test ! "x$build_cpu_altivec" = "xauto"; then
1403 build_cpu_altivec="no"
1407 AC_MSG_RESULT($build_cpu_altivec)
1409 if test "x$build_cpu_altivec" = "xyes"; then
1410 AC_CHECK_HEADER(altivec.h,
1412 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1413 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1414 build_cpu_altivec="yes"
1418 save_CPPFLAGS=$CPPFLAGS
1419 CFLAGS=$CFLAGS" -maltivec"
1420 CPPFLAGS=$CPPFLAGS" -maltivec"
1421 unset ac_cv_header_altivec_h
1422 AC_CHECK_HEADER(altivec.h,
1424 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1425 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1426 build_cpu_altivec="yes"
1429 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1430 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1432 build_cpu_altivec="no"
1436 CPPFLAGS=$save_CPPFLAGS
1441 if test "x$build_cpu_altivec" = "xyes"; then
1442 AC_MSG_CHECKING(whether to use altivec compiler flag)
1443 if test "x$GCC" = "xyes"; then
1444 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1445 altivec_cflags="-faltivec"
1446 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1447 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1448 altivec_cflags="-maltivec"
1449 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1452 AC_MSG_RESULT($altivec_cflags)
1453 CFLAGS="$CFLAGS $altivec_cflags"
1456 #######################################
1461 build_cpu_neon="yes"
1464 AC_MSG_CHECKING(whether to build neon code)
1465 AC_ARG_ENABLE(cpu-neon,
1466 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1467 checked at run time to see if the CPU supports it]),
1469 if test "x$enableval" = "xyes" ; then
1471 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1474 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1475 build_cpu_neon="yes"
1486 if test "x$build_cpu_neon" = "xyes" ; then
1487 AC_TRY_COMPILE([#include <arm_neon.h>],
1488 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1491 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1492 build_cpu_neon="yes"
1501 #######################################
1504 AC_MSG_CHECKING(whether to build c code)
1505 AC_ARG_ENABLE(cpu-c,
1506 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1508 if test "x$enableval" = "xyes" ; then
1510 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1517 AC_MSG_RESULT($build_cpu_c)
1518 if test "x$build_cpu_c" = "xyes" ; then
1519 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1524 #######################################
1526 want_evas_magic_debug="yes"
1527 AC_MSG_CHECKING(whether to check magic for evas object)
1528 AC_ARG_ENABLE(evas-magic-debug,
1530 [--disable-evas-magic-debug],
1531 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1533 [ want_evas_magic_debug="$enableval" ]
1535 AC_MSG_RESULT($want_evas_magic_debug)
1537 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1538 if test "x$want_evas_magic_debug" = "xyes"; then
1539 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1543 #######################################
1545 want_word_cache="no"
1546 AC_MSG_CHECKING(whether to enable caching of rendered words)
1547 AC_ARG_ENABLE(word-cache,
1549 [--enable-word-cache],
1550 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1552 [ want_word_cache="$enableval" ]
1554 AC_MSG_RESULT($want_word_cache)
1556 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1557 if test "x$want_word_cache" = "xyes"; then
1558 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1561 #######################################
1563 want_metric_cache="no"
1564 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1565 AC_ARG_ENABLE(metric-cache,
1567 [--enable-metric-cache],
1568 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1570 [ want_metric_cache="$enableval" ]
1572 AC_MSG_RESULT($want_metric_cache)
1574 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1575 if test "x$want_metric_cache" = "xyes"; then
1576 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1581 #####################################################################
1582 ## ARGB engine options
1584 #######################################
1585 ## Nearest sampling scaler
1586 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1587 ## Smooth super and sub sampling scaler
1588 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1590 #######################################
1591 ## YUV -> ARGB converter
1594 AC_MSG_CHECKING(whether to build yuv converter code)
1595 AC_ARG_ENABLE(convert-yuv,
1596 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1598 if test "x$enableval" = "xyes" ; then
1600 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1607 AC_MSG_RESULT($conv_yuv)
1608 if test "x$conv_yuv" = "xyes" ; then
1609 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1614 #####################################################################
1615 ## Output rendering features
1617 #######################################
1618 ## Small dither mask instead of big one (lower quality)
1619 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1620 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1621 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1622 ## No dither mask at all for 16bpp
1623 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1625 #######################################
1626 ## Convert to 8bpp RGB 332
1627 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1628 ## Convert to 8bpp RGB 666
1629 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1630 ## Convert to 8bpp RGB 232
1631 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1632 ## Convert to 8bpp RGB 222
1633 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1634 ## Convert to 8bpp RGB 221
1635 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1636 ## Convert to 8bpp RGB 121
1637 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1638 ## Convert to 8bpp RGB 111
1639 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1640 ## Convert to 16bpp RGB 565
1641 EVAS_CONVERT_COLOR(16, RGB, 565)
1642 ## Convert to 16bpp BGR 565
1643 EVAS_CONVERT_COLOR(16, BGR, 565)
1644 ## Convert to 16bpp RGB 555
1645 EVAS_CONVERT_COLOR(16, RGB, 555)
1646 ## Convert to 16bpp RGB 444
1647 EVAS_CONVERT_COLOR(16, RGB, 444)
1649 #######################################
1650 ## Convert to 16bpp RGB 565 (444 ipaq)
1651 conv_16_rgb_ipq="yes"
1652 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1653 AC_ARG_ENABLE(convert-16-rgb-ipq,
1654 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1656 if test "x$enableval" = "xyes" ; then
1657 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1658 conv_16_rgb_ipq="yes"
1660 conv_16_rgb_ipq="no"
1663 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1664 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1668 AC_MSG_RESULT($conv_16_rgb_ipq)
1670 #######################################
1671 ## Convert to 16bpp RGB with rotation of 0
1672 EVAS_CONVERT_ROT(16, RGB, 0)
1673 ## Convert to 16bpp RGB with rotation of 180
1674 EVAS_CONVERT_ROT(16, RGB, 180)
1675 ## Convert to 16bpp RGB with rotation of 270
1676 EVAS_CONVERT_ROT(16, RGB, 270)
1677 ## Convert to 16bpp RGB with rotation of 90
1678 EVAS_CONVERT_ROT(16, RGB, 90)
1680 #######################################
1681 ## Convert to 24bpp RGB 888
1682 EVAS_CONVERT_COLOR(24, RGB, 888)
1683 ## Convert to 24bpp BGR 888
1684 EVAS_CONVERT_COLOR(24, BGR, 888)
1685 ## Convert to 32bpp RGB 8888
1686 EVAS_CONVERT_COLOR(32, RGB, 8888)
1687 ## Convert to 32bpp RGBX 8888
1688 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1689 ## Convert to 32bpp BGR 8888
1690 EVAS_CONVERT_COLOR(32, BGR, 8888)
1691 ## Convert to 32bpp BGRX 8888
1692 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1694 #######################################
1695 ## Convert to 24bpp RGB 666 (666 ezx)
1696 conv_24_rgb_ezx="yes"
1697 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1698 AC_ARG_ENABLE(convert-24-rgb-ezx,
1699 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1701 if test "x$enableval" = "xyes" ; then
1702 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1703 conv_24_rgb_ezx="yes"
1705 conv_24_rgb_ezx="no"
1708 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1709 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1713 AC_MSG_RESULT($conv_24_rgb_ezx)
1715 #######################################
1716 ## Convert to 32bpp RGB 666 (666 ezx)
1717 conv_32_rgb_ezx="yes"
1718 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1719 AC_ARG_ENABLE(convert-32-rgb-ezx,
1720 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1722 if test "x$enableval" = "xyes" ; then
1723 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1724 conv_32_rgb_ezx="yes"
1726 conv_32_rgb_ezx="no"
1729 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1730 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1734 AC_MSG_RESULT($conv_32_rgb_ezx)
1736 #######################################
1737 ## Convert to 32bpp RGB with rotation of 0
1738 EVAS_CONVERT_ROT(32, RGB, 0)
1739 ## Convert to 32bpp RGB with rotation of 180
1740 EVAS_CONVERT_ROT(32, RGB, 180)
1741 ## Convert to 32bpp RGB with rotation of 270
1742 EVAS_CONVERT_ROT(32, RGB, 270)
1743 ## Convert to 32bpp RGB with rotation of 90
1744 EVAS_CONVERT_ROT(32, RGB, 90)
1746 #######################################
1747 ## Convert to 8bpp grayscale with 256 value, no palette
1748 EVAS_CONVERT_COLOR(8, GRY, 1)
1749 ## Convert to 8bpp grayscale with 16 value, no palette
1750 EVAS_CONVERT_COLOR(8, GRY, 16)
1752 #######################################
1753 ## Convert to 8bpp grayscale, 64-palette
1754 conv_8_grayscale_64="yes"
1755 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1756 AC_ARG_ENABLE(convert-8-grayscale-64,
1757 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1759 if test "x$enableval" = "xyes"; then
1760 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1761 conv_8_grayscale_64="yes"
1763 conv_8_grayscale_64="no"
1766 if test "x$conv_8_grayscale_64" = "xyes"; then
1767 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1771 AC_MSG_RESULT($conv_8_grayscale_64)
1777 AC_MSG_CHECKING(whether to enable build with valgrind)
1778 AC_ARG_ENABLE(valgrind,
1779 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1780 [ want_valgrind=$enableval ]
1782 AC_MSG_RESULT($want_valgrind)
1784 if test x$want_valgrind = "xyes"; then
1785 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1787 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1789 requirement_evas="valgrind ${requirement_evas}"
1792 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1793 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1801 install_examples="yes"
1802 AC_ARG_ENABLE([install-examples],
1803 AC_HELP_STRING([--disable-install-examples],
1804 [disable installing examples (compiled or just source).
1805 @<:@default==enabled@:>@]),
1807 if test "x${enableval}" = "xyes" ; then
1808 install_examples="yes"
1810 install_examples="no"
1813 [install_examples="yes"])
1814 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1817 AC_ARG_ENABLE([build-examples],
1818 AC_HELP_STRING([--enable-build-examples],
1819 [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@:>@]),
1821 if test "x${enableval}" = "xyes" ; then
1822 build_examples="yes"
1823 # put in here the dependencies for Evas' examples. they are
1824 # meant to be 'real world' usage examples, thus one will be
1825 # using higher level libraries on these programs
1826 PKG_CHECK_MODULES([ECORE_EVAS], [ecore-evas ecore], [], [build_examples="no"])
1827 PKG_CHECK_MODULES([EDJE], [edje],
1828 [edje_cc=$($PKG_CONFIG --variable=prefix edje)/bin/edje_cc],
1829 [build_examples="no"])
1835 [build_examples="no"])
1836 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1838 ## Unit tests, coverage
1840 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
1842 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
1843 EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS}"
1844 EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS}"
1845 if test "x$enable_coverage" = "xyes" ; then
1846 EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_DEBUG_CFLAGS}"
1849 AC_SUBST(EVAS_CFLAGS)
1852 #####################################################################
1855 AC_SUBST(altivec_cflags)
1856 AC_SUBST(pthread_cflags)
1857 AC_SUBST(pthread_libs)
1858 AC_SUBST(requirement_evas)
1861 #####################################################################
1870 evas-opengl-cocoa.pc
1871 evas-software-buffer.pc
1872 evas-software-x11.pc
1873 evas-software-8-x11.pc
1874 evas-software-16-x11.pc
1875 evas-software-gdi.pc
1876 evas-software-ddraw.pc
1877 evas-software-16-ddraw.pc
1879 evas-software-16-wince.pc
1880 evas-software-sdl.pc
1891 src/lib/canvas/Makefile
1892 src/lib/file/Makefile
1893 src/lib/cache/Makefile
1894 src/lib/cserve/Makefile
1895 src/lib/engines/Makefile
1896 src/lib/engines/common/Makefile
1897 src/lib/engines/common/evas_op_add/Makefile
1898 src/lib/engines/common/evas_op_blend/Makefile
1899 src/lib/engines/common/evas_op_copy/Makefile
1900 src/lib/engines/common/evas_op_mask/Makefile
1901 src/lib/engines/common/evas_op_mul/Makefile
1902 src/lib/engines/common/evas_op_sub/Makefile
1903 src/lib/engines/common_8/Makefile
1904 src/lib/engines/common_16/Makefile
1905 src/modules/Makefile
1906 src/modules/engines/Makefile
1907 src/modules/engines/software_generic/Makefile
1908 src/modules/engines/software_gdi/Makefile
1909 src/modules/engines/software_ddraw/Makefile
1910 src/modules/engines/direct3d/Makefile
1911 src/modules/engines/software_16_wince/Makefile
1912 src/modules/engines/software_x11/Makefile
1913 src/modules/engines/fb/Makefile
1914 src/modules/engines/buffer/Makefile
1915 src/modules/engines/directfb/Makefile
1916 src/modules/engines/gl_common/Makefile
1917 src/modules/engines/gl_x11/Makefile
1918 src/modules/engines/gl_sdl/Makefile
1919 src/modules/engines/gl_cocoa/Makefile
1920 src/modules/engines/psl1ght/Makefile
1921 src/modules/engines/software_sdl/Makefile
1922 src/modules/engines/software_8/Makefile
1923 src/modules/engines/software_8_x11/Makefile
1924 src/modules/engines/software_16/Makefile
1925 src/modules/engines/software_16_x11/Makefile
1926 src/modules/engines/software_16_ddraw/Makefile
1927 src/modules/engines/software_16_sdl/Makefile
1928 src/modules/engines/wayland_shm/Makefile
1929 src/modules/engines/wayland_egl/Makefile
1930 src/modules/loaders/Makefile
1931 src/modules/loaders/edb/Makefile
1932 src/modules/loaders/eet/Makefile
1933 src/modules/loaders/gif/Makefile
1934 src/modules/loaders/jpeg/Makefile
1935 src/modules/loaders/png/Makefile
1936 src/modules/loaders/tiff/Makefile
1937 src/modules/loaders/xpm/Makefile
1938 src/modules/loaders/bmp/Makefile
1939 src/modules/loaders/ico/Makefile
1940 src/modules/loaders/tga/Makefile
1941 src/modules/loaders/svg/Makefile
1942 src/modules/loaders/pmaps/Makefile
1943 src/modules/loaders/wbmp/Makefile
1944 src/modules/loaders/psd/Makefile
1945 src/modules/loaders/generic/Makefile
1946 src/modules/savers/Makefile
1947 src/modules/savers/edb/Makefile
1948 src/modules/savers/eet/Makefile
1949 src/modules/savers/jpeg/Makefile
1950 src/modules/savers/png/Makefile
1951 src/modules/savers/tiff/Makefile
1952 src/static_deps/Makefile
1953 src/static_deps/liblinebreak/Makefile
1954 src/lib/include/Makefile
1955 src/examples/Makefile
1960 #####################################################################
1963 if test "x$build_pthreads" = "xno" ; then
1964 if test "x$build_async_render" = "xyes" ; then
1965 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1966 echo " needs thread support."
1969 if test "x$build_pipe_render" = "xyes" ; then
1970 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1971 echo " needs thread support."
1976 if test "x${has_pthreads}" = "xno" ; then
1977 if test "x$build_async_preload" = "xyes" ; then
1978 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1979 echo " needs thread support."
1984 #####################################################################
1990 echo "------------------------------------------------------------------------"
1991 echo "$PACKAGE $VERSION"
1992 echo "------------------------------------------------------------------------"
1994 echo "Configuration Options Summary:"
1997 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1998 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1999 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 (Xlib: $have_evas_engine_gl_xlib) (XCB: $have_evas_engine_gl_xcb) $ECHO_C"
2000 if test "x$have_evas_engine_gl_x11" = "xyes"; then
2001 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
2005 echo " Software GDI...............: $have_evas_engine_software_gdi"
2006 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
2007 echo " Direct3d...................: $have_evas_engine_direct3d"
2008 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
2009 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
2010 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
2011 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
2015 echo " OpenGL Cocoa...............: $have_evas_engine_gl_cocoa"
2016 echo " Software Framebuffer.......: $have_evas_engine_fb"
2017 echo " DirectFB...................: $have_evas_engine_directfb"
2018 echo " PSL1GHT....................: $have_evas_engine_psl1ght"
2019 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
2020 # FIXME: kill software 16bit
2021 echo " Software 16bit ............: $have_evas_engine_software_16"
2022 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
2023 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
2024 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
2025 echo " Software 16bit SDL.........: $have_evas_engine_software_16_sdl (primitive: $sdl_primitive)"
2026 echo " Wayland Shm................: $have_evas_engine_wayland_shm"
2027 echo " Wayland Egl................: $have_evas_engine_wayland_egl"
2029 echo "Image Loaders:"
2030 echo " BMP.....................: $have_evas_image_loader_bmp"
2031 echo " EDB.....................: $have_evas_image_loader_edb"
2032 echo " EET.....................: $have_evas_image_loader_eet"
2033 echo " GENERIC.................: $have_evas_image_loader_generic"
2034 echo " GIF.....................: $have_evas_image_loader_gif"
2035 echo " ICO.....................: $have_evas_image_loader_ico"
2036 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
2037 echo " PMAPS...................: $have_evas_image_loader_pmaps"
2038 echo " PNG.....................: $have_evas_image_loader_png"
2039 echo " PSD.....................: $have_evas_image_loader_psd"
2040 echo " SVG.....................: $have_evas_image_loader_svg"
2041 echo " TGA.....................: $have_evas_image_loader_tga"
2042 echo " TIFF....................: $have_evas_image_loader_tiff"
2043 echo " WBMP....................: $have_evas_image_loader_wbmp"
2044 echo " XPM.....................: $have_evas_image_loader_xpm"
2046 echo "Font Sourcing Systems:"
2047 echo " EET.....................: $have_evas_font_loader_eet"
2049 echo "Font Searching Systems:"
2050 echo " Fontconfig..............: $have_fontconfig"
2052 echo "Font Rendering Helpers:"
2053 echo " Fribidi.................: $have_fribidi"
2054 echo " Harfbuzz................: $have_harfbuzz"
2055 echo " liblinebreak............: $have_linebreak"
2056 # FIXME: add non freetype2 font engine support
2057 # FIXME: make freetype2 optional
2059 echo "CPU Specific Extensions:"
2060 echo " Fallback C Code.........: $build_cpu_c"
2061 echo " MMX.....................: $build_cpu_mmx"
2062 echo " SSE.....................: $build_cpu_sse"
2063 echo " SSE3....................: $build_cpu_sse3"
2064 echo " ALTIVEC.................: $build_cpu_altivec"
2065 echo " NEON....................: $build_cpu_neon"
2066 echo " Thread Support..........: $build_pthreads"
2069 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
2070 echo " Cache Server............: $want_evas_cserve"
2073 dnl ... DISABLED! some testing has shown that this seems to have some
2074 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
2075 dnl disabling this for now until it can be fixed
2077 echo " Threaded Pipe Rendering.: $build_pipe_render"
2078 echo " Async Pipe Rendering....: $build_async_render"
2079 echo " Async Events............: $build_async_events"
2080 echo " Async Image Preload.....: $build_async_preload"
2082 echo " Word Cache..............: $want_word_cache"
2083 echo " Metric Cache............: $want_metric_cache"
2085 echo " Pixman..................: $have_pixman"
2086 echo " Pixman Fonts............: $have_pixman_font"
2087 echo " Pixman Rects............: $have_pixman_rect"
2088 echo " Pixman Lines............: $have_pixman_line"
2089 echo " Pixman Polygons.........: $have_pixman_poly"
2090 echo " Pixman Images...........: $have_pixman_image"
2091 echo " Pixman Image ScaleSample: $have_pixman_image_scale_sample"
2093 echo " Tiled 32BPP rotate......: $have_tile_rotate"
2095 echo "ARGB Software Engine Options:"
2096 echo " Sampling Scaler.........: $scaler_sample"
2097 echo " Smooth Scaler...........: $scaler_smooth"
2098 # FIXME: add an mmx scaler routine
2099 echo " YUV Converter...........: $conv_yuv"
2100 # FIXME: add more YUV format and colorvariant support
2102 echo "ARGB Conversion Options:"
2103 echo " Smaller Dither Mask.....: $conv_small_dither"
2104 echo " Line Dither Mask........: $conv_line_dither"
2105 echo " No Dither Mask for 16bpp: $conv_no_dither"
2106 echo " 8bpp RGB 332............: $conv_8_rgb_332"
2107 echo " 8bpp RGB 666............: $conv_8_rgb_666"
2108 echo " 8bpp RGB 232............: $conv_8_rgb_232"
2109 echo " 8bpp RGB 222............: $conv_8_rgb_222"
2110 echo " 8bpp RGB 221............: $conv_8_rgb_221"
2111 echo " 8bpp RGB 121............: $conv_8_rgb_121"
2112 echo " 8bpp RGB 111............: $conv_8_rgb_111"
2113 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
2114 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
2115 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
2116 # FIXME: add grayscale and B&W support to standard x converters
2117 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
2118 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
2119 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
2120 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
2121 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
2122 # FIXME: add 555 (444 ipaq) support
2123 # FIXME: add 30bpp support
2124 # FIXME: add palletted support (ugh!)
2125 # FIXME: add 8bpp and below rotation
2126 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
2127 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
2128 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
2129 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
2130 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
2131 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
2132 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
2133 # FIXME: add 24bpp rotation
2134 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
2135 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
2136 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
2137 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
2138 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
2139 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
2140 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
2141 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
2142 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
2144 echo "Documentation.............: ${build_doc}"
2145 echo "Examples..................: install:${install_examples} build:${build_examples}"
2146 if test "x${enable_tests}" = "xyes" ; then
2147 echo "Tests.....................: ${enable_tests} (make check)"
2149 echo "Tests.....................: ${enable_tests}"
2151 if test "x${enable_coverage}" = "xyes" ; then
2152 echo "Coverage..................: ${enable_coverage} (make coverage)"
2154 echo "Coverage..................: ${enable_coverage}"
2157 echo "Compilation............: make (or gmake)"
2158 echo " CPPFLAGS.............: $CPPFLAGS"
2159 echo " CFLAGS...............: $CFLAGS"
2160 echo " CXXFLAGS.............: $CXXFLAGS"
2161 echo " LDFLAGS..............: $LDFLAGS"
2163 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
2164 echo " prefix...............: $prefix"
2166 if test "x${have_static_module}" = "xyes" ; then
2167 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
2168 echo " You must know what you are doing, or else you will have a lot of"
2169 echo " problems. And Kenny will be killed."
2170 echo " Think about that."