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