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