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"
129 want_evas_font_loader_eet="yes"
134 want_evas_engine_software_16_wince="yes"
135 want_evas_image_loader_edb="no"
136 want_evas_image_loader_gif="no"
137 want_evas_image_loader_svg="no"
138 want_evas_image_loader_tiff="no"
141 want_evas_engine_software_gdi="yes"
142 want_evas_engine_software_ddraw="yes"
143 want_evas_engine_direct3d="yes"
144 want_evas_engine_software_16_ddraw="yes"
145 want_evas_image_loader_edb="no"
146 want_evas_image_loader_svg="no"
149 want_evas_engine_software_xlib="auto"
150 want_evas_engine_quartz="auto"
153 want_evas_engine_software_xlib="auto"
154 want_evas_engine_gl_x11="auto"
155 want_evas_engine_fb="auto"
156 ### no - not ready/usable/complete
157 # want_evas_engine_software_8_x11="auto"
158 # want_evas_engine_xrender_x11="auto"
159 # want_evas_engine_software_16_x11="auto"
166 ### Additional options to configure
168 # when used, that option makes configure script fails when
169 # a requirement is selected, but not met.
171 AC_ARG_ENABLE([strict],
172 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
176 # Simple X11 build/link
177 AC_ARG_ENABLE([simple-x11],
178 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
180 if test "x${enableval}" = "xyes" ; then
181 want_evas_simple_x11="yes"
183 want_evas_simple_x11="no"
188 ### Checks for programs
190 m4_ifdef([AC_PROG_OBJC],
193 _AM_DEPENDENCIES(OBJC)
196 dnl#AC_CHECK_TOOL([OBJC], [gcc])
198 dnl#AC_SUBST([OBJCFLAGS])
209 # Check whether pkg-config supports Requires.private
210 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
211 pkgconfig_requires_private="Requires.private"
213 pkgconfig_requires_private="Requires"
215 AC_SUBST(pkgconfig_requires_private)
217 # doxygen program for documentation building
218 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
221 ### Checks for libraries
223 # Evil library for compilation on Windows CE
227 PKG_CHECK_MODULES([EVIL], [evil])
228 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
229 requirement_evas="evil ${requirement_evas}"
233 ## strong dependencies
236 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
239 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
241 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
243 ## optional dependencies
247 AC_ARG_ENABLE([fontconfig],
248 AC_HELP_STRING([--disable-fontconfig],
249 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
251 if test "x${enableval}" = "xyes" ; then
252 want_fontconfig="yes"
259 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
260 PKG_CHECK_MODULES([FONTCONFIG],
263 have_fontconfig="yes"
264 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
265 requirement_evas="fontconfig ${requirement_evas}"
268 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
269 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
276 AC_ARG_ENABLE([fribidi],
277 AC_HELP_STRING([--disable-fribidi],
278 [disable bidirectional text support. @<:@default=enabled@:>@]),
280 if test "x${enableval}" = "xyes" ; then
287 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
288 PKG_CHECK_MODULES([FRIBIDI],
292 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
293 requirement_evas="fribidi ${requirement_evas}"
296 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
297 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
302 if test "x${have_fribidi}" = "xno"; then
308 have_harfbuzz_glib="no"
309 have_harfbuzz_ft="no"
310 AC_ARG_ENABLE([harfbuzz],
311 AC_HELP_STRING([--disable-harfbuzz],
312 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
314 if test "x${enableval}" = "xyes" ; then
321 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
322 PKG_CHECK_MODULES([HARFBUZZ],
326 requirement_evas="harfbuzz ${requirement_evas}"
329 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
330 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
333 if test "x$have_harfbuzz" = "xyes" ; then
335 CPPFLAGS_SAVE="$CPPFLAGS"
336 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
337 # must have for usage with harfbuzz although harfbuzz may not have it.
339 AC_CHECK_HEADER(hb-ft.h,
341 have_harfbuzz_ft="yes"
342 #Depend on harfbuzz ft for harfbuzz support
343 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
346 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
347 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
351 # nice to have if harfbuzz has it
352 AC_CHECK_HEADER(hb-glib.h,
354 have_harfbuzz_glib="yes"
355 AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
358 have_harfbuzz_glib="no"
360 CPPFLAGS="$CPPFLAGS_SAVE"
364 if test "x${have_harfbuzz}" = "xno"; then
368 ### Checks for header files
370 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
378 ### Checks for structures
381 ### Checks for compiler characteristics
390 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
393 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
396 AC_SUBST(WIN32_CPPFLAGS)
401 WIN32_CFLAGS="-mwin32"
404 AC_SUBST(WIN32_CFLAGS)
407 ### Checks for linker characteristics
408 lt_enable_auto_import=""
411 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
412 lt_enable_auto_import="-Wl,--enable-auto-import"
415 AC_SUBST(lt_enable_auto_import)
418 ### Checks for library functions
426 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
433 AC_DEFINE(HAVE_DLADDR)
436 # nothing on mingw platform
439 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
440 if test "x$res" = "xyes"; then
441 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
443 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
444 if test "x$res" = "xyes"; then
445 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
448 AC_MSG_ERROR(Cannot find dlopen)
452 AC_SUBST(dlopen_libs)
454 # (shm_open (for cache server)
455 AC_ARG_ENABLE([evas-cserve],
456 AC_HELP_STRING([--disable-evas-cserve],
457 [disable shared cache server support. @<:@default=enabled@:>@]),
459 if test "x${enableval}" = "xyes" ; then
460 want_evas_cserve="yes"
462 want_evas_cserve="no"
465 AC_MSG_CHECKING(whether to build shared cache server and support)
466 AC_MSG_RESULT(${want_evas_cserve})
468 if test "x${want_evas_cserve}" = "xyes" ; then
469 AC_MSG_CHECKING([whether shm_open() is present])
475 #include <sys/types.h>
476 #include <sys/mman.h>
481 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
484 [want_evas_cserve="yes"],
485 [want_evas_cserve="no"])
487 AC_MSG_RESULT([${want_evas_cserve}])
490 if test "x${want_evas_cserve}" = "xyes" ; then
491 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
494 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
498 #######################################
499 ## GL force flavor gles
501 AC_MSG_CHECKING(whether to build GLES flavor of GL)
502 AC_ARG_ENABLE(gl-flavor-gles,
503 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
505 if test "x$enableval" = "xyes" ; then
518 #######################################
520 gles_variety_sgx="no"
521 AC_MSG_CHECKING(whether to build GLES variety for SGX)
522 AC_ARG_ENABLE(gles-variety-sgx,
523 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
525 if test "x$enableval" = "xyes" ; then
527 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
528 gles_variety_sgx="yes"
531 gles_variety_sgx="no"
535 gles_variety_sgx="no"
539 #######################################
540 ## GLES variety s3c6410
541 gles_variety_s3c6410="no"
542 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
543 AC_ARG_ENABLE(gles-variety-s3c6410,
544 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
546 if test "x$enableval" = "xyes" ; then
548 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
549 gles_variety_s3c6410="yes"
552 gles_variety_s3c6410="no"
556 gles_variety_s3c6410="no"
560 if test "x$gl_flavor_gles" = "xyes"; then
562 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
563 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
564 if test "x$eng" = "xx"; then
568 [Please enable just 1 OpenGL-ES flavor. Choices are:
569 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
570 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
571 You will also need to enable the OpenGL engine for X11 with:
577 #####################################################################
580 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
582 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
584 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
586 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
588 # disable cairo engine for the release
589 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
591 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
593 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
595 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
597 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
599 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
601 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
603 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
605 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
607 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
609 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
611 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
613 # disable qtopia engine for the release
614 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
616 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
618 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
620 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
622 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
625 #have_evas_engine_cairo_common="no"
626 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
627 # have_evas_engine_cairo_common="yes"
628 # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
630 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
633 have_evas_engine_gl_common="no"
634 if test "x$have_evas_engine_gl_x11" = "xyes" \
635 || test "x$have_evas_engine_gl_x11" = "xstatic" \
636 || test "x$have_evas_engine_gl_glew" = "xyes" \
637 || test "x$have_evas_engine_gl_glew" = "xstatic" \
638 || test "x$have_evas_engine_gl_sdl" = "xyes" \
639 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
640 have_evas_engine_gl_common="yes"
643 if test "x$have_evas_engine_gl_common" = "xyes"; then
644 evas_engine_gl_common_libs=""
645 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
648 AC_SUBST([evas_engine_gl_common_libs])
650 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
653 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
654 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
655 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
656 [#include <SDL/SDL_video.h>])
659 if test "x$gl_flavor_gles" = "xyes"; then
660 AC_CHECK_DECL(SDL_OPENGLES,
661 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
662 [#include <SDL/SDL_video.h>])
668 AC_ARG_ENABLE([sdl-primitive],
669 [AC_HELP_STRING([--enable-sdl-primitive], [])],
670 [sdl_primitive=${enableval}]
672 AC_MSG_CHECKING([whether to use SDL primitive when possible])
673 AC_MSG_RESULT([${sdl_primitive}])
675 if test "x${sdl_primitive}" = "xyes" ; then
676 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
679 # if software generic need to be build as part of libevas.so
680 have_static_software_generic="no"
681 AC_ARG_ENABLE([static-software-generic],
682 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
683 [have_static_software_generic=${enableval}]
685 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
686 AC_MSG_RESULT([${have_static_software_generic}])
688 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
689 if test "x${have_static_software_generic}" = "xyes"; then
690 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
693 # if software_xlib or software_xcb are available, define everything needed for X11
694 have_evas_engine_software_x11="no"
695 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
696 have_evas_engine_software_x11="static"
698 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
699 have_evas_engine_software_x11="yes"
703 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
704 have_evas_engine_software_xlib="yes"
707 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
708 have_evas_engine_software_xcb="yes"
711 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
712 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
715 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
716 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
719 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
720 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
722 AC_SUBST(have_evas_engine_software_xlib)
723 AC_SUBST(have_evas_engine_software_xcb)
725 # if software 16 x11 is enabled - build software_16 (the generic 16bit
726 # engine). later enable it fb_16 or other "16" bit engines are enabled.
727 have_evas_engine_software_16="no"
728 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
729 have_evas_engine_software_16="yes"
731 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
732 have_evas_engine_software_16="yes"
734 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
735 have_evas_engine_software_16="yes"
737 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
738 have_evas_engine_software_16="yes"
740 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
742 # if software 16 need to be build as part of libevas.so
743 have_static_software_16="no"
744 AC_ARG_ENABLE([static-software-16],
745 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
746 [have_static_software_16=${enableval}]
748 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
749 AC_MSG_RESULT([${have_static_software_16}])
751 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
752 if test "x${have_static_software_16}" = "xyes"; then
753 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
756 # if software 8 x11 is enabled - build software_8 (the generic 8bit
758 have_evas_engine_software_8="no"
759 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
760 have_evas_engine_software_8="yes"
762 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
764 # if software 8 need to be build as part of libevas.so
765 have_static_software_8="no"
766 AC_ARG_ENABLE([static-software-8],
767 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
768 [have_static_software_8=${enableval}]
770 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
771 AC_MSG_RESULT([${have_static_software_8}])
773 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
774 if test "x${have_static_software_8}" = "xyes"; then
775 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
778 #####################################################################
781 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
783 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
784 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
786 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
788 have_evas_image_saver_jpeg="no"
789 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
791 dnl Windows has no sigsetjmp function, nor equivalent.
792 dnl So we disable the jpeg saver.
793 dnl TODO: must find a workaround
798 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
799 have_evas_image_saver_jpeg="yes"
803 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
805 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
807 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
809 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
811 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
813 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
815 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
817 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
820 #####################################################################
821 ## Cpu based optimizations
823 #######################################
830 # basic pthread support
831 AC_CHECK_HEADER(pthread.h,
840 # sched_getaffinity pthread_attr_setaffinity_np
841 AC_CHECK_HEADERS(pthread.h sched.h,
843 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
845 AC_CHECK_LIB(pthread, pthread_barrier_wait,
846 [ build_pthreads="yes" ],
847 [ build_pthreads="no" ]
850 [ build_pthreads="no" ]
853 [ build_pthreads="no" ]
856 #######################################
858 AC_MSG_CHECKING(whether to build pthread code)
859 AC_ARG_ENABLE(pthreads,
860 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
862 if test "x$enableval" = "xyes" ; then
863 if test "x$build_pthreads" = "xyes"; then
865 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
869 if "x$use_strict" = "xyes"; then
870 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
872 AC_MSG_RESULT(no: pthread headers or functions not found)
881 AC_MSG_RESULT($build_pthreads)
882 if test "x$build_pthreads" = "xyes" ; then
883 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
889 #######################################
891 build_pipe_render="no"
893 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
894 AC_ARG_ENABLE(pipe-render,
895 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
896 [ build_pipe_render=$enableval ]
898 AC_MSG_RESULT($build_pipe_render)
900 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
901 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
903 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
904 build_pipe_render="yes"
908 build_pipe_render="no"
911 #######################################
913 build_async_render="no"
915 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
916 AC_ARG_ENABLE(async-render,
917 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
918 [ build_async_render=$enableval ]
920 AC_MSG_RESULT($build_async_render)
922 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
923 if test \( "x$build_async_render" = "xyes" \); then
925 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
926 build_async_render="yes"
927 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
928 build_pipe_render="yes"
931 PKG_CHECK_MODULES([XEXT],
933 [ build_avoid_libXext_bug=yes ],
934 [ build_avoid_libXext_bug=no ]
936 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
937 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
941 build_async_render="no"
944 #######################################
946 build_async_events="auto"
947 AC_MSG_CHECKING(whether to build Async Events support)
948 AC_ARG_ENABLE(async-events,
949 AC_HELP_STRING([--enable-async-events], [enable async events support]),
950 [ build_async_events=$enableval ]
952 AC_MSG_RESULT($build_async_events)
954 AC_MSG_CHECKING(whether we can build Async Events support)
955 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
957 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
958 build_async_events="yes"
961 build_async_events="no"
964 #######################################
965 ## Async image preload
966 build_async_preload="auto"
967 AC_MSG_CHECKING(whether to build Async Image Preload support)
968 AC_ARG_ENABLE(async-preload,
969 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
970 [ build_async_preload=$enableval ]
972 AC_MSG_RESULT($build_async_preload)
974 AC_MSG_CHECKING(whether we can build Async Image Preload support)
975 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
977 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
978 build_async_preload="yes"
982 build_async_preload="no"
985 #######################################
986 ## Link with pthread if needed
987 AC_MSG_CHECKING(whether we should link with pthread)
988 if test "x$need_pthreads" = "xyes"; then
991 pthread_libs="-lpthread"
996 #######################################
1010 AC_MSG_CHECKING(whether to build mmx code)
1011 AC_ARG_ENABLE(cpu-mmx,
1012 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1014 if test "x$enableval" = "xyes" ; then
1016 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1024 AC_MSG_RESULT($build_cpu_mmx)
1025 if test "x$build_cpu_mmx" = "xyes" ; then
1026 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1031 #######################################
1045 AC_MSG_CHECKING(whether to build sse code)
1046 AC_ARG_ENABLE(cpu-sse,
1047 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1049 if test "x$enableval" = "xyes" ; then
1051 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1059 AC_MSG_RESULT($build_cpu_sse)
1060 if test "x$build_cpu_sse" = "xyes" ; then
1061 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1066 #######################################
1068 build_cpu_altivec="no"
1071 build_cpu_altivec="auto"
1075 AC_MSG_CHECKING(whether to build altivec code)
1076 AC_ARG_ENABLE(cpu-altivec,
1077 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1078 [ build_cpu_altivec=$enableval ],
1080 if test ! "x$build_cpu_altivec" = "xauto"; then
1081 build_cpu_altivec="no"
1085 AC_MSG_RESULT($build_cpu_altivec)
1087 if test "x$build_cpu_altivec" = "xyes"; then
1088 AC_CHECK_HEADER(altivec.h,
1090 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1091 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1092 build_cpu_altivec="yes"
1096 save_CPPFLAGS=$CPPFLAGS
1097 CFLAGS=$CFLAGS" -maltivec"
1098 CPPFLAGS=$CPPFLAGS" -maltivec"
1099 unset ac_cv_header_altivec_h
1100 AC_CHECK_HEADER(altivec.h,
1102 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1103 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1104 build_cpu_altivec="yes"
1107 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1108 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1110 build_cpu_altivec="no"
1114 CPPFLAGS=$save_CPPFLAGS
1119 if test "x$build_cpu_altivec" = "xyes"; then
1120 AC_MSG_CHECKING(whether to use altivec compiler flag)
1121 if test "x$GCC" = "xyes"; then
1122 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1123 altivec_cflags="-faltivec"
1124 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1125 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1126 altivec_cflags="-maltivec"
1127 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1130 AC_MSG_RESULT($altivec_cflags)
1131 CFLAGS="$CFLAGS $altivec_cflags"
1134 #######################################
1139 build_cpu_neon="yes"
1142 AC_MSG_CHECKING(whether to build neon code)
1143 AC_ARG_ENABLE(cpu-neon,
1144 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1145 checked at run time to see if the CPU supports it]),
1147 if test "x$enableval" = "xyes" ; then
1149 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1152 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1153 build_cpu_neon="yes"
1164 if test "x$build_cpu_neon" = "xyes" ; then
1165 AC_TRY_COMPILE([#include <arm_neon.h>],
1166 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1169 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1170 build_cpu_neon="yes"
1179 #######################################
1182 AC_MSG_CHECKING(whether to build c code)
1183 AC_ARG_ENABLE(cpu-c,
1184 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1186 if test "x$enableval" = "xyes" ; then
1188 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1195 AC_MSG_RESULT($build_cpu_c)
1196 if test "x$build_cpu_c" = "xyes" ; then
1197 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1202 #######################################
1204 want_evas_magic_debug="yes"
1205 AC_MSG_CHECKING(whether to check magic for evas object)
1206 AC_ARG_ENABLE(evas-magic-debug,
1208 [--disable-evas-magic-debug],
1209 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1211 [ want_evas_magic_debug="$enableval" ]
1213 AC_MSG_RESULT($want_evas_magic_debug)
1215 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1216 if test "x$want_evas_magic_debug" = "xyes"; then
1217 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1221 #######################################
1223 want_word_cache="no"
1224 AC_MSG_CHECKING(whether to enable caching of rendered words)
1225 AC_ARG_ENABLE(word-cache,
1227 [--enable-word-cache],
1228 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1230 [ want_word_cache="$enableval" ]
1232 AC_MSG_RESULT($want_word_cache)
1234 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1235 if test "x$want_word_cache" = "xyes"; then
1236 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1239 #######################################
1241 want_metric_cache="no"
1242 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1243 AC_ARG_ENABLE(metric-cache,
1245 [--enable-metric-cache],
1246 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1248 [ want_metric_cache="$enableval" ]
1250 AC_MSG_RESULT($want_metric_cache)
1252 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1253 if test "x$want_metric_cache" = "xyes"; then
1254 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1259 #####################################################################
1260 ## ARGB engine options
1262 #######################################
1263 ## Nearest sampling scaler
1264 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1265 ## Smooth super and sub sampling scaler
1266 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1268 #######################################
1269 ## YUV -> ARGB converter
1272 AC_MSG_CHECKING(whether to build yuv converter code)
1273 AC_ARG_ENABLE(convert-yuv,
1274 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1276 if test "x$enableval" = "xyes" ; then
1278 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1285 AC_MSG_RESULT($conv_yuv)
1286 if test "x$conv_yuv" = "xyes" ; then
1287 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1292 #####################################################################
1293 ## Output rendering features
1295 #######################################
1296 ## Small dither mask instead of big one (lower quality)
1297 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1298 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1299 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1300 ## No dither mask at all for 16bpp
1301 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1303 #######################################
1304 ## Convert to 8bpp RGB 332
1305 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1306 ## Convert to 8bpp RGB 666
1307 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1308 ## Convert to 8bpp RGB 232
1309 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1310 ## Convert to 8bpp RGB 222
1311 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1312 ## Convert to 8bpp RGB 221
1313 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1314 ## Convert to 8bpp RGB 121
1315 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1316 ## Convert to 8bpp RGB 111
1317 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1318 ## Convert to 16bpp RGB 565
1319 EVAS_CONVERT_COLOR(16, RGB, 565)
1320 ## Convert to 16bpp BGR 565
1321 EVAS_CONVERT_COLOR(16, BGR, 565)
1322 ## Convert to 16bpp RGB 555
1323 EVAS_CONVERT_COLOR(16, RGB, 555)
1324 ## Convert to 16bpp RGB 444
1325 EVAS_CONVERT_COLOR(16, RGB, 444)
1327 #######################################
1328 ## Convert to 16bpp RGB 565 (444 ipaq)
1329 conv_16_rgb_ipq="yes"
1330 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1331 AC_ARG_ENABLE(convert-16-rgb-ipq,
1332 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1334 if test "x$enableval" = "xyes" ; then
1335 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1336 conv_16_rgb_ipq="yes"
1338 conv_16_rgb_ipq="no"
1341 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1342 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1346 AC_MSG_RESULT($conv_16_rgb_ipq)
1348 #######################################
1349 ## Convert to 16bpp RGB with rotation of 0
1350 EVAS_CONVERT_ROT(16, RGB, 0)
1351 ## Convert to 16bpp RGB with rotation of 180
1352 EVAS_CONVERT_ROT(16, RGB, 180)
1353 ## Convert to 16bpp RGB with rotation of 270
1354 EVAS_CONVERT_ROT(16, RGB, 270)
1355 ## Convert to 16bpp RGB with rotation of 90
1356 EVAS_CONVERT_ROT(16, RGB, 90)
1358 #######################################
1359 ## Convert to 24bpp RGB 888
1360 EVAS_CONVERT_COLOR(24, RGB, 888)
1361 ## Convert to 24bpp BGR 888
1362 EVAS_CONVERT_COLOR(24, BGR, 888)
1363 ## Convert to 32bpp RGB 8888
1364 EVAS_CONVERT_COLOR(32, RGB, 8888)
1365 ## Convert to 32bpp RGBX 8888
1366 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1367 ## Convert to 32bpp BGR 8888
1368 EVAS_CONVERT_COLOR(32, BGR, 8888)
1369 ## Convert to 32bpp BGRX 8888
1370 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1372 #######################################
1373 ## Convert to 24bpp RGB 666 (666 ezx)
1374 conv_24_rgb_ezx="yes"
1375 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1376 AC_ARG_ENABLE(convert-24-rgb-ezx,
1377 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1379 if test "x$enableval" = "xyes" ; then
1380 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1381 conv_24_rgb_ezx="yes"
1383 conv_24_rgb_ezx="no"
1386 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1387 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1391 AC_MSG_RESULT($conv_24_rgb_ezx)
1393 #######################################
1394 ## Convert to 32bpp RGB 666 (666 ezx)
1395 conv_32_rgb_ezx="yes"
1396 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1397 AC_ARG_ENABLE(convert-32-rgb-ezx,
1398 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1400 if test "x$enableval" = "xyes" ; then
1401 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1402 conv_32_rgb_ezx="yes"
1404 conv_32_rgb_ezx="no"
1407 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1408 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1412 AC_MSG_RESULT($conv_32_rgb_ezx)
1414 #######################################
1415 ## Convert to 32bpp RGB with rotation of 0
1416 EVAS_CONVERT_ROT(32, RGB, 0)
1417 ## Convert to 32bpp RGB with rotation of 180
1418 EVAS_CONVERT_ROT(32, RGB, 180)
1419 ## Convert to 32bpp RGB with rotation of 270
1420 EVAS_CONVERT_ROT(32, RGB, 270)
1421 ## Convert to 32bpp RGB with rotation of 90
1422 EVAS_CONVERT_ROT(32, RGB, 90)
1424 #######################################
1425 ## Convert to 8bpp grayscale with 256 value, no palette
1426 EVAS_CONVERT_COLOR(8, GRY, 1)
1427 ## Convert to 8bpp grayscale with 16 value, no palette
1428 EVAS_CONVERT_COLOR(8, GRY, 16)
1430 #######################################
1431 ## Convert to 8bpp grayscale, 64-palette
1432 conv_8_grayscale_64="yes"
1433 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1434 AC_ARG_ENABLE(convert-8-grayscale-64,
1435 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1437 if test "x$enableval" = "xyes"; then
1438 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1439 conv_8_grayscale_64="yes"
1441 conv_8_grayscale_64="no"
1444 if test "x$conv_8_grayscale_64" = "xyes"; then
1445 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1449 AC_MSG_RESULT($conv_8_grayscale_64)
1455 AC_MSG_CHECKING(whether to enable build with valgrind)
1456 AC_ARG_ENABLE(valgrind,
1457 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1458 [ want_valgrind=$enableval ]
1460 AC_MSG_RESULT($want_valgrind)
1462 if test x$want_valgrind = "xyes"; then
1463 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1465 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1467 requirement_evas="valgrind ${requirement_evas}"
1470 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1471 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1479 install_examples="yes"
1480 AC_ARG_ENABLE([install-examples],
1481 AC_HELP_STRING([--disable-install-examples],
1482 [disable installing examples (compiled or just source).
1483 @<:@default==enabled@:>@]),
1485 if test "x${enableval}" = "xyes" ; then
1486 install_examples="yes"
1488 install_examples="no"
1491 [install_examples="yes"])
1492 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1495 AC_ARG_ENABLE([build-examples],
1496 AC_HELP_STRING([--enable-build-examples],
1497 [enable building examples. @<:@default==disabled@:>@]),
1499 if test "x${enableval}" = "xyes" ; then
1500 build_examples="yes"
1505 [build_examples="no"])
1506 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1509 #####################################################################
1512 AC_SUBST(altivec_cflags)
1513 AC_SUBST(pthread_cflags)
1514 AC_SUBST(pthread_libs)
1515 AC_SUBST(requirement_evas)
1518 #####################################################################
1529 evas-software-buffer.pc
1530 evas-software-x11.pc
1531 evas-software-8-x11.pc
1532 evas-software-16-x11.pc
1535 evas-software-gdi.pc
1536 evas-software-ddraw.pc
1537 evas-software-16-ddraw.pc
1539 evas-software-16-wince.pc
1540 evas-software-sdl.pc
1547 src/lib/canvas/Makefile
1548 src/lib/file/Makefile
1549 src/lib/cache/Makefile
1550 src/lib/cserve/Makefile
1551 src/lib/engines/Makefile
1552 src/lib/engines/common/Makefile
1553 src/lib/engines/common/evas_op_add/Makefile
1554 src/lib/engines/common/evas_op_blend/Makefile
1555 src/lib/engines/common/evas_op_copy/Makefile
1556 src/lib/engines/common/evas_op_mask/Makefile
1557 src/lib/engines/common/evas_op_mul/Makefile
1558 src/lib/engines/common/evas_op_sub/Makefile
1559 src/lib/engines/common_8/Makefile
1560 src/lib/engines/common_16/Makefile
1561 src/modules/Makefile
1562 src/modules/engines/Makefile
1563 src/modules/engines/software_generic/Makefile
1564 src/modules/engines/software_gdi/Makefile
1565 src/modules/engines/software_ddraw/Makefile
1566 src/modules/engines/direct3d/Makefile
1567 src/modules/engines/software_16_wince/Makefile
1568 src/modules/engines/software_x11/Makefile
1569 src/modules/engines/fb/Makefile
1570 src/modules/engines/buffer/Makefile
1571 src/modules/engines/directfb/Makefile
1572 src/modules/engines/gl_common/Makefile
1573 src/modules/engines/gl_glew/Makefile
1574 src/modules/engines/gl_x11/Makefile
1575 src/modules/engines/gl_sdl/Makefile
1576 src/modules/engines/quartz/Makefile
1577 src/modules/engines/xrender_x11/Makefile
1578 src/modules/engines/software_sdl/Makefile
1579 src/modules/engines/software_8/Makefile
1580 src/modules/engines/software_8_x11/Makefile
1581 src/modules/engines/software_16/Makefile
1582 src/modules/engines/software_16_x11/Makefile
1583 src/modules/engines/software_16_ddraw/Makefile
1584 src/modules/engines/software_16_sdl/Makefile
1585 src/modules/loaders/Makefile
1586 src/modules/loaders/edb/Makefile
1587 src/modules/loaders/eet/Makefile
1588 src/modules/loaders/gif/Makefile
1589 src/modules/loaders/jpeg/Makefile
1590 src/modules/loaders/png/Makefile
1591 src/modules/loaders/tiff/Makefile
1592 src/modules/loaders/xpm/Makefile
1593 src/modules/loaders/bmp/Makefile
1594 src/modules/loaders/tga/Makefile
1595 src/modules/loaders/svg/Makefile
1596 src/modules/loaders/pmaps/Makefile
1597 src/modules/savers/Makefile
1598 src/modules/savers/edb/Makefile
1599 src/modules/savers/eet/Makefile
1600 src/modules/savers/jpeg/Makefile
1601 src/modules/savers/png/Makefile
1602 src/modules/savers/tiff/Makefile
1603 src/lib/include/Makefile
1604 src/examples/Makefile
1609 #disabled for the release:
1611 # evas-software-qtopia.pc
1612 # src/modules/engines/cairo_common/Makefile
1613 # src/modules/engines/cairo_x11/Makefile
1614 # src/modules/engines/software_qtopia/Makefile
1617 #####################################################################
1620 if test "x$build_pthreads" = "xno" ; then
1621 if test "x$build_async_render" = "xyes" ; then
1622 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1623 echo " needs thread support."
1626 if test "x$build_pipe_render" = "xyes" ; then
1627 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1628 echo " needs thread support."
1633 if test "x${has_pthreads}" = "xno" ; then
1634 if test "x$build_async_preload" = "xyes" ; then
1635 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1636 echo " needs thread support."
1641 #####################################################################
1647 echo "------------------------------------------------------------------------"
1648 echo "$PACKAGE $VERSION"
1649 echo "------------------------------------------------------------------------"
1651 echo "Configuration Options Summary:"
1654 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1655 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1656 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1657 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1658 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1659 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1663 dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
1664 echo " Software GDI...............: $have_evas_engine_software_gdi"
1665 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1666 echo " Direct3d...................: $have_evas_engine_direct3d"
1667 echo " Quartz.....................: $have_evas_engine_quartz"
1668 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1669 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1670 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1671 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1672 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1676 echo " Software Framebuffer.......: $have_evas_engine_fb"
1677 echo " DirectFB...................: $have_evas_engine_directfb"
1678 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1679 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1680 # FIXME: kill software 16bit
1681 echo " Software 16bit ............: $have_evas_engine_software_16"
1682 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1683 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1684 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1685 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1687 echo "Image Loaders:"
1688 echo " EDB.....................: $have_evas_image_loader_edb"
1689 echo " EET.....................: $have_evas_image_loader_eet"
1690 echo " GIF.....................: $have_evas_image_loader_gif"
1691 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1692 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1693 echo " PNG.....................: $have_evas_image_loader_png"
1694 echo " SVG.....................: $have_evas_image_loader_svg"
1695 echo " TIFF....................: $have_evas_image_loader_tiff"
1696 echo " XPM.....................: $have_evas_image_loader_xpm"
1697 echo " BMP.....................: $have_evas_image_loader_bmp"
1698 echo " TGA.....................: $have_evas_image_loader_tga"
1700 echo "Font Sourcing Systems:"
1701 echo " EET.....................: $have_evas_font_loader_eet"
1703 echo "Font Searching Systems:"
1704 echo " Fontconfig..............: $have_fontconfig"
1706 echo "Font Rendering Helpers:"
1707 echo " Fribidi.................: $have_fribidi"
1708 echo " Harfbuzz................: $have_harfbuzz"
1709 # FIXME: add non freetype2 font engine support
1710 # FIXME: make freetype2 optional
1712 echo "CPU Specific Extensions:"
1713 echo " Fallback C Code.........: $build_cpu_c"
1714 echo " MMX.....................: $build_cpu_mmx"
1715 echo " SSE.....................: $build_cpu_sse"
1716 echo " ALTIVEC.................: $build_cpu_altivec"
1717 echo " NEON....................: $build_cpu_neon"
1718 echo " Thread Support..........: $build_pthreads"
1721 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1722 echo " Cache Server............: $want_evas_cserve"
1725 dnl ... DISABLED! some testing has shown that this seems to have some
1726 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1727 dnl disabling this for now until it can be fixed
1729 echo " Threaded Pipe Rendering.: $build_pipe_render"
1730 echo " Async Pipe Rendering....: $build_async_render"
1731 echo " Async Events............: $build_async_events"
1732 echo " Async Image Preload.....: $build_async_preload"
1734 echo " Word Cache..............: $want_word_cache"
1735 echo " Metric Cache............: $want_metric_cache"
1737 echo "ARGB Software Engine Options:"
1738 echo " Sampling Scaler.........: $scaler_sample"
1739 echo " Smooth Scaler...........: $scaler_smooth"
1740 # FIXME: add an mmx scaler routine
1741 echo " YUV Converter...........: $conv_yuv"
1742 # FIXME: add more YUV format and colorvariant support
1744 echo "ARGB Conversion Options:"
1745 echo " Smaller Dither Mask.....: $conv_small_dither"
1746 echo " Line Dither Mask........: $conv_line_dither"
1747 echo " No Dither Mask for 16bpp: $conv_no_dither"
1748 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1749 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1750 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1751 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1752 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1753 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1754 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1755 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1756 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1757 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1758 # FIXME: add grayscale and B&W support to standard x converters
1759 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1760 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1761 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1762 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1763 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1764 # FIXME: add 555 (444 ipaq) support
1765 # FIXME: add 30bpp support
1766 # FIXME: add palletted support (ugh!)
1767 # FIXME: add 8bpp and below rotation
1768 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1769 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1770 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1771 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1772 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1773 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1774 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1775 # FIXME: add 24bpp rotation
1776 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1777 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1778 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1779 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1780 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1781 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1782 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1783 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1784 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1786 echo "Documentation.............: ${build_doc}"
1787 echo "Examples..................: install:${install_examples} build:${build_examples}"
1789 echo "Compilation............: make (or gmake)"
1790 echo " CPPFLAGS.............: $CPPFLAGS"
1791 echo " CFLAGS...............: $CFLAGS"
1792 echo " CXXFLAGS.............: $CXXFLAGS"
1793 echo " LDFLAGS..............: $LDFLAGS"
1795 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1796 echo " prefix...............: $prefix"
1798 if test "x${have_static_module}" = "xyes" ; then
1799 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1800 echo " You must know what you are doing, or else you will have a lot of problems."
1801 echo " And Kenny will be killed."
1802 echo " Think about that."