Evas: require harfbuzz >= 0.9.0 in configure.ac.
[profile/ivi/evas.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [2])
5 m4_define([v_mic], [99])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v '\(export\|Unversioned directory\)' || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##--   When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##--   When doing snapshots - change soname. remove dnl on below line
11 dnl m4_define([relname], [ver-pre-svn-07])
12 dnl m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])], [m4_define([v_ver], [v_maj.v_min.v_mic])])
15 m4_define([lt_cur], m4_eval(v_maj + v_min))
16 m4_define([lt_rev], v_mic)
17 m4_define([lt_age], v_min)
18 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20
21 # rw_PROG_OBJC_WORKS
22 # Check whether the Objective C compiler works.
23 AC_DEFUN([rw_PROG_OBJC_WORKS],
24 [m4_ifdef([AC_PROG_OBJC], [AC_REQUIRE([AC_PROG_OBJC])dnl
25 AC_CACHE_CHECK([whether the Objective C compiler works],
26                [rw_cv_prog_objc_works],
27                [AC_LANG_PUSH([Objective C])
28                 AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
29                                [rw_cv_prog_objc_works=yes],
30                                [rw_cv_prog_objc_works=no])
31                 AC_LANG_POP([Objective C])])], [rw_cv_prog_objc_works=no])
32 ])
33
34 AC_INIT([evas], [v_ver], [enlightenment-devel@lists.sourceforge.net])
35 AC_PREREQ([2.52])
36 AC_CONFIG_SRCDIR([configure.ac])
37 AC_CONFIG_MACRO_DIR([m4])
38
39 AC_CONFIG_HEADERS([config.h])
40 AH_TOP([
41 #ifndef EFL_CONFIG_H__
42 #define EFL_CONFIG_H__
43 ])
44 AH_BOTTOM([
45 #endif /* EFL_CONFIG_H__ */
46 ])
47
48 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
49 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
50
51 AC_GNU_SOURCE
52
53 AC_LIBTOOL_WIN32_DLL
54 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
55 AC_PROG_LIBTOOL
56
57 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
58 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
59 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
60 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
61 AC_DEFINE_UNQUOTED(VMAJ, [v_maj], [Major version])
62 AC_DEFINE_UNQUOTED(VMIN, [v_min], [Minor version])
63 AC_DEFINE_UNQUOTED(VMIC, [v_mic], [Micro version])
64 AC_DEFINE_UNQUOTED(VREV, [v_rev], [Revison])
65 version_info="lt_cur:lt_rev:lt_age"
66 release_info="v_rel"
67 AC_SUBST(version_info)
68 AC_SUBST(release_info)
69 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
70 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
71 VMAJ=v_maj
72 AC_SUBST(VMAJ)
73
74 ### Needed information
75
76 AC_CANONICAL_BUILD
77 AC_CANONICAL_HOST
78
79 case "$host_os" in
80    mingw32ce*)
81       MODULE_ARCH="$host_os-$host_cpu"
82       ;;
83    *)
84       MODULE_ARCH="$host_os-$host_cpu-v_maj.v_min.v_mic"
85       ;;
86 esac
87 AC_SUBST(MODULE_ARCH)
88 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
89
90 want_fontconfig="auto"
91 want_fribidi="auto"
92 want_harfbuzz="auto"
93 want_pixman="no"
94 want_evas_cserve="yes"
95 want_evas_cserve2="yes"
96
97 want_evas_engine_buffer="yes"
98 want_evas_engine_software_xlib="no"
99 want_evas_engine_software_xcb="no"
100 want_evas_engine_software_gdi="no"
101 want_evas_engine_software_ddraw="no"
102 want_evas_engine_software_8_x11="no"
103 want_evas_engine_software_16_x11="no"
104 want_evas_engine_software_16_wince="no"
105 want_evas_engine_software_16_sdl="no"
106 want_evas_engine_gl_xlib="no"
107 want_evas_engine_gl_xcb="no"
108 want_evas_engine_gl_sdl="no"
109 want_evas_engine_gl_cocoa="no"
110 want_evas_engine_direct3d="no"
111 want_evas_engine_fb="no"
112 want_evas_engine_directfb="no"
113 want_evas_engine_psl1ght="no"
114 want_evas_engine_wayland_shm="no"
115 want_evas_engine_wayland_egl="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 want_evas_image_loader_psd="yes"
131 want_evas_image_loader_generic="yes"
132
133 want_evas_font_loader_eet="yes"
134
135 case "$host_os" in
136    mingw32ce*)
137       want_fontconfig="no"
138       want_evas_engine_software_16_wince="yes"
139       want_evas_image_loader_edb="no"
140       want_evas_image_loader_gif="no"
141       want_evas_image_loader_svg="no"
142       want_evas_image_loader_tiff="no"
143       ;;
144    mingw*)
145       want_evas_engine_software_gdi="yes"
146       want_evas_engine_software_ddraw="yes"
147       want_evas_engine_direct3d="yes"
148       want_evas_image_loader_edb="no"
149       want_evas_image_loader_svg="no"
150       ;;
151    darwin*)
152       want_evas_engine_software_xlib="auto"
153       want_evas_engine_gl_cocoa="auto"
154       ;;
155    *)
156       want_evas_engine_software_xlib="auto"
157       want_evas_engine_gl_xlib="auto"
158       want_evas_engine_software_xcb="no"
159       want_evas_engine_gl_xcb="no"
160       want_evas_engine_fb="auto"
161       want_evas_engine_wayland_shm="auto"
162       want_evas_engine_wayland_egl="auto"
163 ### no - not ready/usable/complete
164 #      want_evas_engine_software_8_x11="auto"
165 #      want_evas_engine_software_16_x11="auto"
166       ;;
167 esac
168
169 case "$host_vendor" in
170   ps3*)
171       want_evas_engine_psl1ght="static"
172       ;;
173 esac
174
175 requirement_evas=""
176
177
178 ### Additional options to configure
179
180 # when used, that option makes configure script fails when
181 # a requirement is selected, but not met.
182 use_strict="no"
183 AC_ARG_ENABLE([strict],
184    AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
185    [use_strict="yes"],
186    [use_strict="no"])
187
188 # Simple X11 build/link
189 AC_ARG_ENABLE([simple-x11],
190    AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
191    [
192     if test "x${enableval}" = "xyes" ; then
193        want_evas_simple_x11="yes"
194     else
195        want_evas_simple_x11="no"
196     fi
197    ])
198
199
200 ### Checks for programs
201
202 m4_ifdef([AC_PROG_OBJC],
203    [
204     AC_PROG_OBJC
205     _AM_DEPENDENCIES(OBJC)
206    ],
207    [
208     dnl#AC_CHECK_TOOL([OBJC], [gcc])
209     dnl#AC_SUBST([OBJC])
210     dnl#AC_SUBST([OBJCFLAGS])
211    ])
212
213 rw_PROG_OBJC_WORKS
214
215 AC_PROG_CXX
216 AC_PROG_CC
217
218 # pkg-config
219 PKG_PROG_PKG_CONFIG
220
221 # Check whether pkg-config supports Requires.private
222 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
223    pkgconfig_requires_private="Requires.private"
224 else
225    pkgconfig_requires_private="Requires"
226 fi
227 AC_SUBST(pkgconfig_requires_private)
228
229 # doxygen program for documentation building
230 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
231
232
233 ### Checks for libraries
234
235 # Evil library for compilation on Windows CE
236
237 case "$host_os" in
238    mingw*)
239       PKG_CHECK_MODULES([EVIL], [evil >= 1.0.0])
240       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
241       requirement_evas="evil ${requirement_evas}"
242    ;;
243 esac
244
245 ### Checks for portability layer
246
247 PKG_CHECK_MODULES([EXOTIC],
248    [exotic],
249    [enable_exotic="yes"],
250    [enable_exotic="no"])
251
252 if test "x${enable_exotic}" = "xyes"; then
253     requirement_evas="exotic ${requirement_evas}"
254
255     AC_DEFINE([HAVE_EXOTIC], [1], [Define to 1 if you have Exotic.])
256 fi
257 AM_CONDITIONAL([EVAS_HAVE_EXOTIC], [test "x${enable_exotic}" = "xyes"])
258
259 ## strong dependencies
260
261 # Eina
262 PKG_CHECK_MODULES([EINA], [eina >= 1.2.0])
263 CPPFLAGS_SAVE="$CPPFLAGS"
264 CPPFLAGS="$CPPFLAGS $EINA_CFLAGS"
265 AC_CHECK_SIZEOF(Eina_Unicode,, [#include <Eina.h>])
266 CPPFLAGS="$CPPFLAGS_SAVE"
267
268 # Freetype
269 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
270
271 requirement_evas="freetype2 eina >= 1.2.0 ${requirement_evas}"
272
273 ## optional dependencies
274
275 # FontConfig
276 have_fontconfig="no"
277 AC_ARG_ENABLE([fontconfig],
278    AC_HELP_STRING([--disable-fontconfig],
279       [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
280    [
281     if test "x${enableval}" = "xyes" ; then
282        want_fontconfig="yes"
283     else
284        want_fontconfig="no"
285     fi
286    ])
287
288
289 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
290    PKG_CHECK_MODULES([FONTCONFIG],
291       [fontconfig >= 2.5.0],
292       [
293        have_fontconfig="yes"
294        AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
295        requirement_evas="fontconfig ${requirement_evas}"
296       ],
297       [
298        if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
299           AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
300        fi
301       ])
302 fi
303
304 # linebreak
305 have_linebreak="no"
306 want_linebreak="yes"
307 AC_ARG_ENABLE([liblinebreak],
308    AC_HELP_STRING([--disable-liblinebreak],
309       [disable linking against liblinebreak. @<:@default=enabled@:>@]),
310    [
311     if test "x${enableval}" = "xyes" ; then
312        want_linebreak="yes"
313     else
314        want_linebreak="no"
315     fi
316    ])
317
318
319 AM_CONDITIONAL(EVAS_USE_LINEBREAK, test "x${want_linebreak}" = "xyes")
320 if test "x${want_linebreak}" = "xyes" ; then
321    have_linebreak="yes"
322    LINEBREAK_CFLAGS='-I$(top_srcdir)/src/static_deps/liblinebreak'
323    LINEBREAK_LIBS='$(top_builddir)/src/static_deps/liblinebreak/liblinebreak.la'
324    AC_SUBST(LINEBREAK_CFLAGS)
325    AC_SUBST(LINEBREAK_LIBS)
326    AC_DEFINE(HAVE_LINEBREAK, 1, [have liblinebreak support])
327 else
328    have_linebreak="no"
329 fi
330
331 # fribidi support
332 have_fribidi="no"
333 AC_ARG_ENABLE([fribidi],
334    AC_HELP_STRING([--disable-fribidi],
335       [disable bidirectional text support. @<:@default=enabled@:>@]),
336    [
337     if test "x${enableval}" = "xyes" ; then
338        want_fribidi="yes"
339     else
340        want_fribidi="no"
341     fi
342    ])
343
344 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
345    PKG_CHECK_MODULES([FRIBIDI],
346       [fribidi >= 0.19.2],
347       [
348        have_fribidi="yes"
349        AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
350        requirement_evas="fribidi ${requirement_evas}"
351        CPPFLAGS_SAVE="$CPPFLAGS"
352        CPPFLAGS="$CPPFLAGS $FRIBIDI_CFLAGS"
353        AC_CHECK_SIZEOF(FriBidiChar,, [#include <fribidi/fribidi.h>])
354        CPPFLAGS="$CPPFLAGS_SAVE"
355       ],
356       [
357        if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
358           AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
359        fi
360       ])
361 fi
362
363 if test "x${have_fribidi}" = "xno"; then
364   HAS_BIDI=0
365 fi
366
367 # harfbuzz support
368 have_harfbuzz="no"
369 have_harfbuzz_ft="no"
370 AC_ARG_ENABLE([harfbuzz],
371    AC_HELP_STRING([--disable-harfbuzz],
372       [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
373    [
374     if test "x${enableval}" = "xyes" ; then
375        want_harfbuzz="yes"
376     else
377        want_harfbuzz="no"
378     fi
379    ])
380
381 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
382    PKG_CHECK_MODULES([HARFBUZZ],
383       [harfbuzz >= 0.9.0],
384       [
385        have_harfbuzz="yes"
386        requirement_evas="harfbuzz ${requirement_evas}"
387       ],
388       [
389        if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
390           AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
391        fi
392       ])
393    if test "x$have_harfbuzz" = "xyes" ; then
394
395       CPPFLAGS_SAVE="$CPPFLAGS"
396       CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
397 # must have for usage with harfbuzz although harfbuzz may not have it.
398
399       AC_CHECK_HEADER(hb-ft.h,
400           [
401            have_harfbuzz_ft="yes"
402            #Depend on harfbuzz ft for harfbuzz support
403            AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
404           ],
405           [
406            if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
407               AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
408            fi
409            have_harfbuzz="no"
410           ])
411       CPPFLAGS="$CPPFLAGS_SAVE"
412    fi
413 fi
414
415 if test "x${have_harfbuzz}" = "xno"; then
416   HAS_HARFBUZZ=0
417 fi
418
419 # Pixman
420 have_pixman="no"
421 AC_ARG_ENABLE([pixman],
422    AC_HELP_STRING([--enable-pixman],
423       [enable pixman for software rendering. @<:@default=enabled@:>@]),
424    [
425     if test "x${enableval}" = "xyes" ; then
426        want_pixman="yes"
427     else
428        want_pixman="no"
429     fi
430    ])
431
432
433 if test "x${want_pixman}" = "xyes" -o "x${want_pixman}" = "xauto" ; then
434    PKG_CHECK_MODULES([PIXMAN],
435       [pixman-1],
436       [
437        have_pixman="yes"
438        AC_DEFINE(HAVE_PIXMAN, 1, [have pixman for rendering])
439        requirement_evas="pixman-1 ${requirement_evas}"
440       ],
441       [
442        if test "x${want_pixman}" = "xyes" -a "x${use_strict}" = "xyes" ; then
443           AC_MSG_ERROR([Pixman not found (strict dependencies checking)])
444        fi
445       ])
446 fi
447
448 have_pixman_font="no"
449 AC_ARG_ENABLE(pixman-font,
450   AC_HELP_STRING([--enable-pixman-font], [Allow pixman to render fonts]),
451   [ 
452     have_pixman_font="yes"
453     AC_DEFINE(PIXMAN_FONT, 1, [Allow pixman to render fonts])
454   ]
455 )
456
457 have_pixman_rect="no"
458 AC_ARG_ENABLE(pixman-rect,
459   AC_HELP_STRING([--enable-pixman-rect], [Allow pixman to render rects]),
460   [ 
461     have_pixman_rect="yes"
462     AC_DEFINE(PIXMAN_RECT, 1, [Allow pixman to render rects])
463   ]
464 )
465
466 have_pixman_line="no"
467 AC_ARG_ENABLE(pixman-line,
468   AC_HELP_STRING([--enable-pixman-line], [Allow pixman to render lines]),
469   [ 
470     have_pixman_line="yes"
471     AC_DEFINE(PIXMAN_LINE, 1, [Allow pixman to render lines])
472   ]
473 )
474
475 have_pixman_poly="no"
476 AC_ARG_ENABLE(pixman-poly,
477   AC_HELP_STRING([--enable-pixman-poly], [Allow pixman to render polys]),
478   [ 
479     have_pixman_poly="yes"
480     AC_DEFINE(PIXMAN_POLY, 1, [Allow pixman to render polys])
481   ]
482 )
483
484 have_pixman_image="no"
485 AC_ARG_ENABLE(pixman-image,
486   AC_HELP_STRING([--enable-pixman-image], [Allow pixman to render images]),
487   [ 
488     have_pixman_image="yes"
489     AC_DEFINE(PIXMAN_IMAGE, 1, [Allow pixman to render images])
490   ]
491 )
492
493 have_pixman_image_scale_sample="no"
494 AC_ARG_ENABLE(pixman-image-scale-sample,
495   AC_HELP_STRING([--enable-pixman-image-scale-sample], [Allow pixman to render sampled scaled images]),
496   [ 
497     have_pixman_image_scale_sample="yes"
498     AC_DEFINE(PIXMAN_IMAGE_SCALE_SAMPLE, 1, [Allow pixman to render image sampled scaling])
499   ]
500 )
501
502 have_tile_rotate="no"
503 AC_ARG_ENABLE(tile-rotate,
504   AC_HELP_STRING([--enable-tile-rotate], [Enable tiled rotate algorithm]),
505   [ 
506     have_tile_rotate="yes"
507     AC_DEFINE(TILE_ROTATE, 1, [Enable tiled rotate algorithm])
508   ]
509 )
510
511 ### Checks for header files
512 AC_HEADER_STDC
513 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h netinet/in.h sys/mman.h])
514 EFL_CHECK_PATH_MAX
515
516 ### Checks for types
517 AC_CHECK_TYPES([struct sigaction], [], [],
518                [[#include <signal.h>]])
519
520
521 ### Checks for structures
522
523
524 ### Checks for compiler characteristics
525 AC_C_CONST
526 AC_C_BIGENDIAN
527 AC_PROG_CC_STDC
528 EFL_ATTRIBUTE_UNUSED
529 EFL_ATTRIBUTE_VECTOR
530 EFL_ATTRIBUTE_ALWAYS_INLINE
531
532
533 ### Checks for linker characteristics
534 lt_enable_auto_import=""
535 case "${host_os}" in
536    mingw*)
537       AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
538       lt_enable_auto_import="-Wl,--enable-auto-import"
539    ;;
540 esac
541 AC_SUBST(lt_enable_auto_import)
542
543
544 ### Checks for library functions
545
546 AC_ISC_POSIX
547 AC_CHECK_FUNCS([siglongjmp])
548
549 # alloca
550 AC_FUNC_ALLOCA
551
552 # fnmatch
553 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
554
555 # dlopen
556 dlopen_libs=""
557 case "$host_os" in
558   mingw32ce*)
559 # managed by evil
560     AC_DEFINE(HAVE_DLSYM)
561   ;;
562   mingw*)
563 # nothing on mingw platform
564   ;;
565   *)
566     AC_CHECK_FUNCS(dlsym, res=yes, res=no)
567     if test "x$res" = "xyes"; then
568       AC_DEFINE(HAVE_DLSYM)
569     else
570       AC_CHECK_LIB(dl, dlsym, res=yes, res=no)
571       if test "x$res" = "xyes"; then
572         dlopen_libs=-ldl
573         AC_DEFINE(HAVE_DLSYM)
574       else
575         want_evas_engine_gl_xlib="no"
576         want_evas_engine_gl_xcb="no"
577         want_evas_engine_gl_sdl="no"
578       fi
579     fi
580 esac
581 AC_SUBST(dlopen_libs)
582
583 res=no
584 AC_CHECK_LIB(m, lround, res=yes, res=no)
585 if test "x$res" = "xyes"; then
586   AC_DEFINE(HAVE_LROUND, 1, C99 lround function exists)
587 fi
588
589 if test "x${want_evas_image_loader_generic}" = "xyes" ; then
590    EFL_CHECK_SHM_OPEN
591 fi
592
593 # (shm_open (for cache server)
594 AC_ARG_ENABLE([evas-cserve],
595    AC_HELP_STRING([--disable-evas-cserve],
596       [disable shared cache server support. @<:@default=enabled@:>@]),
597    [
598     if test "x${enableval}" = "xyes" ; then
599        want_evas_cserve="yes"
600     else
601        want_evas_cserve="no"
602     fi
603    ])
604 AC_MSG_CHECKING(whether to build shared cache server and support)
605 AC_MSG_RESULT(${want_evas_cserve})
606
607 # (shm_open (for cache server)
608 AC_ARG_ENABLE([evas-cserve2],
609    AC_HELP_STRING([--disable-evas-cserve2],
610       [disable shared cache server 2 support. @<:@default=enabled@:>@]),
611    [
612     if test "x${enableval}" = "xyes" ; then
613        want_evas_cserve2="yes"
614     else
615        want_evas_cserve2="no"
616     fi
617    ])
618 AC_MSG_CHECKING(whether to build shared cache server 2 and support)
619 AC_MSG_RESULT(${want_evas_cserve2})
620
621 # cserve2 only works on Linux so far.
622 if test "x${want_evas_cserve2}" = "xyes" ; then
623    AC_CHECK_HEADERS(
624       [sys/epoll.h sys/inotify.h sys/signalfd.h],
625       [],
626       [
627        want_evas_cserve2="no"
628       ]
629    )
630 fi
631
632 if test "x${want_evas_cserve2}" = "xyes"; then
633    want_evas_cserve="no"
634 fi
635
636 shm_open_libs=""
637 if test "x${want_evas_cserve}" = "xyes" -o "x${want_evas_cserve2}" = "xyes" ; then
638    EFL_CHECK_SHM_OPEN(
639       [
640        shm_open_libs=${EFL_SHM_OPEN_LIBS}
641       ],
642       [
643        want_evas_cserve="no"
644        want_evas_cserve2="no"
645       ])
646 fi
647 AC_SUBST([shm_open_libs])
648
649 if test "x${want_evas_cserve}" = "xyes" ; then
650   AC_DEFINE(EVAS_CSERVE, 1, [Shared cache server.])
651 fi
652
653 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
654
655 if test "x${want_evas_cserve2}" = "xyes" ; then
656   AC_DEFINE(EVAS_CSERVE2, 1, [Shared cache server.])
657 fi
658
659 AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
660
661
662
663 #######################################
664 ## GL force flavor gles
665 gl_flavor_gles="no"
666 AC_MSG_CHECKING(whether to build GLES flavor of GL)
667 AC_ARG_ENABLE(gl-flavor-gles,
668   AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles flavor of gl instead of standard]),
669   [
670       if test "x$enableval" = "xyes" ; then
671         AC_MSG_RESULT(yes)
672         gl_flavor_gles="yes"
673       else
674         AC_MSG_RESULT(no)
675         gl_flavor_gles="no"
676       fi
677   ], [
678       AC_MSG_RESULT(no)
679       gl_flavor_gles="no"
680   ]
681 )
682
683 #######################################
684 ## GLES variety sgx
685 gles_variety_sgx="no"
686 AC_MSG_CHECKING(whether to build GLES variety for SGX)
687 AC_ARG_ENABLE(gles-variety-sgx,
688   AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
689   [
690       if test "x$enableval" = "xyes" ; then
691         AC_MSG_RESULT(yes)
692         AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
693         gles_variety_sgx="yes"
694       else
695         AC_MSG_RESULT(no)
696         gles_variety_sgx="no"
697       fi
698   ], [
699       AC_MSG_RESULT(no)
700       gles_variety_sgx="no"
701   ]
702 )
703
704 #######################################
705 ## GLES variety s3c6410
706 gles_variety_s3c6410="no"
707 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
708 AC_ARG_ENABLE(gles-variety-s3c6410,
709   AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
710   [
711       if test "x$enableval" = "xyes" ; then
712         AC_MSG_RESULT(yes)
713         AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
714         gles_variety_s3c6410="yes"
715       else
716         AC_MSG_RESULT(no)
717         gles_variety_s3c6410="no"
718       fi
719   ], [
720       AC_MSG_RESULT(no)
721       gles_variety_s3c6410="no"
722   ]
723 )
724
725 if test "x$gl_flavor_gles" = "xyes"; then
726   eng=""
727   if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
728   if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
729   if test "x$eng" = "xx"; then
730     eng=""
731   else
732      AC_MSG_ERROR(
733        [Please enable just 1 OpenGL-ES flavor. Choices are:
734           --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
735           --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
736         You will also need to enable the OpenGL engine for X11 with:
737           --enable-gl-xlib or --enable-gl-xcb
738        ])
739   fi
740 fi
741
742 #####################################################################
743 ## Engines
744
745 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
746
747 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
748
749 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
750
751 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
752
753 EVAS_CHECK_ENGINE([psl1ght], [${want_evas_engine_psl1ght}], [no], [PSL1GHT])
754
755 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [no], [OpenGL SDL])
756
757 EVAS_CHECK_ENGINE([gl-cocoa], [${want_evas_engine_gl_cocoa}], [no], [OpenGL Cocoa])
758
759 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [no], [Framebuffer])
760
761 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
762
763 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [no], [Software X11 8 bits grayscale])
764
765 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [no], [Software X11 16 bits])
766
767 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
768
769 EVAS_CHECK_ENGINE([software-16-sdl], [${want_evas_engine_software_16_sdl}], [no], [Software SDL 16 bits])
770
771 EVAS_CHECK_ENGINE([wayland-shm], [${want_evas_engine_wayland_shm}], [no], [Wayland Shm])
772
773 EVAS_CHECK_ENGINE([wayland-egl], [${want_evas_engine_wayland_egl}], [no], [Wayland Egl])
774
775 # SDL primitive
776 sdl_primitive="no"
777
778 AC_ARG_ENABLE([sdl-primitive],
779    [AC_HELP_STRING([--enable-sdl-primitive], [])],
780    [sdl_primitive=${enableval}]
781 )
782 AC_MSG_CHECKING([whether to use SDL primitive when possible])
783 AC_MSG_RESULT([${sdl_primitive}])
784
785 if test "x${sdl_primitive}" = "xyes" ; then
786    AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
787 fi
788
789 # if software generic need to be build as part of libevas.so
790 have_static_software_generic="no"
791 AC_ARG_ENABLE([static-software-generic],
792    [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
793    [have_static_software_generic=${enableval}]
794 )
795 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
796 AC_MSG_RESULT([${have_static_software_generic}])
797
798 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
799    AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
800    have_static_software_generic="yes"
801 fi
802
803 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
804 if test "x${have_static_software_generic}" = "xyes"; then
805    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
806 fi
807
808
809 ######## Software Engine ########
810 have_evas_engine_software_x11="no"
811 have_evas_engine_software_xcb="no"
812 have_evas_engine_software_xlib="no"
813 build_software_xcb=
814
815 ## XCB Checks ##
816 want_xcb="no"
817 AC_MSG_CHECKING(whether to build Software XCB Engine)
818 AC_ARG_ENABLE(software-xcb,
819   AC_HELP_STRING([--enable-software-xcb], [enable Software XCB Engine. @<:@default=disabled@:>@]), [want_xcb=$enableval]
820 )
821 if test "x$want_xcb" != "xno" ; then
822   EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
823   if test "x$have_evas_engine_software_xcb" != "xno" ; then
824     build_software_xcb="yes"
825     have_evas_engine_software_x11="yes"
826     AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engine])
827     AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_XCB, [1], [Build software XCB backend])
828   fi
829 else
830   AC_MSG_RESULT(no)
831   build_software_xcb="no"
832 fi
833
834 ## If we are not building XCB, then we can build XLib ##
835
836 if test "x$build_software_xcb" = "xno" ; then
837   EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [no], [Software Xlib])
838   # if software_x11 is available, define everything needed for X11
839   if test "x$have_evas_engine_software_xlib" != "xno" ; then
840     have_evas_engine_software_x11="yes"
841     AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engine])
842     AC_DEFINE_UNQUOTED(BUILD_ENGINE_SOFTWARE_XLIB, [1], [Build software Xlib backend])
843   fi
844 else
845   have_evas_engine_software_xlib="no"
846 fi
847
848 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic"; then
849    AC_DEFINE_UNQUOTED(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engine as part of libevas])
850 fi
851
852 AC_SUBST(have_evas_engine_software_xcb)
853 AC_SUBST(have_evas_engine_software_xlib)
854
855 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XLIB], [test "x${have_evas_engine_software_xlib}" != "xno"])
856 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_XCB], [test "x${have_evas_engine_software_xcb}" != "xno"])
857 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" != "xno"])
858
859 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_xcb}" = "xstatic" -o "x${have_evas_engine_software_xlib}" = "xstatic"])
860 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XLIB], [test "x${have_evas_engine_software_xlib}" = "xstatic"])
861 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_XCB], [test "x${have_evas_engine_software_xcb}" = "xstatic"])
862
863 AC_SUBST(have_evas_engine_software_x11)
864
865
866 ######## OpenGL Engine ########
867 have_evas_engine_gl_x11="no"
868 have_evas_engine_gl_xcb="no"
869 build_gl_xcb="no"
870
871 ## XCB Checks ##
872 want_gl_xcb="no"
873 AC_MSG_CHECKING(whether to build OpenGL XCB Engine)
874 AC_ARG_ENABLE(gl-xcb,
875   AC_HELP_STRING([--enable-gl-xcb], [enable OpenGL XCB Engine. @<:@default=disabled@:>@]), [want_gl_xcb=$enableval]
876 )
877 if test "x$want_gl_xcb" = "xyes" ; then
878   EVAS_CHECK_ENGINE([gl-xcb], [${want_evas_engine_gl_xcb}], [no], [OpenGL XCB])
879   if test "x$have_evas_engine_gl_xcb" != "xno" ; then
880     build_gl_xcb="yes"
881     have_evas_engine_gl_x11="yes"
882    AC_DEFINE(BUILD_ENGINE_GL_X11, [1], [Build GL X11 engine])
883    AC_DEFINE(BUILD_ENGINE_GL_XCB, [1], [Build GL Xcb backend])
884     if test "x$have_evas_engine_gl_xcb" = "xstatic" ; then
885       AC_DEFINE(EVAS_STATIC_BUILD_GL_X11, [1], [Build GL X11 engine as part of libevas])
886     fi
887   fi
888   AC_SUBST(have_evas_engine_gl_xcb)
889 else
890   AC_MSG_RESULT(no)
891   build_gl_xcb="no"
892 fi
893
894 ## If we are not building XCB, then we can build XLib ##
895
896 if test "x$build_gl_xcb" = "xno" ; then
897   EVAS_CHECK_ENGINE([gl-xlib], [${want_evas_engine_gl_xlib}], [no], [OpenGL XLib])
898   if test "x$have_evas_engine_gl_xlib" != "xno" ; then
899     have_evas_engine_gl_x11="yes"
900     AC_DEFINE_UNQUOTED(BUILD_ENGINE_GL_X11, [1], [Build OpenGL X11 engine])
901     AC_DEFINE_UNQUOTED(BUILD_ENGINE_GL_XLIB, [1], [Build OpenGL Xlib backend])
902     if test "x$have_evas_engine_gl_xlib" = "xstatic" ; then
903       AC_DEFINE_UNQUOTED(EVAS_STATIC_BUILD_GL_X11, [1], [Build OpenGL X11 engine as part of libevas])
904     fi
905   fi
906 else
907   have_evas_engine_gl_xlib="no"
908 fi
909 AC_SUBST(have_evas_engine_gl_xlib)
910
911 AM_CONDITIONAL([BUILD_ENGINE_GL_XLIB], [test "x${have_evas_engine_gl_xlib}" != "xno"])
912 AM_CONDITIONAL([BUILD_ENGINE_GL_XCB], [test "x${have_evas_engine_gl_xcb}" != "xno"])
913 AM_CONDITIONAL([BUILD_ENGINE_GL_X11], [test "x${have_evas_engine_gl_x11}" != "xno"])
914
915 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_X11], [test "x${have_evas_engine_gl_xcb}" = "xstatic" -o "x${have_evas_engine_gl_xlib}" = "xstatic"])
916 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XLIB], [test "x${have_evas_engine_gl_xlib}" = "xstatic"])
917 AM_CONDITIONAL([EVAS_STATIC_BUILD_GL_XCB], [test "x${have_evas_engine_gl_xcb}" = "xstatic"])
918
919 AC_SUBST(have_evas_engine_gl_x11)
920
921 # common gl
922 have_evas_engine_gl_common="no"
923 have_static_evas_engine_gl_common="no"
924 if test "x$have_evas_engine_gl_xlib" = "xyes" \
925    || test "x$have_evas_engine_gl_xcb" = "xyes" \
926    || test "x$have_evas_engine_gl_sdl" = "xyes" \
927    || test "x$have_evas_engine_gl_cocoa" = "xyes" \
928    || test "x$have_evas_engine_wayland_egl" = "xyes"; then
929    have_evas_engine_gl_common="yes"
930 fi
931 if test "x$have_evas_engine_gl_xlib" = "xstatic" \
932    || test "x$have_evas_engine_gl_xcb" = "xstatic" \
933    || test "x$have_evas_engine_gl_sdl" = "xstatic" \
934    || test "x$have_evas_engine_gl_cocoa" = "xstatic" \
935    || test "x$have_evas_engine_wayland_egl" = "xstatic"; then
936    have_evas_engine_gl_common="yes"
937    have_static_evas_engine_gl_common="yes"
938 fi
939
940 if test "x$have_evas_engine_gl_common" = "xyes"; then
941    evas_engine_gl_common_libs=""
942    AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
943 fi
944
945 AC_SUBST([evas_engine_gl_common_libs])
946
947 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
948
949 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
950 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
951    AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
952 fi
953
954 # gl_sdl
955 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
956    AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
957       [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
958       [#include <SDL/SDL_video.h>])
959 fi
960
961 if test "x$gl_flavor_gles" = "xyes"; then
962    AC_CHECK_DECL(SDL_OPENGLES,
963       [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
964       [#include <SDL/SDL_video.h>])
965 fi
966
967 # if software 16 x11 is enabled - build software_16 (the generic 16bit
968 # engine). later enable it fb_16 or other "16" bit engines are enabled.
969 have_evas_engine_software_16="no"
970 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
971    have_evas_engine_software_16="yes"
972 fi
973 if test "x$have_evas_engine_software_16_sdl" = "xyes" -o "x$have_evas_engine_software_16_sdl" = "xstatic"; then
974    have_evas_engine_software_16="yes"
975 fi
976 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
977    have_evas_engine_software_16="yes"
978 fi
979 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
980
981 # if software 16 need to be build as part of libevas.so
982 have_static_software_16="no"
983 AC_ARG_ENABLE([static-software-16],
984    [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
985    [have_static_software_16=${enableval}]
986 )
987 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
988 AC_MSG_RESULT([${have_static_software_16}])
989
990 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
991 if test "x${have_static_software_16}" = "xyes"; then
992    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
993 fi
994
995 # if software 8 x11 is enabled - build software_8 (the generic 8bit
996 # engine).
997 have_evas_engine_software_8="no"
998 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
999    have_evas_engine_software_8="yes"
1000 fi
1001 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
1002
1003 # if software 8 need to be build as part of libevas.so
1004 have_static_software_8="no"
1005 AC_ARG_ENABLE([static-software-8],
1006    [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
1007    [have_static_software_8=${enableval}]
1008 )
1009 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
1010 AC_MSG_RESULT([${have_static_software_8}])
1011
1012 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
1013 if test "x${have_static_software_8}" = "xyes"; then
1014    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
1015 fi
1016
1017 #####################################################################
1018 ## Image loaders
1019
1020 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
1021
1022 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
1023 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
1024
1025 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
1026
1027 have_evas_image_saver_jpeg="no"
1028 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
1029
1030 dnl Windows has no sigsetjmp function, nor equivalent.
1031 dnl So we disable the jpeg saver.
1032 dnl TODO: must find a workaround
1033 case "$host_os" in
1034    mingw*)
1035       ;;
1036    *)
1037       if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
1038          AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
1039          have_evas_image_saver_jpeg="yes"
1040       fi
1041       ;;
1042 esac
1043 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
1044
1045 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
1046
1047 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
1048
1049 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
1050
1051 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
1052
1053 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
1054
1055 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
1056
1057 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
1058
1059 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
1060
1061 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
1062
1063 EVAS_CHECK_IMAGE_LOADER([PSD], [${want_evas_image_loader_psd}])
1064
1065 EVAS_CHECK_IMAGE_LOADER([GENERIC], [${want_evas_image_loader_generic}])
1066
1067 #####################################################################
1068 ## Cpu based optimizations
1069
1070 #######################################
1071 ## PTHREADS
1072 pthread_cflags=""
1073 pthread_libs=""
1074 build_pthreads="no"
1075 has_pthreads="no"
1076 need_pthreads="no"
1077 # basic pthread support
1078 AC_CHECK_HEADER(pthread.h,
1079   [
1080    has_pthreads="yes"
1081   ],
1082   [
1083    has_pthreads="no"
1084   ]
1085 )
1086
1087 # sched_getaffinity pthread_attr_setaffinity_np
1088 AC_CHECK_HEADERS([pthread.h sched.h],
1089    [
1090     CFLAGS_save="${CFLAGS}"
1091     CFLAGS="${CFLAGS} -pthread"
1092     LIBS_save="${LIBS}"
1093     LIBS="${LIBS} -pthread"
1094     AC_LINK_IFELSE(
1095       [AC_LANG_PROGRAM([[
1096 #include <pthread.h>
1097 #include <sched.h>
1098                        ]],
1099                        [[
1100 pthread_attr_setaffinity_np(NULL, 0, NULL);
1101 pthread_barrier_wait(NULL);
1102                        ]])],
1103       [build_pthreads="yes"],
1104       [build_pthreads="no"])
1105    CFLAGS=${CFLAGS_save}
1106    LIBS=${LIBS_save}
1107   ],
1108   [build_pthreads="no"])
1109
1110 AC_MSG_CHECKING([whether pthread_attr_setaffinity_np() and pthread_barrier_wait() are supported])
1111 AC_MSG_RESULT([${build_pthreads}])
1112
1113 #######################################
1114 ## Pthread
1115 AC_MSG_CHECKING(whether to build pthread code)
1116 AC_ARG_ENABLE(pthreads,
1117   AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
1118   [
1119     if test "x$enableval" = "xyes" ; then
1120       if test "x$build_pthreads" = "xyes"; then
1121         AC_MSG_RESULT(yes)
1122         AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
1123         build_pthreads="yes"
1124         need_pthreads="yes"
1125       else
1126         if "x$use_strict" = "xyes"; then
1127           AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
1128         else
1129           AC_MSG_RESULT(no: pthread headers or functions not found)
1130         fi
1131       fi
1132     else
1133       AC_MSG_RESULT(no)
1134       build_pthreads="no"
1135     fi
1136   ],
1137   [
1138     AC_MSG_RESULT($build_pthreads)
1139     if test "x$build_pthreads" = "xyes" ; then
1140       AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
1141       need_pthreads="yes"
1142     fi
1143   ]
1144 )
1145
1146 #######################################
1147 ## Pipe Renderer
1148 build_pipe_render="no"
1149
1150 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
1151 AC_ARG_ENABLE(pipe-render,
1152   AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
1153   [ build_pipe_render=$enableval ]
1154 )
1155 AC_MSG_RESULT($build_pipe_render)
1156
1157 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
1158 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
1159   AC_MSG_RESULT(yes)
1160   AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
1161   build_pipe_render="yes"
1162   need_pthreads="yes"
1163 else
1164   AC_MSG_RESULT(no)
1165   build_pipe_render="no"
1166 fi
1167
1168 #######################################
1169 ## Async Renderer
1170 build_async_render="no"
1171
1172 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
1173 AC_ARG_ENABLE(async-render,
1174  AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
1175  [ build_async_render=$enableval ]
1176 )
1177 AC_MSG_RESULT($build_async_render)
1178
1179 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
1180 if test \( "x$build_async_render" = "xyes" \); then
1181   AC_MSG_RESULT(yes)
1182   AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
1183   build_async_render="yes"
1184   AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
1185   build_pipe_render="yes"
1186   need_pthreads="yes"
1187
1188   PKG_CHECK_MODULES([XEXT],
1189     [xext < 1.1.1],
1190     [ build_avoid_libXext_bug=yes ],
1191     [ build_avoid_libXext_bug=no ]
1192   )
1193   if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
1194     AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
1195   fi
1196 else
1197   AC_MSG_RESULT(no)
1198   build_async_render="no"
1199 fi
1200
1201 #######################################
1202 ## Async events
1203 build_async_events="auto"
1204 AC_MSG_CHECKING(whether to build Async Events support)
1205 AC_ARG_ENABLE(async-events,
1206   AC_HELP_STRING([--enable-async-events], [enable async events support]),
1207   [ build_async_events=$enableval ]
1208 )
1209 AC_MSG_RESULT($build_async_events)
1210
1211 AC_MSG_CHECKING(whether we can build Async Events support)
1212 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
1213   AC_MSG_RESULT(yes)
1214   AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
1215   build_async_events="yes"
1216 else
1217   AC_MSG_RESULT(no)
1218   build_async_events="no"
1219 fi
1220
1221 #######################################
1222 ## Async image preload
1223 build_async_preload="auto"
1224 AC_MSG_CHECKING(whether to build Async Image Preload support)
1225 AC_ARG_ENABLE(async-preload,
1226   AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
1227   [ build_async_preload=$enableval ]
1228 )
1229 AC_MSG_RESULT($build_async_preload)
1230
1231 AC_MSG_CHECKING(whether we can build Async Image Preload support)
1232 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
1233   AC_MSG_RESULT(yes)
1234   AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
1235   build_async_preload="yes"
1236   need_pthreads="yes"
1237 else
1238   AC_MSG_RESULT(no)
1239   build_async_preload="no"
1240 fi
1241
1242 #######################################
1243 ## Link with pthread if needed
1244 AC_MSG_CHECKING(whether we should link with pthread)
1245 if test "x$need_pthreads" = "xyes"; then
1246   AC_MSG_RESULT(yes)
1247   pthread_cflags="-pthread"
1248   pthread_libs="-pthread"
1249 else
1250   AC_MSG_RESULT(no)
1251 fi
1252
1253 #######################################
1254 ## MMX
1255 build_cpu_mmx="no"
1256 case $host_cpu in
1257   i*86)
1258     build_cpu_mmx="yes"
1259     ;;
1260   x86_64)
1261     build_cpu_mmx="yes"
1262     ;;
1263   amd64)
1264     build_cpu_mmx="yes"
1265     ;;
1266 esac
1267 AC_MSG_CHECKING(whether to build mmx code)
1268 AC_ARG_ENABLE(cpu-mmx,
1269   AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1270   [
1271       if test "x$enableval" = "xyes" ; then
1272         AC_MSG_RESULT(yes)
1273         AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1274         build_cpu_mmx="yes"
1275       else
1276         AC_MSG_RESULT(no)
1277         build_cpu_mmx="no"
1278       fi
1279   ],
1280   [
1281     AC_MSG_RESULT($build_cpu_mmx)
1282     if test "x$build_cpu_mmx" = "xyes" ; then
1283       AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1284     fi
1285   ]
1286 )
1287
1288 #######################################
1289 ## SSE
1290 build_cpu_sse="no"
1291 case $host_cpu in
1292   i*86)
1293     build_cpu_sse="yes"
1294     ;;
1295   x86_64)
1296     build_cpu_sse="yes"
1297     ;;
1298   amd64)
1299     build_cpu_sse="yes"
1300     ;;
1301 esac
1302 AC_MSG_CHECKING(whether to build sse code)
1303 AC_ARG_ENABLE(cpu-sse,
1304   AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1305   [
1306       if test "x$enableval" = "xyes" ; then
1307         AC_MSG_RESULT(yes)
1308         AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1309         build_cpu_sse="yes"
1310       else
1311         AC_MSG_RESULT(no)
1312         build_cpu_sse="no"
1313       fi
1314   ],
1315   [
1316     AC_MSG_RESULT($build_cpu_sse)
1317     if test "x$build_cpu_sse" = "xyes" ; then
1318       AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1319     fi
1320   ]
1321 )
1322
1323 #######################################
1324 ## SSE3
1325 build_cpu_sse3="no"
1326 case $host_cpu in
1327   i*86)
1328     build_cpu_sse3="yes"
1329     ;;
1330   x86_64)
1331     build_cpu_sse3="yes"
1332     ;;
1333   amd64)
1334     build_cpu_sse3="yes"
1335     ;;
1336 esac
1337 AC_MSG_CHECKING(whether to build sse3 code)
1338 AC_ARG_ENABLE(cpu-sse3,
1339   AS_HELP_STRING([--enable-cpu-sse3], [enable sse3 code]),
1340   [
1341       if test "x$enableval" = "xyes" ; then
1342         AC_CHECK_HEADER(immintrin.h,
1343           [
1344             AC_MSG_RESULT(yes)
1345             AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
1346             build_cpu_sse3="yes"
1347            ],
1348           [
1349             AC_MSG_RESULT(no)
1350             build_cpu_sse3="no"
1351           ])
1352       else
1353         AC_MSG_RESULT(no)
1354         build_cpu_sse3="no"
1355       fi
1356   ],
1357   [
1358     AC_MSG_RESULT($build_cpu_sse3)
1359     if test "x$build_cpu_sse3" = "xyes" ; then
1360       AC_CHECK_HEADER(immintrin.h,
1361         [
1362           AC_MSG_RESULT(yes)
1363           AC_DEFINE(BUILD_SSE3, 1, [Build SSE3 Code])
1364           build_cpu_sse3="yes"
1365          ],
1366         [
1367           AC_MSG_RESULT(no)
1368           build_cpu_sse3="no"
1369         ])
1370     fi
1371   ]
1372 )
1373
1374
1375 # as a big warning flag to anyone doing stuff like this...
1376 # NEVER EVER EVER EVER put **OPTIMIZATION** flags in
1377 # build flags in makefiles (from configure or anywhere else)
1378 # EVER as this screws your ability to build 1 binary and
1379 # cover ALL x86 arch's. This is the HEIGHT of WRONG. If the
1380 # person building choses to add optimization flags themselves
1381 # and decide the minimum baseline cpu arch is X then that's
1382 # their business, but NEVER should it be done here. NEVER.
1383 # I now have to do this due to the way this sse3 code was done - using
1384 # intrinsics and "functions" (opcodes) and types that only compile *IF*
1385 # you compile with -msse3. this ALSO tries to optimize REGULAR c code
1386 # with sse3 asm.. and this breaks things so badly. so... sse3 will be
1387 # off until further notice for 32bit x86.
1388 EVAS_SSE3_CFLAGS=" "
1389 if test "x$build_cpu_sse3" = "xyes" ; then
1390     EVAS_SSE3_CFLAGS="-msse3 "
1391 #   CFLAGS="${CFLAGS} ${EVAS_SSE3_CFLAGS}"
1392 fi
1393
1394 AC_SUBST(CFLAGS)
1395 AC_SUBST(EVAS_SSE3_CFLAGS)
1396
1397 #######################################
1398 ## ALTIVEC
1399 build_cpu_altivec="no"
1400 case $host_cpu in
1401   *power* | *ppc*)
1402     build_cpu_altivec="auto"
1403     ;;
1404 esac
1405 altivec_cflags=""
1406 AC_MSG_CHECKING(whether to build altivec code)
1407 AC_ARG_ENABLE(cpu-altivec,
1408   AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1409   [ build_cpu_altivec=$enableval ],
1410   [
1411     if test ! "x$build_cpu_altivec" = "xauto"; then
1412       build_cpu_altivec="no"
1413     fi
1414   ]
1415 )
1416 AC_MSG_RESULT($build_cpu_altivec)
1417
1418 if test "x$build_cpu_altivec" = "xyes"; then
1419    AC_CHECK_HEADER(altivec.h,
1420      [
1421         AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1422         AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1423         build_cpu_altivec="yes"
1424      ],
1425      [
1426        save_CFLAGS=$CFLAGS
1427        save_CPPFLAGS=$CPPFLAGS
1428        CFLAGS=$CFLAGS" -maltivec"
1429        CPPFLAGS=$CPPFLAGS" -maltivec"
1430        unset ac_cv_header_altivec_h
1431        AC_CHECK_HEADER(altivec.h,
1432          [
1433             AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1434             AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1435             build_cpu_altivec="yes"
1436          ],
1437          [
1438             if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1439               AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1440             fi
1441             build_cpu_altivec="no"
1442          ]
1443        )
1444        CFLAGS=$save_CFLAGS
1445        CPPFLAGS=$save_CPPFLAGS
1446      ]
1447    )
1448 fi
1449
1450 if test "x$build_cpu_altivec" = "xyes"; then
1451    AC_MSG_CHECKING(whether to use altivec compiler flag)
1452    if test "x$GCC" = "xyes"; then
1453       if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1454          altivec_cflags="-faltivec"
1455          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1456       elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1457          altivec_cflags="-maltivec"
1458          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1459       fi
1460    fi
1461   AC_MSG_RESULT($altivec_cflags)
1462    CFLAGS="$CFLAGS $altivec_cflags"
1463 fi
1464
1465 #######################################
1466 ## NEON
1467 build_cpu_neon="no"
1468 case $host_cpu in
1469   arm*)
1470     build_cpu_neon="yes"
1471     ;;
1472 esac
1473 AC_MSG_CHECKING(whether to build neon code)
1474 AC_ARG_ENABLE(cpu-neon,
1475   AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1476           checked at run time to see if the CPU supports it]),
1477   [
1478      if test "x$enableval" = "xyes" ; then
1479        AC_TRY_COMPILE([],
1480         [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1481         [
1482           AC_MSG_RESULT(yes)
1483           AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1484           build_cpu_neon="yes"
1485         ],[
1486           AC_MSG_RESULT(no)
1487           build_cpu_neon="no"
1488         ])
1489       else
1490         AC_MSG_RESULT(no)
1491         build_cpu_neon="no"
1492       fi
1493   ],
1494   [
1495     if test "x$build_cpu_neon" = "xyes" ; then
1496        AC_TRY_COMPILE([#include <arm_neon.h>],
1497         [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1498         [
1499           AC_MSG_RESULT(yes)
1500           AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1501           build_cpu_neon="yes"
1502         ],[
1503           AC_MSG_RESULT(no)
1504           build_cpu_neon="no"
1505         ])
1506     fi
1507   ]
1508 )
1509      
1510 #######################################
1511 ## C
1512 build_cpu_c="yes"
1513 AC_MSG_CHECKING(whether to build c code)
1514 AC_ARG_ENABLE(cpu-c,
1515   AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1516   [
1517       if test "x$enableval" = "xyes" ; then
1518         AC_MSG_RESULT(yes)
1519         AC_DEFINE(BUILD_C, 1, [Build plain C code])
1520         build_cpu_c="yes"
1521       else
1522         AC_MSG_RESULT(no)
1523         build_cpu_c="no"
1524       fi
1525   ], [
1526       AC_MSG_RESULT($build_cpu_c)
1527       if test "x$build_cpu_c" = "xyes" ; then
1528         AC_DEFINE(BUILD_C, 1, [Build plain C code])
1529       fi
1530   ]
1531 )
1532
1533 #######################################
1534 ## MAGIC_DEBUG
1535 want_evas_magic_debug="yes"
1536 AC_MSG_CHECKING(whether to check magic for evas object)
1537 AC_ARG_ENABLE(evas-magic-debug,
1538   AC_HELP_STRING(
1539     [--disable-evas-magic-debug],
1540     [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1541   ),
1542   [ want_evas_magic_debug="$enableval" ]
1543 )
1544 AC_MSG_RESULT($want_evas_magic_debug)
1545
1546 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1547 if test "x$want_evas_magic_debug" = "xyes"; then
1548   AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1549 fi
1550
1551
1552 #######################################
1553 ## Word Caching
1554 want_word_cache="no"
1555 AC_MSG_CHECKING(whether to enable caching of rendered words)
1556 AC_ARG_ENABLE(word-cache,
1557   AC_HELP_STRING(
1558     [--enable-word-cache],
1559     [Enable experimental word caching to speed up rendering [[default=disabled]]]
1560   ),
1561   [ want_word_cache="$enableval" ]
1562 )
1563 AC_MSG_RESULT($want_word_cache)
1564
1565 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1566 if test "x$want_word_cache" = "xyes"; then
1567   AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1568 fi
1569
1570 #######################################
1571 ## Metric Caching
1572 want_metric_cache="no"
1573 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1574 AC_ARG_ENABLE(metric-cache,
1575   AC_HELP_STRING(
1576     [--enable-metric-cache],
1577     [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1578   ),
1579   [ want_metric_cache="$enableval" ]
1580 )
1581 AC_MSG_RESULT($want_metric_cache)
1582
1583 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1584 if test "x$want_metric_cache" = "xyes"; then
1585   AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1586 fi
1587
1588
1589
1590 #####################################################################
1591 ## ARGB engine options
1592
1593 #######################################
1594 ## Nearest sampling scaler
1595 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1596 ## Smooth super and sub sampling scaler
1597 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1598
1599 #######################################
1600 ## YUV -> ARGB converter
1601 conv_yuv="no"
1602 conv_yuv="yes"
1603 AC_MSG_CHECKING(whether to build yuv converter code)
1604 AC_ARG_ENABLE(convert-yuv,
1605   AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1606   [
1607       if test "x$enableval" = "xyes" ; then
1608         AC_MSG_RESULT(yes)
1609         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1610         conv_yuv="yes"
1611       else
1612         AC_MSG_RESULT(no)
1613         conv_yuv="no"
1614       fi
1615   ], [
1616       AC_MSG_RESULT($conv_yuv)
1617       if test "x$conv_yuv" = "xyes" ; then
1618         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1619       fi
1620   ]
1621 )
1622
1623 #####################################################################
1624 ## Output rendering features
1625
1626 #######################################
1627 ## Small dither mask instead of big one (lower quality)
1628 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1629 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1630 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1631 ## No dither mask at all for 16bpp
1632 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1633
1634 #######################################
1635 ## Convert to 8bpp RGB 332
1636 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1637 ## Convert to 8bpp RGB 666
1638 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1639 ## Convert to 8bpp RGB 232
1640 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1641 ## Convert to 8bpp RGB 222
1642 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1643 ## Convert to 8bpp RGB 221
1644 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1645 ## Convert to 8bpp RGB 121
1646 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1647 ## Convert to 8bpp RGB 111
1648 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1649 ## Convert to 16bpp RGB 565
1650 EVAS_CONVERT_COLOR(16, RGB, 565)
1651 ## Convert to 16bpp BGR 565
1652 EVAS_CONVERT_COLOR(16, BGR, 565)
1653 ## Convert to 16bpp RGB 555
1654 EVAS_CONVERT_COLOR(16, RGB, 555)
1655 ## Convert to 16bpp RGB 444
1656 EVAS_CONVERT_COLOR(16, RGB, 444)
1657
1658 #######################################
1659 ## Convert to 16bpp RGB 565 (444 ipaq)
1660 conv_16_rgb_ipq="yes"
1661 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1662 AC_ARG_ENABLE(convert-16-rgb-ipq,
1663   AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1664   [
1665       if test "x$enableval" = "xyes" ; then
1666         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1667         conv_16_rgb_ipq="yes"
1668       else
1669         conv_16_rgb_ipq="no"
1670       fi
1671   ], [
1672       if test "x$conv_16_rgb_ipq" = "xyes" ; then
1673         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1674       fi
1675   ]
1676 )
1677 AC_MSG_RESULT($conv_16_rgb_ipq)
1678
1679 #######################################
1680 ## Convert to 16bpp RGB with rotation of 0
1681 EVAS_CONVERT_ROT(16, RGB, 0)
1682 ## Convert to 16bpp RGB with rotation of 180
1683 EVAS_CONVERT_ROT(16, RGB, 180)
1684 ## Convert to 16bpp RGB with rotation of 270
1685 EVAS_CONVERT_ROT(16, RGB, 270)
1686 ## Convert to 16bpp RGB with rotation of 90
1687 EVAS_CONVERT_ROT(16, RGB, 90)
1688
1689 #######################################
1690 ## Convert to 24bpp RGB 888
1691 EVAS_CONVERT_COLOR(24, RGB, 888)
1692 ## Convert to 24bpp BGR 888
1693 EVAS_CONVERT_COLOR(24, BGR, 888)
1694 ## Convert to 32bpp RGB 8888
1695 EVAS_CONVERT_COLOR(32, RGB, 8888)
1696 ## Convert to 32bpp RGBX 8888
1697 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1698 ## Convert to 32bpp BGR 8888
1699 EVAS_CONVERT_COLOR(32, BGR, 8888)
1700 ## Convert to 32bpp BGRX 8888
1701 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1702
1703 #######################################
1704 ## Convert to 24bpp RGB 666 (666 ezx)
1705 conv_24_rgb_ezx="yes"
1706 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1707 AC_ARG_ENABLE(convert-24-rgb-ezx,
1708   AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1709   [
1710       if test "x$enableval" = "xyes" ; then
1711         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1712         conv_24_rgb_ezx="yes"
1713       else
1714         conv_24_rgb_ezx="no"
1715       fi
1716   ], [
1717       if test "x$conv_24_rgb_ezx" = "xyes" ; then
1718         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1719       fi
1720   ]
1721 )
1722 AC_MSG_RESULT($conv_24_rgb_ezx)
1723
1724 #######################################
1725 ## Convert to 32bpp RGB 666 (666 ezx)
1726 conv_32_rgb_ezx="yes"
1727 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1728 AC_ARG_ENABLE(convert-32-rgb-ezx,
1729   AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1730   [
1731       if test "x$enableval" = "xyes" ; then
1732         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1733         conv_32_rgb_ezx="yes"
1734       else
1735         conv_32_rgb_ezx="no"
1736       fi
1737   ], [
1738       if test "x$conv_32_rgb_ezx" = "xyes" ; then
1739         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1740       fi
1741   ]
1742 )
1743 AC_MSG_RESULT($conv_32_rgb_ezx)
1744
1745 #######################################
1746 ## Convert to 32bpp RGB with rotation of 0
1747 EVAS_CONVERT_ROT(32, RGB, 0)
1748 ## Convert to 32bpp RGB with rotation of 180
1749 EVAS_CONVERT_ROT(32, RGB, 180)
1750 ## Convert to 32bpp RGB with rotation of 270
1751 EVAS_CONVERT_ROT(32, RGB, 270)
1752 ## Convert to 32bpp RGB with rotation of 90
1753 EVAS_CONVERT_ROT(32, RGB, 90)
1754
1755 #######################################
1756 ## Convert to 8bpp grayscale with 256 value, no palette
1757 EVAS_CONVERT_COLOR(8, GRY, 1)
1758 ## Convert to 8bpp grayscale with 16 value, no palette
1759 EVAS_CONVERT_COLOR(8, GRY, 16)
1760
1761 #######################################
1762 ## Convert to 8bpp grayscale, 64-palette
1763 conv_8_grayscale_64="yes"
1764 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1765 AC_ARG_ENABLE(convert-8-grayscale-64,
1766   AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1767   [
1768      if test "x$enableval" = "xyes"; then
1769        AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1770        conv_8_grayscale_64="yes"
1771      else
1772        conv_8_grayscale_64="no"
1773      fi
1774   ], [
1775      if test "x$conv_8_grayscale_64" = "xyes"; then
1776        AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1777      fi
1778   ]
1779 )
1780 AC_MSG_RESULT($conv_8_grayscale_64)
1781
1782 ## valgrind
1783 want_valgrind="no"
1784 have_valgrind="no"
1785
1786 AC_MSG_CHECKING(whether to enable build with valgrind)
1787 AC_ARG_ENABLE(valgrind,
1788   AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1789   [ want_valgrind=$enableval ]
1790 )
1791 AC_MSG_RESULT($want_valgrind)
1792
1793 if test x$want_valgrind = "xyes"; then
1794   PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1795     [
1796       AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1797       have_valgrind=yes
1798       requirement_evas="valgrind ${requirement_evas}"
1799     ],
1800     [
1801       if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1802         AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1803       fi
1804     ]
1805   )
1806 fi
1807
1808 ## Examples
1809
1810 install_examples="yes"
1811 AC_ARG_ENABLE([install-examples],
1812    AC_HELP_STRING([--disable-install-examples],
1813                   [disable installing examples (compiled or just source).
1814                    @<:@default==enabled@:>@]),
1815    [
1816     if test "x${enableval}" = "xyes" ; then
1817        install_examples="yes"
1818     else
1819        install_examples="no"
1820     fi
1821    ],
1822    [install_examples="yes"])
1823 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1824
1825 build_examples="no"
1826 AC_ARG_ENABLE([build-examples],
1827    AC_HELP_STRING([--enable-build-examples],
1828                   [enable building examples (this requires extra denpendencies. if you don't have them installed yet, don't build with this option or it will fail. build again when you have it, overriding the previous installation). @<:@default==disabled@:>@]),
1829    [
1830     if test "x${enableval}" = "xyes" ; then
1831        build_examples="yes"
1832        # put in here the dependencies for Evas' examples. they are
1833        # meant to be 'real world' usage examples, thus one will be
1834        # using higher level libraries on these programs
1835        PKG_CHECK_MODULES([ECORE_EVAS], [ecore-evas ecore], [], [build_examples="no"])
1836        PKG_CHECK_MODULES([EDJE], [edje],
1837         [edje_cc=$($PKG_CONFIG --variable=prefix edje)/bin/edje_cc],
1838         [build_examples="no"])
1839        AC_SUBST(edje_cc)
1840     else
1841        build_examples="no"
1842     fi
1843    ],
1844    [build_examples="no"])
1845 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1846
1847 ## Unit tests, coverage
1848
1849 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
1850
1851 EFL_CHECK_COVERAGE([${enable_tests}], [enable_coverage="yes"], [enable_coverage="no"])
1852 EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_COVERAGE_CFLAGS} ${EXOTIC_CFLAGS}"
1853 EVAS_LIBS="${EVAS_LIBS} ${EFL_COVERAGE_LIBS} ${EXOTIC_LIBS}"
1854 if test "x$enable_coverage" = "xyes" ; then
1855    EVAS_CFLAGS="${EVAS_CFLAGS} ${EFL_DEBUG_CFLAGS}"
1856 fi
1857
1858 AC_SUBST(EVAS_CFLAGS)
1859 AC_SUBST(EVAS_LIBS)
1860
1861 #####################################################################
1862 ## Fill in flags
1863
1864 AC_SUBST(altivec_cflags)
1865 AC_SUBST(pthread_cflags)
1866 AC_SUBST(pthread_libs)
1867 AC_SUBST(requirement_evas)
1868
1869
1870 #####################################################################
1871 ## Output
1872
1873 AC_OUTPUT([
1874 Makefile
1875 evas-directfb.pc
1876 evas-fb.pc
1877 evas-opengl-x11.pc
1878 evas-opengl-sdl.pc
1879 evas-opengl-cocoa.pc
1880 evas-software-buffer.pc
1881 evas-software-x11.pc
1882 evas-software-8-x11.pc
1883 evas-software-16-x11.pc
1884 evas-software-gdi.pc
1885 evas-software-ddraw.pc
1886 evas-direct3d.pc
1887 evas-software-16-wince.pc
1888 evas-software-sdl.pc
1889 evas-psl1ght.pc
1890 evas-wayland-shm.pc
1891 evas-wayland-egl.pc
1892 evas.pc
1893 doc/evas.dox
1894 doc/Makefile
1895 doc/Doxyfile
1896 src/Makefile
1897 src/bin/Makefile
1898 src/bin/loaders/Makefile
1899 src/bin/loaders/jpeg/Makefile
1900 src/bin/loaders/png/Makefile
1901 src/bin/loaders/eet/Makefile
1902 src/bin/loaders/tiff/Makefile
1903 src/bin/loaders/xpm/Makefile
1904 src/bin/loaders/bmp/Makefile
1905 src/bin/loaders/ico/Makefile
1906 src/bin/loaders/tga/Makefile
1907 src/bin/loaders/pmaps/Makefile
1908 src/bin/loaders/wbmp/Makefile
1909 src/bin/loaders/psd/Makefile
1910 src/lib/Makefile
1911 src/lib/canvas/Makefile
1912 src/lib/file/Makefile
1913 src/lib/cache/Makefile
1914 src/lib/cache2/Makefile
1915 src/lib/cserve/Makefile
1916 src/lib/cserve2/Makefile
1917 src/lib/engines/Makefile
1918 src/lib/engines/common/Makefile
1919 src/lib/engines/common/evas_op_add/Makefile
1920 src/lib/engines/common/evas_op_blend/Makefile
1921 src/lib/engines/common/evas_op_copy/Makefile
1922 src/lib/engines/common/evas_op_mask/Makefile
1923 src/lib/engines/common/evas_op_mul/Makefile
1924 src/lib/engines/common/evas_op_sub/Makefile
1925 src/lib/engines/common_8/Makefile
1926 src/lib/engines/common_16/Makefile
1927 src/modules/Makefile
1928 src/modules/engines/Makefile
1929 src/modules/engines/software_generic/Makefile
1930 src/modules/engines/software_gdi/Makefile
1931 src/modules/engines/software_ddraw/Makefile
1932 src/modules/engines/direct3d/Makefile
1933 src/modules/engines/software_16_wince/Makefile
1934 src/modules/engines/software_x11/Makefile
1935 src/modules/engines/fb/Makefile
1936 src/modules/engines/buffer/Makefile
1937 src/modules/engines/directfb/Makefile
1938 src/modules/engines/gl_common/Makefile
1939 src/modules/engines/gl_x11/Makefile
1940 src/modules/engines/gl_sdl/Makefile
1941 src/modules/engines/gl_cocoa/Makefile
1942 src/modules/engines/psl1ght/Makefile
1943 src/modules/engines/software_8/Makefile
1944 src/modules/engines/software_8_x11/Makefile
1945 src/modules/engines/software_16/Makefile
1946 src/modules/engines/software_16_x11/Makefile
1947 src/modules/engines/software_16_sdl/Makefile
1948 src/modules/engines/wayland_shm/Makefile
1949 src/modules/engines/wayland_egl/Makefile
1950 src/modules/loaders/Makefile
1951 src/modules/loaders/edb/Makefile
1952 src/modules/loaders/eet/Makefile
1953 src/modules/loaders/gif/Makefile
1954 src/modules/loaders/jpeg/Makefile
1955 src/modules/loaders/png/Makefile
1956 src/modules/loaders/tiff/Makefile
1957 src/modules/loaders/xpm/Makefile
1958 src/modules/loaders/bmp/Makefile
1959 src/modules/loaders/ico/Makefile
1960 src/modules/loaders/tga/Makefile
1961 src/modules/loaders/svg/Makefile
1962 src/modules/loaders/pmaps/Makefile
1963 src/modules/loaders/wbmp/Makefile
1964 src/modules/loaders/psd/Makefile
1965 src/modules/loaders/generic/Makefile
1966 src/modules/savers/Makefile
1967 src/modules/savers/edb/Makefile
1968 src/modules/savers/eet/Makefile
1969 src/modules/savers/jpeg/Makefile
1970 src/modules/savers/png/Makefile
1971 src/modules/savers/tiff/Makefile
1972 src/static_deps/Makefile
1973 src/static_deps/liblinebreak/Makefile
1974 src/lib/include/Makefile
1975 src/examples/Makefile
1976 src/tests/Makefile
1977 evas.spec
1978 ])
1979
1980 #####################################################################
1981 ## Sanity Checks
1982
1983 if test "x$build_pthreads" = "xno" ; then
1984   if test "x$build_async_render" = "xyes" ; then
1985     echo "ERROR: PThreads off, but async rendering on. Async rendering"
1986     echo "  needs thread support."
1987     exit 1
1988   fi
1989   if test "x$build_pipe_render" = "xyes" ; then
1990     echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1991     echo "  needs thread support."
1992     exit 1
1993   fi
1994 fi
1995
1996 if test "x${has_pthreads}" = "xno" ; then
1997   if test "x$build_async_preload" = "xyes" ; then
1998     echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1999     echo "  needs thread support."
2000     exit 1
2001   fi
2002 fi
2003
2004 #####################################################################
2005 ## Info
2006
2007 echo
2008 echo
2009 echo
2010 echo "------------------------------------------------------------------------"
2011 echo "$PACKAGE $VERSION"
2012 echo "------------------------------------------------------------------------"
2013 echo
2014 echo "Configuration Options Summary:"
2015 echo
2016 echo "Engines:"
2017 echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
2018 echo "  Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
2019 echo $ECHO_N "  OpenGL X11.................: $have_evas_engine_gl_x11 (Xlib: $have_evas_engine_gl_xlib) (XCB: $have_evas_engine_gl_xcb) $ECHO_C"
2020 if test "x$have_evas_engine_gl_x11" = "xyes"; then
2021   echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
2022 else
2023   echo
2024 fi
2025 echo "  Software GDI...............: $have_evas_engine_software_gdi"
2026 echo "  Software DirectDraw........: $have_evas_engine_software_ddraw"
2027 echo "  Direct3d...................: $have_evas_engine_direct3d"
2028 echo "  OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
2029 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
2030   echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
2031 else
2032   echo
2033 fi
2034 echo "  OpenGL Cocoa...............: $have_evas_engine_gl_cocoa"
2035 echo "  Software Framebuffer.......: $have_evas_engine_fb"
2036 echo "  DirectFB...................: $have_evas_engine_directfb"
2037 echo "  PSL1GHT....................: $have_evas_engine_psl1ght"
2038 echo "  Software 8bit grayscale....: $have_evas_engine_software_8"
2039 # FIXME: kill software 16bit
2040 echo "  Software 16bit ............: $have_evas_engine_software_16"
2041 echo "  Software 16bit X11.........: $have_evas_engine_software_16_x11"
2042 echo "  Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
2043 echo "  Software 16bit SDL.........: $have_evas_engine_software_16_sdl (primitive: $sdl_primitive)"
2044 echo "  Wayland Shm................: $have_evas_engine_wayland_shm"
2045 echo "  Wayland Egl................: $have_evas_engine_wayland_egl"
2046 echo
2047 echo "Image Loaders:"
2048 echo "  BMP.....................: $have_evas_image_loader_bmp"
2049 echo "  EDB.....................: $have_evas_image_loader_edb"
2050 echo "  EET.....................: $have_evas_image_loader_eet"
2051 echo "  GENERIC.................: $have_evas_image_loader_generic"
2052 echo "  GIF.....................: $have_evas_image_loader_gif"
2053 echo "  ICO.....................: $have_evas_image_loader_ico"
2054 echo "  JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
2055 echo "  PMAPS...................: $have_evas_image_loader_pmaps"
2056 echo "  PNG.....................: $have_evas_image_loader_png"
2057 echo "  PSD.....................: $have_evas_image_loader_psd"
2058 echo "  SVG.....................: $have_evas_image_loader_svg"
2059 echo "  TGA.....................: $have_evas_image_loader_tga"
2060 echo "  TIFF....................: $have_evas_image_loader_tiff"
2061 echo "  WBMP....................: $have_evas_image_loader_wbmp"
2062 echo "  XPM.....................: $have_evas_image_loader_xpm"
2063 echo
2064 echo "Font Sourcing Systems:"
2065 echo "  EET.....................: $have_evas_font_loader_eet"
2066 echo
2067 echo "Font Searching Systems:"
2068 echo "  Fontconfig..............: $have_fontconfig"
2069 echo
2070 echo "Font Rendering Helpers:"
2071 echo "  Fribidi.................: $have_fribidi"
2072 echo "  Harfbuzz................: $have_harfbuzz"
2073 echo "  liblinebreak............: $have_linebreak"
2074 # FIXME: add non freetype2 font engine support
2075 # FIXME: make freetype2 optional
2076 echo
2077 echo "CPU Specific Extensions:"
2078 echo "  Fallback C Code.........: $build_cpu_c"
2079 echo "  MMX.....................: $build_cpu_mmx"
2080 echo "  SSE.....................: $build_cpu_sse"
2081 echo "  SSE3....................: $build_cpu_sse3"
2082 echo "  ALTIVEC.................: $build_cpu_altivec"
2083 echo "  NEON....................: $build_cpu_neon"
2084 echo "  Thread Support..........: $build_pthreads"
2085 echo
2086 echo "Features:"
2087 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
2088 echo "  Cache Server............: $want_evas_cserve"
2089 echo "  Cache Server 2..........: $want_evas_cserve2"
2090 echo
2091 dnl
2092 dnl ... DISABLED! some testing has shown that this seems to have some
2093 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
2094 dnl disabling this for now until it can be fixed
2095 dnl 
2096 echo "  Threaded Pipe Rendering.: $build_pipe_render"
2097 echo "  Async Pipe Rendering....: $build_async_render"
2098 echo "  Async Events............: $build_async_events"
2099 echo "  Async Image Preload.....: $build_async_preload"
2100 echo
2101 echo "  Word Cache..............: $want_word_cache"
2102 echo "  Metric Cache............: $want_metric_cache"
2103 echo
2104 echo "  Pixman..................: $have_pixman"
2105 echo "  Pixman Fonts............: $have_pixman_font"
2106 echo "  Pixman Rects............: $have_pixman_rect"
2107 echo "  Pixman Lines............: $have_pixman_line"
2108 echo "  Pixman Polygons.........: $have_pixman_poly"
2109 echo "  Pixman Images...........: $have_pixman_image"
2110 echo "  Pixman Image ScaleSample: $have_pixman_image_scale_sample"
2111 echo 
2112 echo "  Tiled 32BPP rotate......: $have_tile_rotate"
2113 echo
2114 echo "ARGB Software Engine Options:"
2115 echo "  Sampling Scaler.........: $scaler_sample"
2116 echo "  Smooth Scaler...........: $scaler_smooth"
2117 # FIXME: add an mmx scaler routine
2118 echo "  YUV Converter...........: $conv_yuv"
2119 # FIXME: add more YUV format and colorvariant support
2120 echo
2121 echo "ARGB Conversion Options:"
2122 echo "  Smaller Dither Mask.....: $conv_small_dither"
2123 echo "  Line Dither Mask........: $conv_line_dither"
2124 echo "  No Dither Mask for 16bpp: $conv_no_dither"
2125 echo "  8bpp RGB 332............: $conv_8_rgb_332"
2126 echo "  8bpp RGB 666............: $conv_8_rgb_666"
2127 echo "  8bpp RGB 232............: $conv_8_rgb_232"
2128 echo "  8bpp RGB 222............: $conv_8_rgb_222"
2129 echo "  8bpp RGB 221............: $conv_8_rgb_221"
2130 echo "  8bpp RGB 121............: $conv_8_rgb_121"
2131 echo "  8bpp RGB 111............: $conv_8_rgb_111"
2132 echo "  8bpp Grayscale (256)....: $conv_8_gry_1"
2133 echo "  8bpp Grayscale (16).....: $conv_8_gry_16"
2134 echo "  8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
2135 # FIXME: add grayscale and B&W support to standard x converters
2136 echo "  16bpp RGB 565...........: $conv_16_rgb_565"
2137 echo "  16bpp BGR 565...........: $conv_16_bgr_565"
2138 echo "  16bpp RGB 555...........: $conv_16_rgb_555"
2139 echo "  16bpp RGB 444...........: $conv_16_rgb_444"
2140 echo "  16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
2141 # FIXME: add 555 (444 ipaq) support
2142 # FIXME: add 30bpp support
2143 # FIXME: add palletted support (ugh!)
2144 # FIXME: add 8bpp and below rotation
2145 echo "  16bpp Rotation 0........: $conv_16_rgb_rot_0"
2146 echo "  16bpp Rotation 90.......: $conv_16_rgb_rot_90"
2147 echo "  16bpp Rotation 180......: $conv_16_rgb_rot_180"
2148 echo "  16bpp Rotation 270......: $conv_16_rgb_rot_270"
2149 echo "  24bpp RGB 888...........: $conv_24_rgb_888"
2150 echo "  24bpp BGR 888...........: $conv_24_bgr_888"
2151 echo "  24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
2152 # FIXME: add 24bpp rotation
2153 echo "  32bpp RGB 8888..........: $conv_32_rgb_8888"
2154 echo "  32bpp RGBX 8888.........: $conv_32_rgbx_8888"
2155 echo "  32bpp BGR 8888..........: $conv_32_bgr_8888"
2156 echo "  32bpp BGRX 8888.........: $conv_32_bgrx_8888"
2157 echo "  32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
2158 echo "  32bpp Rotation 0........: $conv_32_rgb_rot_0"
2159 echo "  32bpp Rotation 90.......: $conv_32_rgb_rot_90"
2160 echo "  32bpp Rotation 180......: $conv_32_rgb_rot_180"
2161 echo "  32bpp Rotation 270......: $conv_32_rgb_rot_270"
2162 echo
2163 echo "Documentation.............: ${build_doc}"
2164 echo "Examples..................: install:${install_examples} build:${build_examples}"
2165 if test "x${enable_tests}" = "xyes" ; then
2166    echo "Tests.....................: ${enable_tests} (make check)"
2167 else
2168    echo "Tests.....................: ${enable_tests}"
2169 fi
2170 if test "x${enable_coverage}" = "xyes" ; then
2171    echo "Coverage..................: ${enable_coverage} (make coverage)"
2172 else
2173    echo "Coverage..................: ${enable_coverage}"
2174 fi
2175 echo
2176 echo "Compilation............: make (or gmake)"
2177 echo "  CPPFLAGS.............: $CPPFLAGS"
2178 echo "  CFLAGS...............: $CFLAGS"
2179 echo "  CXXFLAGS.............: $CXXFLAGS"
2180 echo "  LDFLAGS..............: $LDFLAGS"
2181 echo
2182 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
2183 echo "  prefix...............: $prefix"
2184 echo
2185 if test "x${have_static_module}" = "xyes" ; then
2186 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
2187 echo "         You must know what you are doing, or else you will have a lot of"
2188 echo "         problems. And Kenny will be killed."
2189 echo "         Think about that."
2190 echo
2191 fi