1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [999])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##-- When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##-- When doing snapshots - change soname. remove dnl on below line
11 dnl m4_define([relname], [ver-pre-svn-07])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
22 # Check whether the Objective C compiler works.
23 AC_DEFUN([rw_PROG_OBJC_WORKS],
24 [m4_ifdef([AC_PROG_OBJC], [AC_REQUIRE([AC_PROG_OBJC])dnl
25 AC_CACHE_CHECK([whether the Objective C compiler works],
26 [rw_cv_prog_objc_works],
27 [AC_LANG_PUSH([Objective C])
28 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
29 [rw_cv_prog_objc_works=yes],
30 [rw_cv_prog_objc_works=no])
31 AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
34 AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
39 AC_CONFIG_HEADERS([config.h])
41 #ifndef EFL_CONFIG_H__
42 #define EFL_CONFIG_H__
45 #endif /* EFL_CONFIG_H__ */
48 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
49 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
54 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
57 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
59 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
60 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
61 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
62 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
63 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
64 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
65 version_info="lt_cur:lt_rev:lt_age"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
74 ### Needed information
81 MODULE_ARCH="$host_os-$host_cpu"
84 MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
90 want_fontconfig="auto"
94 want_evas_cserve="yes"
96 want_evas_engine_buffer="yes"
97 want_evas_engine_software_xlib="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_software_xcb="no"
101 want_evas_engine_software_gdi="no"
102 want_evas_engine_software_ddraw="no"
103 want_evas_engine_direct3d="no"
104 want_evas_engine_software_sdl="no"
105 want_evas_engine_fb="no"
106 want_evas_engine_directfb="no"
107 want_evas_engine_software_8_x11="no"
108 want_evas_engine_software_16_x11="no"
109 want_evas_engine_software_16_ddraw="no"
110 want_evas_engine_software_16_wince="no"
112 want_evas_image_loader_edb="yes"
113 want_evas_image_loader_eet="yes"
114 want_evas_image_loader_gif="yes"
115 want_evas_image_loader_jpeg="yes"
116 want_evas_image_loader_pmaps="yes"
117 want_evas_image_loader_png="yes"
118 want_evas_image_loader_svg="yes"
119 want_evas_image_loader_tiff="yes"
120 want_evas_image_loader_xpm="yes"
121 want_evas_image_loader_bmp="yes"
122 want_evas_image_loader_tga="yes"
123 want_evas_image_loader_wbmp="yes"
124 want_evas_image_loader_ico="yes"
125 want_evas_image_loader_psd="yes"
127 want_evas_font_loader_eet="yes"
132 want_evas_engine_software_16_wince="yes"
133 want_evas_image_loader_edb="no"
134 want_evas_image_loader_gif="no"
135 want_evas_image_loader_svg="no"
136 want_evas_image_loader_tiff="no"
139 want_evas_engine_software_gdi="yes"
140 want_evas_engine_software_ddraw="yes"
141 want_evas_engine_direct3d="yes"
142 want_evas_engine_software_16_ddraw="yes"
143 want_evas_image_loader_edb="no"
144 want_evas_image_loader_svg="no"
147 want_evas_engine_software_xlib="auto"
150 want_evas_engine_software_xlib="auto"
151 want_evas_engine_gl_x11="auto"
152 want_evas_engine_fb="auto"
153 ### no - not ready/usable/complete
154 # want_evas_engine_software_8_x11="auto"
155 # want_evas_engine_software_16_x11="auto"
162 ### Additional options to configure
164 # when used, that option makes configure script fails when
165 # a requirement is selected, but not met.
167 AC_ARG_ENABLE([strict],
168 AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
172 # Simple X11 build/link
173 AC_ARG_ENABLE([simple-x11],
174 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
176 if test "x${enableval}" = "xyes" ; then
177 want_evas_simple_x11="yes"
179 want_evas_simple_x11="no"
184 ### Checks for programs
186 m4_ifdef([AC_PROG_OBJC],
189 _AM_DEPENDENCIES(OBJC)
192 dnl#AC_CHECK_TOOL([OBJC], [gcc])
194 dnl#AC_SUBST([OBJCFLAGS])
205 # Check whether pkg-config supports Requires.private
206 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
207 pkgconfig_requires_private="Requires.private"
209 pkgconfig_requires_private="Requires"
211 AC_SUBST(pkgconfig_requires_private)
213 # doxygen program for documentation building
214 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
217 ### Checks for libraries
219 # Evil library for compilation on Windows CE
223 PKG_CHECK_MODULES([EVIL], [evil])
224 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
225 requirement_evas="evil ${requirement_evas}"
229 ## strong dependencies
232 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
235 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
237 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
239 ## optional dependencies
243 AC_ARG_ENABLE([fontconfig],
244 AC_HELP_STRING([--disable-fontconfig],
245 [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
247 if test "x${enableval}" = "xyes" ; then
248 want_fontconfig="yes"
255 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
256 PKG_CHECK_MODULES([FONTCONFIG],
259 have_fontconfig="yes"
260 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
261 requirement_evas="fontconfig ${requirement_evas}"
264 if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
265 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
272 AC_ARG_ENABLE([fribidi],
273 AC_HELP_STRING([--disable-fribidi],
274 [disable bidirectional text support. @<:@default=enabled@:>@]),
276 if test "x${enableval}" = "xyes" ; then
283 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
284 PKG_CHECK_MODULES([FRIBIDI],
288 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
289 requirement_evas="fribidi ${requirement_evas}"
292 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
293 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
298 if test "x${have_fribidi}" = "xno"; then
304 have_harfbuzz_glib="no"
305 have_harfbuzz_ft="no"
306 AC_ARG_ENABLE([harfbuzz],
307 AC_HELP_STRING([--disable-harfbuzz],
308 [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
310 if test "x${enableval}" = "xyes" ; then
317 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
318 PKG_CHECK_MODULES([HARFBUZZ],
322 requirement_evas="harfbuzz ${requirement_evas}"
325 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
326 AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
329 if test "x$have_harfbuzz" = "xyes" ; then
331 CPPFLAGS_SAVE="$CPPFLAGS"
332 CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
333 # must have for usage with harfbuzz although harfbuzz may not have it.
335 AC_CHECK_HEADER(hb-ft.h,
337 have_harfbuzz_ft="yes"
338 #Depend on harfbuzz ft for harfbuzz support
339 AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
342 if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
343 AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
347 # nice to have if harfbuzz has it
348 AC_CHECK_HEADER(hb-glib.h,
350 have_harfbuzz_glib="yes"
351 AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
354 have_harfbuzz_glib="no"
356 CPPFLAGS="$CPPFLAGS_SAVE"
360 if test "x${have_harfbuzz}" = "xno"; then
366 AC_ARG_ENABLE([pixman],
367 AC_HELP_STRING([--disable-pixman],
368 [disable pixman for software rendering. @<:@default=enabled@:>@]),
370 if test "x${enableval}" = "xyes" ; then
378 if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
379 PKG_CHECK_MODULES([PIXMAN],
383 AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
384 requirement_evas="pixman-1 ${requirement_evas}"
387 if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
388 AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
393 ### Checks for header files
395 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
403 ### Checks for structures
406 ### Checks for compiler characteristics
415 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
418 WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
421 AC_SUBST(WIN32_CPPFLAGS)
426 WIN32_CFLAGS="-mwin32"
429 AC_SUBST(WIN32_CFLAGS)
432 ### Checks for linker characteristics
433 lt_enable_auto_import=""
436 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
437 lt_enable_auto_import="-Wl,--enable-auto-import"
440 AC_SUBST(lt_enable_auto_import)
443 ### Checks for library functions
451 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
458 AC_DEFINE(HAVE_DLADDR)
461 # nothing on mingw platform
464 AC_CHECK_FUNCS(dlopen, res=yes, res=no)
465 if test "x$res" = "xyes"; then
466 AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
468 AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
469 if test "x$res" = "xyes"; then
470 AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
473 AC_MSG_ERROR(Cannot find dlopen)
477 AC_SUBST(dlopen_libs)
479 # (shm_open (for cache server)
480 AC_ARG_ENABLE([evas-cserve],
481 AC_HELP_STRING([--disable-evas-cserve],
482 [disable shared cache server support. @<:@default=enabled@:>@]),
484 if test "x${enableval}" = "xyes" ; then
485 want_evas_cserve="yes"
487 want_evas_cserve="no"
490 AC_MSG_CHECKING(whether to build shared cache server and support)
491 AC_MSG_RESULT(${want_evas_cserve})
493 if test "x${want_evas_cserve}" = "xyes" ; then
494 AC_MSG_CHECKING([whether shm_open() is present])
500 #include <sys/types.h>
501 #include <sys/mman.h>
506 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
509 [want_evas_cserve="yes"],
510 [want_evas_cserve="no"])
512 AC_MSG_RESULT([${want_evas_cserve}])
515 if test "x${want_evas_cserve}" = "xyes" ; then
516 AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
519 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
523 #######################################
524 ## GL force flavor gles
526 AC_MSG_CHECKING(whether to build GLES flavor of GL)
527 AC_ARG_ENABLE(gl-flavor-gles,
528 AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
530 if test "x$enableval" = "xyes" ; then
543 #######################################
545 gles_variety_sgx="no"
546 AC_MSG_CHECKING(whether to build GLES variety for SGX)
547 AC_ARG_ENABLE(gles-variety-sgx,
548 AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
550 if test "x$enableval" = "xyes" ; then
552 AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
553 gles_variety_sgx="yes"
556 gles_variety_sgx="no"
560 gles_variety_sgx="no"
564 #######################################
565 ## GLES variety s3c6410
566 gles_variety_s3c6410="no"
567 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
568 AC_ARG_ENABLE(gles-variety-s3c6410,
569 AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
571 if test "x$enableval" = "xyes" ; then
573 AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
574 gles_variety_s3c6410="yes"
577 gles_variety_s3c6410="no"
581 gles_variety_s3c6410="no"
585 if test "x$gl_flavor_gles" = "xyes"; then
587 if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
588 if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
589 if test "x$eng" = "xx"; then
593 [Please enable just 1 OpenGL-ES flavor. Choices are:
594 --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
595 --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
596 You will also need to enable the OpenGL engine for X11 with:
602 #####################################################################
605 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
607 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
609 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
611 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
613 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
615 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
617 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
619 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
621 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
623 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
625 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
627 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
629 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
631 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
633 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
636 have_evas_engine_gl_common="no"
637 have_static_evas_engine_gl_common="no"
638 if test "x$have_evas_engine_gl_x11" = "xyes" \
639 || test "x$have_evas_engine_gl_sdl" = "xyes"; then
640 have_evas_engine_gl_common="yes"
642 if test "x$have_evas_engine_gl_x11" = "xstatic" \
643 || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
644 have_evas_engine_gl_common="yes"
645 have_static_evas_engine_gl_common="yes"
648 if test "x$have_evas_engine_gl_common" = "xyes"; then
649 evas_engine_gl_common_libs=""
650 AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
653 AC_SUBST([evas_engine_gl_common_libs])
655 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
657 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
658 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
659 AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
663 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
664 AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
665 [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
666 [#include <SDL/SDL_video.h>])
669 if test "x$gl_flavor_gles" = "xyes"; then
670 AC_CHECK_DECL(SDL_OPENGLES,
671 [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
672 [#include <SDL/SDL_video.h>])
678 AC_ARG_ENABLE([sdl-primitive],
679 [AC_HELP_STRING([--enable-sdl-primitive], [])],
680 [sdl_primitive=${enableval}]
682 AC_MSG_CHECKING([whether to use SDL primitive when possible])
683 AC_MSG_RESULT([${sdl_primitive}])
685 if test "x${sdl_primitive}" = "xyes" ; then
686 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
689 # if software generic need to be build as part of libevas.so
690 have_static_software_generic="no"
691 AC_ARG_ENABLE([static-software-generic],
692 [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
693 [have_static_software_generic=${enableval}]
695 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
696 AC_MSG_RESULT([${have_static_software_generic}])
698 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
699 AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
700 have_static_software_generic="yes"
703 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
704 if test "x${have_static_software_generic}" = "xyes"; then
705 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
708 # if software_xlib or software_xcb are available, define everything needed for X11
709 have_evas_engine_software_x11="no"
710 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
711 have_evas_engine_software_x11="static"
713 if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
714 have_evas_engine_software_x11="yes"
718 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
719 have_evas_engine_software_xlib="yes"
722 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
723 have_evas_engine_software_xcb="yes"
726 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
727 AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
730 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
731 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
734 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
735 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
737 AC_SUBST(have_evas_engine_software_xlib)
738 AC_SUBST(have_evas_engine_software_xcb)
740 # if software 16 x11 is enabled - build software_16 (the generic 16bit
741 # engine). later enable it fb_16 or other "16" bit engines are enabled.
742 have_evas_engine_software_16="no"
743 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
744 have_evas_engine_software_16="yes"
746 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
747 have_evas_engine_software_16="yes"
749 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
750 have_evas_engine_software_16="yes"
752 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
753 have_evas_engine_software_16="yes"
755 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
757 # if software 16 need to be build as part of libevas.so
758 have_static_software_16="no"
759 AC_ARG_ENABLE([static-software-16],
760 [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
761 [have_static_software_16=${enableval}]
763 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
764 AC_MSG_RESULT([${have_static_software_16}])
766 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
767 if test "x${have_static_software_16}" = "xyes"; then
768 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
771 # if software 8 x11 is enabled - build software_8 (the generic 8bit
773 have_evas_engine_software_8="no"
774 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
775 have_evas_engine_software_8="yes"
777 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
779 # if software 8 need to be build as part of libevas.so
780 have_static_software_8="no"
781 AC_ARG_ENABLE([static-software-8],
782 [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
783 [have_static_software_8=${enableval}]
785 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
786 AC_MSG_RESULT([${have_static_software_8}])
788 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
789 if test "x${have_static_software_8}" = "xyes"; then
790 AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
793 #####################################################################
796 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
798 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
799 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
801 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
803 have_evas_image_saver_jpeg="no"
804 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
806 dnl Windows has no sigsetjmp function, nor equivalent.
807 dnl So we disable the jpeg saver.
808 dnl TODO: must find a workaround
813 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
814 AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
815 have_evas_image_saver_jpeg="yes"
819 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
821 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
823 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
825 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
827 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
829 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
831 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
833 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
835 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
837 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
839 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
841 #####################################################################
842 ## Cpu based optimizations
844 #######################################
851 # basic pthread support
852 AC_CHECK_HEADER(pthread.h,
861 # sched_getaffinity pthread_attr_setaffinity_np
862 AC_CHECK_HEADERS(pthread.h sched.h,
864 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
866 AC_CHECK_LIB(pthread, pthread_barrier_wait,
867 [ build_pthreads="yes" ],
868 [ build_pthreads="no" ]
871 [ build_pthreads="no" ]
874 [ build_pthreads="no" ]
877 #######################################
879 AC_MSG_CHECKING(whether to build pthread code)
880 AC_ARG_ENABLE(pthreads,
881 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
883 if test "x$enableval" = "xyes" ; then
884 if test "x$build_pthreads" = "xyes"; then
886 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
890 if "x$use_strict" = "xyes"; then
891 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
893 AC_MSG_RESULT(no: pthread headers or functions not found)
902 AC_MSG_RESULT($build_pthreads)
903 if test "x$build_pthreads" = "xyes" ; then
904 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
910 #######################################
912 build_pipe_render="no"
914 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
915 AC_ARG_ENABLE(pipe-render,
916 AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
917 [ build_pipe_render=$enableval ]
919 AC_MSG_RESULT($build_pipe_render)
921 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
922 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
924 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
925 build_pipe_render="yes"
929 build_pipe_render="no"
932 #######################################
934 build_async_render="no"
936 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
937 AC_ARG_ENABLE(async-render,
938 AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
939 [ build_async_render=$enableval ]
941 AC_MSG_RESULT($build_async_render)
943 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
944 if test \( "x$build_async_render" = "xyes" \); then
946 AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
947 build_async_render="yes"
948 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
949 build_pipe_render="yes"
952 PKG_CHECK_MODULES([XEXT],
954 [ build_avoid_libXext_bug=yes ],
955 [ build_avoid_libXext_bug=no ]
957 if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
958 AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
962 build_async_render="no"
965 #######################################
967 build_async_events="auto"
968 AC_MSG_CHECKING(whether to build Async Events support)
969 AC_ARG_ENABLE(async-events,
970 AC_HELP_STRING([--enable-async-events], [enable async events support]),
971 [ build_async_events=$enableval ]
973 AC_MSG_RESULT($build_async_events)
975 AC_MSG_CHECKING(whether we can build Async Events support)
976 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
978 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
979 build_async_events="yes"
982 build_async_events="no"
985 #######################################
986 ## Async image preload
987 build_async_preload="auto"
988 AC_MSG_CHECKING(whether to build Async Image Preload support)
989 AC_ARG_ENABLE(async-preload,
990 AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
991 [ build_async_preload=$enableval ]
993 AC_MSG_RESULT($build_async_preload)
995 AC_MSG_CHECKING(whether we can build Async Image Preload support)
996 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
998 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
999 build_async_preload="yes"
1003 build_async_preload="no"
1006 #######################################
1007 ## Link with pthread if needed
1008 AC_MSG_CHECKING(whether we should link with pthread)
1009 if test "x$need_pthreads" = "xyes"; then
1012 pthread_libs="-lpthread"
1017 #######################################
1031 AC_MSG_CHECKING(whether to build mmx code)
1032 AC_ARG_ENABLE(cpu-mmx,
1033 AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1035 if test "x$enableval" = "xyes" ; then
1037 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1045 AC_MSG_RESULT($build_cpu_mmx)
1046 if test "x$build_cpu_mmx" = "xyes" ; then
1047 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1052 #######################################
1066 AC_MSG_CHECKING(whether to build sse code)
1067 AC_ARG_ENABLE(cpu-sse,
1068 AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1070 if test "x$enableval" = "xyes" ; then
1072 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1080 AC_MSG_RESULT($build_cpu_sse)
1081 if test "x$build_cpu_sse" = "xyes" ; then
1082 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1087 #######################################
1089 build_cpu_altivec="no"
1092 build_cpu_altivec="auto"
1096 AC_MSG_CHECKING(whether to build altivec code)
1097 AC_ARG_ENABLE(cpu-altivec,
1098 AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1099 [ build_cpu_altivec=$enableval ],
1101 if test ! "x$build_cpu_altivec" = "xauto"; then
1102 build_cpu_altivec="no"
1106 AC_MSG_RESULT($build_cpu_altivec)
1108 if test "x$build_cpu_altivec" = "xyes"; then
1109 AC_CHECK_HEADER(altivec.h,
1111 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1112 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1113 build_cpu_altivec="yes"
1117 save_CPPFLAGS=$CPPFLAGS
1118 CFLAGS=$CFLAGS" -maltivec"
1119 CPPFLAGS=$CPPFLAGS" -maltivec"
1120 unset ac_cv_header_altivec_h
1121 AC_CHECK_HEADER(altivec.h,
1123 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1124 AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1125 build_cpu_altivec="yes"
1128 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1129 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1131 build_cpu_altivec="no"
1135 CPPFLAGS=$save_CPPFLAGS
1140 if test "x$build_cpu_altivec" = "xyes"; then
1141 AC_MSG_CHECKING(whether to use altivec compiler flag)
1142 if test "x$GCC" = "xyes"; then
1143 if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1144 altivec_cflags="-faltivec"
1145 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1146 elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1147 altivec_cflags="-maltivec"
1148 AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1151 AC_MSG_RESULT($altivec_cflags)
1152 CFLAGS="$CFLAGS $altivec_cflags"
1155 #######################################
1160 build_cpu_neon="yes"
1163 AC_MSG_CHECKING(whether to build neon code)
1164 AC_ARG_ENABLE(cpu-neon,
1165 AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1166 checked at run time to see if the CPU supports it]),
1168 if test "x$enableval" = "xyes" ; then
1170 [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1173 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1174 build_cpu_neon="yes"
1185 if test "x$build_cpu_neon" = "xyes" ; then
1186 AC_TRY_COMPILE([#include <arm_neon.h>],
1187 [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1190 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1191 build_cpu_neon="yes"
1200 #######################################
1203 AC_MSG_CHECKING(whether to build c code)
1204 AC_ARG_ENABLE(cpu-c,
1205 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1207 if test "x$enableval" = "xyes" ; then
1209 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1216 AC_MSG_RESULT($build_cpu_c)
1217 if test "x$build_cpu_c" = "xyes" ; then
1218 AC_DEFINE(BUILD_C, 1, [Build plain C code])
1223 #######################################
1225 want_evas_magic_debug="yes"
1226 AC_MSG_CHECKING(whether to check magic for evas object)
1227 AC_ARG_ENABLE(evas-magic-debug,
1229 [--disable-evas-magic-debug],
1230 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1232 [ want_evas_magic_debug="$enableval" ]
1234 AC_MSG_RESULT($want_evas_magic_debug)
1236 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1237 if test "x$want_evas_magic_debug" = "xyes"; then
1238 AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1242 #######################################
1244 want_word_cache="no"
1245 AC_MSG_CHECKING(whether to enable caching of rendered words)
1246 AC_ARG_ENABLE(word-cache,
1248 [--enable-word-cache],
1249 [Enable experimental word caching to speed up rendering [[default=disabled]]]
1251 [ want_word_cache="$enableval" ]
1253 AC_MSG_RESULT($want_word_cache)
1255 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1256 if test "x$want_word_cache" = "xyes"; then
1257 AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1260 #######################################
1262 want_metric_cache="no"
1263 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1264 AC_ARG_ENABLE(metric-cache,
1266 [--enable-metric-cache],
1267 [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1269 [ want_metric_cache="$enableval" ]
1271 AC_MSG_RESULT($want_metric_cache)
1273 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1274 if test "x$want_metric_cache" = "xyes"; then
1275 AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1280 #####################################################################
1281 ## ARGB engine options
1283 #######################################
1284 ## Nearest sampling scaler
1285 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1286 ## Smooth super and sub sampling scaler
1287 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1289 #######################################
1290 ## YUV -> ARGB converter
1293 AC_MSG_CHECKING(whether to build yuv converter code)
1294 AC_ARG_ENABLE(convert-yuv,
1295 AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1297 if test "x$enableval" = "xyes" ; then
1299 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1306 AC_MSG_RESULT($conv_yuv)
1307 if test "x$conv_yuv" = "xyes" ; then
1308 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1313 #####################################################################
1314 ## Output rendering features
1316 #######################################
1317 ## Small dither mask instead of big one (lower quality)
1318 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1319 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1320 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1321 ## No dither mask at all for 16bpp
1322 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1324 #######################################
1325 ## Convert to 8bpp RGB 332
1326 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1327 ## Convert to 8bpp RGB 666
1328 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1329 ## Convert to 8bpp RGB 232
1330 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1331 ## Convert to 8bpp RGB 222
1332 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1333 ## Convert to 8bpp RGB 221
1334 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1335 ## Convert to 8bpp RGB 121
1336 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1337 ## Convert to 8bpp RGB 111
1338 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1339 ## Convert to 16bpp RGB 565
1340 EVAS_CONVERT_COLOR(16, RGB, 565)
1341 ## Convert to 16bpp BGR 565
1342 EVAS_CONVERT_COLOR(16, BGR, 565)
1343 ## Convert to 16bpp RGB 555
1344 EVAS_CONVERT_COLOR(16, RGB, 555)
1345 ## Convert to 16bpp RGB 444
1346 EVAS_CONVERT_COLOR(16, RGB, 444)
1348 #######################################
1349 ## Convert to 16bpp RGB 565 (444 ipaq)
1350 conv_16_rgb_ipq="yes"
1351 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1352 AC_ARG_ENABLE(convert-16-rgb-ipq,
1353 AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1355 if test "x$enableval" = "xyes" ; then
1356 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1357 conv_16_rgb_ipq="yes"
1359 conv_16_rgb_ipq="no"
1362 if test "x$conv_16_rgb_ipq" = "xyes" ; then
1363 AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1367 AC_MSG_RESULT($conv_16_rgb_ipq)
1369 #######################################
1370 ## Convert to 16bpp RGB with rotation of 0
1371 EVAS_CONVERT_ROT(16, RGB, 0)
1372 ## Convert to 16bpp RGB with rotation of 180
1373 EVAS_CONVERT_ROT(16, RGB, 180)
1374 ## Convert to 16bpp RGB with rotation of 270
1375 EVAS_CONVERT_ROT(16, RGB, 270)
1376 ## Convert to 16bpp RGB with rotation of 90
1377 EVAS_CONVERT_ROT(16, RGB, 90)
1379 #######################################
1380 ## Convert to 24bpp RGB 888
1381 EVAS_CONVERT_COLOR(24, RGB, 888)
1382 ## Convert to 24bpp BGR 888
1383 EVAS_CONVERT_COLOR(24, BGR, 888)
1384 ## Convert to 32bpp RGB 8888
1385 EVAS_CONVERT_COLOR(32, RGB, 8888)
1386 ## Convert to 32bpp RGBX 8888
1387 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1388 ## Convert to 32bpp BGR 8888
1389 EVAS_CONVERT_COLOR(32, BGR, 8888)
1390 ## Convert to 32bpp BGRX 8888
1391 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1393 #######################################
1394 ## Convert to 24bpp RGB 666 (666 ezx)
1395 conv_24_rgb_ezx="yes"
1396 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1397 AC_ARG_ENABLE(convert-24-rgb-ezx,
1398 AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1400 if test "x$enableval" = "xyes" ; then
1401 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1402 conv_24_rgb_ezx="yes"
1404 conv_24_rgb_ezx="no"
1407 if test "x$conv_24_rgb_ezx" = "xyes" ; then
1408 AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1412 AC_MSG_RESULT($conv_24_rgb_ezx)
1414 #######################################
1415 ## Convert to 32bpp RGB 666 (666 ezx)
1416 conv_32_rgb_ezx="yes"
1417 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1418 AC_ARG_ENABLE(convert-32-rgb-ezx,
1419 AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1421 if test "x$enableval" = "xyes" ; then
1422 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1423 conv_32_rgb_ezx="yes"
1425 conv_32_rgb_ezx="no"
1428 if test "x$conv_32_rgb_ezx" = "xyes" ; then
1429 AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1433 AC_MSG_RESULT($conv_32_rgb_ezx)
1435 #######################################
1436 ## Convert to 32bpp RGB with rotation of 0
1437 EVAS_CONVERT_ROT(32, RGB, 0)
1438 ## Convert to 32bpp RGB with rotation of 180
1439 EVAS_CONVERT_ROT(32, RGB, 180)
1440 ## Convert to 32bpp RGB with rotation of 270
1441 EVAS_CONVERT_ROT(32, RGB, 270)
1442 ## Convert to 32bpp RGB with rotation of 90
1443 EVAS_CONVERT_ROT(32, RGB, 90)
1445 #######################################
1446 ## Convert to 8bpp grayscale with 256 value, no palette
1447 EVAS_CONVERT_COLOR(8, GRY, 1)
1448 ## Convert to 8bpp grayscale with 16 value, no palette
1449 EVAS_CONVERT_COLOR(8, GRY, 16)
1451 #######################################
1452 ## Convert to 8bpp grayscale, 64-palette
1453 conv_8_grayscale_64="yes"
1454 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1455 AC_ARG_ENABLE(convert-8-grayscale-64,
1456 AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1458 if test "x$enableval" = "xyes"; then
1459 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1460 conv_8_grayscale_64="yes"
1462 conv_8_grayscale_64="no"
1465 if test "x$conv_8_grayscale_64" = "xyes"; then
1466 AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1470 AC_MSG_RESULT($conv_8_grayscale_64)
1476 AC_MSG_CHECKING(whether to enable build with valgrind)
1477 AC_ARG_ENABLE(valgrind,
1478 AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1479 [ want_valgrind=$enableval ]
1481 AC_MSG_RESULT($want_valgrind)
1483 if test x$want_valgrind = "xyes"; then
1484 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1486 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1488 requirement_evas="valgrind ${requirement_evas}"
1491 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1492 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1500 install_examples="yes"
1501 AC_ARG_ENABLE([install-examples],
1502 AC_HELP_STRING([--disable-install-examples],
1503 [disable installing examples (compiled or just source).
1504 @<:@default==enabled@:>@]),
1506 if test "x${enableval}" = "xyes" ; then
1507 install_examples="yes"
1509 install_examples="no"
1512 [install_examples="yes"])
1513 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1516 AC_ARG_ENABLE([build-examples],
1517 AC_HELP_STRING([--enable-build-examples],
1518 [enable building examples. @<:@default==disabled@:>@]),
1520 if test "x${enableval}" = "xyes" ; then
1521 build_examples="yes"
1526 [build_examples="no"])
1527 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1530 #####################################################################
1533 AC_SUBST(altivec_cflags)
1534 AC_SUBST(pthread_cflags)
1535 AC_SUBST(pthread_libs)
1536 AC_SUBST(requirement_evas)
1539 #####################################################################
1548 evas-software-buffer.pc
1549 evas-software-x11.pc
1550 evas-software-8-x11.pc
1551 evas-software-16-x11.pc
1552 evas-software-gdi.pc
1553 evas-software-ddraw.pc
1554 evas-software-16-ddraw.pc
1556 evas-software-16-wince.pc
1557 evas-software-sdl.pc
1564 src/lib/canvas/Makefile
1565 src/lib/file/Makefile
1566 src/lib/cache/Makefile
1567 src/lib/cserve/Makefile
1568 src/lib/engines/Makefile
1569 src/lib/engines/common/Makefile
1570 src/lib/engines/common/evas_op_add/Makefile
1571 src/lib/engines/common/evas_op_blend/Makefile
1572 src/lib/engines/common/evas_op_copy/Makefile
1573 src/lib/engines/common/evas_op_mask/Makefile
1574 src/lib/engines/common/evas_op_mul/Makefile
1575 src/lib/engines/common/evas_op_sub/Makefile
1576 src/lib/engines/common_8/Makefile
1577 src/lib/engines/common_16/Makefile
1578 src/modules/Makefile
1579 src/modules/engines/Makefile
1580 src/modules/engines/software_generic/Makefile
1581 src/modules/engines/software_gdi/Makefile
1582 src/modules/engines/software_ddraw/Makefile
1583 src/modules/engines/direct3d/Makefile
1584 src/modules/engines/software_16_wince/Makefile
1585 src/modules/engines/software_x11/Makefile
1586 src/modules/engines/fb/Makefile
1587 src/modules/engines/buffer/Makefile
1588 src/modules/engines/directfb/Makefile
1589 src/modules/engines/gl_common/Makefile
1590 src/modules/engines/gl_x11/Makefile
1591 src/modules/engines/gl_sdl/Makefile
1592 src/modules/engines/software_sdl/Makefile
1593 src/modules/engines/software_8/Makefile
1594 src/modules/engines/software_8_x11/Makefile
1595 src/modules/engines/software_16/Makefile
1596 src/modules/engines/software_16_x11/Makefile
1597 src/modules/engines/software_16_ddraw/Makefile
1598 src/modules/engines/software_16_sdl/Makefile
1599 src/modules/loaders/Makefile
1600 src/modules/loaders/edb/Makefile
1601 src/modules/loaders/eet/Makefile
1602 src/modules/loaders/gif/Makefile
1603 src/modules/loaders/jpeg/Makefile
1604 src/modules/loaders/png/Makefile
1605 src/modules/loaders/tiff/Makefile
1606 src/modules/loaders/xpm/Makefile
1607 src/modules/loaders/bmp/Makefile
1608 src/modules/loaders/ico/Makefile
1609 src/modules/loaders/tga/Makefile
1610 src/modules/loaders/svg/Makefile
1611 src/modules/loaders/pmaps/Makefile
1612 src/modules/loaders/wbmp/Makefile
1613 src/modules/loaders/psd/Makefile
1614 src/modules/savers/Makefile
1615 src/modules/savers/edb/Makefile
1616 src/modules/savers/eet/Makefile
1617 src/modules/savers/jpeg/Makefile
1618 src/modules/savers/png/Makefile
1619 src/modules/savers/tiff/Makefile
1620 src/lib/include/Makefile
1621 src/examples/Makefile
1626 #####################################################################
1629 if test "x$build_pthreads" = "xno" ; then
1630 if test "x$build_async_render" = "xyes" ; then
1631 echo "ERROR: PThreads off, but async rendering on. Async rendering"
1632 echo " needs thread support."
1635 if test "x$build_pipe_render" = "xyes" ; then
1636 echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1637 echo " needs thread support."
1642 if test "x${has_pthreads}" = "xno" ; then
1643 if test "x$build_async_preload" = "xyes" ; then
1644 echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1645 echo " needs thread support."
1650 #####################################################################
1656 echo "------------------------------------------------------------------------"
1657 echo "$PACKAGE $VERSION"
1658 echo "------------------------------------------------------------------------"
1660 echo "Configuration Options Summary:"
1663 echo " Software Memory Buffer.....: $have_evas_engine_buffer"
1664 echo " Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1665 echo $ECHO_N " OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1666 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1667 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1671 echo " Software GDI...............: $have_evas_engine_software_gdi"
1672 echo " Software DirectDraw........: $have_evas_engine_software_ddraw"
1673 echo " Direct3d...................: $have_evas_engine_direct3d"
1674 echo " Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1675 echo $ECHO_N " OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1676 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1677 echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1681 echo " Software Framebuffer.......: $have_evas_engine_fb"
1682 echo " DirectFB...................: $have_evas_engine_directfb"
1683 echo " Software 8bit grayscale....: $have_evas_engine_software_8"
1684 # FIXME: kill software 16bit
1685 echo " Software 16bit ............: $have_evas_engine_software_16"
1686 echo " Software 16bit X11.........: $have_evas_engine_software_16_x11"
1687 echo " Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1688 echo " Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1689 echo " Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1691 echo "Image Loaders:"
1692 echo " BMP.....................: $have_evas_image_loader_bmp"
1693 echo " EDB.....................: $have_evas_image_loader_edb"
1694 echo " EET.....................: $have_evas_image_loader_eet"
1695 echo " GIF.....................: $have_evas_image_loader_gif"
1696 echo " ICO.....................: $have_evas_image_loader_ico"
1697 echo " JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1698 echo " PMAPS...................: $have_evas_image_loader_pmaps"
1699 echo " PNG.....................: $have_evas_image_loader_png"
1700 echo " SVG.....................: $have_evas_image_loader_svg"
1701 echo " TGA.....................: $have_evas_image_loader_tga"
1702 echo " TIFF....................: $have_evas_image_loader_tiff"
1703 echo " WBMP....................: $have_evas_image_loader_wbmp"
1704 echo " XPM.....................: $have_evas_image_loader_xpm"
1705 echo " PSD.....................: $have_evas_image_loader_psd"
1707 echo "Font Sourcing Systems:"
1708 echo " EET.....................: $have_evas_font_loader_eet"
1710 echo "Font Searching Systems:"
1711 echo " Fontconfig..............: $have_fontconfig"
1713 echo "Font Rendering Helpers:"
1714 echo " Fribidi.................: $have_fribidi"
1715 echo " Harfbuzz................: $have_harfbuzz"
1716 # FIXME: add non freetype2 font engine support
1717 # FIXME: make freetype2 optional
1719 echo "CPU Specific Extensions:"
1720 echo " Fallback C Code.........: $build_cpu_c"
1721 echo " MMX.....................: $build_cpu_mmx"
1722 echo " SSE.....................: $build_cpu_sse"
1723 echo " ALTIVEC.................: $build_cpu_altivec"
1724 echo " NEON....................: $build_cpu_neon"
1725 echo " Thread Support..........: $build_pthreads"
1728 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1729 echo " Cache Server............: $want_evas_cserve"
1732 dnl ... DISABLED! some testing has shown that this seems to have some
1733 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1734 dnl disabling this for now until it can be fixed
1736 echo " Threaded Pipe Rendering.: $build_pipe_render"
1737 echo " Async Pipe Rendering....: $build_async_render"
1738 echo " Async Events............: $build_async_events"
1739 echo " Async Image Preload.....: $build_async_preload"
1741 echo " Word Cache..............: $want_word_cache"
1742 echo " Metric Cache............: $want_metric_cache"
1744 echo "ARGB Software Engine Options:"
1745 echo " Sampling Scaler.........: $scaler_sample"
1746 echo " Smooth Scaler...........: $scaler_smooth"
1747 # FIXME: add an mmx scaler routine
1748 echo " YUV Converter...........: $conv_yuv"
1749 # FIXME: add more YUV format and colorvariant support
1751 echo "ARGB Conversion Options:"
1752 echo " Smaller Dither Mask.....: $conv_small_dither"
1753 echo " Line Dither Mask........: $conv_line_dither"
1754 echo " No Dither Mask for 16bpp: $conv_no_dither"
1755 echo " 8bpp RGB 332............: $conv_8_rgb_332"
1756 echo " 8bpp RGB 666............: $conv_8_rgb_666"
1757 echo " 8bpp RGB 232............: $conv_8_rgb_232"
1758 echo " 8bpp RGB 222............: $conv_8_rgb_222"
1759 echo " 8bpp RGB 221............: $conv_8_rgb_221"
1760 echo " 8bpp RGB 121............: $conv_8_rgb_121"
1761 echo " 8bpp RGB 111............: $conv_8_rgb_111"
1762 echo " 8bpp Grayscale (256)....: $conv_8_gry_1"
1763 echo " 8bpp Grayscale (16).....: $conv_8_gry_16"
1764 echo " 8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1765 # FIXME: add grayscale and B&W support to standard x converters
1766 echo " 16bpp RGB 565...........: $conv_16_rgb_565"
1767 echo " 16bpp BGR 565...........: $conv_16_bgr_565"
1768 echo " 16bpp RGB 555...........: $conv_16_rgb_555"
1769 echo " 16bpp RGB 444...........: $conv_16_rgb_444"
1770 echo " 16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1771 # FIXME: add 555 (444 ipaq) support
1772 # FIXME: add 30bpp support
1773 # FIXME: add palletted support (ugh!)
1774 # FIXME: add 8bpp and below rotation
1775 echo " 16bpp Rotation 0........: $conv_16_rgb_rot_0"
1776 echo " 16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1777 echo " 16bpp Rotation 180......: $conv_16_rgb_rot_180"
1778 echo " 16bpp Rotation 270......: $conv_16_rgb_rot_270"
1779 echo " 24bpp RGB 888...........: $conv_24_rgb_888"
1780 echo " 24bpp BGR 888...........: $conv_24_bgr_888"
1781 echo " 24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1782 # FIXME: add 24bpp rotation
1783 echo " 32bpp RGB 8888..........: $conv_32_rgb_8888"
1784 echo " 32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1785 echo " 32bpp BGR 8888..........: $conv_32_bgr_8888"
1786 echo " 32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1787 echo " 32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1788 echo " 32bpp Rotation 0........: $conv_32_rgb_rot_0"
1789 echo " 32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1790 echo " 32bpp Rotation 180......: $conv_32_rgb_rot_180"
1791 echo " 32bpp Rotation 270......: $conv_32_rgb_rot_270"
1793 echo "Documentation.............: ${build_doc}"
1794 echo "Examples..................: install:${install_examples} build:${build_examples}"
1796 echo "Compilation............: make (or gmake)"
1797 echo " CPPFLAGS.............: $CPPFLAGS"
1798 echo " CFLAGS...............: $CFLAGS"
1799 echo " CXXFLAGS.............: $CXXFLAGS"
1800 echo " LDFLAGS..............: $LDFLAGS"
1802 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1803 echo " prefix...............: $prefix"
1805 if test "x${have_static_module}" = "xyes" ; then
1806 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1807 echo " You must know what you are doing, or else you will have a lot of"
1808 echo " problems. And Kenny will be killed."
1809 echo " Think about that."