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