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