Fix build with static modules, thanks Gentoo ;-)
[profile/ivi/evas.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [1])
4 m4_define([v_min], [0])
5 m4_define([v_mic], [999])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || 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_rev], m4_eval(v_maj + v_min))
16 m4_define([lt_cur], 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_rev:lt_cur: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* | cegcc*)
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_evas_cserve="yes"
94
95 want_evas_engine_buffer="yes"
96 want_evas_engine_software_xlib="no"
97 want_evas_engine_xrender_x11="no"
98 want_evas_engine_gl_x11="no"
99 want_evas_engine_gl_sdl="no"
100 want_evas_engine_cairo_x11="no"
101 want_evas_engine_software_xcb="no"
102 want_evas_engine_xrender_xcb="no"
103 want_evas_engine_software_gdi="no"
104 want_evas_engine_software_ddraw="no"
105 want_evas_engine_direct3d="no"
106 want_evas_engine_quartz="no"
107 want_evas_engine_gl_glew="no"
108 want_evas_engine_software_sdl="no"
109 want_evas_engine_fb="no"
110 want_evas_engine_directfb="no"
111 want_evas_engine_software_qtopia="no"
112 want_evas_engine_software_8_x11="no"
113 want_evas_engine_software_16_x11="no"
114 want_evas_engine_software_16_ddraw="no"
115 want_evas_engine_software_16_wince="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
131 want_evas_font_loader_eet="yes"
132
133 case "$host_os" in
134    mingw32ce* | cegcc*)
135       want_fontconfig="no"
136       want_evas_engine_software_16_wince="yes"
137       want_evas_image_loader_edb="no"
138       want_evas_image_loader_gif="no"
139       want_evas_image_loader_svg="no"
140       want_evas_image_loader_tiff="no"
141       ;;
142    mingw*)
143       want_evas_engine_software_gdi="yes"
144       want_evas_engine_software_ddraw="yes"
145       want_evas_engine_direct3d="yes"
146       want_evas_engine_software_16_ddraw="yes"
147       want_evas_image_loader_edb="no"
148       want_evas_image_loader_svg="no"
149       ;;
150    darwin*)
151       want_evas_engine_software_xlib="auto"
152       want_evas_engine_quartz="auto"
153       ;;
154    *)
155       want_evas_engine_software_xlib="auto"
156       want_evas_engine_gl_x11="auto"
157       want_evas_engine_fb="auto"
158 ### no - not ready/usable/complete
159 #      want_evas_engine_software_8_x11="auto"
160 #      want_evas_engine_xrender_x11="auto"
161 #      want_evas_engine_software_16_x11="auto"
162       ;;
163 esac
164
165 requirement_evas=""
166
167
168 ### Additional options to configure
169
170 # when used, that option makes configure script fails when
171 # a requirement is selected, but not met.
172 use_strict="no"
173 AC_ARG_ENABLE([strict],
174    AC_HELP_STRING([--enable-strict], [enable strict checking mode. @<:@default==disabled@:>@]),
175    [use_strict="yes"],
176    [use_strict="no"])
177
178 # Simple X11 build/link
179 AC_ARG_ENABLE([simple-x11],
180    AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
181    [
182     if test "x${enableval}" = "xyes" ; then
183        want_evas_simple_x11="yes"
184     else
185        want_evas_simple_x11="no"
186     fi
187    ])
188
189
190 ### Checks for programs
191
192 m4_ifdef([AC_PROG_OBJC],
193    [
194     AC_PROG_OBJC
195     _AM_DEPENDENCIES(OBJC)
196    ],
197    [
198     dnl#AC_CHECK_TOOL([OBJC], [gcc])
199     dnl#AC_SUBST([OBJC])
200     dnl#AC_SUBST([OBJCFLAGS])
201    ])
202
203 rw_PROG_OBJC_WORKS
204
205 AC_PROG_CXX
206 AC_PROG_CC
207
208 # pkg-config
209 PKG_PROG_PKG_CONFIG
210
211 # Check whether pkg-config supports Requires.private
212 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
213    pkgconfig_requires_private="Requires.private"
214 else
215    pkgconfig_requires_private="Requires"
216 fi
217 AC_SUBST(pkgconfig_requires_private)
218
219 # doxygen program for documentation building
220 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
221
222
223 ### Checks for libraries
224
225 # Evil library for compilation on Windows CE
226
227 case "$host_os" in
228    mingw* | cegcc*)
229       PKG_CHECK_MODULES([EVIL], [evil])
230       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
231       requirement_evas="evil ${requirement_evas}"
232    ;;
233 esac
234
235 ## strong dependencies
236
237 # Eina
238 PKG_CHECK_MODULES([EINA], [eina >= 1.0.0])
239
240 # Freetype
241 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
242
243 requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
244
245 ## optional dependencies
246
247 # FontConfig
248 have_fontconfig="no"
249 AC_ARG_ENABLE([fontconfig],
250    AC_HELP_STRING([--disable-fontconfig],
251       [disable fontconfig for finding fonts. @<:@default=enabled@:>@]),
252    [
253     if test "x${enableval}" = "xyes" ; then
254        want_fontconfig="yes"
255     else
256        want_fontconfig="no"
257     fi
258    ])
259
260
261 if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
262    PKG_CHECK_MODULES([FONTCONFIG],
263       [fontconfig],
264       [
265        have_fontconfig="yes"
266        AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
267        requirement_evas="fontconfig ${requirement_evas}"
268       ],
269       [
270        if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
271           AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
272        fi
273       ])
274 fi
275
276 # fribidi support
277 have_fribidi="no"
278 AC_ARG_ENABLE([fribidi],
279    AC_HELP_STRING([--disable-fribidi],
280       [disable bidirectional text support. @<:@default=enabled@:>@]),
281    [
282     if test "x${enableval}" = "xyes" ; then
283        want_fribidi="yes"
284     else
285        want_fribidi="no"
286     fi
287    ])
288
289 if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
290    PKG_CHECK_MODULES([FRIBIDI],
291       [fribidi >= 0.19.2],
292       [
293        have_fribidi="yes"
294        AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
295        requirement_evas="fribidi ${requirement_evas}"
296       ],
297       [
298        if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
299           AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
300        fi
301       ])
302 fi
303
304 if test "x${have_fribidi}" = "xno"; then
305   HAS_BIDI=0
306 fi
307
308 # harfbuzz support
309 have_harfbuzz="no"
310 have_harfbuzz_glib="no"
311 have_harfbuzz_ft="no"
312 AC_ARG_ENABLE([harfbuzz],
313    AC_HELP_STRING([--disable-harfbuzz],
314       [disable complex text shaping and layouting support. @<:@default=enabled@:>@]),
315    [
316     if test "x${enableval}" = "xyes" ; then
317        want_harfbuzz="yes"
318     else
319        want_harfbuzz="no"
320     fi
321    ])
322
323 if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
324    PKG_CHECK_MODULES([HARFBUZZ],
325       [harfbuzz >= 0.2],
326       [
327        have_harfbuzz="yes"
328        requirement_evas="harfbuzz ${requirement_evas}"
329       ],
330       [
331        if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
332           AC_MSG_ERROR([Harfbuzz not found (strict dependencies checking)])
333        fi
334       ])
335    if test "x$have_harfbuzz" = "xyes" ; then
336
337       CPPFLAGS_SAVE="$CPPFLAGS"
338       CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
339 # must have for usage with harfbuzz although harfbuzz may not have it.
340
341       AC_CHECK_HEADER(hb-ft.h,
342           [
343            have_harfbuzz_ft="yes"
344            #Depend on harfbuzz ft for harfbuzz support
345            AC_DEFINE(HAVE_HARFBUZZ, 1, [have harfbuzz support])
346           ],
347           [
348            if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
349               AC_MSG_ERROR([Harfbuzz-ft not found (strict dependencies checking)])
350            fi
351            have_harfbuzz="no"
352           ])
353 # nice to have if harfbuzz has it
354       AC_CHECK_HEADER(hb-glib.h,
355           [
356            have_harfbuzz_glib="yes"
357            AC_DEFINE(HAVE_HARFBUZZ_GLIB, 1, [have harfbuzz glib support])
358           ],
359           [
360            have_harfbuzz_glib="no"
361           ])
362       CPPFLAGS="$CPPFLAGS_SAVE"
363    fi
364 fi
365
366 if test "x${have_harfbuzz}" = "xno"; then
367   HAS_HARFBUZZ=0
368 fi
369
370 ### Checks for header files
371 AC_HEADER_STDC
372 AC_CHECK_HEADERS([unistd.h stdint.h sys/param.h])
373
374 EFL_CHECK_PATH_MAX
375
376
377 ### Checks for types
378
379
380 ### Checks for structures
381
382
383 ### Checks for compiler characteristics
384 AC_C_CONST
385 AC_C_BIGENDIAN
386 AC_C___ATTRIBUTE__
387 AM_PROG_CC_STDC
388
389 WIN32_CPPFLAGS=""
390 case "$host_os" in
391    mingw32ce* | cegcc*)
392       WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
393       ;;
394    mingw*)
395       WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
396       ;;
397 esac
398 AC_SUBST(WIN32_CPPFLAGS)
399
400 WIN32_CFLAGS=""
401 case "${host_os}" in
402    cegcc*)
403       WIN32_CFLAGS="-mwin32"
404    ;;
405 esac
406 AC_SUBST(WIN32_CFLAGS)
407
408
409 ### Checks for linker characteristics
410 lt_enable_auto_import=""
411 case "${host_os}" in
412    mingw* | cegcc*)
413       AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
414       lt_enable_auto_import="-Wl,--enable-auto-import"
415    ;;
416 esac
417 AC_SUBST(lt_enable_auto_import)
418
419
420 ### Checks for library functions
421
422 AC_ISC_POSIX
423
424 # alloca
425 AC_FUNC_ALLOCA
426
427 # fnmatch
428 EFL_CHECK_FNMATCH([], [AC_MSG_ERROR([Cannot find fnmatch()])])
429
430 # dlopen
431 dlopen_libs=""
432 case "$host_os" in
433   mingw32ce* | cegcc*)
434 # managed by evil
435     AC_DEFINE(HAVE_DLADDR)
436   ;;
437   mingw*)
438 # nothing on mingw platform
439   ;;
440   *)
441     AC_CHECK_FUNCS(dlopen, res=yes, res=no)
442     if test "x$res" = "xyes"; then
443       AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
444     else
445       AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
446       if test "x$res" = "xyes"; then
447         AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
448         dlopen_libs=-ldl
449       else
450         AC_MSG_ERROR(Cannot find dlopen)
451       fi
452     fi
453 esac
454 AC_SUBST(dlopen_libs)
455
456 # (shm_open (for cache server)
457 AC_ARG_ENABLE([evas-cserve],
458    AC_HELP_STRING([--disable-evas-cserve],
459       [disable shared cache server support. @<:@default=enabled@:>@]),
460    [
461     if test "x${enableval}" = "xyes" ; then
462        want_evas_cserve="yes"
463     else
464        want_evas_cserve="no"
465     fi
466    ])
467 AC_MSG_CHECKING(whether to build shared cache server and support)
468 AC_MSG_RESULT(${want_evas_cserve})
469
470 if test "x${want_evas_cserve}" = "xyes" ; then
471    AC_MSG_CHECKING([whether shm_open() is present])
472    LIBS_save=${LIBS}
473    LIBS="${LIBS} -lrt"
474    AC_LINK_IFELSE(
475       [AC_LANG_PROGRAM(
476          [[
477 #include <sys/types.h>
478 #include <sys/mman.h>
479 #include <fcntl.h>
480          ]],
481          [[
482 int fd;
483 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
484 shm_unlink("/");
485          ]])],
486       [want_evas_cserve="yes"],
487       [want_evas_cserve="no"])
488    LIBS=${LIBS_save}
489    AC_MSG_RESULT([${want_evas_cserve}])
490 fi
491
492 if test "x${want_evas_cserve}" = "xyes" ; then
493   AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
494 fi
495
496 AM_CONDITIONAL([EVAS_CSERVE], [test "x${want_evas_cserve}" = "xyes"])
497
498
499
500 #######################################
501 ## GL force flavor gles
502 gl_flavor_gles="no"
503 AC_MSG_CHECKING(whether to build GLES flavor of GL)
504 AC_ARG_ENABLE(gl-flavor-gles,
505   AC_HELP_STRING([--enable-gl-flavor-gles], [enable gles falvor of gl instead of standard]),
506   [
507       if test "x$enableval" = "xyes" ; then
508         AC_MSG_RESULT(yes)
509         gl_flavor_gles="yes"
510       else
511         AC_MSG_RESULT(no)
512         gl_flavor_gles="no"
513       fi
514   ], [
515       AC_MSG_RESULT(no)
516       gl_flavor_gles="no"
517   ]
518 )
519
520 #######################################
521 ## GLES variety sgx
522 gles_variety_sgx="no"
523 AC_MSG_CHECKING(whether to build GLES variety for SGX)
524 AC_ARG_ENABLE(gles-variety-sgx,
525   AC_HELP_STRING([--enable-gles-variety-sgx], [GLES variety SGX 3D unit]),
526   [
527       if test "x$enableval" = "xyes" ; then
528         AC_MSG_RESULT(yes)
529         AC_DEFINE(GLES_VARIETY_SGX, 1, [Imagination SGX GLES2 support])
530         gles_variety_sgx="yes"
531       else
532         AC_MSG_RESULT(no)
533         gles_variety_sgx="no"
534       fi
535   ], [
536       AC_MSG_RESULT(no)
537       gles_variety_sgx="no"
538   ]
539 )
540
541 #######################################
542 ## GLES variety s3c6410
543 gles_variety_s3c6410="no"
544 AC_MSG_CHECKING(whether to build GLES variety for s3c6410)
545 AC_ARG_ENABLE(gles-variety-s3c6410,
546   AC_HELP_STRING([--enable-gles-variety-s3c6410], [GLES variety s3c6410 3D unit]),
547   [
548       if test "x$enableval" = "xyes" ; then
549         AC_MSG_RESULT(yes)
550         AC_DEFINE(GLES_VARIETY_S3C6410, 1, [Samsung S3c6410 GLES2 support])
551         gles_variety_s3c6410="yes"
552       else
553         AC_MSG_RESULT(no)
554         gles_variety_s3c6410="no"
555       fi
556   ], [
557       AC_MSG_RESULT(no)
558       gles_variety_s3c6410="no"
559   ]
560 )
561
562 if test "x$gl_flavor_gles" = "xyes"; then
563   eng=""
564   if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
565   if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
566   if test "x$eng" = "xx"; then
567     eng=""
568   else
569      AC_MSG_ERROR(
570        [Please enable just 1 OpenGL-ES flavor. Choices are:
571           --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
572           --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
573         You will also need to enable the OpenGL engine for X11 with:
574           --enable-gl-x11
575        ])
576   fi
577 fi
578
579 #####################################################################
580 ## Engines
581
582 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [yes], [Buffer])
583
584 EVAS_CHECK_ENGINE([software-xlib], [${want_evas_engine_software_xlib}], [yes], [Software Xlib])
585
586 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
587
588 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
589
590 # disable cairo engine for the release
591 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
592
593 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
594
595 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
596
597 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
598
599 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
600
601 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
602
603 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
604
605 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
606
607 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
608
609 EVAS_CHECK_ENGINE([gl-sdl], [${want_evas_engine_gl_sdl}], [yes], [OpenGL SDL])
610
611 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [yes], [Framebuffer])
612
613 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
614
615 # disable qtopia engine for the release
616 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
617
618 EVAS_CHECK_ENGINE([software-8-x11], [${want_evas_engine_software_8_x11}], [yes], [Software X11 8 bits grayscale])
619
620 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
621
622 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
623
624 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
625
626 # common cairo
627 #have_evas_engine_cairo_common="no"
628 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
629 #   have_evas_engine_cairo_common="yes"
630 #   AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
631 #fi
632 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
633
634 # common gl
635 have_evas_engine_gl_common="no"
636 have_static_evas_engine_gl_common="no"
637 if test "x$have_evas_engine_gl_x11" = "xyes" \
638    || test "x$have_evas_engine_gl_glew" = "xyes" \
639    || test "x$have_evas_engine_gl_sdl" = "xyes"; then
640    have_evas_engine_gl_common="yes"
641 fi
642 if test "x$have_evas_engine_gl_x11" = "xstatic" \
643    || test "x$have_evas_engine_gl_glew" = "xstatic" \
644    || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
645    have_evas_engine_gl_common="yes"
646    have_static_evas_engine_gl_common="yes"
647 fi
648
649 if test "x$have_evas_engine_gl_common" = "xyes"; then
650    evas_engine_gl_common_libs=""
651    AC_DEFINE(BUILD_ENGINE_GL_COMMON, [1], [Generic OpenGL Rendering Support])
652 fi
653
654 AC_SUBST([evas_engine_gl_common_libs])
655
656 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, [test "x$have_evas_engine_gl_common" = "xyes"])
657
658 AM_CONDITIONAL(EVAS_STATIC_BUILD_GL_COMMON, test "x${have_static_evas_engine_gl_common}" = "xyes")
659 if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
660    AC_DEFINE(EVAS_STATIC_BUILD_GL_COMMON, [1], [Build GL generic engine as part of libevas])
661 fi
662
663 # gl_sdl
664 if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
665    AC_CHECK_DECL(SDL_GL_CONTEXT_MAJOR_VERSION,
666       [AC_DEFINE(HAVE_SDL_GL_CONTEXT_VERSION, [1], [SDL_GL version attributes present])],,
667       [#include <SDL/SDL_video.h>])
668 fi
669
670 if test "x$gl_flavor_gles" = "xyes"; then
671    AC_CHECK_DECL(SDL_OPENGLES,
672       [AC_DEFINE(HAVE_SDL_FLAG_OPENGLES, [1], [SDL_OPENGLES flag is present])],,
673       [#include <SDL/SDL_video.h>])
674 fi
675
676 # SDL primitive
677 sdl_primitive="no"
678
679 AC_ARG_ENABLE([sdl-primitive],
680    [AC_HELP_STRING([--enable-sdl-primitive], [])],
681    [sdl_primitive=${enableval}]
682 )
683 AC_MSG_CHECKING([whether to use SDL primitive when possible])
684 AC_MSG_RESULT([${sdl_primitive}])
685
686 if test "x${sdl_primitive}" = "xyes" ; then
687    AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
688 fi
689
690 # if software generic need to be build as part of libevas.so
691 have_static_software_generic="no"
692 AC_ARG_ENABLE([static-software-generic],
693    [AC_HELP_STRING([--enable-static-software-generic], [Build software generic engine as part of libevas])],
694    [have_static_software_generic=${enableval}]
695 )
696 AC_MSG_CHECKING([Whether to build software generic engine as part of libevas])
697 AC_MSG_RESULT([${have_static_software_generic}])
698
699 if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
700    AC_MSG_WARN([Forcing --enable-static-software-generic as engines must be compiled statically])
701    have_static_software_generic="yes"
702 fi
703
704 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, test "x${have_static_software_generic}" = "xyes")
705 if test "x${have_static_software_generic}" = "xyes"; then
706    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_GENERIC, [1], [Build software generic engine as part of libevas])
707 fi
708
709 # if software_xlib or software_xcb are available, define everything needed for X11
710 have_evas_engine_software_x11="no"
711 if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
712    have_evas_engine_software_x11="static"
713 else
714    if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
715       have_evas_engine_software_x11="yes"
716    fi
717 fi
718
719 if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
720    have_evas_engine_software_xlib="yes"
721 fi
722
723 if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
724    have_evas_engine_software_xcb="yes"
725 fi
726
727 if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
728    AC_DEFINE(BUILD_ENGINE_SOFTWARE_X11, [1], [Build software X11 engines])
729 fi
730
731 if test "x$have_evas_engine_software_x11" = "xstatic" ; then
732    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_X11, [1], [Build software X11 engines as part of libevas])
733 fi
734
735 AM_CONDITIONAL([BUILD_ENGINE_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"])
736 AM_CONDITIONAL([EVAS_STATIC_BUILD_SOFTWARE_X11], [test "x${have_evas_engine_software_x11}" = "xstatic"])
737
738 AC_SUBST(have_evas_engine_software_xlib)
739 AC_SUBST(have_evas_engine_software_xcb)
740
741 # if software 16 x11 is enabled - build software_16 (the generic 16bit
742 # engine). later enable it fb_16 or other "16" bit engines are enabled.
743 have_evas_engine_software_16="no"
744 if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
745    have_evas_engine_software_16="yes"
746 fi
747 if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
748    have_evas_engine_software_16="yes"
749 fi
750 if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
751    have_evas_engine_software_16="yes"
752 fi
753 if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
754    have_evas_engine_software_16="yes"
755 fi
756 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
757
758 # if software 16 need to be build as part of libevas.so
759 have_static_software_16="no"
760 AC_ARG_ENABLE([static-software-16],
761    [AC_HELP_STRING([--enable-static-software-16], [Build software 16 engine as part of libevas])],
762    [have_static_software_16=${enableval}]
763 )
764 AC_MSG_CHECKING([Whether to build software 16 engine as part of libevas])
765 AC_MSG_RESULT([${have_static_software_16}])
766
767 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_16, test "x${have_static_software_16}" = "xyes")
768 if test "x${have_static_software_16}" = "xyes"; then
769    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_16, [1], [Build software 16 engine as part of libevas])
770 fi
771
772 # if software 8 x11 is enabled - build software_8 (the generic 8bit
773 # engine).
774 have_evas_engine_software_8="no"
775 if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
776    have_evas_engine_software_8="yes"
777 fi
778 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_8, test "x$have_evas_engine_software_8" = "xyes")
779
780 # if software 8 need to be build as part of libevas.so
781 have_static_software_8="no"
782 AC_ARG_ENABLE([static-software-8],
783    [AC_HELP_STRING([--enable-static-software-8], [Build software 8 engine as part of libevas])],
784    [have_static_software_8=${enableval}]
785 )
786 AC_MSG_CHECKING([Whether to build software 8 engine as part of libevas])
787 AC_MSG_RESULT([${have_static_software_8}])
788
789 AM_CONDITIONAL(EVAS_STATIC_BUILD_SOFTWARE_8, test "x${have_static_software_8}" = "xyes")
790 if test "x${have_static_software_8}" = "xyes"; then
791    AC_DEFINE(EVAS_STATIC_BUILD_SOFTWARE_8, [1], [Build software 8 engine as part of libevas])
792 fi
793
794 #####################################################################
795 ## Image loaders
796
797 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
798
799 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
800 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
801
802 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
803
804 have_evas_image_saver_jpeg="no"
805 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
806
807 dnl Windows has no sigsetjmp function, nor equivalent.
808 dnl So we disable the jpeg saver.
809 dnl TODO: must find a workaround
810 case "$host_os" in
811    mingw* | cegcc*)
812       ;;
813    *)
814       if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
815          AC_DEFINE(EVAS_BUILD_SAVER_JPEG, [1], [Build JPEG saver])
816          have_evas_image_saver_jpeg="yes"
817       fi
818       ;;
819 esac
820 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
821
822 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
823
824 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
825
826 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
827
828 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
829
830 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
831
832 EVAS_CHECK_IMAGE_LOADER([BMP], [${want_evas_image_loader_bmp}])
833
834 EVAS_CHECK_IMAGE_LOADER([TGA], [${want_evas_image_loader_tga}])
835
836 EVAS_CHECK_IMAGE_LOADER([WBMP], [${want_evas_image_loader_wbmp}])
837
838 EVAS_CHECK_IMAGE_LOADER([ICO], [${want_evas_image_loader_ico}])
839
840 #####################################################################
841 ## Cpu based optimizations
842
843 #######################################
844 ## PTHREADS
845 pthread_cflags=""
846 pthread_libs=""
847 build_pthreads="no"
848 has_pthreads="no"
849 need_pthreads="no"
850 # basic pthread support
851 AC_CHECK_HEADER(pthread.h,
852   [
853    has_pthreads="yes"
854   ],
855   [
856    has_pthreads="no"
857   ]
858 )
859
860 # sched_getaffinity pthread_attr_setaffinity_np
861 AC_CHECK_HEADERS(pthread.h sched.h,
862   [
863     AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
864       [
865         AC_CHECK_LIB(pthread, pthread_barrier_wait,
866           [ build_pthreads="yes" ],
867           [ build_pthreads="no" ]
868         )
869       ],
870       [ build_pthreads="no" ]
871     )
872   ],
873   [ build_pthreads="no" ]
874 )
875
876 #######################################
877 ## Pthread
878 AC_MSG_CHECKING(whether to build pthread code)
879 AC_ARG_ENABLE(pthreads,
880   AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
881   [
882     if test "x$enableval" = "xyes" ; then
883       if test "x$build_pthreads" = "xyes"; then
884         AC_MSG_RESULT(yes)
885         AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
886         build_pthreads="yes"
887         need_pthreads="yes"
888       else
889         if "x$use_strict" = "xyes"; then
890           AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
891         else
892           AC_MSG_RESULT(no: pthread headers or functions not found)
893         fi
894       fi
895     else
896       AC_MSG_RESULT(no)
897       build_pthreads="no"
898     fi
899   ],
900   [
901     AC_MSG_RESULT($build_pthreads)
902     if test "x$build_pthreads" = "xyes" ; then
903       AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
904       need_pthreads="yes"
905     fi
906   ]
907 )
908
909 #######################################
910 ## Pipe Renderer
911 build_pipe_render="no"
912
913 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
914 AC_ARG_ENABLE(pipe-render,
915   AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
916   [ build_pipe_render=$enableval ]
917 )
918 AC_MSG_RESULT($build_pipe_render)
919
920 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
921 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
922   AC_MSG_RESULT(yes)
923   AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
924   build_pipe_render="yes"
925   need_pthreads="yes"
926 else
927   AC_MSG_RESULT(no)
928   build_pipe_render="no"
929 fi
930
931 #######################################
932 ## Async Renderer
933 build_async_render="no"
934
935 AC_MSG_CHECKING(whether to build Asynchronously Threaded Pipe Rendering support)
936 AC_ARG_ENABLE(async-render,
937  AC_HELP_STRING([--enable-async-render], [enable asynchronously threaded pipe rendering support]),
938  [ build_async_render=$enableval ]
939 )
940 AC_MSG_RESULT($build_async_render)
941
942 AC_MSG_CHECKING(whether we can build Asynchronously Threaded Pipe Rendering support)
943 if test \( "x$build_async_render" = "xyes" \); then
944   AC_MSG_RESULT(yes)
945   AC_DEFINE(EVAS_FRAME_QUEUING, 1, [Build async render support])
946   build_async_render="yes"
947   AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
948   build_pipe_render="yes"
949   need_pthreads="yes"
950
951   PKG_CHECK_MODULES([XEXT],
952     [xext < 1.1.1],
953     [ build_avoid_libXext_bug=yes ],
954     [ build_avoid_libXext_bug=no ]
955   )
956   if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
957     AC_DEFINE(LIBXEXT_VERSION_LOW, 1, [To avoid bug on old libXext version])
958   fi
959 else
960   AC_MSG_RESULT(no)
961   build_async_render="no"
962 fi
963
964 #######################################
965 ## Async events
966 build_async_events="auto"
967 AC_MSG_CHECKING(whether to build Async Events support)
968 AC_ARG_ENABLE(async-events,
969   AC_HELP_STRING([--enable-async-events], [enable async events support]),
970   [ build_async_events=$enableval ]
971 )
972 AC_MSG_RESULT($build_async_events)
973
974 AC_MSG_CHECKING(whether we can build Async Events support)
975 if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
976   AC_MSG_RESULT(yes)
977   AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
978   build_async_events="yes"
979 else
980   AC_MSG_RESULT(no)
981   build_async_events="no"
982 fi
983
984 #######################################
985 ## Async image preload
986 build_async_preload="auto"
987 AC_MSG_CHECKING(whether to build Async Image Preload support)
988 AC_ARG_ENABLE(async-preload,
989   AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
990   [ build_async_preload=$enableval ]
991 )
992 AC_MSG_RESULT($build_async_preload)
993
994 AC_MSG_CHECKING(whether we can build Async Image Preload support)
995 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
996   AC_MSG_RESULT(yes)
997   AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
998   build_async_preload="yes"
999   need_pthreads="yes"
1000 else
1001   AC_MSG_RESULT(no)
1002   build_async_preload="no"
1003 fi
1004
1005 #######################################
1006 ## Link with pthread if needed
1007 AC_MSG_CHECKING(whether we should link with pthread)
1008 if test "x$need_pthreads" = "xyes"; then
1009   AC_MSG_RESULT(yes)
1010   pthread_cflags=""
1011   pthread_libs="-lpthread"
1012 else
1013   AC_MSG_RESULT(no)
1014 fi
1015
1016 #######################################
1017 ## MMX
1018 build_cpu_mmx="no"
1019 case $host_cpu in
1020   i*86)
1021     build_cpu_mmx="yes"
1022     ;;
1023   x86_64)
1024     build_cpu_mmx="yes"
1025     ;;
1026   amd64)
1027     build_cpu_mmx="yes"
1028     ;;
1029 esac
1030 AC_MSG_CHECKING(whether to build mmx code)
1031 AC_ARG_ENABLE(cpu-mmx,
1032   AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
1033   [
1034       if test "x$enableval" = "xyes" ; then
1035         AC_MSG_RESULT(yes)
1036         AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1037         build_cpu_mmx="yes"
1038       else
1039         AC_MSG_RESULT(no)
1040         build_cpu_mmx="no"
1041       fi
1042   ],
1043   [
1044     AC_MSG_RESULT($build_cpu_mmx)
1045     if test "x$build_cpu_mmx" = "xyes" ; then
1046       AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
1047     fi
1048   ]
1049 )
1050
1051 #######################################
1052 ## SSE
1053 build_cpu_sse="no"
1054 case $host_cpu in
1055   i*86)
1056     build_cpu_sse="yes"
1057     ;;
1058   x86_64)
1059     build_cpu_sse="yes"
1060     ;;
1061   amd64)
1062     build_cpu_sse="yes"
1063     ;;
1064 esac
1065 AC_MSG_CHECKING(whether to build sse code)
1066 AC_ARG_ENABLE(cpu-sse,
1067   AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
1068   [
1069       if test "x$enableval" = "xyes" ; then
1070         AC_MSG_RESULT(yes)
1071         AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1072         build_cpu_sse="yes"
1073       else
1074         AC_MSG_RESULT(no)
1075         build_cpu_sse="no"
1076       fi
1077   ],
1078   [
1079     AC_MSG_RESULT($build_cpu_sse)
1080     if test "x$build_cpu_sse" = "xyes" ; then
1081       AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
1082     fi
1083   ]
1084 )
1085
1086 #######################################
1087 ## ALTIVEC
1088 build_cpu_altivec="no"
1089 case $host_cpu in
1090   *power* | *ppc*)
1091     build_cpu_altivec="auto"
1092     ;;
1093 esac
1094 altivec_cflags=""
1095 AC_MSG_CHECKING(whether to build altivec code)
1096 AC_ARG_ENABLE(cpu-altivec,
1097   AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
1098   [ build_cpu_altivec=$enableval ],
1099   [
1100     if test ! "x$build_cpu_altivec" = "xauto"; then
1101       build_cpu_altivec="no"
1102     fi
1103   ]
1104 )
1105 AC_MSG_RESULT($build_cpu_altivec)
1106
1107 if test "x$build_cpu_altivec" = "xyes"; then
1108    AC_CHECK_HEADER(altivec.h,
1109      [
1110         AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1111         AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1112         build_cpu_altivec="yes"
1113      ],
1114      [
1115        save_CFLAGS=$CFLAGS
1116        save_CPPFLAGS=$CPPFLAGS
1117        CFLAGS=$CFLAGS" -maltivec"
1118        CPPFLAGS=$CPPFLAGS" -maltivec"
1119        unset ac_cv_header_altivec_h
1120        AC_CHECK_HEADER(altivec.h,
1121          [
1122             AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1123             AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
1124             build_cpu_altivec="yes"
1125          ],
1126          [
1127             if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
1128               AC_MSG_ERROR(Altivec not found (strict dependencies checking))
1129             fi
1130             build_cpu_altivec="no"
1131          ]
1132        )
1133        CFLAGS=$save_CFLAGS
1134        CPPFLAGS=$save_CPPFLAGS
1135      ]
1136    )
1137 fi
1138
1139 if test "x$build_cpu_altivec" = "xyes"; then
1140    AC_MSG_CHECKING(whether to use altivec compiler flag)
1141    if test "x$GCC" = "xyes"; then
1142       if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
1143          altivec_cflags="-faltivec"
1144          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1145       elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
1146          altivec_cflags="-maltivec"
1147          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
1148       fi
1149    fi
1150   AC_MSG_RESULT($altivec_cflags)
1151    CFLAGS="$CFLAGS $altivec_cflags"
1152 fi
1153
1154 #######################################
1155 ## NEON
1156 build_cpu_neon="no"
1157 case $host_cpu in
1158   arm*)
1159     build_cpu_neon="yes"
1160     ;;
1161 esac
1162 AC_MSG_CHECKING(whether to build neon code)
1163 AC_ARG_ENABLE(cpu-neon,
1164   AC_HELP_STRING([--enable-cpu-neon], [build neon code, the code will be
1165           checked at run time to see if the CPU supports it]),
1166   [
1167      if test "x$enableval" = "xyes" ; then
1168        AC_TRY_COMPILE([],
1169         [asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")],
1170         [
1171           AC_MSG_RESULT(yes)
1172           AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1173           build_cpu_neon="yes"
1174         ],[
1175           AC_MSG_RESULT(no)
1176           build_cpu_neon="no"
1177         ])
1178       else
1179         AC_MSG_RESULT(no)
1180         build_cpu_neon="no"
1181       fi
1182   ],
1183   [
1184     if test "x$build_cpu_neon" = "xyes" ; then
1185        AC_TRY_COMPILE([#include <arm_neon.h>],
1186         [asm volatile ("vqadd.u8 d0, d1, d0\n")],
1187         [
1188           AC_MSG_RESULT(yes)
1189           AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
1190           build_cpu_neon="yes"
1191         ],[
1192           AC_MSG_RESULT(no)
1193           build_cpu_neon="no"
1194         ])
1195     fi
1196   ]
1197 )
1198      
1199 #######################################
1200 ## C
1201 build_cpu_c="yes"
1202 AC_MSG_CHECKING(whether to build c code)
1203 AC_ARG_ENABLE(cpu-c,
1204   AC_HELP_STRING([--enable-cpu-c], [enable C code]),
1205   [
1206       if test "x$enableval" = "xyes" ; then
1207         AC_MSG_RESULT(yes)
1208         AC_DEFINE(BUILD_C, 1, [Build plain C code])
1209         build_cpu_c="yes"
1210       else
1211         AC_MSG_RESULT(no)
1212         build_cpu_c="no"
1213       fi
1214   ], [
1215       AC_MSG_RESULT($build_cpu_c)
1216       if test "x$build_cpu_c" = "xyes" ; then
1217         AC_DEFINE(BUILD_C, 1, [Build plain C code])
1218       fi
1219   ]
1220 )
1221
1222 #######################################
1223 ## MAGIC_DEBUG
1224 want_evas_magic_debug="yes"
1225 AC_MSG_CHECKING(whether to check magic for evas object)
1226 AC_ARG_ENABLE(evas-magic-debug,
1227   AC_HELP_STRING(
1228     [--disable-evas-magic-debug],
1229     [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
1230   ),
1231   [ want_evas_magic_debug="$enableval" ]
1232 )
1233 AC_MSG_RESULT($want_evas_magic_debug)
1234
1235 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
1236 if test "x$want_evas_magic_debug" = "xyes"; then
1237   AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when people pass in wrong object types etc.])
1238 fi
1239
1240
1241 #######################################
1242 ## Word Caching
1243 want_word_cache="no"
1244 AC_MSG_CHECKING(whether to enable caching of rendered words)
1245 AC_ARG_ENABLE(word-cache,
1246   AC_HELP_STRING(
1247     [--enable-word-cache],
1248     [Enable experimental word caching to speed up rendering [[default=disabled]]]
1249   ),
1250   [ want_word_cache="$enableval" ]
1251 )
1252 AC_MSG_RESULT($want_word_cache)
1253
1254 AM_CONDITIONAL(WORD_CACHE, test "x$want_word_cache" = "xyes")
1255 if test "x$want_word_cache" = "xyes"; then
1256   AC_DEFINE(WORD_CACHE, 1, [Experimental word caching to speed up text rendering.])
1257 fi
1258
1259 #######################################
1260 ## Metric Caching
1261 want_metric_cache="no"
1262 AC_MSG_CHECKING(whether to enable caching of rendered metrics)
1263 AC_ARG_ENABLE(metric-cache,
1264   AC_HELP_STRING(
1265     [--enable-metric-cache],
1266     [Enable experimental metric caching to speed up rendering [[default=disabled]]]
1267   ),
1268   [ want_metric_cache="$enableval" ]
1269 )
1270 AC_MSG_RESULT($want_metric_cache)
1271
1272 AM_CONDITIONAL(METRIC_CACHE, test "x$want_metric_cache" = "xyes")
1273 if test "x$want_metric_cache" = "xyes"; then
1274   AC_DEFINE(METRIC_CACHE, 1, [Experimental metric caching to speed up text rendering.])
1275 fi
1276
1277
1278
1279 #####################################################################
1280 ## ARGB engine options
1281
1282 #######################################
1283 ## Nearest sampling scaler
1284 EVAS_CHECK_SCALER([scale-sample], [sampling scaler], [scaler_sample="yes"], [scaler_sample="no"])
1285 ## Smooth super and sub sampling scaler
1286 EVAS_CHECK_SCALER([scale-smooth], [smooth scaler], [scaler_smooth="yes"], [scaler_smooth="no"])
1287
1288 #######################################
1289 ## YUV -> ARGB converter
1290 conv_yuv="no"
1291 conv_yuv="yes"
1292 AC_MSG_CHECKING(whether to build yuv converter code)
1293 AC_ARG_ENABLE(convert-yuv,
1294   AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
1295   [
1296       if test "x$enableval" = "xyes" ; then
1297         AC_MSG_RESULT(yes)
1298         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1299         conv_yuv="yes"
1300       else
1301         AC_MSG_RESULT(no)
1302         conv_yuv="no"
1303       fi
1304   ], [
1305       AC_MSG_RESULT($conv_yuv)
1306       if test "x$conv_yuv" = "xyes" ; then
1307         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
1308       fi
1309   ]
1310 )
1311
1312 #####################################################################
1313 ## Output rendering features
1314
1315 #######################################
1316 ## Small dither mask instead of big one (lower quality)
1317 EVAS_CHECK_DITHER([small-dither-mask], [small dither mask], [conv_small_dither="yes"], [conv_small_dither="no"])
1318 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
1319 EVAS_CHECK_DITHER([line-dither-mask], [line dither mask], [conv_line_dither="yes"], [conv_line_dither="no"])
1320 ## No dither mask at all for 16bpp
1321 EVAS_CHECK_DITHER([no-dither-mask], [conversion to 16bpp without dither mask], [conv_no_dither="yes"], [conv_no_dither="no"])
1322
1323 #######################################
1324 ## Convert to 8bpp RGB 332
1325 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
1326 ## Convert to 8bpp RGB 666
1327 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
1328 ## Convert to 8bpp RGB 232
1329 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
1330 ## Convert to 8bpp RGB 222
1331 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
1332 ## Convert to 8bpp RGB 221
1333 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
1334 ## Convert to 8bpp RGB 121
1335 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
1336 ## Convert to 8bpp RGB 111
1337 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
1338 ## Convert to 16bpp RGB 565
1339 EVAS_CONVERT_COLOR(16, RGB, 565)
1340 ## Convert to 16bpp BGR 565
1341 EVAS_CONVERT_COLOR(16, BGR, 565)
1342 ## Convert to 16bpp RGB 555
1343 EVAS_CONVERT_COLOR(16, RGB, 555)
1344 ## Convert to 16bpp RGB 444
1345 EVAS_CONVERT_COLOR(16, RGB, 444)
1346
1347 #######################################
1348 ## Convert to 16bpp RGB 565 (444 ipaq)
1349 conv_16_rgb_ipq="yes"
1350 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
1351 AC_ARG_ENABLE(convert-16-rgb-ipq,
1352   AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
1353   [
1354       if test "x$enableval" = "xyes" ; then
1355         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1356         conv_16_rgb_ipq="yes"
1357       else
1358         conv_16_rgb_ipq="no"
1359       fi
1360   ], [
1361       if test "x$conv_16_rgb_ipq" = "xyes" ; then
1362         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
1363       fi
1364   ]
1365 )
1366 AC_MSG_RESULT($conv_16_rgb_ipq)
1367
1368 #######################################
1369 ## Convert to 16bpp RGB with rotation of 0
1370 EVAS_CONVERT_ROT(16, RGB, 0)
1371 ## Convert to 16bpp RGB with rotation of 180
1372 EVAS_CONVERT_ROT(16, RGB, 180)
1373 ## Convert to 16bpp RGB with rotation of 270
1374 EVAS_CONVERT_ROT(16, RGB, 270)
1375 ## Convert to 16bpp RGB with rotation of 90
1376 EVAS_CONVERT_ROT(16, RGB, 90)
1377
1378 #######################################
1379 ## Convert to 24bpp RGB 888
1380 EVAS_CONVERT_COLOR(24, RGB, 888)
1381 ## Convert to 24bpp BGR 888
1382 EVAS_CONVERT_COLOR(24, BGR, 888)
1383 ## Convert to 32bpp RGB 8888
1384 EVAS_CONVERT_COLOR(32, RGB, 8888)
1385 ## Convert to 32bpp RGBX 8888
1386 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1387 ## Convert to 32bpp BGR 8888
1388 EVAS_CONVERT_COLOR(32, BGR, 8888)
1389 ## Convert to 32bpp BGRX 8888
1390 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1391
1392 #######################################
1393 ## Convert to 24bpp RGB 666 (666 ezx)
1394 conv_24_rgb_ezx="yes"
1395 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1396 AC_ARG_ENABLE(convert-24-rgb-ezx,
1397   AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1398   [
1399       if test "x$enableval" = "xyes" ; then
1400         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1401         conv_24_rgb_ezx="yes"
1402       else
1403         conv_24_rgb_ezx="no"
1404       fi
1405   ], [
1406       if test "x$conv_24_rgb_ezx" = "xyes" ; then
1407         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1408       fi
1409   ]
1410 )
1411 AC_MSG_RESULT($conv_24_rgb_ezx)
1412
1413 #######################################
1414 ## Convert to 32bpp RGB 666 (666 ezx)
1415 conv_32_rgb_ezx="yes"
1416 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1417 AC_ARG_ENABLE(convert-32-rgb-ezx,
1418   AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1419   [
1420       if test "x$enableval" = "xyes" ; then
1421         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1422         conv_32_rgb_ezx="yes"
1423       else
1424         conv_32_rgb_ezx="no"
1425       fi
1426   ], [
1427       if test "x$conv_32_rgb_ezx" = "xyes" ; then
1428         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1429       fi
1430   ]
1431 )
1432 AC_MSG_RESULT($conv_32_rgb_ezx)
1433
1434 #######################################
1435 ## Convert to 32bpp RGB with rotation of 0
1436 EVAS_CONVERT_ROT(32, RGB, 0)
1437 ## Convert to 32bpp RGB with rotation of 180
1438 EVAS_CONVERT_ROT(32, RGB, 180)
1439 ## Convert to 32bpp RGB with rotation of 270
1440 EVAS_CONVERT_ROT(32, RGB, 270)
1441 ## Convert to 32bpp RGB with rotation of 90
1442 EVAS_CONVERT_ROT(32, RGB, 90)
1443
1444 #######################################
1445 ## Convert to 8bpp grayscale with 256 value, no palette
1446 EVAS_CONVERT_COLOR(8, GRY, 1)
1447 ## Convert to 8bpp grayscale with 16 value, no palette
1448 EVAS_CONVERT_COLOR(8, GRY, 16)
1449
1450 #######################################
1451 ## Convert to 8bpp grayscale, 64-palette
1452 conv_8_grayscale_64="yes"
1453 AC_MSG_CHECKING(whether to build 8bpp grayscale 64-palette converter code)
1454 AC_ARG_ENABLE(convert-8-grayscale-64,
1455   AC_HELP_STRING([--disable-convert-8-grayscale-64], [disable 8bpp grayscale 64-palette converter code]),
1456   [
1457      if test "x$enableval" = "xyes"; then
1458        AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [8bpp Grayscale 64-palette Converter Support])
1459        conv_8_grayscale_64="yes"
1460      else
1461        conv_8_grayscale_64="no"
1462      fi
1463   ], [
1464      if test "x$conv_8_grayscale_64" = "xyes"; then
1465        AC_DEFINE(BUILD_CONVERT_8_GRAYSCALE_64, 1, [32bpp Grayscale 64-palette Converter Support])
1466      fi
1467   ]
1468 )
1469 AC_MSG_RESULT($conv_8_grayscale_64)
1470
1471 ## valgrind
1472 want_valgrind="no"
1473 have_valgrind="no"
1474
1475 AC_MSG_CHECKING(whether to enable build with valgrind)
1476 AC_ARG_ENABLE(valgrind,
1477   AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1478   [ want_valgrind=$enableval ]
1479 )
1480 AC_MSG_RESULT($want_valgrind)
1481
1482 if test x$want_valgrind = "xyes"; then
1483   PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1484     [
1485       AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1486       have_valgrind=yes
1487       requirement_evas="valgrind ${requirement_evas}"
1488     ],
1489     [
1490       if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1491         AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1492       fi
1493     ]
1494   )
1495 fi
1496
1497 ## Examples
1498
1499 install_examples="yes"
1500 AC_ARG_ENABLE([install-examples],
1501    AC_HELP_STRING([--disable-install-examples],
1502                   [disable installing examples (compiled or just source).
1503                    @<:@default==enabled@:>@]),
1504    [
1505     if test "x${enableval}" = "xyes" ; then
1506        install_examples="yes"
1507     else
1508        install_examples="no"
1509     fi
1510    ],
1511    [install_examples="yes"])
1512 AM_CONDITIONAL([INSTALL_EXAMPLES], [test "x${install_examples}" = "xyes"])
1513
1514 build_examples="no"
1515 AC_ARG_ENABLE([build-examples],
1516    AC_HELP_STRING([--enable-build-examples],
1517                   [enable building examples. @<:@default==disabled@:>@]),
1518    [
1519     if test "x${enableval}" = "xyes" ; then
1520        build_examples="yes"
1521     else
1522        build_examples="no"
1523     fi
1524    ],
1525    [build_examples="no"])
1526 AM_CONDITIONAL([BUILD_EXAMPLES], [test "x${build_examples}" = "xyes"])
1527
1528
1529 #####################################################################
1530 ## Fill in flags
1531
1532 AC_SUBST(altivec_cflags)
1533 AC_SUBST(pthread_cflags)
1534 AC_SUBST(pthread_libs)
1535 AC_SUBST(requirement_evas)
1536
1537
1538 #####################################################################
1539 ## Output
1540
1541 AC_OUTPUT([
1542 Makefile
1543 evas-directfb.pc
1544 evas-fb.pc
1545 evas-opengl-glew.pc
1546 evas-opengl-x11.pc
1547 evas-opengl-sdl.pc
1548 evas-quartz.pc
1549 evas-software-buffer.pc
1550 evas-software-x11.pc
1551 evas-software-8-x11.pc
1552 evas-software-16-x11.pc
1553 evas-xrender-x11.pc
1554 evas-xrender-xcb.pc
1555 evas-software-gdi.pc
1556 evas-software-ddraw.pc
1557 evas-software-16-ddraw.pc
1558 evas-direct3d.pc
1559 evas-software-16-wince.pc
1560 evas-software-sdl.pc
1561 evas.pc
1562 doc/evas.dox
1563 doc/Makefile
1564 src/Makefile
1565 src/bin/Makefile
1566 src/lib/Makefile
1567 src/lib/canvas/Makefile
1568 src/lib/file/Makefile
1569 src/lib/cache/Makefile
1570 src/lib/cserve/Makefile
1571 src/lib/engines/Makefile
1572 src/lib/engines/common/Makefile
1573 src/lib/engines/common/evas_op_add/Makefile
1574 src/lib/engines/common/evas_op_blend/Makefile
1575 src/lib/engines/common/evas_op_copy/Makefile
1576 src/lib/engines/common/evas_op_mask/Makefile
1577 src/lib/engines/common/evas_op_mul/Makefile
1578 src/lib/engines/common/evas_op_sub/Makefile
1579 src/lib/engines/common_8/Makefile
1580 src/lib/engines/common_16/Makefile
1581 src/modules/Makefile
1582 src/modules/engines/Makefile
1583 src/modules/engines/software_generic/Makefile
1584 src/modules/engines/software_gdi/Makefile
1585 src/modules/engines/software_ddraw/Makefile
1586 src/modules/engines/direct3d/Makefile
1587 src/modules/engines/software_16_wince/Makefile
1588 src/modules/engines/software_x11/Makefile
1589 src/modules/engines/fb/Makefile
1590 src/modules/engines/buffer/Makefile
1591 src/modules/engines/directfb/Makefile
1592 src/modules/engines/gl_common/Makefile
1593 src/modules/engines/gl_glew/Makefile
1594 src/modules/engines/gl_x11/Makefile
1595 src/modules/engines/gl_sdl/Makefile
1596 src/modules/engines/quartz/Makefile
1597 src/modules/engines/xrender_x11/Makefile
1598 src/modules/engines/software_sdl/Makefile
1599 src/modules/engines/software_8/Makefile
1600 src/modules/engines/software_8_x11/Makefile
1601 src/modules/engines/software_16/Makefile
1602 src/modules/engines/software_16_x11/Makefile
1603 src/modules/engines/software_16_ddraw/Makefile
1604 src/modules/engines/software_16_sdl/Makefile
1605 src/modules/loaders/Makefile
1606 src/modules/loaders/edb/Makefile
1607 src/modules/loaders/eet/Makefile
1608 src/modules/loaders/gif/Makefile
1609 src/modules/loaders/jpeg/Makefile
1610 src/modules/loaders/png/Makefile
1611 src/modules/loaders/tiff/Makefile
1612 src/modules/loaders/xpm/Makefile
1613 src/modules/loaders/bmp/Makefile
1614 src/modules/loaders/ico/Makefile
1615 src/modules/loaders/tga/Makefile
1616 src/modules/loaders/svg/Makefile
1617 src/modules/loaders/pmaps/Makefile
1618 src/modules/loaders/wbmp/Makefile
1619 src/modules/savers/Makefile
1620 src/modules/savers/edb/Makefile
1621 src/modules/savers/eet/Makefile
1622 src/modules/savers/jpeg/Makefile
1623 src/modules/savers/png/Makefile
1624 src/modules/savers/tiff/Makefile
1625 src/lib/include/Makefile
1626 src/examples/Makefile
1627 README
1628 evas.spec
1629 ])
1630
1631 #disabled for the release:
1632 # evas-cairo-x11.pc
1633 # evas-software-qtopia.pc
1634 # src/modules/engines/cairo_common/Makefile
1635 # src/modules/engines/cairo_x11/Makefile
1636 # src/modules/engines/software_qtopia/Makefile
1637
1638
1639 #####################################################################
1640 ## Sanity Checks
1641
1642 if test "x$build_pthreads" = "xno" ; then
1643   if test "x$build_async_render" = "xyes" ; then
1644     echo "ERROR: PThreads off, but async rendering on. Async rendering"
1645     echo "  needs thread support."
1646     exit 1
1647   fi
1648   if test "x$build_pipe_render" = "xyes" ; then
1649     echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
1650     echo "  needs thread support."
1651     exit 1
1652   fi
1653 fi
1654
1655 if test "x${has_pthreads}" = "xno" ; then
1656   if test "x$build_async_preload" = "xyes" ; then
1657     echo "ERROR: PThreads off, but Async Preload on. Async Preload"
1658     echo "  needs thread support."
1659     exit 1
1660   fi
1661 fi
1662
1663 #####################################################################
1664 ## Info
1665
1666 echo
1667 echo
1668 echo
1669 echo "------------------------------------------------------------------------"
1670 echo "$PACKAGE $VERSION"
1671 echo "------------------------------------------------------------------------"
1672 echo
1673 echo "Configuration Options Summary:"
1674 echo
1675 echo "Engines:"
1676 echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
1677 echo "  Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
1678 echo "  XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1679 echo $ECHO_N "  OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
1680 if test "x$have_evas_engine_gl_x11" = "xyes"; then
1681   echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1682 else
1683   echo
1684 fi
1685 dnl echo "  Cairo X11..................: $have_evas_engine_cairo_x11"
1686 echo "  Software GDI...............: $have_evas_engine_software_gdi"
1687 echo "  Software DirectDraw........: $have_evas_engine_software_ddraw"
1688 echo "  Direct3d...................: $have_evas_engine_direct3d"
1689 echo "  Quartz.....................: $have_evas_engine_quartz"
1690 echo "  OpenGL Glew................: $have_evas_engine_gl_glew"
1691 echo "  Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1692 echo $ECHO_N "  OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
1693 if test "x$have_evas_engine_gl_sdl" = "xyes"; then
1694   echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
1695 else
1696   echo
1697 fi
1698 echo "  Software Framebuffer.......: $have_evas_engine_fb"
1699 echo "  DirectFB...................: $have_evas_engine_directfb"
1700 dnl echo "  Software Qtopia............: $have_evas_engine_software_qtopia"
1701 echo "  Software 8bit grayscale....: $have_evas_engine_software_8"
1702 # FIXME: kill software 16bit
1703 echo "  Software 16bit ............: $have_evas_engine_software_16"
1704 echo "  Software 16bit X11.........: $have_evas_engine_software_16_x11"
1705 echo "  Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1706 echo "  Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1707 echo "  Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1708 echo
1709 echo "Image Loaders:"
1710 echo "  BMP.....................: $have_evas_image_loader_bmp"
1711 echo "  EDB.....................: $have_evas_image_loader_edb"
1712 echo "  EET.....................: $have_evas_image_loader_eet"
1713 echo "  GIF.....................: $have_evas_image_loader_gif"
1714 echo "  ICO.....................: $have_evas_image_loader_ico"
1715 echo "  JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
1716 echo "  PMAPS...................: $have_evas_image_loader_pmaps"
1717 echo "  PNG.....................: $have_evas_image_loader_png"
1718 echo "  SVG.....................: $have_evas_image_loader_svg"
1719 echo "  TGA.....................: $have_evas_image_loader_tga"
1720 echo "  TIFF....................: $have_evas_image_loader_tiff"
1721 echo "  WBMP....................: $have_evas_image_loader_wbmp"
1722 echo "  XPM.....................: $have_evas_image_loader_xpm"
1723 echo
1724 echo "Font Sourcing Systems:"
1725 echo "  EET.....................: $have_evas_font_loader_eet"
1726 echo
1727 echo "Font Searching Systems:"
1728 echo "  Fontconfig..............: $have_fontconfig"
1729 echo
1730 echo "Font Rendering Helpers:"
1731 echo "  Fribidi.................: $have_fribidi"
1732 echo "  Harfbuzz................: $have_harfbuzz"
1733 # FIXME: add non freetype2 font engine support
1734 # FIXME: make freetype2 optional
1735 echo
1736 echo "CPU Specific Extensions:"
1737 echo "  Fallback C Code.........: $build_cpu_c"
1738 echo "  MMX.....................: $build_cpu_mmx"
1739 echo "  SSE.....................: $build_cpu_sse"
1740 echo "  ALTIVEC.................: $build_cpu_altivec"
1741 echo "  NEON....................: $build_cpu_neon"
1742 echo "  Thread Support..........: $build_pthreads"
1743 echo
1744 echo "Features:"
1745 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
1746 echo "  Cache Server............: $want_evas_cserve"
1747 echo
1748 dnl
1749 dnl ... DISABLED! some testing has shown that this seems to have some
1750 dnl nasty bugs on both x86 and arm (tegra2 dual core tested), so just
1751 dnl disabling this for now until it can be fixed
1752 dnl 
1753 echo "  Threaded Pipe Rendering.: $build_pipe_render"
1754 echo "  Async Pipe Rendering....: $build_async_render"
1755 echo "  Async Events............: $build_async_events"
1756 echo "  Async Image Preload.....: $build_async_preload"
1757 echo
1758 echo "  Word Cache..............: $want_word_cache"
1759 echo "  Metric Cache............: $want_metric_cache"
1760 echo
1761 echo "ARGB Software Engine Options:"
1762 echo "  Sampling Scaler.........: $scaler_sample"
1763 echo "  Smooth Scaler...........: $scaler_smooth"
1764 # FIXME: add an mmx scaler routine
1765 echo "  YUV Converter...........: $conv_yuv"
1766 # FIXME: add more YUV format and colorvariant support
1767 echo
1768 echo "ARGB Conversion Options:"
1769 echo "  Smaller Dither Mask.....: $conv_small_dither"
1770 echo "  Line Dither Mask........: $conv_line_dither"
1771 echo "  No Dither Mask for 16bpp: $conv_no_dither"
1772 echo "  8bpp RGB 332............: $conv_8_rgb_332"
1773 echo "  8bpp RGB 666............: $conv_8_rgb_666"
1774 echo "  8bpp RGB 232............: $conv_8_rgb_232"
1775 echo "  8bpp RGB 222............: $conv_8_rgb_222"
1776 echo "  8bpp RGB 221............: $conv_8_rgb_221"
1777 echo "  8bpp RGB 121............: $conv_8_rgb_121"
1778 echo "  8bpp RGB 111............: $conv_8_rgb_111"
1779 echo "  8bpp Grayscale (256)....: $conv_8_gry_1"
1780 echo "  8bpp Grayscale (16).....: $conv_8_gry_16"
1781 echo "  8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
1782 # FIXME: add grayscale and B&W support to standard x converters
1783 echo "  16bpp RGB 565...........: $conv_16_rgb_565"
1784 echo "  16bpp BGR 565...........: $conv_16_bgr_565"
1785 echo "  16bpp RGB 555...........: $conv_16_rgb_555"
1786 echo "  16bpp RGB 444...........: $conv_16_rgb_444"
1787 echo "  16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1788 # FIXME: add 555 (444 ipaq) support
1789 # FIXME: add 30bpp support
1790 # FIXME: add palletted support (ugh!)
1791 # FIXME: add 8bpp and below rotation
1792 echo "  16bpp Rotation 0........: $conv_16_rgb_rot_0"
1793 echo "  16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1794 echo "  16bpp Rotation 180......: $conv_16_rgb_rot_180"
1795 echo "  16bpp Rotation 270......: $conv_16_rgb_rot_270"
1796 echo "  24bpp RGB 888...........: $conv_24_rgb_888"
1797 echo "  24bpp BGR 888...........: $conv_24_bgr_888"
1798 echo "  24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1799 # FIXME: add 24bpp rotation
1800 echo "  32bpp RGB 8888..........: $conv_32_rgb_8888"
1801 echo "  32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1802 echo "  32bpp BGR 8888..........: $conv_32_bgr_8888"
1803 echo "  32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1804 echo "  32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1805 echo "  32bpp Rotation 0........: $conv_32_rgb_rot_0"
1806 echo "  32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1807 echo "  32bpp Rotation 180......: $conv_32_rgb_rot_180"
1808 echo "  32bpp Rotation 270......: $conv_32_rgb_rot_270"
1809 echo
1810 echo "Documentation.............: ${build_doc}"
1811 echo "Examples..................: install:${install_examples} build:${build_examples}"
1812 echo
1813 echo "Compilation............: make (or gmake)"
1814 echo "  CPPFLAGS.............: $CPPFLAGS"
1815 echo "  CFLAGS...............: $CFLAGS"
1816 echo "  CXXFLAGS.............: $CXXFLAGS"
1817 echo "  LDFLAGS..............: $LDFLAGS"
1818 echo
1819 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1820 echo "  prefix...............: $prefix"
1821 echo
1822 if test "x${have_static_module}" = "xyes" ; then
1823 echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
1824 echo "         You must know what you are doing, or else you will have a lot of"
1825 echo "         problems. And Kenny will be killed."
1826 echo "         Think about that."
1827 echo
1828 fi