evas: remove Evas Cairo backend.
[profile/ivi/evas.git] / configure.ac
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 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20
21 # rw_PROG_OBJC_WORKS
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])
32 ])
33
34 AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
35 AC_PREREQ([2.52])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
38
39 AC_CONFIG_HEADERS([config.h])
40 AH_TOP([
41 #ifndef EFL_CONFIG_H__
42 #define EFL_CONFIG_H__
43 ])
44 AH_BOTTOM([
45 #endif /* EFL_CONFIG_H__ */
46 ])
47
48 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
49 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
50
51 AC_GNU_SOURCE
52
53 AC_LIBTOOL_WIN32_DLL
54 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
55 AC_PROG_LIBTOOL
56
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"
66 release_info="v_rel"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
71 VMAJ=v_maj
72 AC_SUBST(VMAJ)
73
74 ### Needed information
75
76 AC_CANONICAL_BUILD
77 AC_CANONICAL_HOST
78
79 case "$host_os" in
80    mingw32ce* | cegcc*)
81       MODULE_ARCH="$host_os-$host_cpu"
82       ;;
83    *)
84       MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
85       ;;
86 esac
87 AC_SUBST(MODULE_ARCH)
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
89
90 want_fontconfig="auto"
91 want_fribidi="auto"
92 want_harfbuzz="auto"
93 want_evas_cserve="yes"
94
95 want_evas_engine_buffer="yes"
96 want_evas_engine_software_xlib="no"
97 want_evas_engine_xrender_x11="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_software_xcb="no"
101 want_evas_engine_xrender_xcb="no"
102 want_evas_engine_software_gdi="no"
103 want_evas_engine_software_ddraw="no"
104 want_evas_engine_direct3d="no"
105 want_evas_engine_gl_glew="no"
106 want_evas_engine_software_sdl="no"
107 want_evas_engine_fb="no"
108 want_evas_engine_directfb="no"
109 want_evas_engine_software_qtopia="no"
110 want_evas_engine_software_8_x11="no"
111 want_evas_engine_software_16_x11="no"
112 want_evas_engine_software_16_ddraw="no"
113 want_evas_engine_software_16_wince="no"
114
115 want_evas_image_loader_edb="yes"
116 want_evas_image_loader_eet="yes"
117 want_evas_image_loader_gif="yes"
118 want_evas_image_loader_jpeg="yes"
119 want_evas_image_loader_pmaps="yes"
120 want_evas_image_loader_png="yes"
121 want_evas_image_loader_svg="yes"
122 want_evas_image_loader_tiff="yes"
123 want_evas_image_loader_xpm="yes"
124 want_evas_image_loader_bmp="yes"
125 want_evas_image_loader_tga="yes"
126 want_evas_image_loader_wbmp="yes"
127 want_evas_image_loader_ico="yes"
128
129 want_evas_font_loader_eet="yes"
130
131 case "$host_os" in
132    mingw32ce* | cegcc*)
133       want_fontconfig="no"
134       want_evas_engine_software_16_wince="yes"
135       want_evas_image_loader_edb="no"
136       want_evas_image_loader_gif="no"
137       want_evas_image_loader_svg="no"
138       want_evas_image_loader_tiff="no"
139       ;;
140    mingw*)
141       want_evas_engine_software_gdi="yes"
142       want_evas_engine_software_ddraw="yes"
143       want_evas_engine_direct3d="yes"
144       want_evas_engine_software_16_ddraw="yes"
145       want_evas_image_loader_edb="no"
146       want_evas_image_loader_svg="no"
147       ;;
148    darwin*)
149       want_evas_engine_software_xlib="auto"
150       ;;
151    *)
152       want_evas_engine_software_xlib="auto"
153       want_evas_engine_gl_x11="auto"
154       want_evas_engine_fb="auto"
155 ### no - not ready/usable/complete
156 #      want_evas_engine_software_8_x11="auto"
157 #      want_evas_engine_xrender_x11="auto"
158 #      want_evas_engine_software_16_x11="auto"
159       ;;
160 esac
161
162 requirement_evas=""
163
164
165 ### Additional options to configure
166
167 # when used, that option makes configure script fails when
168 # a requirement is selected, but not met.
169 use_strict="no"
170 AC_ARG_ENABLE([strict],
171    AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
172    [use_strict="yes"],
173    [use_strict="no"])
174
175 # Simple X11 build/link
176 AC_ARG_ENABLE([simple-x11],
177    AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
178    [
179     if test "x${enableval}" = "xyes" ; then
180        want_evas_simple_x11="yes"
181     else
182        want_evas_simple_x11="no"
183     fi
184    ])
185
186
187 ### Checks for programs
188
189 m4_ifdef([AC_PROG_OBJC],
190    [
191     AC_PROG_OBJC
192     _AM_DEPENDENCIES(OBJC)
193    ],
194    [
195     dnl#AC_CHECK_TOOL([OBJC], [gcc])
196     dnl#AC_SUBST([OBJC])
197     dnl#AC_SUBST([OBJCFLAGS])
198    ])
199
200 rw_PROG_OBJC_WORKS
201
202 AC_PROG_CXX
203 AC_PROG_CC
204
205 # pkg-config
206 PKG_PROG_PKG_CONFIG
207
208 # Check whether pkg-config supports Requires.private
209 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
210    pkgconfig_requires_private="Requires.private"
211 else
212    pkgconfig_requires_private="Requires"
213 fi
214 AC_SUBST(pkgconfig_requires_private)
215
216 # doxygen program for documentation building
217 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
218
219
220 ### Checks for libraries
221
222 # Evil library for compilation on Windows CE
223
224 case "$host_os" in
225    mingw* | cegcc*)
226       PKG_CHECK_MODULES([EVIL], [evil])
227       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
228       requirement_evas="evil ${requirement_evas}"
229    ;;
230 esac
231
232 ## strong dependencies
233
234 # Eina
235 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
236
237 # Freetype
238 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
239
240 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
241
242 ## optional dependencies
243
244 # FontConfig
245 have_fontconfig="no"
246 AC_ARG_ENABLE([fontconfig],
247    AC_HELP_STRING([--disable-fontconfig],
248       [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
249    [
250     if test "x${enableval}" = "xyes" ; then
251        want_fontconfig="yes"
252     else
253        want_fontconfig="no"
254     fi
255    ])
256
257
258 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
259    PKG_CHECK_MODULES([FONTCONFIG],
260       [fontconfig],
261       [
262        have_fontconfig="yes"
263        AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
264        requirement_evas="fontconfig ${requirement_evas}"
265       ],
266       [
267        if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
268           AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
269        fi
270       ])
271 fi
272
273 # fribidi support
274 have_fribidi="no"
275 AC_ARG_ENABLE([fribidi],
276    AC_HELP_STRING([--disable-fribidi],
277       [disable bidirectional text support. @<:@default=enabled@:>@]),
278    [
279     if test "x${enableval}" = "xyes" ; then
280        want_fribidi="yes"
281     else
282        want_fribidi="no"
283     fi
284    ])
285
286 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
287    PKG_CHECK_MODULES([FRIBIDI],
288       [fribidi >= 0.19.2],
289       [
290        have_fribidi="yes"
291        AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
292        requirement_evas="fribidi ${requirement_evas}"
293       ],
294       [
295        if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
296           AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
297        fi
298       ])
299 fi
300
301 if test "x${have_fribidi}" = "xno"; then
302   HAS_BIDI=0
303 fi
304
305 # harfbuzz support
306 have_harfbuzz="no"
307 have_harfbuzz_glib="no"
308 have_harfbuzz_ft="no"
309 AC_ARG_ENABLE([harfbuzz],
310    AC_HELP_STRING([--disable-harfbuzz],
311       [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
312    [
313     if test "x${enableval}" = "xyes" ; then
314        want_harfbuzz="yes"
315     else
316        want_harfbuzz="no"
317     fi
318    ])
319
320 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
321    PKG_CHECK_MODULES([HARFBUZZ],
322       [harfbuzz >= 0.2],
323       [
324        have_harfbuzz="yes"
325        requirement_evas="harfbuzz ${requirement_evas}"
326       ],
327       [
328        if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
329           AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
330        fi
331       ])
332    if test "x$have_harfbuzz" = "xyes" ; then
333
334       CPPFLAGS_SAVE="$CPPFLAGS"
335       CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
336 # must have for usage with harfbuzz although harfbuzz may not have it.
337
338       AC_CHECK_HEADER(hb-ft.h,
339           [
340            have_harfbuzz_ft="yes"
341            #Depend on harfbuzz ft for harfbuzz support
342            AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
343           ],
344           [
345            if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
346               AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
347            fi
348            have_harfbuzz="no"
349           ])
350 # nice to have if harfbuzz has it
351       AC_CHECK_HEADER(hb-glib.h,
352           [
353            have_harfbuzz_glib="yes"
354            AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
355           ],
356           [
357            have_harfbuzz_glib="no"
358           ])
359       CPPFLAGS="$CPPFLAGS_SAVE"
360    fi
361 fi
362
363 if test "x${have_harfbuzz}" = "xno"; then
364   HAS_HARFBUZZ=0
365 fi
366
367 ### Checks for header files
368 AC_HEADER_STDC
369 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
370
371 EFL_CHECK_PATH_MAX
372
373
374 ### Checks for types
375
376
377 ### Checks for structures
378
379
380 ### Checks for compiler characteristics
381 AC_C_CONST
382 AC_C_BIGENDIAN
383 AC_C___ATTRIBUTE__
384 AM_PROG_CC_STDC
385
386 WIN32_CPPFLAGS=""
387 case "$host_os" in
388    mingw32ce* | cegcc*)
389       WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
390       ;;
391    mingw*)
392       WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
393       ;;
394 esac
395 AC_SUBST(WIN32_CPPFLAGS)
396
397 WIN32_CFLAGS=""
398 case "${host_os}" in
399    cegcc*)
400       WIN32_CFLAGS="-mwin32"
401    ;;
402 esac
403 AC_SUBST(WIN32_CFLAGS)
404
405
406 ### Checks for linker characteristics
407 lt_enable_auto_import=""
408 case "${host_os}" in
409    mingw* | cegcc*)
410       AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
411       lt_enable_auto_import="-Wl,--enable-auto-import"
412    ;;
413 esac
414 AC_SUBST(lt_enable_auto_import)
415
416
417 ### Checks for library functions
418
419 AC_ISC_POSIX
420
421 # alloca
422 AC_FUNC_ALLOCA
423
424 # fnmatch
425 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
426
427 # dlopen
428 dlopen_libs=""
429 case "$host_os" in
430   mingw32ce* | cegcc*)
431 # managed by evil
432     AC_DEFINE(HAVE_DLADDR)
433   ;;
434   mingw*)
435 # nothing on mingw platform
436   ;;
437   *)
438     AC_CHECK_FUNCS(dlopen, res=yes, res=no)
439     if test "x$res" = "xyes"; then
440       AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
441     else
442       AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
443       if test "x$res" = "xyes"; then
444         AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
445         dlopen_libs=-ldl
446       else
447         AC_MSG_ERROR(Cannot find dlopen)
448       fi
449     fi
450 esac
451 AC_SUBST(dlopen_libs)
452
453 # (shm_open (for cache server)
454 AC_ARG_ENABLE([evas-cserve],
455    AC_HELP_STRING([--disable-evas-cserve],
456       [disable shared cache server support. @<:@default=enabled@:>@]),
457    [
458     if test "x${enableval}" = "xyes" ; then
459        want_evas_cserve="yes"
460     else
461        want_evas_cserve="no"
462     fi
463    ])
464 AC_MSG_CHECKING(whether to build shared cache server and support)
465 AC_MSG_RESULT(${want_evas_cserve})
466
467 if test "x${want_evas_cserve}" = "xyes" ; then
468    AC_MSG_CHECKING([whether shm_open() is present])
469    LIBS_save=${LIBS}
470    LIBS="${LIBS} -lrt"
471    AC_LINK_IFELSE(
472       [AC_LANG_PROGRAM(
473          [[
474 #include <sys/types.h>
475 #include <sys/mman.h>
476 #include <fcntl.h>
477          ]],
478          [[
479 int fd;
480 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
481 shm_unlink("/");
482          ]])],
483       [want_evas_cserve="yes"],
484       [want_evas_cserve="no"])
485    LIBS=${LIBS_save}
486    AC_MSG_RESULT([${want_evas_cserve}])
487 fi
488
489 if test "x${want_evas_cserve}" = "xyes" ; then
490   AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
491 fi
492
493 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
494
495
496
497 #######################################
498 ## GL force flavor gles
499 gl_flavor_gles="no"
500 AC_MSG_CHECKING(whether to build GLES flavor of GL)
501 AC_ARG_ENABLE(gl-flavor-gles,
502   AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
503   [
504       if test "x$enableval" = "xyes" ; then
505         AC_MSG_RESULT(yes)
506         gl_flavor_gles="yes"
507       else
508         AC_MSG_RESULT(no)
509         gl_flavor_gles="no"
510       fi
511   ], [
512       AC_MSG_RESULT(no)
513       gl_flavor_gles="no"
514   ]
515 )
516
517 #######################################
518 ## GLES variety sgx
519 gles_variety_sgx="no"
520 AC_MSG_CHECKING(whether to build GLES variety for SGX)
521 AC_ARG_ENABLE(gles-variety-sgx,
522   AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
523   [
524       if test "x$enableval" = "xyes" ; then
525         AC_MSG_RESULT(yes)
526         AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
527         gles_variety_sgx="yes"
528       else
529         AC_MSG_RESULT(no)
530         gles_variety_sgx="no"
531       fi
532   ], [
533       AC_MSG_RESULT(no)
534       gles_variety_sgx="no"
535   ]
536 )
537
538 #######################################
539 ## GLES variety s3c6410
540 gles_variety_s3c6410="no"
541 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
542 AC_ARG_ENABLE(gles-variety-s3c6410,
543   AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
544   [
545       if test "x$enableval" = "xyes" ; then
546         AC_MSG_RESULT(yes)
547         AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
548         gles_variety_s3c6410="yes"
549       else
550         AC_MSG_RESULT(no)
551         gles_variety_s3c6410="no"
552       fi
553   ], [
554       AC_MSG_RESULT(no)
555       gles_variety_s3c6410="no"
556   ]
557 )
558
559 if test "x$gl_flavor_gles" = "xyes"; then
560   eng=""
561   if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
562   if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
563   if test "x$eng" = "xx"; then
564     eng=""
565   else
566      AC_MSG_ERROR(
567        [Please enable just 1 OpenGL-ES flavor. Choices are:
568           --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
569           --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
570         You will also need to enable the OpenGL engine for X11 with:
571           --enable-gl-x11
572        ])
573   fi
574 fi
575
576 #####################################################################
577 ## Engines
578
579 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
580
581 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
582
583 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
584
585 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
586
587 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
588
589 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
590
591 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
592
593 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
594
595 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
596
597 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
598
599 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
600
601 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
602
603 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
604
605 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
606
607 # disable qtopia engine for the release
608 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
609
610 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
611
612 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
613
614 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
615
616 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
617
618 # common gl
619 have_evas_engine_gl_common="no"
620 have_static_evas_engine_gl_common="no"
621 if test "x$have_evas_engine_gl_x11" = "xyes" \
622    || test "x$have_evas_engine_gl_glew" = "xyes" \
623    || test "x$have_evas_engine_gl_sdl" = "xyes"; then
624    have_evas_engine_gl_common="yes"
625 fi
626 if test "x$have_evas_engine_gl_x11" = "xstatic" \
627    || test "x$have_evas_engine_gl_glew" = "xstatic" \
628    || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
629    have_evas_engine_gl_common="yes"
630    have_static_evas_engine_gl_common="yes"
631 fi
632
633 if test "x$have_evas_engine_gl_common" = "xyes"; then
634    evas_engine_gl_common_libs=""
635    AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
636 fi
637
638 AC_SUBST([evas_engine_gl_common_libs])
639
640 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
641
642 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
643 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
644    AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
645 fi
646
647 # gl_sdl
648 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
649    AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
650       [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
651       [#include <SDL/SDL_video.h>])
652 fi
653
654 if test "x$gl_flavor_gles" = "xyes"; then
655    AC_CHECK_DECL(SDL_OPENGLES,
656       [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
657       [#include <SDL/SDL_video.h>])
658 fi
659
660 # SDL primitive
661 sdl_primitive="no"
662
663 AC_ARG_ENABLE([sdl-primitive],
664    [AC_HELP_STRING([--enable-sdl-primitive], [])],
665    [sdl_primitive=${enableval}]
666 )
667 AC_MSG_CHECKING([whether to use SDL primitive when possible])
668 AC_MSG_RESULT([${sdl_primitive}])
669
670 if test "x${sdl_primitive}" = "xyes" ; then
671    AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
672 fi
673
674 # if software generic need to be build as part of libevas.so
675 have_static_software_generic="no"
676 AC_ARG_ENABLE([static-software-generic],
677    [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
678    [have_static_software_generic=${enableval}]
679 )
680 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
681 AC_MSG_RESULT([${have_static_software_generic}])
682
683 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
684    AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
685    have_static_software_generic="yes"
686 fi
687
688 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
689 if test "x${have_static_software_generic}" = "xyes"; then
690    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
691 fi
692
693 # if software_xlib or software_xcb are available, define everything needed for X11
694 have_evas_engine_software_x11="no"
695 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
696    have_evas_engine_software_x11="static"
697 else
698    if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
699       have_evas_engine_software_x11="yes"
700    fi
701 fi
702
703 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
704    have_evas_engine_software_xlib="yes"
705 fi
706
707 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
708    have_evas_engine_software_xcb="yes"
709 fi
710
711 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
712    AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
713 fi
714
715 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
716    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
717 fi
718
719 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
720 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
721
722 AC_SUBST(have_evas_engine_software_xlib)
723 AC_SUBST(have_evas_engine_software_xcb)
724
725 # if software 16 x11 is enabled - build software_16 (the generic 16bit
726 # engine). later enable it fb_16 or other "16" bit engines are enabled.
727 have_evas_engine_software_16="no"
728 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
729    have_evas_engine_software_16="yes"
730 fi
731 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
732    have_evas_engine_software_16="yes"
733 fi
734 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
735    have_evas_engine_software_16="yes"
736 fi
737 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
738    have_evas_engine_software_16="yes"
739 fi
740 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
741
742 # if software 16 need to be build as part of libevas.so
743 have_static_software_16="no"
744 AC_ARG_ENABLE([static-software-16],
745    [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
746    [have_static_software_16=${enableval}]
747 )
748 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
749 AC_MSG_RESULT([${have_static_software_16}])
750
751 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
752 if test "x${have_static_software_16}" = "xyes"; then
753    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
754 fi
755
756 # if software 8 x11 is enabled - build software_8 (the generic 8bit
757 # engine).
758 have_evas_engine_software_8="no"
759 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
760    have_evas_engine_software_8="yes"
761 fi
762 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
763
764 # if software 8 need to be build as part of libevas.so
765 have_static_software_8="no"
766 AC_ARG_ENABLE([static-software-8],
767    [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
768    [have_static_software_8=${enableval}]
769 )
770 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
771 AC_MSG_RESULT([${have_static_software_8}])
772
773 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
774 if test "x${have_static_software_8}" = "xyes"; then
775    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
776 fi
777
778 #####################################################################
779 ## Image loaders
780
781 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
782
783 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
784 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
785
786 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
787
788 have_evas_image_saver_jpeg="no"
789 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
790
791 dnl Windows has no sigsetjmp function, nor equivalent.
792 dnl So we disable the jpeg saver.
793 dnl TODO: must find a workaround
794 case "$host_os" in
795    mingw* | cegcc*)
796       ;;
797    *)
798       if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
799          AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
800          have_evas_image_saver_jpeg="yes"
801       fi
802       ;;
803 esac
804 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
805
806 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
807
808 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
809
810 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
811
812 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
813
814 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
815
816 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
817
818 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
819
820 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
821
822 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
823
824 #####################################################################
825 ## Cpu based optimizations
826
827 #######################################
828 ## PTHREADS
829 pthread_cflags=""
830 pthread_libs=""
831 build_pthreads="no"
832 has_pthreads="no"
833 need_pthreads="no"
834 # basic pthread support
835 AC_CHECK_HEADER(pthread.h,
836   [
837    has_pthreads="yes"
838   ],
839   [
840    has_pthreads="no"
841   ]
842 )
843
844 # sched_getaffinity pthread_attr_setaffinity_np
845 AC_CHECK_HEADERS(pthread.h sched.h,
846   [
847     AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
848       [
849         AC_CHECK_LIB(pthread, pthread_barrier_wait,
850           [ build_pthreads="yes" ],
851           [ build_pthreads="no" ]
852         )
853       ],
854       [ build_pthreads="no" ]
855     )
856   ],
857   [ build_pthreads="no" ]
858 )
859
860 #######################################
861 ## Pthread
862 AC_MSG_CHECKING(whether to build pthread code)
863 AC_ARG_ENABLE(pthreads,
864   AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
865   [
866     if test "x$enableval" = "xyes" ; then
867       if test "x$build_pthreads" = "xyes"; then
868         AC_MSG_RESULT(yes)
869         AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
870         build_pthreads="yes"
871         need_pthreads="yes"
872       else
873         if "x$use_strict" = "xyes"; then
874           AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
875         else
876           AC_MSG_RESULT(no: pthread headers or functions not found)
877         fi
878       fi
879     else
880       AC_MSG_RESULT(no)
881       build_pthreads="no"
882     fi
883   ],
884   [
885     AC_MSG_RESULT($build_pthreads)
886     if test "x$build_pthreads" = "xyes" ; then
887       AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
888       need_pthreads="yes"
889     fi
890   ]
891 )
892
893 #######################################
894 ## Pipe Renderer
895 build_pipe_render="no"
896
897 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
898 AC_ARG_ENABLE(pipe-render,
899   AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
900   [ build_pipe_render=$enableval ]
901 )
902 AC_MSG_RESULT($build_pipe_render)
903
904 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
905 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
906   AC_MSG_RESULT(yes)
907   AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
908   build_pipe_render="yes"
909   need_pthreads="yes"
910 else
911   AC_MSG_RESULT(no)
912   build_pipe_render="no"
913 fi
914
915 #######################################
916 ## Async Renderer
917 build_async_render="no"
918
919 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
920 AC_ARG_ENABLE(async-render,
921  AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
922  [ build_async_render=$enableval ]
923 )
924 AC_MSG_RESULT($build_async_render)
925
926 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
927 if test \( "x$build_async_render" = "xyes" \); then
928   AC_MSG_RESULT(yes)
929   AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
930   build_async_render="yes"
931   AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
932   build_pipe_render="yes"
933   need_pthreads="yes"
934
935   PKG_CHECK_MODULES([XEXT],
936     [xext < 1.1.1],
937     [ build_avoid_libXext_bug=yes ],
938     [ build_avoid_libXext_bug=no ]
939   )
940   if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
941     AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
942   fi
943 else
944   AC_MSG_RESULT(no)
945   build_async_render="no"
946 fi
947
948 #######################################
949 ## Async events
950 build_async_events="auto"
951 AC_MSG_CHECKING(whether to build Async Events support)
952 AC_ARG_ENABLE(async-events,
953   AC_HELP_STRING([--enable-async-events], [enable async events support]),
954   [ build_async_events=$enableval ]
955 )
956 AC_MSG_RESULT($build_async_events)
957
958 AC_MSG_CHECKING(whether we can build Async Events support)
959 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
960   AC_MSG_RESULT(yes)
961   AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
962   build_async_events="yes"
963 else
964   AC_MSG_RESULT(no)
965   build_async_events="no"
966 fi
967
968 #######################################
969 ## Async image preload
970 build_async_preload="auto"
971 AC_MSG_CHECKING(whether to build Async Image Preload support)
972 AC_ARG_ENABLE(async-preload,
973   AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
974   [ build_async_preload=$enableval ]
975 )
976 AC_MSG_RESULT($build_async_preload)
977
978 AC_MSG_CHECKING(whether we can build Async Image Preload support)
979 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
980   AC_MSG_RESULT(yes)
981   AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
982   build_async_preload="yes"
983   need_pthreads="yes"
984 else
985   AC_MSG_RESULT(no)
986   build_async_preload="no"
987 fi
988
989 #######################################
990 ## Link with pthread if needed
991 AC_MSG_CHECKING(whether we should link with pthread)
992 if test "x$need_pthreads" = "xyes"; then
993   AC_MSG_RESULT(yes)
994   pthread_cflags=""
995   pthread_libs="-lpthread"
996 else
997   AC_MSG_RESULT(no)
998 fi
999
1000 #######################################
1001 ## MMX
1002 build_cpu_mmx="no"
1003 case $host_cpu in
1004   i*86)
1005     build_cpu_mmx="yes"
1006     ;;
1007   x86_64)
1008     build_cpu_mmx="yes"
1009     ;;
1010   amd64)
1011     build_cpu_mmx="yes"
1012     ;;
1013 esac
1014 AC_MSG_CHECKING(whether to build mmx code)
1015 AC_ARG_ENABLE(cpu-mmx,
1016   AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1017   [
1018       if test "x$enableval" = "xyes" ; then
1019         AC_MSG_RESULT(yes)
1020         AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1021         build_cpu_mmx="yes"
1022       else
1023         AC_MSG_RESULT(no)
1024         build_cpu_mmx="no"
1025       fi
1026   ],
1027   [
1028     AC_MSG_RESULT($build_cpu_mmx)
1029     if test "x$build_cpu_mmx" = "xyes" ; then
1030       AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1031     fi
1032   ]
1033 )
1034
1035 #######################################
1036 ## SSE
1037 build_cpu_sse="no"
1038 case $host_cpu in
1039   i*86)
1040     build_cpu_sse="yes"
1041     ;;
1042   x86_64)
1043     build_cpu_sse="yes"
1044     ;;
1045   amd64)
1046     build_cpu_sse="yes"
1047     ;;
1048 esac
1049 AC_MSG_CHECKING(whether to build sse code)
1050 AC_ARG_ENABLE(cpu-sse,
1051   AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1052   [
1053       if test "x$enableval" = "xyes" ; then
1054         AC_MSG_RESULT(yes)
1055         AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1056         build_cpu_sse="yes"
1057       else
1058         AC_MSG_RESULT(no)
1059         build_cpu_sse="no"
1060       fi
1061   ],
1062   [
1063     AC_MSG_RESULT($build_cpu_sse)
1064     if test "x$build_cpu_sse" = "xyes" ; then
1065       AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1066     fi
1067   ]
1068 )
1069
1070 #######################################
1071 ## ALTIVEC
1072 build_cpu_altivec="no"
1073 case $host_cpu in
1074   *power* | *ppc*)
1075     build_cpu_altivec="auto"
1076     ;;
1077 esac
1078 altivec_cflags=""
1079 AC_MSG_CHECKING(whether to build altivec code)
1080 AC_ARG_ENABLE(cpu-altivec,
1081   AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1082   [ build_cpu_altivec=$enableval ],
1083   [
1084     if test ! "x$build_cpu_altivec" = "xauto"; then
1085       build_cpu_altivec="no"
1086     fi
1087   ]
1088 )
1089 AC_MSG_RESULT($build_cpu_altivec)
1090
1091 if test "x$build_cpu_altivec" = "xyes"; then
1092    AC_CHECK_HEADER(altivec.h,
1093      [
1094         AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1095         AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1096         build_cpu_altivec="yes"
1097      ],
1098      [
1099        save_CFLAGS=$CFLAGS
1100        save_CPPFLAGS=$CPPFLAGS
1101        CFLAGS=$CFLAGS" -maltivec"
1102        CPPFLAGS=$CPPFLAGS" -maltivec"
1103        unset ac_cv_header_altivec_h
1104        AC_CHECK_HEADER(altivec.h,
1105          [
1106             AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1107             AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1108             build_cpu_altivec="yes"
1109          ],
1110          [
1111             if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1112               AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1113             fi
1114             build_cpu_altivec="no"
1115          ]
1116        )
1117        CFLAGS=$save_CFLAGS
1118        CPPFLAGS=$save_CPPFLAGS
1119      ]
1120    )
1121 fi
1122
1123 if test "x$build_cpu_altivec" = "xyes"; then
1124    AC_MSG_CHECKING(whether to use altivec compiler flag)
1125    if test "x$GCC" = "xyes"; then
1126       if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1127          altivec_cflags="-faltivec"
1128          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1129       elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1130          altivec_cflags="-maltivec"
1131          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1132       fi
1133    fi
1134   AC_MSG_RESULT($altivec_cflags)
1135    CFLAGS="$CFLAGS $altivec_cflags"
1136 fi
1137
1138 #######################################
1139 ## NEON
1140 build_cpu_neon="no"
1141 case $host_cpu in
1142   arm*)
1143     build_cpu_neon="yes"
1144     ;;
1145 esac
1146 AC_MSG_CHECKING(whether to build neon code)
1147 AC_ARG_ENABLE(cpu-neon,
1148   AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1149           checked at run time to see if the CPU supports it]),
1150   [
1151      if test "x$enableval" = "xyes" ; then
1152        AC_TRY_COMPILE([],
1153         [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1154         [
1155           AC_MSG_RESULT(yes)
1156           AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1157           build_cpu_neon="yes"
1158         ],[
1159           AC_MSG_RESULT(no)
1160           build_cpu_neon="no"
1161         ])
1162       else
1163         AC_MSG_RESULT(no)
1164         build_cpu_neon="no"
1165       fi
1166   ],
1167   [
1168     if test "x$build_cpu_neon" = "xyes" ; then
1169        AC_TRY_COMPILE([#include <arm_neon.h>],
1170         [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1171         [
1172           AC_MSG_RESULT(yes)
1173           AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1174           build_cpu_neon="yes"
1175         ],[
1176           AC_MSG_RESULT(no)
1177           build_cpu_neon="no"
1178         ])
1179     fi
1180   ]
1181 )
1182      
1183 #######################################
1184 ## C
1185 build_cpu_c="yes"
1186 AC_MSG_CHECKING(whether to build c code)
1187 AC_ARG_ENABLE(cpu-c,
1188   AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1189   [
1190       if test "x$enableval" = "xyes" ; then
1191         AC_MSG_RESULT(yes)
1192         AC_DEFINE(BUILD_C, 1, [Build plain C code])
1193         build_cpu_c="yes"
1194       else
1195         AC_MSG_RESULT(no)
1196         build_cpu_c="no"
1197       fi
1198   ], [
1199       AC_MSG_RESULT($build_cpu_c)
1200       if test "x$build_cpu_c" = "xyes" ; then
1201         AC_DEFINE(BUILD_C, 1, [Build plain C code])
1202       fi
1203   ]
1204 )
1205
1206 #######################################
1207 ## MAGIC_DEBUG
1208 want_evas_magic_debug="yes"
1209 AC_MSG_CHECKING(whether to check magic for evas object)
1210 AC_ARG_ENABLE(evas-magic-debug,
1211   AC_HELP_STRING(
1212     [--disable-evas-magic-debug],
1213     [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1214   ),
1215   [ want_evas_magic_debug="$enableval" ]
1216 )
1217 AC_MSG_RESULT($want_evas_magic_debug)
1218
1219 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1220 if test "x$want_evas_magic_debug" = "xyes"; then
1221   AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1222 fi
1223
1224
1225 #######################################
1226 ## Word Caching
1227 want_word_cache="no"
1228 AC_MSG_CHECKING(whether to enable caching of rendered words)
1229 AC_ARG_ENABLE(word-cache,
1230   AC_HELP_STRING(
1231     [--enable-word-cache],
1232     [Enable experimental word caching to speed up rendering [[default=disabled]]]
1233   ),
1234   [ want_word_cache="$enableval" ]
1235 )
1236 AC_MSG_RESULT($want_word_cache)
1237
1238 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1239 if test "x$want_word_cache" = "xyes"; then
1240   AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1241 fi
1242
1243 #######################################
1244 ## Metric Caching
1245 want_metric_cache="no"
1246 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1247 AC_ARG_ENABLE(metric-cache,
1248   AC_HELP_STRING(
1249     [--enable-metric-cache],
1250     [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1251   ),
1252   [ want_metric_cache="$enableval" ]
1253 )
1254 AC_MSG_RESULT($want_metric_cache)
1255
1256 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1257 if test "x$want_metric_cache" = "xyes"; then
1258   AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1259 fi
1260
1261
1262
1263 #####################################################################
1264 ## ARGB engine options
1265
1266 #######################################
1267 ## Nearest sampling scaler
1268 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1269 ## Smooth super and sub sampling scaler
1270 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1271
1272 #######################################
1273 ## YUV -> ARGB converter
1274 conv_yuv="no"
1275 conv_yuv="yes"
1276 AC_MSG_CHECKING(whether to build yuv converter code)
1277 AC_ARG_ENABLE(convert-yuv,
1278   AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1279   [
1280       if test "x$enableval" = "xyes" ; then
1281         AC_MSG_RESULT(yes)
1282         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1283         conv_yuv="yes"
1284       else
1285         AC_MSG_RESULT(no)
1286         conv_yuv="no"
1287       fi
1288   ], [
1289       AC_MSG_RESULT($conv_yuv)
1290       if test "x$conv_yuv" = "xyes" ; then
1291         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1292       fi
1293   ]
1294 )
1295
1296 #####################################################################
1297 ## Output rendering features
1298
1299 #######################################
1300 ## Small dither mask instead of big one (lower quality)
1301 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1302 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1303 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1304 ## No dither mask at all for 16bpp
1305 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1306
1307 #######################################
1308 ## Convert to 8bpp RGB 332
1309 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1310 ## Convert to 8bpp RGB 666
1311 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1312 ## Convert to 8bpp RGB 232
1313 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1314 ## Convert to 8bpp RGB 222
1315 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1316 ## Convert to 8bpp RGB 221
1317 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1318 ## Convert to 8bpp RGB 121
1319 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1320 ## Convert to 8bpp RGB 111
1321 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1322 ## Convert to 16bpp RGB 565
1323 EVAS_CONVERT_COLOR(16, RGB, 565)
1324 ## Convert to 16bpp BGR 565
1325 EVAS_CONVERT_COLOR(16, BGR, 565)
1326 ## Convert to 16bpp RGB 555
1327 EVAS_CONVERT_COLOR(16, RGB, 555)
1328 ## Convert to 16bpp RGB 444
1329 EVAS_CONVERT_COLOR(16, RGB, 444)
1330
1331 #######################################
1332 ## Convert to 16bpp RGB 565 (444 ipaq)
1333 conv_16_rgb_ipq="yes"
1334 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1335 AC_ARG_ENABLE(convert-16-rgb-ipq,
1336   AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1337   [
1338       if test "x$enableval" = "xyes" ; then
1339         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1340         conv_16_rgb_ipq="yes"
1341       else
1342         conv_16_rgb_ipq="no"
1343       fi
1344   ], [
1345       if test "x$conv_16_rgb_ipq" = "xyes" ; then
1346         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1347       fi
1348   ]
1349 )
1350 AC_MSG_RESULT($conv_16_rgb_ipq)
1351
1352 #######################################
1353 ## Convert to 16bpp RGB with rotation of 0
1354 EVAS_CONVERT_ROT(16, RGB, 0)
1355 ## Convert to 16bpp RGB with rotation of 180
1356 EVAS_CONVERT_ROT(16, RGB, 180)
1357 ## Convert to 16bpp RGB with rotation of 270
1358 EVAS_CONVERT_ROT(16, RGB, 270)
1359 ## Convert to 16bpp RGB with rotation of 90
1360 EVAS_CONVERT_ROT(16, RGB, 90)
1361
1362 #######################################
1363 ## Convert to 24bpp RGB 888
1364 EVAS_CONVERT_COLOR(24, RGB, 888)
1365 ## Convert to 24bpp BGR 888
1366 EVAS_CONVERT_COLOR(24, BGR, 888)
1367 ## Convert to 32bpp RGB 8888
1368 EVAS_CONVERT_COLOR(32, RGB, 8888)
1369 ## Convert to 32bpp RGBX 8888
1370 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1371 ## Convert to 32bpp BGR 8888
1372 EVAS_CONVERT_COLOR(32, BGR, 8888)
1373 ## Convert to 32bpp BGRX 8888
1374 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1375
1376 #######################################
1377 ## Convert to 24bpp RGB 666 (666 ezx)
1378 conv_24_rgb_ezx="yes"
1379 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1380 AC_ARG_ENABLE(convert-24-rgb-ezx,
1381   AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1382   [
1383       if test "x$enableval" = "xyes" ; then
1384         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1385         conv_24_rgb_ezx="yes"
1386       else
1387         conv_24_rgb_ezx="no"
1388       fi
1389   ], [
1390       if test "x$conv_24_rgb_ezx" = "xyes" ; then
1391         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1392       fi
1393   ]
1394 )
1395 AC_MSG_RESULT($conv_24_rgb_ezx)
1396
1397 #######################################
1398 ## Convert to 32bpp RGB 666 (666 ezx)
1399 conv_32_rgb_ezx="yes"
1400 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1401 AC_ARG_ENABLE(convert-32-rgb-ezx,
1402   AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1403   [
1404       if test "x$enableval" = "xyes" ; then
1405         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1406         conv_32_rgb_ezx="yes"
1407       else
1408         conv_32_rgb_ezx="no"
1409       fi
1410   ], [
1411       if test "x$conv_32_rgb_ezx" = "xyes" ; then
1412         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1413       fi
1414   ]
1415 )
1416 AC_MSG_RESULT($conv_32_rgb_ezx)
1417
1418 #######################################
1419 ## Convert to 32bpp RGB with rotation of 0
1420 EVAS_CONVERT_ROT(32, RGB, 0)
1421 ## Convert to 32bpp RGB with rotation of 180
1422 EVAS_CONVERT_ROT(32, RGB, 180)
1423 ## Convert to 32bpp RGB with rotation of 270
1424 EVAS_CONVERT_ROT(32, RGB, 270)
1425 ## Convert to 32bpp RGB with rotation of 90
1426 EVAS_CONVERT_ROT(32, RGB, 90)
1427
1428 #######################################
1429 ## Convert to 8bpp grayscale with 256 value, no palette
1430 EVAS_CONVERT_COLOR(8, GRY, 1)
1431 ## Convert to 8bpp grayscale with 16 value, no palette
1432 EVAS_CONVERT_COLOR(8, GRY, 16)
1433
1434 #######################################
1435 ## Convert to 8bpp grayscale, 64-palette
1436 conv_8_grayscale_64="yes"
1437 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1438 AC_ARG_ENABLE(convert-8-grayscale-64,
1439   AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1440   [
1441      if test "x$enableval" = "xyes"; then
1442        AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1443        conv_8_grayscale_64="yes"
1444      else
1445        conv_8_grayscale_64="no"
1446      fi
1447   ], [
1448      if test "x$conv_8_grayscale_64" = "xyes"; then
1449        AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1450      fi
1451   ]
1452 )
1453 AC_MSG_RESULT($conv_8_grayscale_64)
1454
1455 ## valgrind
1456 want_valgrind="no"
1457 have_valgrind="no"
1458
1459 AC_MSG_CHECKING(whether to enable build with valgrind)
1460 AC_ARG_ENABLE(valgrind,
1461   AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1462   [ want_valgrind=$enableval ]
1463 )
1464 AC_MSG_RESULT($want_valgrind)
1465
1466 if test x$want_valgrind = "xyes"; then
1467   PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1468     [
1469       AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1470       have_valgrind=yes
1471       requirement_evas="valgrind ${requirement_evas}"
1472     ],
1473     [
1474       if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1475         AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1476       fi
1477     ]
1478   )
1479 fi
1480
1481 ## Examples
1482
1483 install_examples="yes"
1484 AC_ARG_ENABLE([install-examples],
1485    AC_HELP_STRING([--disable-install-examples],
1486                   [disable installing examples (compiled or just source).
1487                    @<:@default==enabled@:>@]),
1488    [
1489     if test "x${enableval}" = "xyes" ; then
1490        install_examples="yes"
1491     else
1492        install_examples="no"
1493     fi
1494    ],
1495    [install_examples="yes"])
1496 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1497
1498 build_examples="no"
1499 AC_ARG_ENABLE([build-examples],
1500    AC_HELP_STRING([--enable-build-examples],
1501                   [enable building examples. @<:@default==disabled@:>@]),
1502    [
1503     if test "x${enableval}" = "xyes" ; then
1504        build_examples="yes"
1505     else
1506        build_examples="no"
1507     fi
1508    ],
1509    [build_examples="no"])
1510 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1511
1512
1513 #####################################################################
1514 ## Fill in flags
1515
1516 AC_SUBST(altivec_cflags)
1517 AC_SUBST(pthread_cflags)
1518 AC_SUBST(pthread_libs)
1519 AC_SUBST(requirement_evas)
1520
1521
1522 #####################################################################
1523 ## Output
1524
1525 AC_OUTPUT([
1526 Makefile
1527 evas-directfb.pc
1528 evas-fb.pc
1529 evas-opengl-glew.pc
1530 evas-opengl-x11.pc
1531 evas-opengl-sdl.pc
1532 evas-software-buffer.pc
1533 evas-software-x11.pc
1534 evas-software-8-x11.pc
1535 evas-software-16-x11.pc
1536 evas-xrender-x11.pc
1537 evas-xrender-xcb.pc
1538 evas-software-gdi.pc
1539 evas-software-ddraw.pc
1540 evas-software-16-ddraw.pc
1541 evas-direct3d.pc
1542 evas-software-16-wince.pc
1543 evas-software-sdl.pc
1544 evas.pc
1545 doc/evas.dox
1546 doc/Makefile
1547 src/Makefile
1548 src/bin/Makefile
1549 src/lib/Makefile
1550 src/lib/canvas/Makefile
1551 src/lib/file/Makefile
1552 src/lib/cache/Makefile
1553 src/lib/cserve/Makefile
1554 src/lib/engines/Makefile
1555 src/lib/engines/common/Makefile
1556 src/lib/engines/common/evas_op_add/Makefile
1557 src/lib/engines/common/evas_op_blend/Makefile
1558 src/lib/engines/common/evas_op_copy/Makefile
1559 src/lib/engines/common/evas_op_mask/Makefile
1560 src/lib/engines/common/evas_op_mul/Makefile
1561 src/lib/engines/common/evas_op_sub/Makefile
1562 src/lib/engines/common_8/Makefile
1563 src/lib/engines/common_16/Makefile
1564 src/modules/Makefile
1565 src/modules/engines/Makefile
1566 src/modules/engines/software_generic/Makefile
1567 src/modules/engines/software_gdi/Makefile
1568 src/modules/engines/software_ddraw/Makefile
1569 src/modules/engines/direct3d/Makefile
1570 src/modules/engines/software_16_wince/Makefile
1571 src/modules/engines/software_x11/Makefile
1572 src/modules/engines/fb/Makefile
1573 src/modules/engines/buffer/Makefile
1574 src/modules/engines/directfb/Makefile
1575 src/modules/engines/gl_common/Makefile
1576 src/modules/engines/gl_glew/Makefile
1577 src/modules/engines/gl_x11/Makefile
1578 src/modules/engines/gl_sdl/Makefile
1579 src/modules/engines/xrender_x11/Makefile
1580 src/modules/engines/software_sdl/Makefile
1581 src/modules/engines/software_8/Makefile
1582 src/modules/engines/software_8_x11/Makefile
1583 src/modules/engines/software_16/Makefile
1584 src/modules/engines/software_16_x11/Makefile
1585 src/modules/engines/software_16_ddraw/Makefile
1586 src/modules/engines/software_16_sdl/Makefile
1587 src/modules/loaders/Makefile
1588 src/modules/loaders/edb/Makefile
1589 src/modules/loaders/eet/Makefile
1590 src/modules/loaders/gif/Makefile
1591 src/modules/loaders/jpeg/Makefile
1592 src/modules/loaders/png/Makefile
1593 src/modules/loaders/tiff/Makefile
1594 src/modules/loaders/xpm/Makefile
1595 src/modules/loaders/bmp/Makefile
1596 src/modules/loaders/ico/Makefile
1597 src/modules/loaders/tga/Makefile
1598 src/modules/loaders/svg/Makefile
1599 src/modules/loaders/pmaps/Makefile
1600 src/modules/loaders/wbmp/Makefile
1601 src/modules/savers/Makefile
1602 src/modules/savers/edb/Makefile
1603 src/modules/savers/eet/Makefile
1604 src/modules/savers/jpeg/Makefile
1605 src/modules/savers/png/Makefile
1606 src/modules/savers/tiff/Makefile
1607 src/lib/include/Makefile
1608 src/examples/Makefile
1609 README
1610 evas.spec
1611 ])
1612
1613 #disabled for the release:
1614 # evas-software-qtopia.pc
1615 # src/modules/engines/software_qtopia/Makefile
1616
1617
1618 #####################################################################
1619 ## Sanity Checks
1620
1621 if test "x$build_pthreads" = "xno" ; then
1622   if test "x$build_async_render" = "xyes" ; then
1623     echo "ERROR: PThreads off, but async rendering on. Async rendering"
1624     echo "  needs thread support."
1625     exit 1
1626   fi
1627   if test "x$build_pipe_render" = "xyes" ; then
1628     echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1629     echo "  needs thread support."
1630     exit 1
1631   fi
1632 fi
1633
1634 if test "x${has_pthreads}" = "xno" ; then
1635   if test "x$build_async_preload" = "xyes" ; then
1636     echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1637     echo "  needs thread support."
1638     exit 1
1639   fi
1640 fi
1641
1642 #####################################################################
1643 ## Info
1644
1645 echo
1646 echo
1647 echo
1648 echo "------------------------------------------------------------------------"
1649 echo "$PACKAGE $VERSION"
1650 echo "------------------------------------------------------------------------"
1651 echo
1652 echo "Configuration Options Summary:"
1653 echo
1654 echo "Engines:"
1655 echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
1656 echo "  Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1657 echo "  XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1658 echo $ECHO_N "  OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1659 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1660   echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1661 else
1662   echo
1663 fi
1664 echo "  Software GDI...............: $have_evas_engine_software_gdi"
1665 echo "  Software DirectDraw........: $have_evas_engine_software_ddraw"
1666 echo "  Direct3d...................: $have_evas_engine_direct3d"
1667 echo "  OpenGL Glew................: $have_evas_engine_gl_glew"
1668 echo "  Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1669 echo $ECHO_N "  OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1670 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1671   echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1672 else
1673   echo
1674 fi
1675 echo "  Software Framebuffer.......: $have_evas_engine_fb"
1676 echo "  DirectFB...................: $have_evas_engine_directfb"
1677 dnl echo "  Software Qtopia............: $have_evas_engine_software_qtopia"
1678 echo "  Software 8bit grayscale....: $have_evas_engine_software_8"
1679 # FIXME: kill software 16bit
1680 echo "  Software 16bit ............: $have_evas_engine_software_16"
1681 echo "  Software 16bit X11.........: $have_evas_engine_software_16_x11"
1682 echo "  Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1683 echo "  Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1684 echo "  Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1685 echo
1686 echo "Image Loaders:"
1687 echo "  BMP.....................: $have_evas_image_loader_bmp"
1688 echo "  EDB.....................: $have_evas_image_loader_edb"
1689 echo "  EET.....................: $have_evas_image_loader_eet"
1690 echo "  GIF.....................: $have_evas_image_loader_gif"
1691 echo "  ICO.....................: $have_evas_image_loader_ico"
1692 echo "  JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1693 echo "  PMAPS...................: $have_evas_image_loader_pmaps"
1694 echo "  PNG.....................: $have_evas_image_loader_png"
1695 echo "  SVG.....................: $have_evas_image_loader_svg"
1696 echo "  TGA.....................: $have_evas_image_loader_tga"
1697 echo "  TIFF....................: $have_evas_image_loader_tiff"
1698 echo "  WBMP....................: $have_evas_image_loader_wbmp"
1699 echo "  XPM.....................: $have_evas_image_loader_xpm"
1700 echo
1701 echo "Font Sourcing Systems:"
1702 echo "  EET.....................: $have_evas_font_loader_eet"
1703 echo
1704 echo "Font Searching Systems:"
1705 echo "  Fontconfig..............: $have_fontconfig"
1706 echo
1707 echo "Font Rendering Helpers:"
1708 echo "  Fribidi.................: $have_fribidi"
1709 echo "  Harfbuzz................: $have_harfbuzz"
1710 # FIXME: add non freetype2 font engine support
1711 # FIXME: make freetype2 optional
1712 echo
1713 echo "CPU Specific Extensions:"
1714 echo "  Fallback C Code.........: $build_cpu_c"
1715 echo "  MMX.....................: $build_cpu_mmx"
1716 echo "  SSE.....................: $build_cpu_sse"
1717 echo "  ALTIVEC.................: $build_cpu_altivec"
1718 echo "  NEON....................: $build_cpu_neon"
1719 echo "  Thread Support..........: $build_pthreads"
1720 echo
1721 echo "Features:"
1722 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
1723 echo "  Cache Server............: $want_evas_cserve"
1724 echo
1725 dnl
1726 dnl ... DISABLED! some testing has shown that this seems to have some
1727 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1728 dnl disabling this for now until it can be fixed
1729 dnl 
1730 echo "  Threaded Pipe Rendering.: $build_pipe_render"
1731 echo "  Async Pipe Rendering....: $build_async_render"
1732 echo "  Async Events............: $build_async_events"
1733 echo "  Async Image Preload.....: $build_async_preload"
1734 echo
1735 echo "  Word Cache..............: $want_word_cache"
1736 echo "  Metric Cache............: $want_metric_cache"
1737 echo
1738 echo "ARGB Software Engine Options:"
1739 echo "  Sampling Scaler.........: $scaler_sample"
1740 echo "  Smooth Scaler...........: $scaler_smooth"
1741 # FIXME: add an mmx scaler routine
1742 echo "  YUV Converter...........: $conv_yuv"
1743 # FIXME: add more YUV format and colorvariant support
1744 echo
1745 echo "ARGB Conversion Options:"
1746 echo "  Smaller Dither Mask.....: $conv_small_dither"
1747 echo "  Line Dither Mask........: $conv_line_dither"
1748 echo "  No Dither Mask for 16bpp: $conv_no_dither"
1749 echo "  8bpp RGB 332............: $conv_8_rgb_332"
1750 echo "  8bpp RGB 666............: $conv_8_rgb_666"
1751 echo "  8bpp RGB 232............: $conv_8_rgb_232"
1752 echo "  8bpp RGB 222............: $conv_8_rgb_222"
1753 echo "  8bpp RGB 221............: $conv_8_rgb_221"
1754 echo "  8bpp RGB 121............: $conv_8_rgb_121"
1755 echo "  8bpp RGB 111............: $conv_8_rgb_111"
1756 echo "  8bpp Grayscale (256)....: $conv_8_gry_1"
1757 echo "  8bpp Grayscale (16).....: $conv_8_gry_16"
1758 echo "  8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1759 # FIXME: add grayscale and B&W support to standard x converters
1760 echo "  16bpp RGB 565...........: $conv_16_rgb_565"
1761 echo "  16bpp BGR 565...........: $conv_16_bgr_565"
1762 echo "  16bpp RGB 555...........: $conv_16_rgb_555"
1763 echo "  16bpp RGB 444...........: $conv_16_rgb_444"
1764 echo "  16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1765 # FIXME: add 555 (444 ipaq) support
1766 # FIXME: add 30bpp support
1767 # FIXME: add palletted support (ugh!)
1768 # FIXME: add 8bpp and below rotation
1769 echo "  16bpp Rotation 0........: $conv_16_rgb_rot_0"
1770 echo "  16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1771 echo "  16bpp Rotation 180......: $conv_16_rgb_rot_180"
1772 echo "  16bpp Rotation 270......: $conv_16_rgb_rot_270"
1773 echo "  24bpp RGB 888...........: $conv_24_rgb_888"
1774 echo "  24bpp BGR 888...........: $conv_24_bgr_888"
1775 echo "  24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1776 # FIXME: add 24bpp rotation
1777 echo "  32bpp RGB 8888..........: $conv_32_rgb_8888"
1778 echo "  32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1779 echo "  32bpp BGR 8888..........: $conv_32_bgr_8888"
1780 echo "  32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1781 echo "  32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1782 echo "  32bpp Rotation 0........: $conv_32_rgb_rot_0"
1783 echo "  32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1784 echo "  32bpp Rotation 180......: $conv_32_rgb_rot_180"
1785 echo "  32bpp Rotation 270......: $conv_32_rgb_rot_270"
1786 echo
1787 echo "Documentation.............: ${build_doc}"
1788 echo "Examples..................: install:${install_examples} build:${build_examples}"
1789 echo
1790 echo "Compilation............: make (or gmake)"
1791 echo "  CPPFLAGS.............: $CPPFLAGS"
1792 echo "  CFLAGS...............: $CFLAGS"
1793 echo "  CXXFLAGS.............: $CXXFLAGS"
1794 echo "  LDFLAGS..............: $LDFLAGS"
1795 echo
1796 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1797 echo "  prefix...............: $prefix"
1798 echo
1799 if test "x${have_static_module}" = "xyes" ; then
1800 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1801 echo "         You must know what you are doing, or else you will have a lot of"
1802 echo "         problems. And Kenny will be killed."
1803 echo "         Think about that."
1804 echo
1805 fi