1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [999])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##-- When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##-- When doing snapshots - change soname. remove dnl on below line
11 dnl m4_define([relname], [ver-pre-svn-07])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
22 # Check whether the Objective C compiler works.
23 AC_DEFUN([rw_PROG_OBJC_WORKS],
24 [m4_ifdef([AC_PROG_OBJC], [AC_REQUIRE([AC_PROG_OBJC])dnl
25 AC_CACHE_CHECK([whether the Objective C compiler works],
26 [rw_cv_prog_objc_works],
27 [AC_LANG_PUSH([Objective C])
28 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
29 [rw_cv_prog_objc_works=yes],
30 [rw_cv_prog_objc_works=no])
31 AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
34 AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
39 AC_CONFIG_HEADERS([config.h])
41 #ifndef EFL_CONFIG_H__
42 #define EFL_CONFIG_H__
45 #endif /* EFL_CONFIG_H__ */
48 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
49 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
54 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
57 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
59 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
60 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
61 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
62 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
63 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
64 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
65 version_info="lt_cur:lt_rev:lt_age"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
74 ### Needed information
81 MODULE_ARCH="$host_os-$host_cpu"
84 MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
90 want_fontconfig="auto"
94 want_evas_cserve="yes"
96 want_evas_engine_buffer="yes"
97 want_evas_engine_software_xlib="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_software_xcb="no"
101 want_evas_engine_software_gdi="no"
102 want_evas_engine_software_ddraw="no"
103 want_evas_engine_direct3d="no"
104 want_evas_engine_software_sdl="no"
105 want_evas_engine_fb="no"
106 want_evas_engine_directfb="no"
107 want_evas_engine_software_8_x11="no"
108 want_evas_engine_software_16_x11="no"
109 want_evas_engine_software_16_ddraw="no"
110 want_evas_engine_software_16_wince="no"
112 want_evas_image_loader_edb="yes"
113 want_evas_image_loader_eet="yes"
114 want_evas_image_loader_gif="yes"
115 want_evas_image_loader_jpeg="yes"
116 want_evas_image_loader_pmaps="yes"
117 want_evas_image_loader_png="yes"
118 want_evas_image_loader_svg="yes"
119 want_evas_image_loader_tiff="yes"
120 want_evas_image_loader_xpm="yes"
121 want_evas_image_loader_bmp="yes"
122 want_evas_image_loader_tga="yes"
123 want_evas_image_loader_wbmp="yes"
124 want_evas_image_loader_ico="yes"
125 want_evas_image_loader_psd="yes"
126 want_evas_image_loader_generic="yes"
128 want_evas_font_loader_eet="yes"
133 want_evas_engine_software_16_wince="yes"
134 want_evas_image_loader_edb="no"
135 want_evas_image_loader_gif="no"
136 want_evas_image_loader_svg="no"
137 want_evas_image_loader_tiff="no"
140 want_evas_engine_software_gdi="yes"
141 want_evas_engine_software_ddraw="yes"
142 want_evas_engine_direct3d="yes"
143 want_evas_engine_software_16_ddraw="yes"
144 want_evas_image_loader_edb="no"
145 want_evas_image_loader_svg="no"
148 want_evas_engine_software_xlib="auto"
151 want_evas_engine_software_xlib="auto"
152 want_evas_engine_gl_x11="auto"
153 want_evas_engine_fb="auto"
154 ### no - not ready/usable/complete
155 # want_evas_engine_software_8_x11="auto"
156 # want_evas_engine_software_16_x11="auto"
163 ### Additional options to configure
165 # when used, that option makes configure script fails when
166 # a requirement is selected, but not met.
168 AC_ARG_ENABLE([strict],
169 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
173 # Simple X11 build/link
174 AC_ARG_ENABLE([simple-x11],
175 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
177 if test "x${enableval}" = "xyes" ; then
178 want_evas_simple_x11="yes"
180 want_evas_simple_x11="no"
185 ### Checks for programs
187 m4_ifdef([AC_PROG_OBJC],
190 _AM_DEPENDENCIES(OBJC)
193 dnl#AC_CHECK_TOOL([OBJC], [gcc])
195 dnl#AC_SUBST([OBJCFLAGS])
206 # Check whether pkg-config supports Requires.private
207 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
208 pkgconfig_requires_private="Requires.private"
210 pkgconfig_requires_private="Requires"
212 AC_SUBST(pkgconfig_requires_private)
214 # doxygen program for documentation building
215 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
218 ### Checks for libraries
220 # Evil library for compilation on Windows CE
224 PKG_CHECK_MODULES([EVIL], [evil])
225 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
226 requirement_evas="evil ${requirement_evas}"
230 ## strong dependencies
233 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
236 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
238 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
240 ## optional dependencies
244 AC_ARG_ENABLE([fontconfig],
245 AC_HELP_STRING([--disable-fontconfig],
246 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
248 if test "x${enableval}" = "xyes" ; then
249 want_fontconfig="yes"
256 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
257 PKG_CHECK_MODULES([FONTCONFIG],
260 have_fontconfig="yes"
261 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
262 requirement_evas="fontconfig ${requirement_evas}"
265 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
266 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
273 AC_ARG_ENABLE([fribidi],
274 AC_HELP_STRING([--disable-fribidi],
275 [disable bidirectional text support. @<:@default=enabled@:>@]),
277 if test "x${enableval}" = "xyes" ; then
284 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
285 PKG_CHECK_MODULES([FRIBIDI],
289 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
290 requirement_evas="fribidi ${requirement_evas}"
293 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
294 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
299 if test "x${have_fribidi}" = "xno"; then
305 have_harfbuzz_glib="no"
306 have_harfbuzz_ft="no"
307 AC_ARG_ENABLE([harfbuzz],
308 AC_HELP_STRING([--disable-harfbuzz],
309 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
311 if test "x${enableval}" = "xyes" ; then
318 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
319 PKG_CHECK_MODULES([HARFBUZZ],
323 requirement_evas="harfbuzz ${requirement_evas}"
326 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
327 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
330 if test "x$have_harfbuzz" = "xyes" ; then
332 CPPFLAGS_SAVE="$CPPFLAGS"
333 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
334 # must have for usage with harfbuzz although harfbuzz may not have it.
336 AC_CHECK_HEADER(hb-ft.h,
338 have_harfbuzz_ft="yes"
339 #Depend on harfbuzz ft for harfbuzz support
340 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
343 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
344 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
348 # nice to have if harfbuzz has it
349 AC_CHECK_HEADER(hb-glib.h,
351 have_harfbuzz_glib="yes"
352 AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
355 have_harfbuzz_glib="no"
357 CPPFLAGS="$CPPFLAGS_SAVE"
361 if test "x${have_harfbuzz}" = "xno"; then
367 AC_ARG_ENABLE([pixman],
368 AC_HELP_STRING([--disable-pixman],
369 [disable pixman for software rendering. @<:@default=enabled@:>@]),
371 if test "x${enableval}" = "xyes" ; then
379 if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
380 PKG_CHECK_MODULES([PIXMAN],
384 AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
385 requirement_evas="pixman-1 ${requirement_evas}"
388 if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
389 AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
394 ### Checks for header files
396 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
404 ### Checks for structures
407 ### Checks for compiler characteristics
416 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
419 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
422 AC_SUBST(WIN32_CPPFLAGS)
427 WIN32_CFLAGS="-mwin32"
430 AC_SUBST(WIN32_CFLAGS)
433 ### Checks for linker characteristics
434 lt_enable_auto_import=""
437 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
438 lt_enable_auto_import="-Wl,--enable-auto-import"
441 AC_SUBST(lt_enable_auto_import)
444 ### Checks for library functions
452 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
459 AC_DEFINE(HAVE_DLADDR)
462 # nothing on mingw platform
465 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
466 if test "x$res" = "xyes"; then
467 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
469 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
470 if test "x$res" = "xyes"; then
471 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
474 AC_MSG_ERROR(Cannot find dlopen)
478 AC_SUBST(dlopen_libs)
481 AC_MSG_CHECKING([whether shm_open() is present])
487 #include <sys/types.h>
488 #include <sys/mman.h>
493 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
498 AC_DEFINE(HAVE_SHM_OPEN, 1, [Have shm_open() call])
501 [have_shm_open="no"])
503 AC_MSG_RESULT([${have_shm_open}])
504 AC_SUBST(SHM_OPEN_LINK)
506 # (shm_open (for cache server)
507 AC_ARG_ENABLE([evas-cserve],
508 AC_HELP_STRING([--disable-evas-cserve],
509 [disable shared cache server support. @<:@default=enabled@:>@]),
511 if test "x${enableval}" = "xyes" ; then
512 want_evas_cserve="yes"
514 want_evas_cserve="no"
517 AC_MSG_CHECKING(whether to build shared cache server and support)
518 AC_MSG_RESULT(${want_evas_cserve})
520 if test "x${want_evas_cserve}" = "xyes" ; then
521 AC_MSG_CHECKING([whether shm_open() is present])
527 #include <sys/types.h>
528 #include <sys/mman.h>
533 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
536 [want_evas_cserve="yes"],
537 [want_evas_cserve="no"])
539 AC_MSG_RESULT([${want_evas_cserve}])
542 if test "x${want_evas_cserve}" = "xyes" ; then
543 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
546 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
550 #######################################
551 ## GL force flavor gles
553 AC_MSG_CHECKING(whether to build GLES flavor of GL)
554 AC_ARG_ENABLE(gl-flavor-gles,
555 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
557 if test "x$enableval" = "xyes" ; then
570 #######################################
572 gles_variety_sgx="no"
573 AC_MSG_CHECKING(whether to build GLES variety for SGX)
574 AC_ARG_ENABLE(gles-variety-sgx,
575 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
577 if test "x$enableval" = "xyes" ; then
579 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
580 gles_variety_sgx="yes"
583 gles_variety_sgx="no"
587 gles_variety_sgx="no"
591 #######################################
592 ## GLES variety s3c6410
593 gles_variety_s3c6410="no"
594 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
595 AC_ARG_ENABLE(gles-variety-s3c6410,
596 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
598 if test "x$enableval" = "xyes" ; then
600 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
601 gles_variety_s3c6410="yes"
604 gles_variety_s3c6410="no"
608 gles_variety_s3c6410="no"
612 if test "x$gl_flavor_gles" = "xyes"; then
614 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
615 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
616 if test "x$eng" = "xx"; then
620 [Please enable just 1 OpenGL-ES flavor. Choices are:
621 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
622 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
623 You will also need to enable the OpenGL engine for X11 with:
629 #####################################################################
632 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
634 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
636 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
638 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
640 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
642 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
644 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
646 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
648 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
650 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
652 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
654 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
656 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
658 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
660 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
663 have_evas_engine_gl_common="no"
664 have_static_evas_engine_gl_common="no"
665 if test "x$have_evas_engine_gl_x11" = "xyes" \
666 || test "x$have_evas_engine_gl_sdl" = "xyes"; then
667 have_evas_engine_gl_common="yes"
669 if test "x$have_evas_engine_gl_x11" = "xstatic" \
670 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
671 have_evas_engine_gl_common="yes"
672 have_static_evas_engine_gl_common="yes"
675 if test "x$have_evas_engine_gl_common" = "xyes"; then
676 evas_engine_gl_common_libs=""
677 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
680 AC_SUBST([evas_engine_gl_common_libs])
682 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
684 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
685 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
686 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
690 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
691 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
692 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
693 [#include <SDL/SDL_video.h>])
696 if test "x$gl_flavor_gles" = "xyes"; then
697 AC_CHECK_DECL(SDL_OPENGLES,
698 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
699 [#include <SDL/SDL_video.h>])
705 AC_ARG_ENABLE([sdl-primitive],
706 [AC_HELP_STRING([--enable-sdl-primitive], [])],
707 [sdl_primitive=${enableval}]
709 AC_MSG_CHECKING([whether to use SDL primitive when possible])
710 AC_MSG_RESULT([${sdl_primitive}])
712 if test "x${sdl_primitive}" = "xyes" ; then
713 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
716 # if software generic need to be build as part of libevas.so
717 have_static_software_generic="no"
718 AC_ARG_ENABLE([static-software-generic],
719 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
720 [have_static_software_generic=${enableval}]
722 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
723 AC_MSG_RESULT([${have_static_software_generic}])
725 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
726 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
727 have_static_software_generic="yes"
730 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
731 if test "x${have_static_software_generic}" = "xyes"; then
732 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
735 # if software_xlib or software_xcb are available, define everything needed for X11
736 have_evas_engine_software_x11="no"
737 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
738 have_evas_engine_software_x11="static"
740 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
741 have_evas_engine_software_x11="yes"
745 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
746 have_evas_engine_software_xlib="yes"
749 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
750 have_evas_engine_software_xcb="yes"
753 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
754 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
757 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
758 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
761 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
762 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
764 AC_SUBST(have_evas_engine_software_xlib)
765 AC_SUBST(have_evas_engine_software_xcb)
767 # if software 16 x11 is enabled - build software_16 (the generic 16bit
768 # engine). later enable it fb_16 or other "16" bit engines are enabled.
769 have_evas_engine_software_16="no"
770 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
771 have_evas_engine_software_16="yes"
773 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
774 have_evas_engine_software_16="yes"
776 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
777 have_evas_engine_software_16="yes"
779 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
780 have_evas_engine_software_16="yes"
782 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
784 # if software 16 need to be build as part of libevas.so
785 have_static_software_16="no"
786 AC_ARG_ENABLE([static-software-16],
787 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
788 [have_static_software_16=${enableval}]
790 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
791 AC_MSG_RESULT([${have_static_software_16}])
793 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
794 if test "x${have_static_software_16}" = "xyes"; then
795 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
798 # if software 8 x11 is enabled - build software_8 (the generic 8bit
800 have_evas_engine_software_8="no"
801 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
802 have_evas_engine_software_8="yes"
804 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
806 # if software 8 need to be build as part of libevas.so
807 have_static_software_8="no"
808 AC_ARG_ENABLE([static-software-8],
809 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
810 [have_static_software_8=${enableval}]
812 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
813 AC_MSG_RESULT([${have_static_software_8}])
815 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
816 if test "x${have_static_software_8}" = "xyes"; then
817 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
820 #####################################################################
823 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
825 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
826 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
828 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
830 have_evas_image_saver_jpeg="no"
831 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
833 dnl Windows has no sigsetjmp function, nor equivalent.
834 dnl So we disable the jpeg saver.
835 dnl TODO: must find a workaround
840 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
841 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
842 have_evas_image_saver_jpeg="yes"
846 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
848 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
850 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
852 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
854 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
856 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
858 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
860 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
862 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
864 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
866 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
868 EVAS_CHECK_IMAGE_LOADER([GENERIC], [${want_evas_image_loader_generic}])
870 #####################################################################
871 ## Cpu based optimizations
873 #######################################
880 # basic pthread support
881 AC_CHECK_HEADER(pthread.h,
890 # sched_getaffinity pthread_attr_setaffinity_np
891 AC_CHECK_HEADERS(pthread.h sched.h,
893 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
895 AC_CHECK_LIB(pthread, pthread_barrier_wait,
896 [ build_pthreads="yes" ],
897 [ build_pthreads="no" ]
900 [ build_pthreads="no" ]
903 [ build_pthreads="no" ]
906 #######################################
908 AC_MSG_CHECKING(whether to build pthread code)
909 AC_ARG_ENABLE(pthreads,
910 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
912 if test "x$enableval" = "xyes" ; then
913 if test "x$build_pthreads" = "xyes"; then
915 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
919 if "x$use_strict" = "xyes"; then
920 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
922 AC_MSG_RESULT(no: pthread headers or functions not found)
931 AC_MSG_RESULT($build_pthreads)
932 if test "x$build_pthreads" = "xyes" ; then
933 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
939 #######################################
941 build_pipe_render="no"
943 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
944 AC_ARG_ENABLE(pipe-render,
945 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
946 [ build_pipe_render=$enableval ]
948 AC_MSG_RESULT($build_pipe_render)
950 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
951 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
953 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
954 build_pipe_render="yes"
958 build_pipe_render="no"
961 #######################################
963 build_async_render="no"
965 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
966 AC_ARG_ENABLE(async-render,
967 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
968 [ build_async_render=$enableval ]
970 AC_MSG_RESULT($build_async_render)
972 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
973 if test \( "x$build_async_render" = "xyes" \); then
975 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
976 build_async_render="yes"
977 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
978 build_pipe_render="yes"
981 PKG_CHECK_MODULES([XEXT],
983 [ build_avoid_libXext_bug=yes ],
984 [ build_avoid_libXext_bug=no ]
986 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
987 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
991 build_async_render="no"
994 #######################################
996 build_async_events="auto"
997 AC_MSG_CHECKING(whether to build Async Events support)
998 AC_ARG_ENABLE(async-events,
999 AC_HELP_STRING([--enable-async-events], [enable async events support]),
1000 [ build_async_events=$enableval ]
1002 AC_MSG_RESULT($build_async_events)
1004 AC_MSG_CHECKING(whether we can build Async Events support)
1005 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
1007 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
1008 build_async_events="yes"
1011 build_async_events="no"
1014 #######################################
1015 ## Async image preload
1016 build_async_preload="auto"
1017 AC_MSG_CHECKING(whether to build Async Image Preload support)
1018 AC_ARG_ENABLE(async-preload,
1019 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
1020 [ build_async_preload=$enableval ]
1022 AC_MSG_RESULT($build_async_preload)
1024 AC_MSG_CHECKING(whether we can build Async Image Preload support)
1025 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
1027 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
1028 build_async_preload="yes"
1032 build_async_preload="no"
1035 #######################################
1036 ## Link with pthread if needed
1037 AC_MSG_CHECKING(whether we should link with pthread)
1038 if test "x$need_pthreads" = "xyes"; then
1041 pthread_libs="-lpthread"
1046 #######################################
1060 AC_MSG_CHECKING(whether to build mmx code)
1061 AC_ARG_ENABLE(cpu-mmx,
1062 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1064 if test "x$enableval" = "xyes" ; then
1066 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1074 AC_MSG_RESULT($build_cpu_mmx)
1075 if test "x$build_cpu_mmx" = "xyes" ; then
1076 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1081 #######################################
1095 AC_MSG_CHECKING(whether to build sse code)
1096 AC_ARG_ENABLE(cpu-sse,
1097 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1099 if test "x$enableval" = "xyes" ; then
1101 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1109 AC_MSG_RESULT($build_cpu_sse)
1110 if test "x$build_cpu_sse" = "xyes" ; then
1111 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1116 #######################################
1118 build_cpu_altivec="no"
1121 build_cpu_altivec="auto"
1125 AC_MSG_CHECKING(whether to build altivec code)
1126 AC_ARG_ENABLE(cpu-altivec,
1127 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1128 [ build_cpu_altivec=$enableval ],
1130 if test ! "x$build_cpu_altivec" = "xauto"; then
1131 build_cpu_altivec="no"
1135 AC_MSG_RESULT($build_cpu_altivec)
1137 if test "x$build_cpu_altivec" = "xyes"; then
1138 AC_CHECK_HEADER(altivec.h,
1140 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1141 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1142 build_cpu_altivec="yes"
1146 save_CPPFLAGS=$CPPFLAGS
1147 CFLAGS=$CFLAGS" -maltivec"
1148 CPPFLAGS=$CPPFLAGS" -maltivec"
1149 unset ac_cv_header_altivec_h
1150 AC_CHECK_HEADER(altivec.h,
1152 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1153 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1154 build_cpu_altivec="yes"
1157 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1158 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1160 build_cpu_altivec="no"
1164 CPPFLAGS=$save_CPPFLAGS
1169 if test "x$build_cpu_altivec" = "xyes"; then
1170 AC_MSG_CHECKING(whether to use altivec compiler flag)
1171 if test "x$GCC" = "xyes"; then
1172 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1173 altivec_cflags="-faltivec"
1174 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1175 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1176 altivec_cflags="-maltivec"
1177 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1180 AC_MSG_RESULT($altivec_cflags)
1181 CFLAGS="$CFLAGS $altivec_cflags"
1184 #######################################
1189 build_cpu_neon="yes"
1192 AC_MSG_CHECKING(whether to build neon code)
1193 AC_ARG_ENABLE(cpu-neon,
1194 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1195 checked at run time to see if the CPU supports it]),
1197 if test "x$enableval" = "xyes" ; then
1199 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1202 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1203 build_cpu_neon="yes"
1214 if test "x$build_cpu_neon" = "xyes" ; then
1215 AC_TRY_COMPILE([#include <arm_neon.h>],
1216 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1219 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1220 build_cpu_neon="yes"
1229 #######################################
1232 AC_MSG_CHECKING(whether to build c code)
1233 AC_ARG_ENABLE(cpu-c,
1234 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1236 if test "x$enableval" = "xyes" ; then
1238 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1245 AC_MSG_RESULT($build_cpu_c)
1246 if test "x$build_cpu_c" = "xyes" ; then
1247 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1252 #######################################
1254 want_evas_magic_debug="yes"
1255 AC_MSG_CHECKING(whether to check magic for evas object)
1256 AC_ARG_ENABLE(evas-magic-debug,
1258 [--disable-evas-magic-debug],
1259 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1261 [ want_evas_magic_debug="$enableval" ]
1263 AC_MSG_RESULT($want_evas_magic_debug)
1265 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1266 if test "x$want_evas_magic_debug" = "xyes"; then
1267 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1271 #######################################
1273 want_word_cache="no"
1274 AC_MSG_CHECKING(whether to enable caching of rendered words)
1275 AC_ARG_ENABLE(word-cache,
1277 [--enable-word-cache],
1278 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1280 [ want_word_cache="$enableval" ]
1282 AC_MSG_RESULT($want_word_cache)
1284 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1285 if test "x$want_word_cache" = "xyes"; then
1286 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1289 #######################################
1291 want_metric_cache="no"
1292 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1293 AC_ARG_ENABLE(metric-cache,
1295 [--enable-metric-cache],
1296 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1298 [ want_metric_cache="$enableval" ]
1300 AC_MSG_RESULT($want_metric_cache)
1302 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1303 if test "x$want_metric_cache" = "xyes"; then
1304 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1309 #####################################################################
1310 ## ARGB engine options
1312 #######################################
1313 ## Nearest sampling scaler
1314 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1315 ## Smooth super and sub sampling scaler
1316 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1318 #######################################
1319 ## YUV -> ARGB converter
1322 AC_MSG_CHECKING(whether to build yuv converter code)
1323 AC_ARG_ENABLE(convert-yuv,
1324 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1326 if test "x$enableval" = "xyes" ; then
1328 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1335 AC_MSG_RESULT($conv_yuv)
1336 if test "x$conv_yuv" = "xyes" ; then
1337 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1342 #####################################################################
1343 ## Output rendering features
1345 #######################################
1346 ## Small dither mask instead of big one (lower quality)
1347 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1348 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1349 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1350 ## No dither mask at all for 16bpp
1351 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1353 #######################################
1354 ## Convert to 8bpp RGB 332
1355 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1356 ## Convert to 8bpp RGB 666
1357 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1358 ## Convert to 8bpp RGB 232
1359 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1360 ## Convert to 8bpp RGB 222
1361 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1362 ## Convert to 8bpp RGB 221
1363 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1364 ## Convert to 8bpp RGB 121
1365 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1366 ## Convert to 8bpp RGB 111
1367 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1368 ## Convert to 16bpp RGB 565
1369 EVAS_CONVERT_COLOR(16, RGB, 565)
1370 ## Convert to 16bpp BGR 565
1371 EVAS_CONVERT_COLOR(16, BGR, 565)
1372 ## Convert to 16bpp RGB 555
1373 EVAS_CONVERT_COLOR(16, RGB, 555)
1374 ## Convert to 16bpp RGB 444
1375 EVAS_CONVERT_COLOR(16, RGB, 444)
1377 #######################################
1378 ## Convert to 16bpp RGB 565 (444 ipaq)
1379 conv_16_rgb_ipq="yes"
1380 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1381 AC_ARG_ENABLE(convert-16-rgb-ipq,
1382 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1384 if test "x$enableval" = "xyes" ; then
1385 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1386 conv_16_rgb_ipq="yes"
1388 conv_16_rgb_ipq="no"
1391 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1392 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1396 AC_MSG_RESULT($conv_16_rgb_ipq)
1398 #######################################
1399 ## Convert to 16bpp RGB with rotation of 0
1400 EVAS_CONVERT_ROT(16, RGB, 0)
1401 ## Convert to 16bpp RGB with rotation of 180
1402 EVAS_CONVERT_ROT(16, RGB, 180)
1403 ## Convert to 16bpp RGB with rotation of 270
1404 EVAS_CONVERT_ROT(16, RGB, 270)
1405 ## Convert to 16bpp RGB with rotation of 90
1406 EVAS_CONVERT_ROT(16, RGB, 90)
1408 #######################################
1409 ## Convert to 24bpp RGB 888
1410 EVAS_CONVERT_COLOR(24, RGB, 888)
1411 ## Convert to 24bpp BGR 888
1412 EVAS_CONVERT_COLOR(24, BGR, 888)
1413 ## Convert to 32bpp RGB 8888
1414 EVAS_CONVERT_COLOR(32, RGB, 8888)
1415 ## Convert to 32bpp RGBX 8888
1416 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1417 ## Convert to 32bpp BGR 8888
1418 EVAS_CONVERT_COLOR(32, BGR, 8888)
1419 ## Convert to 32bpp BGRX 8888
1420 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1422 #######################################
1423 ## Convert to 24bpp RGB 666 (666 ezx)
1424 conv_24_rgb_ezx="yes"
1425 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1426 AC_ARG_ENABLE(convert-24-rgb-ezx,
1427 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1429 if test "x$enableval" = "xyes" ; then
1430 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1431 conv_24_rgb_ezx="yes"
1433 conv_24_rgb_ezx="no"
1436 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1437 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1441 AC_MSG_RESULT($conv_24_rgb_ezx)
1443 #######################################
1444 ## Convert to 32bpp RGB 666 (666 ezx)
1445 conv_32_rgb_ezx="yes"
1446 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1447 AC_ARG_ENABLE(convert-32-rgb-ezx,
1448 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1450 if test "x$enableval" = "xyes" ; then
1451 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1452 conv_32_rgb_ezx="yes"
1454 conv_32_rgb_ezx="no"
1457 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1458 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1462 AC_MSG_RESULT($conv_32_rgb_ezx)
1464 #######################################
1465 ## Convert to 32bpp RGB with rotation of 0
1466 EVAS_CONVERT_ROT(32, RGB, 0)
1467 ## Convert to 32bpp RGB with rotation of 180
1468 EVAS_CONVERT_ROT(32, RGB, 180)
1469 ## Convert to 32bpp RGB with rotation of 270
1470 EVAS_CONVERT_ROT(32, RGB, 270)
1471 ## Convert to 32bpp RGB with rotation of 90
1472 EVAS_CONVERT_ROT(32, RGB, 90)
1474 #######################################
1475 ## Convert to 8bpp grayscale with 256 value, no palette
1476 EVAS_CONVERT_COLOR(8, GRY, 1)
1477 ## Convert to 8bpp grayscale with 16 value, no palette
1478 EVAS_CONVERT_COLOR(8, GRY, 16)
1480 #######################################
1481 ## Convert to 8bpp grayscale, 64-palette
1482 conv_8_grayscale_64="yes"
1483 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1484 AC_ARG_ENABLE(convert-8-grayscale-64,
1485 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1487 if test "x$enableval" = "xyes"; then
1488 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1489 conv_8_grayscale_64="yes"
1491 conv_8_grayscale_64="no"
1494 if test "x$conv_8_grayscale_64" = "xyes"; then
1495 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1499 AC_MSG_RESULT($conv_8_grayscale_64)
1505 AC_MSG_CHECKING(whether to enable build with valgrind)
1506 AC_ARG_ENABLE(valgrind,
1507 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1508 [ want_valgrind=$enableval ]
1510 AC_MSG_RESULT($want_valgrind)
1512 if test x$want_valgrind = "xyes"; then
1513 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1515 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1517 requirement_evas="valgrind ${requirement_evas}"
1520 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1521 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1529 install_examples="yes"
1530 AC_ARG_ENABLE([install-examples],
1531 AC_HELP_STRING([--disable-install-examples],
1532 [disable installing examples (compiled or just source).
1533 @<:@default==enabled@:>@]),
1535 if test "x${enableval}" = "xyes" ; then
1536 install_examples="yes"
1538 install_examples="no"
1541 [install_examples="yes"])
1542 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1545 AC_ARG_ENABLE([build-examples],
1546 AC_HELP_STRING([--enable-build-examples],
1547 [enable building examples. @<:@default==disabled@:>@]),
1549 if test "x${enableval}" = "xyes" ; then
1550 build_examples="yes"
1555 [build_examples="no"])
1556 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1559 #####################################################################
1562 AC_SUBST(altivec_cflags)
1563 AC_SUBST(pthread_cflags)
1564 AC_SUBST(pthread_libs)
1565 AC_SUBST(requirement_evas)
1568 #####################################################################
1577 evas-software-buffer.pc
1578 evas-software-x11.pc
1579 evas-software-8-x11.pc
1580 evas-software-16-x11.pc
1581 evas-software-gdi.pc
1582 evas-software-ddraw.pc
1583 evas-software-16-ddraw.pc
1585 evas-software-16-wince.pc
1586 evas-software-sdl.pc
1593 src/lib/canvas/Makefile
1594 src/lib/file/Makefile
1595 src/lib/cache/Makefile
1596 src/lib/cserve/Makefile
1597 src/lib/engines/Makefile
1598 src/lib/engines/common/Makefile
1599 src/lib/engines/common/evas_op_add/Makefile
1600 src/lib/engines/common/evas_op_blend/Makefile
1601 src/lib/engines/common/evas_op_copy/Makefile
1602 src/lib/engines/common/evas_op_mask/Makefile
1603 src/lib/engines/common/evas_op_mul/Makefile
1604 src/lib/engines/common/evas_op_sub/Makefile
1605 src/lib/engines/common_8/Makefile
1606 src/lib/engines/common_16/Makefile
1607 src/modules/Makefile
1608 src/modules/engines/Makefile
1609 src/modules/engines/software_generic/Makefile
1610 src/modules/engines/software_gdi/Makefile
1611 src/modules/engines/software_ddraw/Makefile
1612 src/modules/engines/direct3d/Makefile
1613 src/modules/engines/software_16_wince/Makefile
1614 src/modules/engines/software_x11/Makefile
1615 src/modules/engines/fb/Makefile
1616 src/modules/engines/buffer/Makefile
1617 src/modules/engines/directfb/Makefile
1618 src/modules/engines/gl_common/Makefile
1619 src/modules/engines/gl_x11/Makefile
1620 src/modules/engines/gl_sdl/Makefile
1621 src/modules/engines/software_sdl/Makefile
1622 src/modules/engines/software_8/Makefile
1623 src/modules/engines/software_8_x11/Makefile
1624 src/modules/engines/software_16/Makefile
1625 src/modules/engines/software_16_x11/Makefile
1626 src/modules/engines/software_16_ddraw/Makefile
1627 src/modules/engines/software_16_sdl/Makefile
1628 src/modules/loaders/Makefile
1629 src/modules/loaders/edb/Makefile
1630 src/modules/loaders/eet/Makefile
1631 src/modules/loaders/gif/Makefile
1632 src/modules/loaders/jpeg/Makefile
1633 src/modules/loaders/png/Makefile
1634 src/modules/loaders/tiff/Makefile
1635 src/modules/loaders/xpm/Makefile
1636 src/modules/loaders/bmp/Makefile
1637 src/modules/loaders/ico/Makefile
1638 src/modules/loaders/tga/Makefile
1639 src/modules/loaders/svg/Makefile
1640 src/modules/loaders/pmaps/Makefile
1641 src/modules/loaders/wbmp/Makefile
1642 src/modules/loaders/psd/Makefile
1643 src/modules/loaders/generic/Makefile
1644 src/modules/savers/Makefile
1645 src/modules/savers/edb/Makefile
1646 src/modules/savers/eet/Makefile
1647 src/modules/savers/jpeg/Makefile
1648 src/modules/savers/png/Makefile
1649 src/modules/savers/tiff/Makefile
1650 src/lib/include/Makefile
1651 src/examples/Makefile
1656 #####################################################################
1659 if test "x$build_pthreads" = "xno" ; then
1660 if test "x$build_async_render" = "xyes" ; then
1661 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1662 echo " needs thread support."
1665 if test "x$build_pipe_render" = "xyes" ; then
1666 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1667 echo " needs thread support."
1672 if test "x${has_pthreads}" = "xno" ; then
1673 if test "x$build_async_preload" = "xyes" ; then
1674 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1675 echo " needs thread support."
1680 #####################################################################
1686 echo "------------------------------------------------------------------------"
1687 echo "$PACKAGE $VERSION"
1688 echo "------------------------------------------------------------------------"
1690 echo "Configuration Options Summary:"
1693 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1694 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1695 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1696 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1697 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1701 echo " Software GDI...............: $have_evas_engine_software_gdi"
1702 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1703 echo " Direct3d...................: $have_evas_engine_direct3d"
1704 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1705 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1706 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1707 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1711 echo " Software Framebuffer.......: $have_evas_engine_fb"
1712 echo " DirectFB...................: $have_evas_engine_directfb"
1713 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1714 # FIXME: kill software 16bit
1715 echo " Software 16bit ............: $have_evas_engine_software_16"
1716 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1717 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1718 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1719 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1721 echo "Image Loaders:"
1722 echo " BMP.....................: $have_evas_image_loader_bmp"
1723 echo " EDB.....................: $have_evas_image_loader_edb"
1724 echo " EET.....................: $have_evas_image_loader_eet"
1725 echo " GIF.....................: $have_evas_image_loader_gif"
1726 echo " ICO.....................: $have_evas_image_loader_ico"
1727 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1728 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1729 echo " PNG.....................: $have_evas_image_loader_png"
1730 echo " SVG.....................: $have_evas_image_loader_svg"
1731 echo " TGA.....................: $have_evas_image_loader_tga"
1732 echo " TIFF....................: $have_evas_image_loader_tiff"
1733 echo " WBMP....................: $have_evas_image_loader_wbmp"
1734 echo " XPM.....................: $have_evas_image_loader_xpm"
1735 echo " PSD.....................: $have_evas_image_loader_psd"
1736 echo " GENERIC.................: $have_evas_image_loader_generic"
1738 echo "Font Sourcing Systems:"
1739 echo " EET.....................: $have_evas_font_loader_eet"
1741 echo "Font Searching Systems:"
1742 echo " Fontconfig..............: $have_fontconfig"
1744 echo "Font Rendering Helpers:"
1745 echo " Fribidi.................: $have_fribidi"
1746 echo " Harfbuzz................: $have_harfbuzz"
1747 # FIXME: add non freetype2 font engine support
1748 # FIXME: make freetype2 optional
1750 echo "CPU Specific Extensions:"
1751 echo " Fallback C Code.........: $build_cpu_c"
1752 echo " MMX.....................: $build_cpu_mmx"
1753 echo " SSE.....................: $build_cpu_sse"
1754 echo " ALTIVEC.................: $build_cpu_altivec"
1755 echo " NEON....................: $build_cpu_neon"
1756 echo " Thread Support..........: $build_pthreads"
1759 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1760 echo " Cache Server............: $want_evas_cserve"
1763 dnl ... DISABLED! some testing has shown that this seems to have some
1764 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1765 dnl disabling this for now until it can be fixed
1767 echo " Threaded Pipe Rendering.: $build_pipe_render"
1768 echo " Async Pipe Rendering....: $build_async_render"
1769 echo " Async Events............: $build_async_events"
1770 echo " Async Image Preload.....: $build_async_preload"
1772 echo " Word Cache..............: $want_word_cache"
1773 echo " Metric Cache............: $want_metric_cache"
1775 echo "ARGB Software Engine Options:"
1776 echo " Sampling Scaler.........: $scaler_sample"
1777 echo " Smooth Scaler...........: $scaler_smooth"
1778 # FIXME: add an mmx scaler routine
1779 echo " YUV Converter...........: $conv_yuv"
1780 # FIXME: add more YUV format and colorvariant support
1782 echo "ARGB Conversion Options:"
1783 echo " Smaller Dither Mask.....: $conv_small_dither"
1784 echo " Line Dither Mask........: $conv_line_dither"
1785 echo " No Dither Mask for 16bpp: $conv_no_dither"
1786 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1787 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1788 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1789 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1790 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1791 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1792 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1793 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1794 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1795 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1796 # FIXME: add grayscale and B&W support to standard x converters
1797 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1798 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1799 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1800 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1801 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1802 # FIXME: add 555 (444 ipaq) support
1803 # FIXME: add 30bpp support
1804 # FIXME: add palletted support (ugh!)
1805 # FIXME: add 8bpp and below rotation
1806 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1807 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1808 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1809 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1810 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1811 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1812 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1813 # FIXME: add 24bpp rotation
1814 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1815 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1816 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1817 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1818 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1819 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1820 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1821 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1822 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1824 echo "Documentation.............: ${build_doc}"
1825 echo "Examples..................: install:${install_examples} build:${build_examples}"
1827 echo "Compilation............: make (or gmake)"
1828 echo " CPPFLAGS.............: $CPPFLAGS"
1829 echo " CFLAGS...............: $CFLAGS"
1830 echo " CXXFLAGS.............: $CXXFLAGS"
1831 echo " LDFLAGS..............: $LDFLAGS"
1833 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1834 echo " prefix...............: $prefix"
1836 if test "x${have_static_module}" = "xyes" ; then
1837 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1838 echo " You must know what you are doing, or else you will have a lot of"
1839 echo " problems. And Kenny will be killed."
1840 echo " Think about that."