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