1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [0])
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
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 [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])])
34 AC_INIT([evas], [v_ver.beta2], [enlightenment-devel@lists.sourceforge.net])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
43 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
44 AM_CONFIG_HEADER([config.h])
45 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
48 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
51 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
52 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
53 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
54 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
55 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
56 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
57 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
58 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
59 version_info="lt_rev:lt_cur:lt_age"
61 AC_SUBST(version_info)
62 AC_SUBST(release_info)
63 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
64 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ### Needed information
74 MODULE_ARCH="$host_os-$host_cpu"
77 MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
81 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
83 want_fontconfig="auto"
85 want_evas_cserve="yes"
87 want_evas_engine_buffer="yes"
88 want_evas_engine_software_xlib="no"
89 want_evas_engine_xrender_x11="no"
90 want_evas_engine_gl_x11="no"
91 want_evas_engine_gl_sdl="no"
92 want_evas_engine_cairo_x11="no"
93 want_evas_engine_software_xcb="no"
94 want_evas_engine_xrender_xcb="no"
95 want_evas_engine_software_gdi="no"
96 want_evas_engine_software_ddraw="no"
97 want_evas_engine_direct3d="no"
98 want_evas_engine_quartz="no"
99 want_evas_engine_gl_glew="no"
100 want_evas_engine_software_sdl="no"
101 want_evas_engine_fb="no"
102 want_evas_engine_directfb="no"
103 want_evas_engine_software_qtopia="no"
104 want_evas_engine_software_8_x11="no"
105 want_evas_engine_software_16_x11="no"
106 want_evas_engine_software_16_ddraw="no"
107 want_evas_engine_software_16_wince="no"
109 want_evas_image_loader_edb="yes"
110 want_evas_image_loader_eet="yes"
111 want_evas_image_loader_gif="yes"
112 want_evas_image_loader_jpeg="yes"
113 want_evas_image_loader_pmaps="yes"
114 want_evas_image_loader_png="yes"
115 want_evas_image_loader_svg="yes"
116 want_evas_image_loader_tiff="yes"
117 want_evas_image_loader_xpm="yes"
118 want_evas_image_loader_bmp="yes"
119 want_evas_image_loader_tga="yes"
121 want_evas_font_loader_eet="yes"
126 want_evas_engine_software_16_wince="yes"
127 want_evas_image_loader_edb="no"
128 want_evas_image_loader_gif="no"
129 want_evas_image_loader_svg="no"
130 want_evas_image_loader_tiff="no"
133 want_evas_engine_software_gdi="yes"
134 want_evas_engine_software_ddraw="yes"
135 want_evas_engine_direct3d="yes"
136 want_evas_engine_software_16_ddraw="yes"
137 want_evas_image_loader_edb="no"
138 want_evas_image_loader_svg="no"
141 want_evas_engine_software_xlib="auto"
142 want_evas_engine_quartz="auto"
145 want_evas_engine_software_xlib="auto"
146 want_evas_engine_gl_x11="auto"
147 want_evas_engine_fb="auto"
148 ### no - not ready/usable/complete
149 # want_evas_engine_software_8_x11="auto"
150 # want_evas_engine_xrender_x11="auto"
151 # want_evas_engine_software_16_x11="auto"
158 ### Additional options to configure
160 # when used, that option makes configure script fails when
161 # a requirement is selected, but not met.
163 AC_ARG_ENABLE([strict],
164 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
168 # Simple X11 build/link
169 AC_ARG_ENABLE([simple-x11],
170 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
172 if test "x${enableval}" = "xyes" ; then
173 want_evas_simple_x11="yes"
175 want_evas_simple_x11="no"
180 ### Checks for programs
182 m4_ifdef([AC_PROG_OBJC],
185 _AM_DEPENDENCIES(OBJC)
188 AC_CHECK_TOOL([OBJC], [gcc])
190 AC_SUBST([OBJCFLAGS])
201 # Check whether pkg-config supports Requires.private
202 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
203 pkgconfig_requires_private="Requires.private"
205 pkgconfig_requires_private="Requires"
207 AC_SUBST(pkgconfig_requires_private)
209 # doxygen program for documentation building
210 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
213 ### Checks for libraries
215 # Evil library for compilation on Windows CE
219 PKG_CHECK_MODULES([EVIL], [evil])
220 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
221 requirement_evas="evil ${requirement_evas}"
225 ## strong dependencies
228 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
231 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
233 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
235 ## optional dependencies
239 AC_ARG_ENABLE([fontconfig],
240 AC_HELP_STRING([--disable-fontconfig],
241 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
243 if test "x${enableval}" = "xyes" ; then
244 want_fontconfig="yes"
251 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
252 PKG_CHECK_MODULES([FONTCONFIG],
255 have_fontconfig="yes"
256 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
257 requirement_evas="fontconfig ${requirement_evas}"
260 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
261 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
268 AC_ARG_ENABLE([fribidi],
269 AC_HELP_STRING([--disable-fribidi],
270 [disable bidirectional text support. @<:@default=enabled@:>@]),
272 if test "x${enableval}" = "xyes" ; then
279 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
280 PKG_CHECK_MODULES([FRIBIDI],
284 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
285 requirement_evas="fribidi ${requirement_evas}"
288 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
289 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
294 if test "x${have_fribidi}" = "xno"; then
298 ### Checks for header files
305 ### Checks for structures
308 ### Checks for compiler characteristics
317 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
320 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
323 AC_SUBST(WIN32_CPPFLAGS)
328 WIN32_CFLAGS="-mwin32"
331 AC_SUBST(WIN32_CFLAGS)
334 ### Checks for linker characteristics
335 lt_enable_auto_import=""
338 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
339 lt_enable_auto_import="-Wl,--enable-auto-import"
342 AC_SUBST(lt_enable_auto_import)
345 ### Checks for library functions
351 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
358 AC_DEFINE(HAVE_DLADDR)
361 # nothing on mingw platform
364 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
365 if test "x$res" = "xyes"; then
366 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
368 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
369 if test "x$res" = "xyes"; then
370 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
373 AC_MSG_ERROR(Cannot find dlopen)
377 AC_SUBST(dlopen_libs)
379 # (shm_open (for cache server)
380 AC_ARG_ENABLE([evas-cserve],
381 AC_HELP_STRING([--disable-evas-cserve],
382 [disable shared cache server support. @<:@default=enabled@:>@]),
384 if test "x${enableval}" = "xyes" ; then
385 want_evas_cserve="yes"
387 want_evas_cserve="no"
390 AC_MSG_CHECKING(whether to build shared cache server and support)
391 AC_MSG_RESULT(${want_evas_cserve})
393 if test "x${want_evas_cserve}" = "xyes" ; then
394 AC_MSG_CHECKING([whether shm_open() is present])
400 #include <sys/types.h>
401 #include <sys/mman.h>
406 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
409 [want_evas_cserve="yes"],
410 [want_evas_cserve="no"])
412 AC_MSG_RESULT([${want_evas_cserve}])
415 if test "x${want_evas_cserve}" = "xyes" ; then
416 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
419 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
423 #######################################
424 ## GL force flavor gles
426 AC_MSG_CHECKING(whether to build GLES flavor of GL)
427 AC_ARG_ENABLE(gl-flavor-gles,
428 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
430 if test "x$enableval" = "xyes" ; then
443 #######################################
445 gles_variety_sgx="no"
446 AC_MSG_CHECKING(whether to build GLES variety for SGX)
447 AC_ARG_ENABLE(gles-variety-sgx,
448 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
450 if test "x$enableval" = "xyes" ; then
452 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
453 gles_variety_sgx="yes"
456 gles_variety_sgx="no"
460 gles_variety_sgx="no"
464 #######################################
465 ## GLES variety s3c6410
466 gles_variety_s3c6410="no"
467 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
468 AC_ARG_ENABLE(gles-variety-s3c6410,
469 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
471 if test "x$enableval" = "xyes" ; then
473 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
474 gles_variety_s3c6410="yes"
477 gles_variety_s3c6410="no"
481 gles_variety_s3c6410="no"
485 if test "x$gl_flavor_gles" = "xyes"; then
487 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
488 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
489 if test "x$eng" = "xx"; then
493 [Please enable just 1 OpenGL-ES flavor. Choices are:
494 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
495 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
496 You will also need to enable the OpenGL engine for X11 with:
502 #####################################################################
505 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
507 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
509 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
511 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
513 # disable cairo engine for the release
514 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
516 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
518 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
520 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
522 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
524 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
526 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
528 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
530 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
532 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
534 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
536 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
538 # disable qtopia engine for the release
539 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
541 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
543 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
545 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
547 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
550 #have_evas_engine_cairo_common="no"
551 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
552 # have_evas_engine_cairo_common="yes"
553 # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
555 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
558 have_evas_engine_gl_common="no"
559 if test "x$have_evas_engine_gl_x11" = "xyes" \
560 || test "x$have_evas_engine_gl_x11" = "xstatic" \
561 || test "x$have_evas_engine_gl_glew" = "xyes" \
562 || test "x$have_evas_engine_gl_glew" = "xstatic" \
563 || test "x$have_evas_engine_gl_sdl" = "xyes" \
564 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
565 have_evas_engine_gl_common="yes"
568 if test "x$have_evas_engine_gl_common" = "xyes"; then
569 evas_engine_gl_common_libs=""
570 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
573 AC_SUBST([evas_engine_gl_common_libs])
575 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
578 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
579 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
580 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
581 [#include <SDL/SDL_video.h>])
584 if test "x$gl_flavor_gles" = "xyes"; then
585 AC_CHECK_DECL(SDL_OPENGLES,
586 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
587 [#include <SDL/SDL_video.h>])
593 AC_ARG_ENABLE([sdl-primitive],
594 [AC_HELP_STRING([--enable-sdl-primitive], [])],
595 [sdl_primitive=${enableval}]
597 AC_MSG_CHECKING([whether to use SDL primitive when possible])
598 AC_MSG_RESULT([${sdl_primitive}])
600 if test "x${sdl_primitive}" = "xyes" ; then
601 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
604 # if software generic need to be build as part of libevas.so
605 have_static_software_generic="no"
606 AC_ARG_ENABLE([static-software-generic],
607 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
608 [have_static_software_generic=${enableval}]
610 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
611 AC_MSG_RESULT([${have_static_software_generic}])
613 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
614 if test "x${have_static_software_generic}" = "xyes"; then
615 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
618 # if software_xlib or software_xcb are available, define everything needed for X11
619 have_evas_engine_software_x11="no"
620 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
621 have_evas_engine_software_x11="static"
623 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
624 have_evas_engine_software_x11="yes"
628 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
629 have_evas_engine_software_xlib="yes"
632 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
633 have_evas_engine_software_xcb="yes"
636 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
637 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
640 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
641 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
644 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
645 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
647 AC_SUBST(have_evas_engine_software_xlib)
648 AC_SUBST(have_evas_engine_software_xcb)
650 # if software 16 x11 is enabled - build software_16 (the generic 16bit
651 # engine). later enable it fb_16 or other "16" bit engines are enabled.
652 have_evas_engine_software_16="no"
653 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
654 have_evas_engine_software_16="yes"
656 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
657 have_evas_engine_software_16="yes"
659 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
660 have_evas_engine_software_16="yes"
662 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
663 have_evas_engine_software_16="yes"
665 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
667 # if software 16 need to be build as part of libevas.so
668 have_static_software_16="no"
669 AC_ARG_ENABLE([static-software-16],
670 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
671 [have_static_software_16=${enableval}]
673 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
674 AC_MSG_RESULT([${have_static_software_16}])
676 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
677 if test "x${have_static_software_16}" = "xyes"; then
678 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
681 # if software 8 x11 is enabled - build software_8 (the generic 8bit
683 have_evas_engine_software_8="no"
684 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
685 have_evas_engine_software_8="yes"
687 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
689 # if software 8 need to be build as part of libevas.so
690 have_static_software_8="no"
691 AC_ARG_ENABLE([static-software-8],
692 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
693 [have_static_software_8=${enableval}]
695 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
696 AC_MSG_RESULT([${have_static_software_8}])
698 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
699 if test "x${have_static_software_8}" = "xyes"; then
700 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
703 #####################################################################
706 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
708 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
709 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
711 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
713 have_evas_image_saver_jpeg="no"
714 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
716 dnl Windows has no sigsetjmp function, nor equivalent.
717 dnl So we disable the jpeg saver.
718 dnl TODO: must find a workaround
723 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
724 have_evas_image_saver_jpeg="yes"
728 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
730 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
732 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
734 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
736 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
738 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
740 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
742 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
745 #####################################################################
746 ## Cpu based optimizations
748 #######################################
755 # basic pthread support
756 AC_CHECK_HEADER(pthread.h,
765 # sched_getaffinity pthread_attr_setaffinity_np
766 AC_CHECK_HEADERS(pthread.h sched.h,
768 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
770 AC_CHECK_LIB(pthread, pthread_barrier_wait,
771 [ build_pthreads="yes" ],
772 [ build_pthreads="no" ]
775 [ build_pthreads="no" ]
778 [ build_pthreads="no" ]
781 #######################################
783 AC_MSG_CHECKING(whether to build pthread code)
784 AC_ARG_ENABLE(pthreads,
785 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
787 if test "x$enableval" = "xyes" ; then
788 if test "x$build_pthreads" = "xyes"; then
790 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
794 if "x$use_strict" = "xyes"; then
795 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
797 AC_MSG_RESULT(no: pthread headers or functions not found)
806 AC_MSG_RESULT($build_pthreads)
807 if test "x$build_pthreads" = "xyes" ; then
808 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
814 #######################################
816 build_pipe_render="no"
818 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
819 AC_ARG_ENABLE(pipe-render,
820 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
821 [ build_pipe_render=$enableval ]
823 AC_MSG_RESULT($build_pipe_render)
825 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
826 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
828 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
829 build_pipe_render="yes"
833 build_pipe_render="no"
836 #######################################
838 build_async_render="no"
840 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
841 AC_ARG_ENABLE(async-render,
842 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
843 [ build_async_render=$enableval ]
845 AC_MSG_RESULT($build_async_render)
847 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
848 if test \( "x$build_async_render" = "xyes" \); then
850 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
851 build_async_render="yes"
852 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
853 build_pipe_render="yes"
856 PKG_CHECK_MODULES([XEXT],
858 [ build_avoid_libXext_bug=yes ],
859 [ build_avoid_libXext_bug=no ]
861 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
862 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
866 build_async_render="no"
869 #######################################
871 build_async_events="auto"
872 AC_MSG_CHECKING(whether to build Async Events support)
873 AC_ARG_ENABLE(async-events,
874 AC_HELP_STRING([--enable-async-events], [enable async events support]),
875 [ build_async_events=$enableval ]
877 AC_MSG_RESULT($build_async_events)
879 AC_MSG_CHECKING(whether we can build Async Events support)
880 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
882 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
883 build_async_events="yes"
886 build_async_events="no"
889 #######################################
890 ## Async image preload
891 build_async_preload="auto"
892 AC_MSG_CHECKING(whether to build Async Image Preload support)
893 AC_ARG_ENABLE(async-preload,
894 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
895 [ build_async_preload=$enableval ]
897 AC_MSG_RESULT($build_async_preload)
899 AC_MSG_CHECKING(whether we can build Async Image Preload support)
900 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
902 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
903 build_async_preload="yes"
907 build_async_preload="no"
910 #######################################
911 ## Link with pthread if needed
912 AC_MSG_CHECKING(whether we should link with pthread)
913 if test "x$need_pthreads" = "xyes"; then
916 pthread_libs="-lpthread"
921 #######################################
935 AC_MSG_CHECKING(whether to build mmx code)
936 AC_ARG_ENABLE(cpu-mmx,
937 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
939 if test "x$enableval" = "xyes" ; then
941 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
949 AC_MSG_RESULT($build_cpu_mmx)
950 if test "x$build_cpu_mmx" = "xyes" ; then
951 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
956 #######################################
970 AC_MSG_CHECKING(whether to build sse code)
971 AC_ARG_ENABLE(cpu-sse,
972 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
974 if test "x$enableval" = "xyes" ; then
976 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
984 AC_MSG_RESULT($build_cpu_sse)
985 if test "x$build_cpu_sse" = "xyes" ; then
986 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
991 #######################################
993 build_cpu_altivec="no"
996 build_cpu_altivec="auto"
1000 AC_MSG_CHECKING(whether to build altivec code)
1001 AC_ARG_ENABLE(cpu-altivec,
1002 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1003 [ build_cpu_altivec=$enableval ],
1005 if test ! "x$build_cpu_altivec" = "xauto"; then
1006 build_cpu_altivec="no"
1010 AC_MSG_RESULT($build_cpu_altivec)
1012 if test "x$build_cpu_altivec" = "xyes"; then
1013 AC_CHECK_HEADER(altivec.h,
1015 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1016 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1017 build_cpu_altivec="yes"
1021 save_CPPFLAGS=$CPPFLAGS
1022 CFLAGS=$CFLAGS" -maltivec"
1023 CPPFLAGS=$CPPFLAGS" -maltivec"
1024 unset ac_cv_header_altivec_h
1025 AC_CHECK_HEADER(altivec.h,
1027 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1028 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1029 build_cpu_altivec="yes"
1032 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1033 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1035 build_cpu_altivec="no"
1039 CPPFLAGS=$save_CPPFLAGS
1044 if test "x$build_cpu_altivec" = "xyes"; then
1045 AC_MSG_CHECKING(whether to use altivec compiler flag)
1046 if test "x$GCC" = "xyes"; then
1047 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1048 altivec_cflags="-faltivec"
1049 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1050 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1051 altivec_cflags="-maltivec"
1052 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1055 AC_MSG_RESULT($altivec_cflags)
1056 CFLAGS="$CFLAGS $altivec_cflags"
1059 #######################################
1064 build_cpu_neon="yes"
1067 AC_MSG_CHECKING(whether to build neon code)
1068 AC_ARG_ENABLE(cpu-neon,
1069 AC_HELP_STRING([--enable-cpu-neon], [enable neon code - with gcc you will need these CFLAGS for it to begin to work, and even then your gcc may have broken or non-existent support: -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon]),
1071 if test "x$enableval" = "xyes" ; then
1072 AC_TRY_COMPILE([#include <arm_neon.h>],
1073 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1076 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1077 build_cpu_neon="yes"
1088 if test "x$build_cpu_neon" = "xyes" ; then
1089 AC_TRY_COMPILE([#include <arm_neon.h>],
1090 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1093 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1094 build_cpu_neon="yes"
1103 #######################################
1106 AC_MSG_CHECKING(whether to build c code)
1107 AC_ARG_ENABLE(cpu-c,
1108 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1110 if test "x$enableval" = "xyes" ; then
1112 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1119 AC_MSG_RESULT($build_cpu_c)
1120 if test "x$build_cpu_c" = "xyes" ; then
1121 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1126 #######################################
1128 want_evas_magic_debug="yes"
1129 AC_MSG_CHECKING(whether to check magic for evas object)
1130 AC_ARG_ENABLE(evas-magic-debug,
1132 [--disable-evas-magic-debug],
1133 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1135 [ want_evas_magic_debug="$enableval" ]
1137 AC_MSG_RESULT($want_evas_magic_debug)
1139 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1140 if test "x$want_evas_magic_debug" = "xyes"; then
1141 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1145 #######################################
1147 want_word_cache="no"
1148 AC_MSG_CHECKING(whether to enable caching of rendered words)
1149 AC_ARG_ENABLE(word-cache,
1151 [--enable-word-cache],
1152 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1154 [ want_word_cache="$enableval" ]
1156 AC_MSG_RESULT($want_word_cache)
1158 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1159 if test "x$want_word_cache" = "xyes"; then
1160 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1163 #######################################
1165 want_metric_cache="no"
1166 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1167 AC_ARG_ENABLE(metric-cache,
1169 [--enable-metric-cache],
1170 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1172 [ want_metric_cache="$enableval" ]
1174 AC_MSG_RESULT($want_metric_cache)
1176 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1177 if test "x$want_metric_cache" = "xyes"; then
1178 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1183 #####################################################################
1184 ## ARGB engine options
1186 #######################################
1187 ## Nearest sampling scaler
1188 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1189 ## Smooth super and sub sampling scaler
1190 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1192 #######################################
1193 ## YUV -> ARGB converter
1196 AC_MSG_CHECKING(whether to build yuv converter code)
1197 AC_ARG_ENABLE(convert-yuv,
1198 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1200 if test "x$enableval" = "xyes" ; then
1202 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1209 AC_MSG_RESULT($conv_yuv)
1210 if test "x$conv_yuv" = "xyes" ; then
1211 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1216 #####################################################################
1217 ## Output rendering features
1219 #######################################
1220 ## Small dither mask instead of big one (lower quality)
1221 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1222 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1223 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1224 ## No dither mask at all for 16bpp
1225 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1227 #######################################
1228 ## Convert to 8bpp RGB 332
1229 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1230 ## Convert to 8bpp RGB 666
1231 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1232 ## Convert to 8bpp RGB 232
1233 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1234 ## Convert to 8bpp RGB 222
1235 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1236 ## Convert to 8bpp RGB 221
1237 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1238 ## Convert to 8bpp RGB 121
1239 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1240 ## Convert to 8bpp RGB 111
1241 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1242 ## Convert to 16bpp RGB 565
1243 EVAS_CONVERT_COLOR(16, RGB, 565)
1244 ## Convert to 16bpp BGR 565
1245 EVAS_CONVERT_COLOR(16, BGR, 565)
1246 ## Convert to 16bpp RGB 555
1247 EVAS_CONVERT_COLOR(16, RGB, 555)
1248 ## Convert to 16bpp RGB 444
1249 EVAS_CONVERT_COLOR(16, RGB, 444)
1251 #######################################
1252 ## Convert to 16bpp RGB 565 (444 ipaq)
1253 conv_16_rgb_ipq="yes"
1254 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1255 AC_ARG_ENABLE(convert-16-rgb-ipq,
1256 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1258 if test "x$enableval" = "xyes" ; then
1259 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1260 conv_16_rgb_ipq="yes"
1262 conv_16_rgb_ipq="no"
1265 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1266 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1270 AC_MSG_RESULT($conv_16_rgb_ipq)
1272 #######################################
1273 ## Convert to 16bpp RGB with rotation of 0
1274 EVAS_CONVERT_ROT(16, RGB, 0)
1275 ## Convert to 16bpp RGB with rotation of 180
1276 EVAS_CONVERT_ROT(16, RGB, 180)
1277 ## Convert to 16bpp RGB with rotation of 270
1278 EVAS_CONVERT_ROT(16, RGB, 270)
1279 ## Convert to 16bpp RGB with rotation of 90
1280 EVAS_CONVERT_ROT(16, RGB, 90)
1282 #######################################
1283 ## Convert to 24bpp RGB 888
1284 EVAS_CONVERT_COLOR(24, RGB, 888)
1285 ## Convert to 24bpp BGR 888
1286 EVAS_CONVERT_COLOR(24, BGR, 888)
1287 ## Convert to 32bpp RGB 8888
1288 EVAS_CONVERT_COLOR(32, RGB, 8888)
1289 ## Convert to 32bpp RGBX 8888
1290 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1291 ## Convert to 32bpp BGR 8888
1292 EVAS_CONVERT_COLOR(32, BGR, 8888)
1293 ## Convert to 32bpp BGRX 8888
1294 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1296 #######################################
1297 ## Convert to 24bpp RGB 666 (666 ezx)
1298 conv_24_rgb_ezx="yes"
1299 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1300 AC_ARG_ENABLE(convert-24-rgb-ezx,
1301 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1303 if test "x$enableval" = "xyes" ; then
1304 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1305 conv_24_rgb_ezx="yes"
1307 conv_24_rgb_ezx="no"
1310 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1311 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1315 AC_MSG_RESULT($conv_24_rgb_ezx)
1317 #######################################
1318 ## Convert to 32bpp RGB 666 (666 ezx)
1319 conv_32_rgb_ezx="yes"
1320 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1321 AC_ARG_ENABLE(convert-32-rgb-ezx,
1322 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1324 if test "x$enableval" = "xyes" ; then
1325 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1326 conv_32_rgb_ezx="yes"
1328 conv_32_rgb_ezx="no"
1331 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1332 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1336 AC_MSG_RESULT($conv_32_rgb_ezx)
1338 #######################################
1339 ## Convert to 32bpp RGB with rotation of 0
1340 EVAS_CONVERT_ROT(32, RGB, 0)
1341 ## Convert to 32bpp RGB with rotation of 180
1342 EVAS_CONVERT_ROT(32, RGB, 180)
1343 ## Convert to 32bpp RGB with rotation of 270
1344 EVAS_CONVERT_ROT(32, RGB, 270)
1345 ## Convert to 32bpp RGB with rotation of 90
1346 EVAS_CONVERT_ROT(32, RGB, 90)
1348 #######################################
1349 ## Convert to 8bpp grayscale with 256 value, no palette
1350 EVAS_CONVERT_COLOR(8, GRY, 1)
1351 ## Convert to 8bpp grayscale with 16 value, no palette
1352 EVAS_CONVERT_COLOR(8, GRY, 16)
1354 #######################################
1355 ## Convert to 8bpp grayscale, 64-palette
1356 conv_8_grayscale_64="yes"
1357 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1358 AC_ARG_ENABLE(convert-8-grayscale-64,
1359 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1361 if test "x$enableval" = "xyes"; then
1362 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1363 conv_8_grayscale_64="yes"
1365 conv_8_grayscale_64="no"
1368 if test "x$conv_8_grayscale_64" = "xyes"; then
1369 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1373 AC_MSG_RESULT($conv_8_grayscale_64)
1379 AC_MSG_CHECKING(whether to enable build with valgrind)
1380 AC_ARG_ENABLE(valgrind,
1381 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1382 [ want_valgrind=$enableval ]
1384 AC_MSG_RESULT($want_valgrind)
1386 if test x$want_valgrind = "xyes"; then
1387 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1389 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1391 requirement_evas="valgrind ${requirement_evas}"
1394 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1395 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1403 install_examples="yes"
1404 AC_ARG_ENABLE([install-examples],
1405 AC_HELP_STRING([--disable-install-examples],
1406 [disable installing examples (compiled or just source).
1407 @<:@default==enabled@:>@]),
1409 if test "x${enableval}" = "xyes" ; then
1410 install_examples="yes"
1412 install_examples="no"
1415 [install_examples="yes"])
1416 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1419 AC_ARG_ENABLE([build-examples],
1420 AC_HELP_STRING([--enable-build-examples],
1421 [enable building examples. @<:@default==disabled@:>@]),
1423 if test "x${enableval}" = "xyes" ; then
1424 build_examples="yes"
1429 [build_examples="no"])
1430 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1433 #####################################################################
1436 AC_SUBST(altivec_cflags)
1437 AC_SUBST(pthread_cflags)
1438 AC_SUBST(pthread_libs)
1439 AC_SUBST(requirement_evas)
1442 #####################################################################
1453 evas-software-buffer.pc
1454 evas-software-x11.pc
1455 evas-software-8-x11.pc
1456 evas-software-16-x11.pc
1459 evas-software-gdi.pc
1460 evas-software-ddraw.pc
1461 evas-software-16-ddraw.pc
1463 evas-software-16-wince.pc
1464 evas-software-sdl.pc
1471 src/lib/canvas/Makefile
1472 src/lib/file/Makefile
1473 src/lib/cache/Makefile
1474 src/lib/cserve/Makefile
1475 src/lib/engines/Makefile
1476 src/lib/engines/common/Makefile
1477 src/lib/engines/common/evas_op_add/Makefile
1478 src/lib/engines/common/evas_op_blend/Makefile
1479 src/lib/engines/common/evas_op_copy/Makefile
1480 src/lib/engines/common/evas_op_mask/Makefile
1481 src/lib/engines/common/evas_op_mul/Makefile
1482 src/lib/engines/common/evas_op_sub/Makefile
1483 src/lib/engines/common_8/Makefile
1484 src/lib/engines/common_16/Makefile
1485 src/modules/Makefile
1486 src/modules/engines/Makefile
1487 src/modules/engines/software_generic/Makefile
1488 src/modules/engines/software_gdi/Makefile
1489 src/modules/engines/software_ddraw/Makefile
1490 src/modules/engines/direct3d/Makefile
1491 src/modules/engines/software_16_wince/Makefile
1492 src/modules/engines/software_x11/Makefile
1493 src/modules/engines/fb/Makefile
1494 src/modules/engines/buffer/Makefile
1495 src/modules/engines/directfb/Makefile
1496 src/modules/engines/gl_common/Makefile
1497 src/modules/engines/gl_glew/Makefile
1498 src/modules/engines/gl_x11/Makefile
1499 src/modules/engines/gl_sdl/Makefile
1500 src/modules/engines/quartz/Makefile
1501 src/modules/engines/xrender_x11/Makefile
1502 src/modules/engines/software_sdl/Makefile
1503 src/modules/engines/software_8/Makefile
1504 src/modules/engines/software_8_x11/Makefile
1505 src/modules/engines/software_16/Makefile
1506 src/modules/engines/software_16_x11/Makefile
1507 src/modules/engines/software_16_ddraw/Makefile
1508 src/modules/engines/software_16_sdl/Makefile
1509 src/modules/loaders/Makefile
1510 src/modules/loaders/edb/Makefile
1511 src/modules/loaders/eet/Makefile
1512 src/modules/loaders/gif/Makefile
1513 src/modules/loaders/jpeg/Makefile
1514 src/modules/loaders/png/Makefile
1515 src/modules/loaders/tiff/Makefile
1516 src/modules/loaders/xpm/Makefile
1517 src/modules/loaders/bmp/Makefile
1518 src/modules/loaders/tga/Makefile
1519 src/modules/loaders/svg/Makefile
1520 src/modules/loaders/pmaps/Makefile
1521 src/modules/savers/Makefile
1522 src/modules/savers/edb/Makefile
1523 src/modules/savers/eet/Makefile
1524 src/modules/savers/jpeg/Makefile
1525 src/modules/savers/png/Makefile
1526 src/modules/savers/tiff/Makefile
1527 src/lib/include/Makefile
1528 src/examples/Makefile
1533 #disabled for the release:
1535 # evas-software-qtopia.pc
1536 # src/modules/engines/cairo_common/Makefile
1537 # src/modules/engines/cairo_x11/Makefile
1538 # src/modules/engines/software_qtopia/Makefile
1541 #####################################################################
1544 if test "x$build_pthreads" = "xno" ; then
1545 if test "x$build_async_render" = "xyes" ; then
1546 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1547 echo " needs thread support."
1550 if test "x$build_pipe_render" = "xyes" ; then
1551 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1552 echo " needs thread support."
1557 if test "x${has_pthreads}" = "xno" ; then
1558 if test "x$build_async_preload" = "xyes" ; then
1559 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1560 echo " needs thread support."
1565 #####################################################################
1571 echo "------------------------------------------------------------------------"
1572 echo "$PACKAGE $VERSION"
1573 echo "------------------------------------------------------------------------"
1575 echo "Configuration Options Summary:"
1578 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1579 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1580 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1581 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1582 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1583 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1587 dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
1588 echo " Software GDI...............: $have_evas_engine_software_gdi"
1589 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1590 echo " Direct3d...................: $have_evas_engine_direct3d"
1591 echo " Quartz.....................: $have_evas_engine_quartz"
1592 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1593 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1594 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1595 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1596 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1600 echo " Software Framebuffer.......: $have_evas_engine_fb"
1601 echo " DirectFB...................: $have_evas_engine_directfb"
1602 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1603 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1604 # FIXME: kill software 16bit
1605 echo " Software 16bit ............: $have_evas_engine_software_16"
1606 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1607 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1608 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1609 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1611 echo "Image Loaders:"
1612 echo " EDB.....................: $have_evas_image_loader_edb"
1613 echo " EET.....................: $have_evas_image_loader_eet"
1614 echo " GIF.....................: $have_evas_image_loader_gif"
1615 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1616 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1617 echo " PNG.....................: $have_evas_image_loader_png"
1618 echo " SVG.....................: $have_evas_image_loader_svg"
1619 echo " TIFF....................: $have_evas_image_loader_tiff"
1620 echo " XPM.....................: $have_evas_image_loader_xpm"
1621 echo " BMP.....................: $have_evas_image_loader_bmp"
1622 echo " TGA.....................: $have_evas_image_loader_tga"
1624 echo "Font Sourcing Systems:"
1625 echo " EET.....................: $have_evas_font_loader_eet"
1627 echo "Font Searching Systems:"
1628 echo " Fontconfig..............: $have_fontconfig"
1629 echo " Fribidi.................: $have_fribidi"
1630 # FIXME: add non freetype2 font engine support
1631 # FIXME: make freetype2 optional
1633 echo "CPU Specific Extensions:"
1634 echo " Fallback C Code.........: $build_cpu_c"
1635 echo " MMX.....................: $build_cpu_mmx"
1636 echo " SSE.....................: $build_cpu_sse"
1637 echo " ALTIVEC.................: $build_cpu_altivec"
1638 echo " NEON....................: $build_cpu_neon"
1639 echo " Thread Support..........: $build_pthreads"
1642 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1643 echo " Cache Server............: $want_evas_cserve"
1646 dnl ... DISABLED! some testing has shown that this seems to have some
1647 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1648 dnl disabling this for now until it can be fixed
1650 echo " Threaded Pipe Rendering.: $build_pipe_render"
1651 echo " Async Pipe Rendering....: $build_async_render"
1652 echo " Async Events............: $build_async_events"
1653 echo " Async Image Preload.....: $build_async_preload"
1655 echo " Word Cache..............: $want_word_cache"
1656 echo " Metric Cache............: $want_metric_cache"
1658 echo "ARGB Software Engine Options:"
1659 echo " Sampling Scaler.........: $scaler_sample"
1660 echo " Smooth Scaler...........: $scaler_smooth"
1661 # FIXME: add an mmx scaler routine
1662 echo " YUV Converter...........: $conv_yuv"
1663 # FIXME: add more YUV format and colorvariant support
1665 echo "ARGB Conversion Options:"
1666 echo " Smaller Dither Mask.....: $conv_small_dither"
1667 echo " Line Dither Mask........: $conv_line_dither"
1668 echo " No Dither Mask for 16bpp: $conv_no_dither"
1669 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1670 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1671 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1672 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1673 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1674 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1675 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1676 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1677 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1678 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1679 # FIXME: add grayscale and B&W support to standard x converters
1680 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1681 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1682 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1683 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1684 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1685 # FIXME: add 555 (444 ipaq) support
1686 # FIXME: add 30bpp support
1687 # FIXME: add palletted support (ugh!)
1688 # FIXME: add 8bpp and below rotation
1689 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1690 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1691 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1692 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1693 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1694 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1695 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1696 # FIXME: add 24bpp rotation
1697 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1698 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1699 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1700 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1701 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1702 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1703 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1704 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1705 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1707 echo "Documentation.............: ${build_doc}"
1708 echo "Examples..................: install:${install_examples} build:${build_examples}"
1710 echo "Compilation............: make (or gmake)"
1711 echo " CPPFLAGS.............: $CPPFLAGS"
1712 echo " CFLAGS...............: $CFLAGS"
1713 echo " CXXFLAGS.............: $CXXFLAGS"
1714 echo " LDFLAGS..............: $LDFLAGS"
1716 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1717 echo " prefix...............: $prefix"
1719 if test "x${have_static_module}" = "xyes" ; then
1720 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1721 echo " You must know what you are doing, or else you will have a lot of problems."
1722 echo " And Kenny will be killed."
1723 echo " Think about that."