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