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