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_rev], m4_eval(v_maj + v_min))
16 m4_define([lt_cur], 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_rev:lt_cur:lt_age"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
74 ### Needed information
81 MODULE_ARCH="$host_os-$host_cpu"
84 MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
90 want_fontconfig="auto"
93 want_evas_cserve="yes"
95 want_evas_engine_buffer="yes"
96 want_evas_engine_software_xlib="no"
97 want_evas_engine_xrender_x11="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_cairo_x11="no"
101 want_evas_engine_software_xcb="no"
102 want_evas_engine_xrender_xcb="no"
103 want_evas_engine_software_gdi="no"
104 want_evas_engine_software_ddraw="no"
105 want_evas_engine_direct3d="no"
106 want_evas_engine_quartz="no"
107 want_evas_engine_gl_glew="no"
108 want_evas_engine_software_sdl="no"
109 want_evas_engine_fb="no"
110 want_evas_engine_directfb="no"
111 want_evas_engine_software_qtopia="no"
112 want_evas_engine_software_8_x11="no"
113 want_evas_engine_software_16_x11="no"
114 want_evas_engine_software_16_ddraw="no"
115 want_evas_engine_software_16_wince="no"
117 want_evas_image_loader_edb="yes"
118 want_evas_image_loader_eet="yes"
119 want_evas_image_loader_gif="yes"
120 want_evas_image_loader_jpeg="yes"
121 want_evas_image_loader_pmaps="yes"
122 want_evas_image_loader_png="yes"
123 want_evas_image_loader_svg="yes"
124 want_evas_image_loader_tiff="yes"
125 want_evas_image_loader_xpm="yes"
126 want_evas_image_loader_bmp="yes"
127 want_evas_image_loader_tga="yes"
128 want_evas_image_loader_wbmp="yes"
129 want_evas_image_loader_ico="yes"
131 want_evas_font_loader_eet="yes"
136 want_evas_engine_software_16_wince="yes"
137 want_evas_image_loader_edb="no"
138 want_evas_image_loader_gif="no"
139 want_evas_image_loader_svg="no"
140 want_evas_image_loader_tiff="no"
143 want_evas_engine_software_gdi="yes"
144 want_evas_engine_software_ddraw="yes"
145 want_evas_engine_direct3d="yes"
146 want_evas_engine_software_16_ddraw="yes"
147 want_evas_image_loader_edb="no"
148 want_evas_image_loader_svg="no"
151 want_evas_engine_software_xlib="auto"
152 want_evas_engine_quartz="auto"
155 want_evas_engine_software_xlib="auto"
156 want_evas_engine_gl_x11="auto"
157 want_evas_engine_fb="auto"
158 ### no - not ready/usable/complete
159 # want_evas_engine_software_8_x11="auto"
160 # want_evas_engine_xrender_x11="auto"
161 # want_evas_engine_software_16_x11="auto"
168 ### Additional options to configure
170 # when used, that option makes configure script fails when
171 # a requirement is selected, but not met.
173 AC_ARG_ENABLE([strict],
174 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
178 # Simple X11 build/link
179 AC_ARG_ENABLE([simple-x11],
180 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
182 if test "x${enableval}" = "xyes" ; then
183 want_evas_simple_x11="yes"
185 want_evas_simple_x11="no"
190 ### Checks for programs
192 m4_ifdef([AC_PROG_OBJC],
195 _AM_DEPENDENCIES(OBJC)
198 dnl#AC_CHECK_TOOL([OBJC], [gcc])
200 dnl#AC_SUBST([OBJCFLAGS])
211 # Check whether pkg-config supports Requires.private
212 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
213 pkgconfig_requires_private="Requires.private"
215 pkgconfig_requires_private="Requires"
217 AC_SUBST(pkgconfig_requires_private)
219 # doxygen program for documentation building
220 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
223 ### Checks for libraries
225 # Evil library for compilation on Windows CE
229 PKG_CHECK_MODULES([EVIL], [evil])
230 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
231 requirement_evas="evil ${requirement_evas}"
235 ## strong dependencies
238 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
241 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
243 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
245 ## optional dependencies
249 AC_ARG_ENABLE([fontconfig],
250 AC_HELP_STRING([--disable-fontconfig],
251 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
253 if test "x${enableval}" = "xyes" ; then
254 want_fontconfig="yes"
261 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
262 PKG_CHECK_MODULES([FONTCONFIG],
265 have_fontconfig="yes"
266 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
267 requirement_evas="fontconfig ${requirement_evas}"
270 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
271 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
278 AC_ARG_ENABLE([fribidi],
279 AC_HELP_STRING([--disable-fribidi],
280 [disable bidirectional text support. @<:@default=enabled@:>@]),
282 if test "x${enableval}" = "xyes" ; then
289 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
290 PKG_CHECK_MODULES([FRIBIDI],
294 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
295 requirement_evas="fribidi ${requirement_evas}"
298 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
299 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
304 if test "x${have_fribidi}" = "xno"; then
310 have_harfbuzz_glib="no"
311 have_harfbuzz_ft="no"
312 AC_ARG_ENABLE([harfbuzz],
313 AC_HELP_STRING([--disable-harfbuzz],
314 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
316 if test "x${enableval}" = "xyes" ; then
323 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
324 PKG_CHECK_MODULES([HARFBUZZ],
328 requirement_evas="harfbuzz ${requirement_evas}"
331 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
332 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
335 if test "x$have_harfbuzz" = "xyes" ; then
337 CPPFLAGS_SAVE="$CPPFLAGS"
338 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
339 # must have for usage with harfbuzz although harfbuzz may not have it.
341 AC_CHECK_HEADER(hb-ft.h,
343 have_harfbuzz_ft="yes"
344 #Depend on harfbuzz ft for harfbuzz support
345 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
348 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
349 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
353 # nice to have if harfbuzz has it
354 AC_CHECK_HEADER(hb-glib.h,
356 have_harfbuzz_glib="yes"
357 AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
360 have_harfbuzz_glib="no"
362 CPPFLAGS="$CPPFLAGS_SAVE"
366 if test "x${have_harfbuzz}" = "xno"; then
370 ### Checks for header files
372 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
380 ### Checks for structures
383 ### Checks for compiler characteristics
392 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
395 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
398 AC_SUBST(WIN32_CPPFLAGS)
403 WIN32_CFLAGS="-mwin32"
406 AC_SUBST(WIN32_CFLAGS)
409 ### Checks for linker characteristics
410 lt_enable_auto_import=""
413 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
414 lt_enable_auto_import="-Wl,--enable-auto-import"
417 AC_SUBST(lt_enable_auto_import)
420 ### Checks for library functions
428 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
435 AC_DEFINE(HAVE_DLADDR)
438 # nothing on mingw platform
441 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
442 if test "x$res" = "xyes"; then
443 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
445 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
446 if test "x$res" = "xyes"; then
447 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
450 AC_MSG_ERROR(Cannot find dlopen)
454 AC_SUBST(dlopen_libs)
456 # (shm_open (for cache server)
457 AC_ARG_ENABLE([evas-cserve],
458 AC_HELP_STRING([--disable-evas-cserve],
459 [disable shared cache server support. @<:@default=enabled@:>@]),
461 if test "x${enableval}" = "xyes" ; then
462 want_evas_cserve="yes"
464 want_evas_cserve="no"
467 AC_MSG_CHECKING(whether to build shared cache server and support)
468 AC_MSG_RESULT(${want_evas_cserve})
470 if test "x${want_evas_cserve}" = "xyes" ; then
471 AC_MSG_CHECKING([whether shm_open() is present])
477 #include <sys/types.h>
478 #include <sys/mman.h>
483 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
486 [want_evas_cserve="yes"],
487 [want_evas_cserve="no"])
489 AC_MSG_RESULT([${want_evas_cserve}])
492 if test "x${want_evas_cserve}" = "xyes" ; then
493 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
496 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
500 #######################################
501 ## GL force flavor gles
503 AC_MSG_CHECKING(whether to build GLES flavor of GL)
504 AC_ARG_ENABLE(gl-flavor-gles,
505 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
507 if test "x$enableval" = "xyes" ; then
520 #######################################
522 gles_variety_sgx="no"
523 AC_MSG_CHECKING(whether to build GLES variety for SGX)
524 AC_ARG_ENABLE(gles-variety-sgx,
525 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
527 if test "x$enableval" = "xyes" ; then
529 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
530 gles_variety_sgx="yes"
533 gles_variety_sgx="no"
537 gles_variety_sgx="no"
541 #######################################
542 ## GLES variety s3c6410
543 gles_variety_s3c6410="no"
544 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
545 AC_ARG_ENABLE(gles-variety-s3c6410,
546 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
548 if test "x$enableval" = "xyes" ; then
550 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
551 gles_variety_s3c6410="yes"
554 gles_variety_s3c6410="no"
558 gles_variety_s3c6410="no"
562 if test "x$gl_flavor_gles" = "xyes"; then
564 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
565 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
566 if test "x$eng" = "xx"; then
570 [Please enable just 1 OpenGL-ES flavor. Choices are:
571 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
572 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
573 You will also need to enable the OpenGL engine for X11 with:
579 #####################################################################
582 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
584 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
586 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
588 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
590 # disable cairo engine for the release
591 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
593 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
595 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
597 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
599 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
601 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
603 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
605 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
607 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
609 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
611 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
613 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
615 # disable qtopia engine for the release
616 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
618 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
620 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
622 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
624 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
627 #have_evas_engine_cairo_common="no"
628 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
629 # have_evas_engine_cairo_common="yes"
630 # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
632 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
635 have_evas_engine_gl_common="no"
636 have_static_evas_engine_gl_common="no"
637 if test "x$have_evas_engine_gl_x11" = "xyes" \
638 || test "x$have_evas_engine_gl_glew" = "xyes" \
639 || test "x$have_evas_engine_gl_sdl" = "xyes"; then
640 have_evas_engine_gl_common="yes"
642 if test "x$have_evas_engine_gl_x11" = "xstatic" \
643 || test "x$have_evas_engine_gl_glew" = "xstatic" \
644 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
645 have_evas_engine_gl_common="yes"
646 have_static_evas_engine_gl_common="yes"
649 if test "x$have_evas_engine_gl_common" = "xyes"; then
650 evas_engine_gl_common_libs=""
651 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
654 AC_SUBST([evas_engine_gl_common_libs])
656 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
658 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
659 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
660 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
664 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
665 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
666 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
667 [#include <SDL/SDL_video.h>])
670 if test "x$gl_flavor_gles" = "xyes"; then
671 AC_CHECK_DECL(SDL_OPENGLES,
672 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
673 [#include <SDL/SDL_video.h>])
679 AC_ARG_ENABLE([sdl-primitive],
680 [AC_HELP_STRING([--enable-sdl-primitive], [])],
681 [sdl_primitive=${enableval}]
683 AC_MSG_CHECKING([whether to use SDL primitive when possible])
684 AC_MSG_RESULT([${sdl_primitive}])
686 if test "x${sdl_primitive}" = "xyes" ; then
687 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
690 # if software generic need to be build as part of libevas.so
691 have_static_software_generic="no"
692 AC_ARG_ENABLE([static-software-generic],
693 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
694 [have_static_software_generic=${enableval}]
696 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
697 AC_MSG_RESULT([${have_static_software_generic}])
699 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
700 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
701 have_static_software_generic="yes"
704 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
705 if test "x${have_static_software_generic}" = "xyes"; then
706 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
709 # if software_xlib or software_xcb are available, define everything needed for X11
710 have_evas_engine_software_x11="no"
711 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
712 have_evas_engine_software_x11="static"
714 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
715 have_evas_engine_software_x11="yes"
719 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
720 have_evas_engine_software_xlib="yes"
723 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
724 have_evas_engine_software_xcb="yes"
727 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
728 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
731 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
732 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
735 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
736 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
738 AC_SUBST(have_evas_engine_software_xlib)
739 AC_SUBST(have_evas_engine_software_xcb)
741 # if software 16 x11 is enabled - build software_16 (the generic 16bit
742 # engine). later enable it fb_16 or other "16" bit engines are enabled.
743 have_evas_engine_software_16="no"
744 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
745 have_evas_engine_software_16="yes"
747 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
748 have_evas_engine_software_16="yes"
750 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
751 have_evas_engine_software_16="yes"
753 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
754 have_evas_engine_software_16="yes"
756 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
758 # if software 16 need to be build as part of libevas.so
759 have_static_software_16="no"
760 AC_ARG_ENABLE([static-software-16],
761 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
762 [have_static_software_16=${enableval}]
764 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
765 AC_MSG_RESULT([${have_static_software_16}])
767 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
768 if test "x${have_static_software_16}" = "xyes"; then
769 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
772 # if software 8 x11 is enabled - build software_8 (the generic 8bit
774 have_evas_engine_software_8="no"
775 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
776 have_evas_engine_software_8="yes"
778 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
780 # if software 8 need to be build as part of libevas.so
781 have_static_software_8="no"
782 AC_ARG_ENABLE([static-software-8],
783 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
784 [have_static_software_8=${enableval}]
786 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
787 AC_MSG_RESULT([${have_static_software_8}])
789 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
790 if test "x${have_static_software_8}" = "xyes"; then
791 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
794 #####################################################################
797 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
799 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
800 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
802 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
804 have_evas_image_saver_jpeg="no"
805 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
807 dnl Windows has no sigsetjmp function, nor equivalent.
808 dnl So we disable the jpeg saver.
809 dnl TODO: must find a workaround
814 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
815 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
816 have_evas_image_saver_jpeg="yes"
820 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
822 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
824 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
826 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
828 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
830 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
832 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
834 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
836 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
838 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
840 #####################################################################
841 ## Cpu based optimizations
843 #######################################
850 # basic pthread support
851 AC_CHECK_HEADER(pthread.h,
860 # sched_getaffinity pthread_attr_setaffinity_np
861 AC_CHECK_HEADERS(pthread.h sched.h,
863 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
865 AC_CHECK_LIB(pthread, pthread_barrier_wait,
866 [ build_pthreads="yes" ],
867 [ build_pthreads="no" ]
870 [ build_pthreads="no" ]
873 [ build_pthreads="no" ]
876 #######################################
878 AC_MSG_CHECKING(whether to build pthread code)
879 AC_ARG_ENABLE(pthreads,
880 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
882 if test "x$enableval" = "xyes" ; then
883 if test "x$build_pthreads" = "xyes"; then
885 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
889 if "x$use_strict" = "xyes"; then
890 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
892 AC_MSG_RESULT(no: pthread headers or functions not found)
901 AC_MSG_RESULT($build_pthreads)
902 if test "x$build_pthreads" = "xyes" ; then
903 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
909 #######################################
911 build_pipe_render="no"
913 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
914 AC_ARG_ENABLE(pipe-render,
915 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
916 [ build_pipe_render=$enableval ]
918 AC_MSG_RESULT($build_pipe_render)
920 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
921 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
923 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
924 build_pipe_render="yes"
928 build_pipe_render="no"
931 #######################################
933 build_async_render="no"
935 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
936 AC_ARG_ENABLE(async-render,
937 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
938 [ build_async_render=$enableval ]
940 AC_MSG_RESULT($build_async_render)
942 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
943 if test \( "x$build_async_render" = "xyes" \); then
945 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
946 build_async_render="yes"
947 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
948 build_pipe_render="yes"
951 PKG_CHECK_MODULES([XEXT],
953 [ build_avoid_libXext_bug=yes ],
954 [ build_avoid_libXext_bug=no ]
956 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
957 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
961 build_async_render="no"
964 #######################################
966 build_async_events="auto"
967 AC_MSG_CHECKING(whether to build Async Events support)
968 AC_ARG_ENABLE(async-events,
969 AC_HELP_STRING([--enable-async-events], [enable async events support]),
970 [ build_async_events=$enableval ]
972 AC_MSG_RESULT($build_async_events)
974 AC_MSG_CHECKING(whether we can build Async Events support)
975 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
977 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
978 build_async_events="yes"
981 build_async_events="no"
984 #######################################
985 ## Async image preload
986 build_async_preload="auto"
987 AC_MSG_CHECKING(whether to build Async Image Preload support)
988 AC_ARG_ENABLE(async-preload,
989 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
990 [ build_async_preload=$enableval ]
992 AC_MSG_RESULT($build_async_preload)
994 AC_MSG_CHECKING(whether we can build Async Image Preload support)
995 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
997 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
998 build_async_preload="yes"
1002 build_async_preload="no"
1005 #######################################
1006 ## Link with pthread if needed
1007 AC_MSG_CHECKING(whether we should link with pthread)
1008 if test "x$need_pthreads" = "xyes"; then
1011 pthread_libs="-lpthread"
1016 #######################################
1030 AC_MSG_CHECKING(whether to build mmx code)
1031 AC_ARG_ENABLE(cpu-mmx,
1032 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1034 if test "x$enableval" = "xyes" ; then
1036 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1044 AC_MSG_RESULT($build_cpu_mmx)
1045 if test "x$build_cpu_mmx" = "xyes" ; then
1046 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1051 #######################################
1065 AC_MSG_CHECKING(whether to build sse code)
1066 AC_ARG_ENABLE(cpu-sse,
1067 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1069 if test "x$enableval" = "xyes" ; then
1071 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1079 AC_MSG_RESULT($build_cpu_sse)
1080 if test "x$build_cpu_sse" = "xyes" ; then
1081 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1086 #######################################
1088 build_cpu_altivec="no"
1091 build_cpu_altivec="auto"
1095 AC_MSG_CHECKING(whether to build altivec code)
1096 AC_ARG_ENABLE(cpu-altivec,
1097 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1098 [ build_cpu_altivec=$enableval ],
1100 if test ! "x$build_cpu_altivec" = "xauto"; then
1101 build_cpu_altivec="no"
1105 AC_MSG_RESULT($build_cpu_altivec)
1107 if test "x$build_cpu_altivec" = "xyes"; then
1108 AC_CHECK_HEADER(altivec.h,
1110 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1111 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1112 build_cpu_altivec="yes"
1116 save_CPPFLAGS=$CPPFLAGS
1117 CFLAGS=$CFLAGS" -maltivec"
1118 CPPFLAGS=$CPPFLAGS" -maltivec"
1119 unset ac_cv_header_altivec_h
1120 AC_CHECK_HEADER(altivec.h,
1122 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1123 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1124 build_cpu_altivec="yes"
1127 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1128 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1130 build_cpu_altivec="no"
1134 CPPFLAGS=$save_CPPFLAGS
1139 if test "x$build_cpu_altivec" = "xyes"; then
1140 AC_MSG_CHECKING(whether to use altivec compiler flag)
1141 if test "x$GCC" = "xyes"; then
1142 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1143 altivec_cflags="-faltivec"
1144 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1145 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1146 altivec_cflags="-maltivec"
1147 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1150 AC_MSG_RESULT($altivec_cflags)
1151 CFLAGS="$CFLAGS $altivec_cflags"
1154 #######################################
1159 build_cpu_neon="yes"
1162 AC_MSG_CHECKING(whether to build neon code)
1163 AC_ARG_ENABLE(cpu-neon,
1164 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1165 checked at run time to see if the CPU supports it]),
1167 if test "x$enableval" = "xyes" ; then
1169 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1172 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1173 build_cpu_neon="yes"
1184 if test "x$build_cpu_neon" = "xyes" ; then
1185 AC_TRY_COMPILE([#include <arm_neon.h>],
1186 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1189 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1190 build_cpu_neon="yes"
1199 #######################################
1202 AC_MSG_CHECKING(whether to build c code)
1203 AC_ARG_ENABLE(cpu-c,
1204 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1206 if test "x$enableval" = "xyes" ; then
1208 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1215 AC_MSG_RESULT($build_cpu_c)
1216 if test "x$build_cpu_c" = "xyes" ; then
1217 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1222 #######################################
1224 want_evas_magic_debug="yes"
1225 AC_MSG_CHECKING(whether to check magic for evas object)
1226 AC_ARG_ENABLE(evas-magic-debug,
1228 [--disable-evas-magic-debug],
1229 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1231 [ want_evas_magic_debug="$enableval" ]
1233 AC_MSG_RESULT($want_evas_magic_debug)
1235 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1236 if test "x$want_evas_magic_debug" = "xyes"; then
1237 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1241 #######################################
1243 want_word_cache="no"
1244 AC_MSG_CHECKING(whether to enable caching of rendered words)
1245 AC_ARG_ENABLE(word-cache,
1247 [--enable-word-cache],
1248 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1250 [ want_word_cache="$enableval" ]
1252 AC_MSG_RESULT($want_word_cache)
1254 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1255 if test "x$want_word_cache" = "xyes"; then
1256 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1259 #######################################
1261 want_metric_cache="no"
1262 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1263 AC_ARG_ENABLE(metric-cache,
1265 [--enable-metric-cache],
1266 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1268 [ want_metric_cache="$enableval" ]
1270 AC_MSG_RESULT($want_metric_cache)
1272 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1273 if test "x$want_metric_cache" = "xyes"; then
1274 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1279 #####################################################################
1280 ## ARGB engine options
1282 #######################################
1283 ## Nearest sampling scaler
1284 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1285 ## Smooth super and sub sampling scaler
1286 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1288 #######################################
1289 ## YUV -> ARGB converter
1292 AC_MSG_CHECKING(whether to build yuv converter code)
1293 AC_ARG_ENABLE(convert-yuv,
1294 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1296 if test "x$enableval" = "xyes" ; then
1298 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1305 AC_MSG_RESULT($conv_yuv)
1306 if test "x$conv_yuv" = "xyes" ; then
1307 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1312 #####################################################################
1313 ## Output rendering features
1315 #######################################
1316 ## Small dither mask instead of big one (lower quality)
1317 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1318 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1319 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1320 ## No dither mask at all for 16bpp
1321 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1323 #######################################
1324 ## Convert to 8bpp RGB 332
1325 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1326 ## Convert to 8bpp RGB 666
1327 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1328 ## Convert to 8bpp RGB 232
1329 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1330 ## Convert to 8bpp RGB 222
1331 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1332 ## Convert to 8bpp RGB 221
1333 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1334 ## Convert to 8bpp RGB 121
1335 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1336 ## Convert to 8bpp RGB 111
1337 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1338 ## Convert to 16bpp RGB 565
1339 EVAS_CONVERT_COLOR(16, RGB, 565)
1340 ## Convert to 16bpp BGR 565
1341 EVAS_CONVERT_COLOR(16, BGR, 565)
1342 ## Convert to 16bpp RGB 555
1343 EVAS_CONVERT_COLOR(16, RGB, 555)
1344 ## Convert to 16bpp RGB 444
1345 EVAS_CONVERT_COLOR(16, RGB, 444)
1347 #######################################
1348 ## Convert to 16bpp RGB 565 (444 ipaq)
1349 conv_16_rgb_ipq="yes"
1350 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1351 AC_ARG_ENABLE(convert-16-rgb-ipq,
1352 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1354 if test "x$enableval" = "xyes" ; then
1355 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1356 conv_16_rgb_ipq="yes"
1358 conv_16_rgb_ipq="no"
1361 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1362 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1366 AC_MSG_RESULT($conv_16_rgb_ipq)
1368 #######################################
1369 ## Convert to 16bpp RGB with rotation of 0
1370 EVAS_CONVERT_ROT(16, RGB, 0)
1371 ## Convert to 16bpp RGB with rotation of 180
1372 EVAS_CONVERT_ROT(16, RGB, 180)
1373 ## Convert to 16bpp RGB with rotation of 270
1374 EVAS_CONVERT_ROT(16, RGB, 270)
1375 ## Convert to 16bpp RGB with rotation of 90
1376 EVAS_CONVERT_ROT(16, RGB, 90)
1378 #######################################
1379 ## Convert to 24bpp RGB 888
1380 EVAS_CONVERT_COLOR(24, RGB, 888)
1381 ## Convert to 24bpp BGR 888
1382 EVAS_CONVERT_COLOR(24, BGR, 888)
1383 ## Convert to 32bpp RGB 8888
1384 EVAS_CONVERT_COLOR(32, RGB, 8888)
1385 ## Convert to 32bpp RGBX 8888
1386 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1387 ## Convert to 32bpp BGR 8888
1388 EVAS_CONVERT_COLOR(32, BGR, 8888)
1389 ## Convert to 32bpp BGRX 8888
1390 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1392 #######################################
1393 ## Convert to 24bpp RGB 666 (666 ezx)
1394 conv_24_rgb_ezx="yes"
1395 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1396 AC_ARG_ENABLE(convert-24-rgb-ezx,
1397 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1399 if test "x$enableval" = "xyes" ; then
1400 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1401 conv_24_rgb_ezx="yes"
1403 conv_24_rgb_ezx="no"
1406 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1407 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1411 AC_MSG_RESULT($conv_24_rgb_ezx)
1413 #######################################
1414 ## Convert to 32bpp RGB 666 (666 ezx)
1415 conv_32_rgb_ezx="yes"
1416 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1417 AC_ARG_ENABLE(convert-32-rgb-ezx,
1418 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1420 if test "x$enableval" = "xyes" ; then
1421 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1422 conv_32_rgb_ezx="yes"
1424 conv_32_rgb_ezx="no"
1427 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1428 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1432 AC_MSG_RESULT($conv_32_rgb_ezx)
1434 #######################################
1435 ## Convert to 32bpp RGB with rotation of 0
1436 EVAS_CONVERT_ROT(32, RGB, 0)
1437 ## Convert to 32bpp RGB with rotation of 180
1438 EVAS_CONVERT_ROT(32, RGB, 180)
1439 ## Convert to 32bpp RGB with rotation of 270
1440 EVAS_CONVERT_ROT(32, RGB, 270)
1441 ## Convert to 32bpp RGB with rotation of 90
1442 EVAS_CONVERT_ROT(32, RGB, 90)
1444 #######################################
1445 ## Convert to 8bpp grayscale with 256 value, no palette
1446 EVAS_CONVERT_COLOR(8, GRY, 1)
1447 ## Convert to 8bpp grayscale with 16 value, no palette
1448 EVAS_CONVERT_COLOR(8, GRY, 16)
1450 #######################################
1451 ## Convert to 8bpp grayscale, 64-palette
1452 conv_8_grayscale_64="yes"
1453 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1454 AC_ARG_ENABLE(convert-8-grayscale-64,
1455 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1457 if test "x$enableval" = "xyes"; then
1458 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1459 conv_8_grayscale_64="yes"
1461 conv_8_grayscale_64="no"
1464 if test "x$conv_8_grayscale_64" = "xyes"; then
1465 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1469 AC_MSG_RESULT($conv_8_grayscale_64)
1475 AC_MSG_CHECKING(whether to enable build with valgrind)
1476 AC_ARG_ENABLE(valgrind,
1477 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1478 [ want_valgrind=$enableval ]
1480 AC_MSG_RESULT($want_valgrind)
1482 if test x$want_valgrind = "xyes"; then
1483 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1485 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1487 requirement_evas="valgrind ${requirement_evas}"
1490 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1491 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1499 install_examples="yes"
1500 AC_ARG_ENABLE([install-examples],
1501 AC_HELP_STRING([--disable-install-examples],
1502 [disable installing examples (compiled or just source).
1503 @<:@default==enabled@:>@]),
1505 if test "x${enableval}" = "xyes" ; then
1506 install_examples="yes"
1508 install_examples="no"
1511 [install_examples="yes"])
1512 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1515 AC_ARG_ENABLE([build-examples],
1516 AC_HELP_STRING([--enable-build-examples],
1517 [enable building examples. @<:@default==disabled@:>@]),
1519 if test "x${enableval}" = "xyes" ; then
1520 build_examples="yes"
1525 [build_examples="no"])
1526 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1529 #####################################################################
1532 AC_SUBST(altivec_cflags)
1533 AC_SUBST(pthread_cflags)
1534 AC_SUBST(pthread_libs)
1535 AC_SUBST(requirement_evas)
1538 #####################################################################
1549 evas-software-buffer.pc
1550 evas-software-x11.pc
1551 evas-software-8-x11.pc
1552 evas-software-16-x11.pc
1555 evas-software-gdi.pc
1556 evas-software-ddraw.pc
1557 evas-software-16-ddraw.pc
1559 evas-software-16-wince.pc
1560 evas-software-sdl.pc
1567 src/lib/canvas/Makefile
1568 src/lib/file/Makefile
1569 src/lib/cache/Makefile
1570 src/lib/cserve/Makefile
1571 src/lib/engines/Makefile
1572 src/lib/engines/common/Makefile
1573 src/lib/engines/common/evas_op_add/Makefile
1574 src/lib/engines/common/evas_op_blend/Makefile
1575 src/lib/engines/common/evas_op_copy/Makefile
1576 src/lib/engines/common/evas_op_mask/Makefile
1577 src/lib/engines/common/evas_op_mul/Makefile
1578 src/lib/engines/common/evas_op_sub/Makefile
1579 src/lib/engines/common_8/Makefile
1580 src/lib/engines/common_16/Makefile
1581 src/modules/Makefile
1582 src/modules/engines/Makefile
1583 src/modules/engines/software_generic/Makefile
1584 src/modules/engines/software_gdi/Makefile
1585 src/modules/engines/software_ddraw/Makefile
1586 src/modules/engines/direct3d/Makefile
1587 src/modules/engines/software_16_wince/Makefile
1588 src/modules/engines/software_x11/Makefile
1589 src/modules/engines/fb/Makefile
1590 src/modules/engines/buffer/Makefile
1591 src/modules/engines/directfb/Makefile
1592 src/modules/engines/gl_common/Makefile
1593 src/modules/engines/gl_glew/Makefile
1594 src/modules/engines/gl_x11/Makefile
1595 src/modules/engines/gl_sdl/Makefile
1596 src/modules/engines/quartz/Makefile
1597 src/modules/engines/xrender_x11/Makefile
1598 src/modules/engines/software_sdl/Makefile
1599 src/modules/engines/software_8/Makefile
1600 src/modules/engines/software_8_x11/Makefile
1601 src/modules/engines/software_16/Makefile
1602 src/modules/engines/software_16_x11/Makefile
1603 src/modules/engines/software_16_ddraw/Makefile
1604 src/modules/engines/software_16_sdl/Makefile
1605 src/modules/loaders/Makefile
1606 src/modules/loaders/edb/Makefile
1607 src/modules/loaders/eet/Makefile
1608 src/modules/loaders/gif/Makefile
1609 src/modules/loaders/jpeg/Makefile
1610 src/modules/loaders/png/Makefile
1611 src/modules/loaders/tiff/Makefile
1612 src/modules/loaders/xpm/Makefile
1613 src/modules/loaders/bmp/Makefile
1614 src/modules/loaders/ico/Makefile
1615 src/modules/loaders/tga/Makefile
1616 src/modules/loaders/svg/Makefile
1617 src/modules/loaders/pmaps/Makefile
1618 src/modules/loaders/wbmp/Makefile
1619 src/modules/savers/Makefile
1620 src/modules/savers/edb/Makefile
1621 src/modules/savers/eet/Makefile
1622 src/modules/savers/jpeg/Makefile
1623 src/modules/savers/png/Makefile
1624 src/modules/savers/tiff/Makefile
1625 src/lib/include/Makefile
1626 src/examples/Makefile
1631 #disabled for the release:
1633 # evas-software-qtopia.pc
1634 # src/modules/engines/cairo_common/Makefile
1635 # src/modules/engines/cairo_x11/Makefile
1636 # src/modules/engines/software_qtopia/Makefile
1639 #####################################################################
1642 if test "x$build_pthreads" = "xno" ; then
1643 if test "x$build_async_render" = "xyes" ; then
1644 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1645 echo " needs thread support."
1648 if test "x$build_pipe_render" = "xyes" ; then
1649 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1650 echo " needs thread support."
1655 if test "x${has_pthreads}" = "xno" ; then
1656 if test "x$build_async_preload" = "xyes" ; then
1657 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1658 echo " needs thread support."
1663 #####################################################################
1669 echo "------------------------------------------------------------------------"
1670 echo "$PACKAGE $VERSION"
1671 echo "------------------------------------------------------------------------"
1673 echo "Configuration Options Summary:"
1676 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1677 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1678 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1679 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1680 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1681 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1685 dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
1686 echo " Software GDI...............: $have_evas_engine_software_gdi"
1687 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1688 echo " Direct3d...................: $have_evas_engine_direct3d"
1689 echo " Quartz.....................: $have_evas_engine_quartz"
1690 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1691 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1692 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1693 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1694 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1698 echo " Software Framebuffer.......: $have_evas_engine_fb"
1699 echo " DirectFB...................: $have_evas_engine_directfb"
1700 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1701 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1702 # FIXME: kill software 16bit
1703 echo " Software 16bit ............: $have_evas_engine_software_16"
1704 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1705 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1706 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1707 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1709 echo "Image Loaders:"
1710 echo " BMP.....................: $have_evas_image_loader_bmp"
1711 echo " EDB.....................: $have_evas_image_loader_edb"
1712 echo " EET.....................: $have_evas_image_loader_eet"
1713 echo " GIF.....................: $have_evas_image_loader_gif"
1714 echo " ICO.....................: $have_evas_image_loader_ico"
1715 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1716 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1717 echo " PNG.....................: $have_evas_image_loader_png"
1718 echo " SVG.....................: $have_evas_image_loader_svg"
1719 echo " TGA.....................: $have_evas_image_loader_tga"
1720 echo " TIFF....................: $have_evas_image_loader_tiff"
1721 echo " WBMP....................: $have_evas_image_loader_wbmp"
1722 echo " XPM.....................: $have_evas_image_loader_xpm"
1724 echo "Font Sourcing Systems:"
1725 echo " EET.....................: $have_evas_font_loader_eet"
1727 echo "Font Searching Systems:"
1728 echo " Fontconfig..............: $have_fontconfig"
1730 echo "Font Rendering Helpers:"
1731 echo " Fribidi.................: $have_fribidi"
1732 echo " Harfbuzz................: $have_harfbuzz"
1733 # FIXME: add non freetype2 font engine support
1734 # FIXME: make freetype2 optional
1736 echo "CPU Specific Extensions:"
1737 echo " Fallback C Code.........: $build_cpu_c"
1738 echo " MMX.....................: $build_cpu_mmx"
1739 echo " SSE.....................: $build_cpu_sse"
1740 echo " ALTIVEC.................: $build_cpu_altivec"
1741 echo " NEON....................: $build_cpu_neon"
1742 echo " Thread Support..........: $build_pthreads"
1745 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1746 echo " Cache Server............: $want_evas_cserve"
1749 dnl ... DISABLED! some testing has shown that this seems to have some
1750 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1751 dnl disabling this for now until it can be fixed
1753 echo " Threaded Pipe Rendering.: $build_pipe_render"
1754 echo " Async Pipe Rendering....: $build_async_render"
1755 echo " Async Events............: $build_async_events"
1756 echo " Async Image Preload.....: $build_async_preload"
1758 echo " Word Cache..............: $want_word_cache"
1759 echo " Metric Cache............: $want_metric_cache"
1761 echo "ARGB Software Engine Options:"
1762 echo " Sampling Scaler.........: $scaler_sample"
1763 echo " Smooth Scaler...........: $scaler_smooth"
1764 # FIXME: add an mmx scaler routine
1765 echo " YUV Converter...........: $conv_yuv"
1766 # FIXME: add more YUV format and colorvariant support
1768 echo "ARGB Conversion Options:"
1769 echo " Smaller Dither Mask.....: $conv_small_dither"
1770 echo " Line Dither Mask........: $conv_line_dither"
1771 echo " No Dither Mask for 16bpp: $conv_no_dither"
1772 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1773 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1774 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1775 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1776 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1777 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1778 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1779 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1780 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1781 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1782 # FIXME: add grayscale and B&W support to standard x converters
1783 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1784 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1785 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1786 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1787 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1788 # FIXME: add 555 (444 ipaq) support
1789 # FIXME: add 30bpp support
1790 # FIXME: add palletted support (ugh!)
1791 # FIXME: add 8bpp and below rotation
1792 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1793 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1794 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1795 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1796 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1797 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1798 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1799 # FIXME: add 24bpp rotation
1800 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1801 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1802 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1803 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1804 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1805 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1806 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1807 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1808 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1810 echo "Documentation.............: ${build_doc}"
1811 echo "Examples..................: install:${install_examples} build:${build_examples}"
1813 echo "Compilation............: make (or gmake)"
1814 echo " CPPFLAGS.............: $CPPFLAGS"
1815 echo " CFLAGS...............: $CFLAGS"
1816 echo " CXXFLAGS.............: $CXXFLAGS"
1817 echo " LDFLAGS..............: $LDFLAGS"
1819 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1820 echo " prefix...............: $prefix"
1822 if test "x${have_static_module}" = "xyes" ; then
1823 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1824 echo " You must know what you are doing, or else you will have a lot of"
1825 echo " problems. And Kenny will be killed."
1826 echo " Think about that."