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