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"
120 want_evas_image_loader_wbmp="yes"
122 want_evas_font_loader_eet="yes"
127 want_evas_engine_software_16_wince="yes"
128 want_evas_image_loader_edb="no"
129 want_evas_image_loader_gif="no"
130 want_evas_image_loader_svg="no"
131 want_evas_image_loader_tiff="no"
134 want_evas_engine_software_gdi="yes"
135 want_evas_engine_software_ddraw="yes"
136 want_evas_engine_direct3d="yes"
137 want_evas_engine_software_16_ddraw="yes"
138 want_evas_image_loader_edb="no"
139 want_evas_image_loader_svg="no"
142 want_evas_engine_software_xlib="auto"
143 want_evas_engine_quartz="auto"
146 want_evas_engine_software_xlib="auto"
147 want_evas_engine_gl_x11="auto"
148 want_evas_engine_fb="auto"
149 ### no - not ready/usable/complete
150 # want_evas_engine_software_8_x11="auto"
151 # want_evas_engine_xrender_x11="auto"
152 # want_evas_engine_software_16_x11="auto"
159 ### Additional options to configure
161 # when used, that option makes configure script fails when
162 # a requirement is selected, but not met.
164 AC_ARG_ENABLE([strict],
165 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
169 # Simple X11 build/link
170 AC_ARG_ENABLE([simple-x11],
171 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
173 if test "x${enableval}" = "xyes" ; then
174 want_evas_simple_x11="yes"
176 want_evas_simple_x11="no"
181 ### Checks for programs
183 m4_ifdef([AC_PROG_OBJC],
186 _AM_DEPENDENCIES(OBJC)
189 AC_CHECK_TOOL([OBJC], [gcc])
191 AC_SUBST([OBJCFLAGS])
202 # Check whether pkg-config supports Requires.private
203 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
204 pkgconfig_requires_private="Requires.private"
206 pkgconfig_requires_private="Requires"
208 AC_SUBST(pkgconfig_requires_private)
210 # doxygen program for documentation building
211 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
214 ### Checks for libraries
216 # Evil library for compilation on Windows CE
220 PKG_CHECK_MODULES([EVIL], [evil])
221 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
222 requirement_evas="evil ${requirement_evas}"
226 ## strong dependencies
229 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
232 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
234 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
236 ## optional dependencies
240 AC_ARG_ENABLE([fontconfig],
241 AC_HELP_STRING([--disable-fontconfig],
242 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
244 if test "x${enableval}" = "xyes" ; then
245 want_fontconfig="yes"
252 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
253 PKG_CHECK_MODULES([FONTCONFIG],
256 have_fontconfig="yes"
257 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
258 requirement_evas="fontconfig ${requirement_evas}"
261 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
262 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
269 AC_ARG_ENABLE([fribidi],
270 AC_HELP_STRING([--disable-fribidi],
271 [disable bidirectional text support. @<:@default=enabled@:>@]),
273 if test "x${enableval}" = "xyes" ; then
280 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
281 PKG_CHECK_MODULES([FRIBIDI],
285 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
286 requirement_evas="fribidi ${requirement_evas}"
289 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
290 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
295 if test "x${have_fribidi}" = "xno"; then
299 ### Checks for header files
306 ### Checks for structures
309 ### Checks for compiler characteristics
318 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
321 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
324 AC_SUBST(WIN32_CPPFLAGS)
329 WIN32_CFLAGS="-mwin32"
332 AC_SUBST(WIN32_CFLAGS)
335 ### Checks for linker characteristics
336 lt_enable_auto_import=""
339 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
340 lt_enable_auto_import="-Wl,--enable-auto-import"
343 AC_SUBST(lt_enable_auto_import)
346 ### Checks for library functions
352 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
359 AC_DEFINE(HAVE_DLADDR)
362 # nothing on mingw platform
365 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
366 if test "x$res" = "xyes"; then
367 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
369 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
370 if test "x$res" = "xyes"; then
371 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
374 AC_MSG_ERROR(Cannot find dlopen)
378 AC_SUBST(dlopen_libs)
380 # (shm_open (for cache server)
381 AC_ARG_ENABLE([evas-cserve],
382 AC_HELP_STRING([--disable-evas-cserve],
383 [disable shared cache server support. @<:@default=enabled@:>@]),
385 if test "x${enableval}" = "xyes" ; then
386 want_evas_cserve="yes"
388 want_evas_cserve="no"
391 AC_MSG_CHECKING(whether to build shared cache server and support)
392 AC_MSG_RESULT(${want_evas_cserve})
394 if test "x${want_evas_cserve}" = "xyes" ; then
395 AC_MSG_CHECKING([whether shm_open() is present])
401 #include <sys/types.h>
402 #include <sys/mman.h>
407 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
410 [want_evas_cserve="yes"],
411 [want_evas_cserve="no"])
413 AC_MSG_RESULT([${want_evas_cserve}])
416 if test "x${want_evas_cserve}" = "xyes" ; then
417 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
420 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
424 #######################################
425 ## GL force flavor gles
427 AC_MSG_CHECKING(whether to build GLES flavor of GL)
428 AC_ARG_ENABLE(gl-flavor-gles,
429 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
431 if test "x$enableval" = "xyes" ; then
444 #######################################
446 gles_variety_sgx="no"
447 AC_MSG_CHECKING(whether to build GLES variety for SGX)
448 AC_ARG_ENABLE(gles-variety-sgx,
449 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
451 if test "x$enableval" = "xyes" ; then
453 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
454 gles_variety_sgx="yes"
457 gles_variety_sgx="no"
461 gles_variety_sgx="no"
465 #######################################
466 ## GLES variety s3c6410
467 gles_variety_s3c6410="no"
468 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
469 AC_ARG_ENABLE(gles-variety-s3c6410,
470 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
472 if test "x$enableval" = "xyes" ; then
474 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
475 gles_variety_s3c6410="yes"
478 gles_variety_s3c6410="no"
482 gles_variety_s3c6410="no"
486 if test "x$gl_flavor_gles" = "xyes"; then
488 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
489 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
490 if test "x$eng" = "xx"; then
494 [Please enable just 1 OpenGL-ES flavor. Choices are:
495 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
496 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
497 You will also need to enable the OpenGL engine for X11 with:
503 #####################################################################
506 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
508 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
510 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
512 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
514 # disable cairo engine for the release
515 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
517 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
519 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
521 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
523 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
525 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
527 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
529 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
531 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
533 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
535 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
537 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
539 # disable qtopia engine for the release
540 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
542 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
544 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
546 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
548 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
551 #have_evas_engine_cairo_common="no"
552 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
553 # have_evas_engine_cairo_common="yes"
554 # AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
556 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
559 have_evas_engine_gl_common="no"
560 if test "x$have_evas_engine_gl_x11" = "xyes" \
561 || test "x$have_evas_engine_gl_x11" = "xstatic" \
562 || test "x$have_evas_engine_gl_glew" = "xyes" \
563 || test "x$have_evas_engine_gl_glew" = "xstatic" \
564 || test "x$have_evas_engine_gl_sdl" = "xyes" \
565 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
566 have_evas_engine_gl_common="yes"
569 if test "x$have_evas_engine_gl_common" = "xyes"; then
570 evas_engine_gl_common_libs=""
571 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
574 AC_SUBST([evas_engine_gl_common_libs])
576 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
579 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
580 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
581 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
582 [#include <SDL/SDL_video.h>])
585 if test "x$gl_flavor_gles" = "xyes"; then
586 AC_CHECK_DECL(SDL_OPENGLES,
587 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
588 [#include <SDL/SDL_video.h>])
594 AC_ARG_ENABLE([sdl-primitive],
595 [AC_HELP_STRING([--enable-sdl-primitive], [])],
596 [sdl_primitive=${enableval}]
598 AC_MSG_CHECKING([whether to use SDL primitive when possible])
599 AC_MSG_RESULT([${sdl_primitive}])
601 if test "x${sdl_primitive}" = "xyes" ; then
602 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
605 # if software generic need to be build as part of libevas.so
606 have_static_software_generic="no"
607 AC_ARG_ENABLE([static-software-generic],
608 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
609 [have_static_software_generic=${enableval}]
611 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
612 AC_MSG_RESULT([${have_static_software_generic}])
614 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
615 if test "x${have_static_software_generic}" = "xyes"; then
616 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
619 # if software_xlib or software_xcb are available, define everything needed for X11
620 have_evas_engine_software_x11="no"
621 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
622 have_evas_engine_software_x11="static"
624 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
625 have_evas_engine_software_x11="yes"
629 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
630 have_evas_engine_software_xlib="yes"
633 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
634 have_evas_engine_software_xcb="yes"
637 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
638 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
641 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
642 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
645 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
646 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
648 AC_SUBST(have_evas_engine_software_xlib)
649 AC_SUBST(have_evas_engine_software_xcb)
651 # if software 16 x11 is enabled - build software_16 (the generic 16bit
652 # engine). later enable it fb_16 or other "16" bit engines are enabled.
653 have_evas_engine_software_16="no"
654 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
655 have_evas_engine_software_16="yes"
657 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
658 have_evas_engine_software_16="yes"
660 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
661 have_evas_engine_software_16="yes"
663 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
664 have_evas_engine_software_16="yes"
666 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
668 # if software 16 need to be build as part of libevas.so
669 have_static_software_16="no"
670 AC_ARG_ENABLE([static-software-16],
671 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
672 [have_static_software_16=${enableval}]
674 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
675 AC_MSG_RESULT([${have_static_software_16}])
677 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
678 if test "x${have_static_software_16}" = "xyes"; then
679 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
682 # if software 8 x11 is enabled - build software_8 (the generic 8bit
684 have_evas_engine_software_8="no"
685 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
686 have_evas_engine_software_8="yes"
688 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
690 # if software 8 need to be build as part of libevas.so
691 have_static_software_8="no"
692 AC_ARG_ENABLE([static-software-8],
693 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
694 [have_static_software_8=${enableval}]
696 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
697 AC_MSG_RESULT([${have_static_software_8}])
699 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
700 if test "x${have_static_software_8}" = "xyes"; then
701 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
704 #####################################################################
707 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
709 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
710 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
712 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
714 have_evas_image_saver_jpeg="no"
715 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
717 dnl Windows has no sigsetjmp function, nor equivalent.
718 dnl So we disable the jpeg saver.
719 dnl TODO: must find a workaround
724 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
725 have_evas_image_saver_jpeg="yes"
729 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
731 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
733 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
735 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
737 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
739 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
741 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
743 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
745 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
748 #####################################################################
749 ## Cpu based optimizations
751 #######################################
758 # basic pthread support
759 AC_CHECK_HEADER(pthread.h,
768 # sched_getaffinity pthread_attr_setaffinity_np
769 AC_CHECK_HEADERS(pthread.h sched.h,
771 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
773 AC_CHECK_LIB(pthread, pthread_barrier_wait,
774 [ build_pthreads="yes" ],
775 [ build_pthreads="no" ]
778 [ build_pthreads="no" ]
781 [ build_pthreads="no" ]
784 #######################################
786 AC_MSG_CHECKING(whether to build pthread code)
787 AC_ARG_ENABLE(pthreads,
788 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
790 if test "x$enableval" = "xyes" ; then
791 if test "x$build_pthreads" = "xyes"; then
793 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
797 if "x$use_strict" = "xyes"; then
798 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
800 AC_MSG_RESULT(no: pthread headers or functions not found)
809 AC_MSG_RESULT($build_pthreads)
810 if test "x$build_pthreads" = "xyes" ; then
811 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
817 #######################################
819 build_pipe_render="no"
821 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
822 AC_ARG_ENABLE(pipe-render,
823 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
824 [ build_pipe_render=$enableval ]
826 AC_MSG_RESULT($build_pipe_render)
828 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
829 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
831 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
832 build_pipe_render="yes"
836 build_pipe_render="no"
839 #######################################
841 build_async_render="no"
843 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
844 AC_ARG_ENABLE(async-render,
845 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
846 [ build_async_render=$enableval ]
848 AC_MSG_RESULT($build_async_render)
850 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
851 if test \( "x$build_async_render" = "xyes" \); then
853 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
854 build_async_render="yes"
855 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
856 build_pipe_render="yes"
859 PKG_CHECK_MODULES([XEXT],
861 [ build_avoid_libXext_bug=yes ],
862 [ build_avoid_libXext_bug=no ]
864 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
865 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
869 build_async_render="no"
872 #######################################
874 build_async_events="auto"
875 AC_MSG_CHECKING(whether to build Async Events support)
876 AC_ARG_ENABLE(async-events,
877 AC_HELP_STRING([--enable-async-events], [enable async events support]),
878 [ build_async_events=$enableval ]
880 AC_MSG_RESULT($build_async_events)
882 AC_MSG_CHECKING(whether we can build Async Events support)
883 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
885 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
886 build_async_events="yes"
889 build_async_events="no"
892 #######################################
893 ## Async image preload
894 build_async_preload="auto"
895 AC_MSG_CHECKING(whether to build Async Image Preload support)
896 AC_ARG_ENABLE(async-preload,
897 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
898 [ build_async_preload=$enableval ]
900 AC_MSG_RESULT($build_async_preload)
902 AC_MSG_CHECKING(whether we can build Async Image Preload support)
903 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
905 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
906 build_async_preload="yes"
910 build_async_preload="no"
913 #######################################
914 ## Link with pthread if needed
915 AC_MSG_CHECKING(whether we should link with pthread)
916 if test "x$need_pthreads" = "xyes"; then
919 pthread_libs="-lpthread"
924 #######################################
938 AC_MSG_CHECKING(whether to build mmx code)
939 AC_ARG_ENABLE(cpu-mmx,
940 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
942 if test "x$enableval" = "xyes" ; then
944 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
952 AC_MSG_RESULT($build_cpu_mmx)
953 if test "x$build_cpu_mmx" = "xyes" ; then
954 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
959 #######################################
973 AC_MSG_CHECKING(whether to build sse code)
974 AC_ARG_ENABLE(cpu-sse,
975 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
977 if test "x$enableval" = "xyes" ; then
979 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
987 AC_MSG_RESULT($build_cpu_sse)
988 if test "x$build_cpu_sse" = "xyes" ; then
989 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
994 #######################################
996 build_cpu_altivec="no"
999 build_cpu_altivec="auto"
1003 AC_MSG_CHECKING(whether to build altivec code)
1004 AC_ARG_ENABLE(cpu-altivec,
1005 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1006 [ build_cpu_altivec=$enableval ],
1008 if test ! "x$build_cpu_altivec" = "xauto"; then
1009 build_cpu_altivec="no"
1013 AC_MSG_RESULT($build_cpu_altivec)
1015 if test "x$build_cpu_altivec" = "xyes"; then
1016 AC_CHECK_HEADER(altivec.h,
1018 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1019 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1020 build_cpu_altivec="yes"
1024 save_CPPFLAGS=$CPPFLAGS
1025 CFLAGS=$CFLAGS" -maltivec"
1026 CPPFLAGS=$CPPFLAGS" -maltivec"
1027 unset ac_cv_header_altivec_h
1028 AC_CHECK_HEADER(altivec.h,
1030 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1031 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1032 build_cpu_altivec="yes"
1035 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1036 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1038 build_cpu_altivec="no"
1042 CPPFLAGS=$save_CPPFLAGS
1047 if test "x$build_cpu_altivec" = "xyes"; then
1048 AC_MSG_CHECKING(whether to use altivec compiler flag)
1049 if test "x$GCC" = "xyes"; then
1050 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1051 altivec_cflags="-faltivec"
1052 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1053 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1054 altivec_cflags="-maltivec"
1055 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1058 AC_MSG_RESULT($altivec_cflags)
1059 CFLAGS="$CFLAGS $altivec_cflags"
1062 #######################################
1067 build_cpu_neon="yes"
1070 AC_MSG_CHECKING(whether to build neon code)
1071 AC_ARG_ENABLE(cpu-neon,
1072 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]),
1074 if test "x$enableval" = "xyes" ; then
1075 AC_TRY_COMPILE([#include <arm_neon.h>],
1076 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1079 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1080 build_cpu_neon="yes"
1091 if test "x$build_cpu_neon" = "xyes" ; then
1092 AC_TRY_COMPILE([#include <arm_neon.h>],
1093 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1096 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1097 build_cpu_neon="yes"
1106 #######################################
1109 AC_MSG_CHECKING(whether to build c code)
1110 AC_ARG_ENABLE(cpu-c,
1111 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1113 if test "x$enableval" = "xyes" ; then
1115 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1122 AC_MSG_RESULT($build_cpu_c)
1123 if test "x$build_cpu_c" = "xyes" ; then
1124 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1129 #######################################
1131 want_evas_magic_debug="yes"
1132 AC_MSG_CHECKING(whether to check magic for evas object)
1133 AC_ARG_ENABLE(evas-magic-debug,
1135 [--disable-evas-magic-debug],
1136 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1138 [ want_evas_magic_debug="$enableval" ]
1140 AC_MSG_RESULT($want_evas_magic_debug)
1142 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1143 if test "x$want_evas_magic_debug" = "xyes"; then
1144 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1148 #######################################
1150 want_word_cache="no"
1151 AC_MSG_CHECKING(whether to enable caching of rendered words)
1152 AC_ARG_ENABLE(word-cache,
1154 [--enable-word-cache],
1155 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1157 [ want_word_cache="$enableval" ]
1159 AC_MSG_RESULT($want_word_cache)
1161 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1162 if test "x$want_word_cache" = "xyes"; then
1163 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1166 #######################################
1168 want_metric_cache="no"
1169 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1170 AC_ARG_ENABLE(metric-cache,
1172 [--enable-metric-cache],
1173 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1175 [ want_metric_cache="$enableval" ]
1177 AC_MSG_RESULT($want_metric_cache)
1179 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1180 if test "x$want_metric_cache" = "xyes"; then
1181 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1186 #####################################################################
1187 ## ARGB engine options
1189 #######################################
1190 ## Nearest sampling scaler
1191 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1192 ## Smooth super and sub sampling scaler
1193 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1195 #######################################
1196 ## YUV -> ARGB converter
1199 AC_MSG_CHECKING(whether to build yuv converter code)
1200 AC_ARG_ENABLE(convert-yuv,
1201 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1203 if test "x$enableval" = "xyes" ; then
1205 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1212 AC_MSG_RESULT($conv_yuv)
1213 if test "x$conv_yuv" = "xyes" ; then
1214 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1219 #####################################################################
1220 ## Output rendering features
1222 #######################################
1223 ## Small dither mask instead of big one (lower quality)
1224 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1225 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1226 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1227 ## No dither mask at all for 16bpp
1228 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1230 #######################################
1231 ## Convert to 8bpp RGB 332
1232 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1233 ## Convert to 8bpp RGB 666
1234 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1235 ## Convert to 8bpp RGB 232
1236 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1237 ## Convert to 8bpp RGB 222
1238 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1239 ## Convert to 8bpp RGB 221
1240 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1241 ## Convert to 8bpp RGB 121
1242 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1243 ## Convert to 8bpp RGB 111
1244 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1245 ## Convert to 16bpp RGB 565
1246 EVAS_CONVERT_COLOR(16, RGB, 565)
1247 ## Convert to 16bpp BGR 565
1248 EVAS_CONVERT_COLOR(16, BGR, 565)
1249 ## Convert to 16bpp RGB 555
1250 EVAS_CONVERT_COLOR(16, RGB, 555)
1251 ## Convert to 16bpp RGB 444
1252 EVAS_CONVERT_COLOR(16, RGB, 444)
1254 #######################################
1255 ## Convert to 16bpp RGB 565 (444 ipaq)
1256 conv_16_rgb_ipq="yes"
1257 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1258 AC_ARG_ENABLE(convert-16-rgb-ipq,
1259 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1261 if test "x$enableval" = "xyes" ; then
1262 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1263 conv_16_rgb_ipq="yes"
1265 conv_16_rgb_ipq="no"
1268 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1269 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1273 AC_MSG_RESULT($conv_16_rgb_ipq)
1275 #######################################
1276 ## Convert to 16bpp RGB with rotation of 0
1277 EVAS_CONVERT_ROT(16, RGB, 0)
1278 ## Convert to 16bpp RGB with rotation of 180
1279 EVAS_CONVERT_ROT(16, RGB, 180)
1280 ## Convert to 16bpp RGB with rotation of 270
1281 EVAS_CONVERT_ROT(16, RGB, 270)
1282 ## Convert to 16bpp RGB with rotation of 90
1283 EVAS_CONVERT_ROT(16, RGB, 90)
1285 #######################################
1286 ## Convert to 24bpp RGB 888
1287 EVAS_CONVERT_COLOR(24, RGB, 888)
1288 ## Convert to 24bpp BGR 888
1289 EVAS_CONVERT_COLOR(24, BGR, 888)
1290 ## Convert to 32bpp RGB 8888
1291 EVAS_CONVERT_COLOR(32, RGB, 8888)
1292 ## Convert to 32bpp RGBX 8888
1293 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1294 ## Convert to 32bpp BGR 8888
1295 EVAS_CONVERT_COLOR(32, BGR, 8888)
1296 ## Convert to 32bpp BGRX 8888
1297 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1299 #######################################
1300 ## Convert to 24bpp RGB 666 (666 ezx)
1301 conv_24_rgb_ezx="yes"
1302 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1303 AC_ARG_ENABLE(convert-24-rgb-ezx,
1304 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1306 if test "x$enableval" = "xyes" ; then
1307 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1308 conv_24_rgb_ezx="yes"
1310 conv_24_rgb_ezx="no"
1313 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1314 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1318 AC_MSG_RESULT($conv_24_rgb_ezx)
1320 #######################################
1321 ## Convert to 32bpp RGB 666 (666 ezx)
1322 conv_32_rgb_ezx="yes"
1323 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1324 AC_ARG_ENABLE(convert-32-rgb-ezx,
1325 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1327 if test "x$enableval" = "xyes" ; then
1328 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1329 conv_32_rgb_ezx="yes"
1331 conv_32_rgb_ezx="no"
1334 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1335 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1339 AC_MSG_RESULT($conv_32_rgb_ezx)
1341 #######################################
1342 ## Convert to 32bpp RGB with rotation of 0
1343 EVAS_CONVERT_ROT(32, RGB, 0)
1344 ## Convert to 32bpp RGB with rotation of 180
1345 EVAS_CONVERT_ROT(32, RGB, 180)
1346 ## Convert to 32bpp RGB with rotation of 270
1347 EVAS_CONVERT_ROT(32, RGB, 270)
1348 ## Convert to 32bpp RGB with rotation of 90
1349 EVAS_CONVERT_ROT(32, RGB, 90)
1351 #######################################
1352 ## Convert to 8bpp grayscale with 256 value, no palette
1353 EVAS_CONVERT_COLOR(8, GRY, 1)
1354 ## Convert to 8bpp grayscale with 16 value, no palette
1355 EVAS_CONVERT_COLOR(8, GRY, 16)
1357 #######################################
1358 ## Convert to 8bpp grayscale, 64-palette
1359 conv_8_grayscale_64="yes"
1360 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1361 AC_ARG_ENABLE(convert-8-grayscale-64,
1362 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1364 if test "x$enableval" = "xyes"; then
1365 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1366 conv_8_grayscale_64="yes"
1368 conv_8_grayscale_64="no"
1371 if test "x$conv_8_grayscale_64" = "xyes"; then
1372 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1376 AC_MSG_RESULT($conv_8_grayscale_64)
1382 AC_MSG_CHECKING(whether to enable build with valgrind)
1383 AC_ARG_ENABLE(valgrind,
1384 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1385 [ want_valgrind=$enableval ]
1387 AC_MSG_RESULT($want_valgrind)
1389 if test x$want_valgrind = "xyes"; then
1390 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1392 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1394 requirement_evas="valgrind ${requirement_evas}"
1397 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1398 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1406 install_examples="yes"
1407 AC_ARG_ENABLE([install-examples],
1408 AC_HELP_STRING([--disable-install-examples],
1409 [disable installing examples (compiled or just source).
1410 @<:@default==enabled@:>@]),
1412 if test "x${enableval}" = "xyes" ; then
1413 install_examples="yes"
1415 install_examples="no"
1418 [install_examples="yes"])
1419 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1422 AC_ARG_ENABLE([build-examples],
1423 AC_HELP_STRING([--enable-build-examples],
1424 [enable building examples. @<:@default==disabled@:>@]),
1426 if test "x${enableval}" = "xyes" ; then
1427 build_examples="yes"
1432 [build_examples="no"])
1433 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1436 #####################################################################
1439 AC_SUBST(altivec_cflags)
1440 AC_SUBST(pthread_cflags)
1441 AC_SUBST(pthread_libs)
1442 AC_SUBST(requirement_evas)
1445 #####################################################################
1456 evas-software-buffer.pc
1457 evas-software-x11.pc
1458 evas-software-8-x11.pc
1459 evas-software-16-x11.pc
1462 evas-software-gdi.pc
1463 evas-software-ddraw.pc
1464 evas-software-16-ddraw.pc
1466 evas-software-16-wince.pc
1467 evas-software-sdl.pc
1474 src/lib/canvas/Makefile
1475 src/lib/file/Makefile
1476 src/lib/cache/Makefile
1477 src/lib/cserve/Makefile
1478 src/lib/engines/Makefile
1479 src/lib/engines/common/Makefile
1480 src/lib/engines/common/evas_op_add/Makefile
1481 src/lib/engines/common/evas_op_blend/Makefile
1482 src/lib/engines/common/evas_op_copy/Makefile
1483 src/lib/engines/common/evas_op_mask/Makefile
1484 src/lib/engines/common/evas_op_mul/Makefile
1485 src/lib/engines/common/evas_op_sub/Makefile
1486 src/lib/engines/common_8/Makefile
1487 src/lib/engines/common_16/Makefile
1488 src/modules/Makefile
1489 src/modules/engines/Makefile
1490 src/modules/engines/software_generic/Makefile
1491 src/modules/engines/software_gdi/Makefile
1492 src/modules/engines/software_ddraw/Makefile
1493 src/modules/engines/direct3d/Makefile
1494 src/modules/engines/software_16_wince/Makefile
1495 src/modules/engines/software_x11/Makefile
1496 src/modules/engines/fb/Makefile
1497 src/modules/engines/buffer/Makefile
1498 src/modules/engines/directfb/Makefile
1499 src/modules/engines/gl_common/Makefile
1500 src/modules/engines/gl_glew/Makefile
1501 src/modules/engines/gl_x11/Makefile
1502 src/modules/engines/gl_sdl/Makefile
1503 src/modules/engines/quartz/Makefile
1504 src/modules/engines/xrender_x11/Makefile
1505 src/modules/engines/software_sdl/Makefile
1506 src/modules/engines/software_8/Makefile
1507 src/modules/engines/software_8_x11/Makefile
1508 src/modules/engines/software_16/Makefile
1509 src/modules/engines/software_16_x11/Makefile
1510 src/modules/engines/software_16_ddraw/Makefile
1511 src/modules/engines/software_16_sdl/Makefile
1512 src/modules/loaders/Makefile
1513 src/modules/loaders/edb/Makefile
1514 src/modules/loaders/eet/Makefile
1515 src/modules/loaders/gif/Makefile
1516 src/modules/loaders/jpeg/Makefile
1517 src/modules/loaders/png/Makefile
1518 src/modules/loaders/tiff/Makefile
1519 src/modules/loaders/xpm/Makefile
1520 src/modules/loaders/bmp/Makefile
1521 src/modules/loaders/tga/Makefile
1522 src/modules/loaders/svg/Makefile
1523 src/modules/loaders/pmaps/Makefile
1524 src/modules/loaders/wbmp/Makefile
1525 src/modules/savers/Makefile
1526 src/modules/savers/edb/Makefile
1527 src/modules/savers/eet/Makefile
1528 src/modules/savers/jpeg/Makefile
1529 src/modules/savers/png/Makefile
1530 src/modules/savers/tiff/Makefile
1531 src/lib/include/Makefile
1532 src/examples/Makefile
1537 #disabled for the release:
1539 # evas-software-qtopia.pc
1540 # src/modules/engines/cairo_common/Makefile
1541 # src/modules/engines/cairo_x11/Makefile
1542 # src/modules/engines/software_qtopia/Makefile
1545 #####################################################################
1548 if test "x$build_pthreads" = "xno" ; then
1549 if test "x$build_async_render" = "xyes" ; then
1550 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1551 echo " needs thread support."
1554 if test "x$build_pipe_render" = "xyes" ; then
1555 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1556 echo " needs thread support."
1561 if test "x${has_pthreads}" = "xno" ; then
1562 if test "x$build_async_preload" = "xyes" ; then
1563 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1564 echo " needs thread support."
1569 #####################################################################
1575 echo "------------------------------------------------------------------------"
1576 echo "$PACKAGE $VERSION"
1577 echo "------------------------------------------------------------------------"
1579 echo "Configuration Options Summary:"
1582 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1583 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1584 echo " XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1585 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1586 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1587 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1591 dnl echo " Cairo X11..................: $have_evas_engine_cairo_x11"
1592 echo " Software GDI...............: $have_evas_engine_software_gdi"
1593 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1594 echo " Direct3d...................: $have_evas_engine_direct3d"
1595 echo " Quartz.....................: $have_evas_engine_quartz"
1596 echo " OpenGL Glew................: $have_evas_engine_gl_glew"
1597 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1598 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1599 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1600 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1604 echo " Software Framebuffer.......: $have_evas_engine_fb"
1605 echo " DirectFB...................: $have_evas_engine_directfb"
1606 dnl echo " Software Qtopia............: $have_evas_engine_software_qtopia"
1607 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1608 # FIXME: kill software 16bit
1609 echo " Software 16bit ............: $have_evas_engine_software_16"
1610 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1611 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1612 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1613 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1615 echo "Image Loaders:"
1616 echo " EDB.....................: $have_evas_image_loader_edb"
1617 echo " EET.....................: $have_evas_image_loader_eet"
1618 echo " GIF.....................: $have_evas_image_loader_gif"
1619 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1620 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1621 echo " PNG.....................: $have_evas_image_loader_png"
1622 echo " SVG.....................: $have_evas_image_loader_svg"
1623 echo " TIFF....................: $have_evas_image_loader_tiff"
1624 echo " XPM.....................: $have_evas_image_loader_xpm"
1625 echo " BMP.....................: $have_evas_image_loader_bmp"
1626 echo " TGA.....................: $have_evas_image_loader_tga"
1627 echo " WBMP....................: $have_evas_image_loader_wbmp"
1629 echo "Font Sourcing Systems:"
1630 echo " EET.....................: $have_evas_font_loader_eet"
1632 echo "Font Searching Systems:"
1633 echo " Fontconfig..............: $have_fontconfig"
1634 echo " Fribidi.................: $have_fribidi"
1635 # FIXME: add non freetype2 font engine support
1636 # FIXME: make freetype2 optional
1638 echo "CPU Specific Extensions:"
1639 echo " Fallback C Code.........: $build_cpu_c"
1640 echo " MMX.....................: $build_cpu_mmx"
1641 echo " SSE.....................: $build_cpu_sse"
1642 echo " ALTIVEC.................: $build_cpu_altivec"
1643 echo " NEON....................: $build_cpu_neon"
1644 echo " Thread Support..........: $build_pthreads"
1647 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1648 echo " Cache Server............: $want_evas_cserve"
1651 dnl ... DISABLED! some testing has shown that this seems to have some
1652 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1653 dnl disabling this for now until it can be fixed
1655 echo " Threaded Pipe Rendering.: $build_pipe_render"
1656 echo " Async Pipe Rendering....: $build_async_render"
1657 echo " Async Events............: $build_async_events"
1658 echo " Async Image Preload.....: $build_async_preload"
1660 echo " Word Cache..............: $want_word_cache"
1661 echo " Metric Cache............: $want_metric_cache"
1663 echo "ARGB Software Engine Options:"
1664 echo " Sampling Scaler.........: $scaler_sample"
1665 echo " Smooth Scaler...........: $scaler_smooth"
1666 # FIXME: add an mmx scaler routine
1667 echo " YUV Converter...........: $conv_yuv"
1668 # FIXME: add more YUV format and colorvariant support
1670 echo "ARGB Conversion Options:"
1671 echo " Smaller Dither Mask.....: $conv_small_dither"
1672 echo " Line Dither Mask........: $conv_line_dither"
1673 echo " No Dither Mask for 16bpp: $conv_no_dither"
1674 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1675 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1676 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1677 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1678 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1679 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1680 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1681 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1682 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1683 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1684 # FIXME: add grayscale and B&W support to standard x converters
1685 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1686 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1687 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1688 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1689 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1690 # FIXME: add 555 (444 ipaq) support
1691 # FIXME: add 30bpp support
1692 # FIXME: add palletted support (ugh!)
1693 # FIXME: add 8bpp and below rotation
1694 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1695 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1696 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1697 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1698 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1699 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1700 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1701 # FIXME: add 24bpp rotation
1702 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1703 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1704 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1705 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1706 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1707 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1708 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1709 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1710 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1712 echo "Documentation.............: ${build_doc}"
1713 echo "Examples..................: install:${install_examples} build:${build_examples}"
1715 echo "Compilation............: make (or gmake)"
1716 echo " CPPFLAGS.............: $CPPFLAGS"
1717 echo " CFLAGS...............: $CFLAGS"
1718 echo " CXXFLAGS.............: $CXXFLAGS"
1719 echo " LDFLAGS..............: $LDFLAGS"
1721 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1722 echo " prefix...............: $prefix"
1724 if test "x${have_static_module}" = "xyes" ; then
1725 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1726 echo " You must know what you are doing, or else you will have a lot of problems."
1727 echo " And Kenny will be killed."
1728 echo " Think about that."