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