back to svn soname
[framework/uifw/evas.git] / configure.ac
1 # get rid of that stupid cache mechanism
2 rm -f config.cache
3
4 AC_INIT([evas], [0.9.9.061], [enlightenment-devel@lists.sourceforge.net])
5 AC_PREREQ([2.52])
6 AC_CONFIG_SRCDIR([configure.ac])
7 AC_CONFIG_MACRO_DIR([m4])
8 AC_CANONICAL_BUILD
9 AC_CANONICAL_HOST
10 AC_ISC_POSIX
11
12 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
13 AM_CONFIG_HEADER(config.h)
14
15 AC_PROG_CXX
16 AC_PROG_CC
17 AM_PROG_CC_STDC
18 AC_HEADER_STDC
19 AC_C_BIGENDIAN
20 AC_C_CONST
21 AC_C___ATTRIBUTE__
22
23 AC_LIBTOOL_WIN32_DLL
24 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
25 AC_PROG_LIBTOOL
26
27 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
28 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
29 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
30 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
31 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
32 AC_SUBST(version_info)
33
34 release="ver-pre-svn-02"
35 case "$host_os" in
36    mingw32ce* | cegcc*)
37       MODULE_ARCH="$host_os-$host_cpu"
38       ;;
39    *)
40       release_info="-release $release"
41       MODULE_ARCH="$host_os-$host_cpu-$release"
42       ;;
43 esac
44 AC_SUBST(release_info)
45 AC_SUBST(MODULE_ARCH)
46 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
47
48 want_fontconfig="auto"
49 want_fribidi="auto"
50
51 want_evas_engine_buffer="yes"
52 want_evas_engine_software_x11="no"
53 want_evas_engine_xrender_x11="no"
54 want_evas_engine_gl_x11="no"
55 want_evas_engine_cairo_x11="no"
56 want_evas_engine_software_xcb="no"
57 want_evas_engine_xrender_xcb="no"
58 want_evas_engine_software_gdi="no"
59 want_evas_engine_software_ddraw="no"
60 want_evas_engine_direct3d="no"
61 want_evas_engine_quartz="no"
62 want_evas_engine_gl_glew="no"
63 want_evas_engine_software_sdl="no"
64 want_evas_engine_fb="no"
65 want_evas_engine_directfb="no"
66 want_evas_engine_software_qtopia="no"
67 want_evas_engine_software_16_x11="no"
68 want_evas_engine_software_16_ddraw="no"
69 want_evas_engine_software_16_wince="no"
70
71 want_evas_image_loader_edb="yes"
72 want_evas_image_loader_eet="yes"
73 want_evas_image_loader_gif="yes"
74 want_evas_image_loader_jpeg="yes"
75 want_evas_image_loader_pmaps="yes"
76 want_evas_image_loader_png="yes"
77 want_evas_image_loader_svg="yes"
78 want_evas_image_loader_tiff="yes"
79 want_evas_image_loader_xpm="yes"
80
81 want_evas_font_loader_eet="yes"
82
83 case "$host_os" in
84    mingw32ce* | cegcc*)
85       want_fontconfig="no"
86       want_evas_engine_software_16_wince="yes"
87       want_evas_image_loader_edb="no"
88       want_evas_image_loader_gif="no"
89       want_evas_image_loader_svg="no"
90       want_evas_image_loader_tiff="no"
91       ;;
92    mingw*)
93       want_evas_engine_software_gdi="yes"
94       want_evas_engine_software_ddraw="yes"
95       want_evas_engine_direct3d="yes"
96       want_evas_engine_software_16_ddraw="yes"
97       want_evas_image_loader_edb="no"
98       want_evas_image_loader_svg="no"
99       ;;
100    darwin*)
101       want_evas_engine_software_x11="auto"
102       want_evas_engine_quartz="auto"
103       ;;
104    *)
105       want_evas_engine_software_x11="auto"
106       want_evas_engine_xrender_x11="auto"
107       want_evas_engine_software_16_x11="auto"
108       ;;
109 esac
110
111 LT_PROG_RC
112 AC_FUNC_ALLOCA
113
114 PKG_PROG_PKG_CONFIG
115
116 dnl wierd debian etch bug where pthread_barrier doesn't work without adding
117 dnl this.
118 CFLAGS="${CFLAGS=} -D_GNU_SOURCE"
119 AC_SUBST(CFLAGS)
120
121 WIN32_CPPFLAGS=""
122 WIN32_CFLAGS=""
123 lt_enable_auto_import=""
124 case "$host_os" in
125         mingw*|cegcc*)
126                 PKG_CHECK_MODULES(EVIL, evil)
127                 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed])
128                 dnl needed for correct definition of EAPI
129                 AC_DEFINE(EFL_EVAS_BUILD, 1, [Define to mention that evas is built])
130                 if test "$host_os" = "cegcc" ; then
131                         WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
132                         WIN32_CFLAGS="-mwin32"
133                         lt_enable_auto_import="-Wl,--enable-auto-import"
134                 fi
135                 if test "$host_os" = "mingw32ce" ; then
136                         WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
137                 fi
138                 ;;
139 esac
140 AC_SUBST(WIN32_CPPFLAGS)
141 AC_SUBST(WIN32_CFLAGS)
142 AC_SUBST(lt_enable_auto_import)
143
144
145 dnl when used, that option makes configure script fails when
146 dnl a requirement is selected, but not met.
147 AC_ARG_ENABLE(strict,
148   AC_HELP_STRING(
149     [--enable-strict],
150     [enable strict checking mode. [[default==disabled]]]),
151   [use_strict="yes"],
152   [use_strict="no"]
153 )
154
155 #######################################
156 ## CACHE SERVER (CSERVE / CS)
157 want_evas_cserve="yes"
158 AC_MSG_CHECKING(whether to build shared cache server and support)
159 AC_ARG_ENABLE(evas-cserve,
160   AC_HELP_STRING(
161     [--disable-evas-cserve],
162     [disable shared cache server support. [[default=enabled]]]
163   ),
164   [ want_evas_cserve="$enableval" ]
165 )
166 AC_MSG_RESULT($want_evas_cserve)
167
168 if test "x${want_evas_cserve}" = "xyes" ; then
169    AC_MSG_CHECKING([whether shm_open() is present])
170    LIBS_save=${LIBS}
171    LIBS="$LIBS -lrt"
172    AC_LINK_IFELSE(
173       [AC_LANG_PROGRAM(
174          [[
175 #include <sys/types.h>
176 #include <sys/mman.h>
177 #include <fcntl.h>
178          ]],
179          [[
180 int fd;
181 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
182 shm_unlink("/");
183          ]])],
184       [want_evas_cserve="yes"],
185       [want_evas_cserve="no"])
186    LIBS=${LIBS_save}
187    AC_MSG_RESULT([$want_evas_cserve])
188 fi
189
190 AM_CONDITIONAL(EVAS_CSERVE, test "x$want_evas_cserve" = "xyes")
191 if test "x$want_evas_cserve" = "xyes"; then
192   AC_DEFINE(EVAS_CSERVE, 1, [Shared caceh server.])
193 fi
194
195 ##################################################################
196 #fribidi support - OPTIONAL!
197
198 have_fribidi="no"
199 AC_ARG_ENABLE(fribidi,
200   AC_HELP_STRING(
201     [--disable-fribidi],
202     [disable bidirectional text support. [[default=enabled]]]
203   ),
204   [ want_fribidi=$enableval ]
205 )
206
207 if test "x$want_fribidi" = "xyes" -o "x$want_fribidi" = "xauto" ; then
208   # Check if really available
209   PKG_CHECK_MODULES(FRIBIDI, fribidi,
210     [
211       have_fribidi="yes"
212       AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
213     ],
214     [
215       if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
216         AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
217       fi
218     ])
219 fi
220 if test "x$have_fribidi" = "xno"; then
221   HAS_BIDI=0
222 fi
223 #####################################################################
224 # Check evas strong dependencie
225
226 PKG_CHECK_MODULES([EINA], [eina-0])
227
228 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
229
230 #######################################
231 ## Simple X11 build/link
232
233 AC_ARG_ENABLE(simple-x11,
234   AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
235   [ want_evas_simple_x11=$enableval ]
236 )
237
238 #######################################
239 ## FontConfig
240
241 have_fontconfig="no"
242 AC_ARG_ENABLE(fontconfig,
243   AC_HELP_STRING(
244     [--disable-fontconfig],
245     [disable fontconfig for finding fonts. [[default=enabled]]]
246   ),
247   [ want_fontconfig=$enableval ]
248 )
249
250 if test "x$want_fontconfig" = "xyes" -o "x$want_fontconfig" = "xauto" ; then
251   # Check if really available
252   PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
253     [
254       have_fontconfig="yes"
255       AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
256     ],
257     [
258       if test "x$want_fontconfig" = "xyes" -a "x$use_strict" = "xyes" ; then
259         AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
260       fi
261     ])
262 fi
263
264 ###############
265 ## dlopen
266
267 dlopen_libs=""
268 case "$host_os" in
269   mingw32ce* | cegcc*)
270 dnl managed by evil
271     AC_DEFINE(HAVE_DLADDR)
272   ;;
273   mingw*)
274 dnl nothing on mingw platform
275   ;;
276   *)
277     AC_CHECK_FUNCS(dlopen, res=yes, res=no)
278     if test "x$res" = "xyes"; then
279       AC_CHECK_FUNCS(dladdr, AC_DEFINE(HAVE_DLADDR))
280     else
281       AC_CHECK_LIB(dl, dlopen, res=yes, res=no)
282       if test "x$res" = "xyes"; then
283         AC_CHECK_LIB(dl, dladdr, AC_DEFINE(HAVE_DLADDR))
284         dlopen_libs=-ldl
285       else
286         AC_MSG_ERROR(Cannot find dlopen)
287       fi
288     fi
289 esac
290 AC_SUBST(dlopen_libs)
291
292 AC_CHECK_HEADER([fnmatch.h],
293    [dummy="yes"],
294    [AC_MSG_ERROR([Cannot find fnmatch.h. Make sure your CFLAGS environment variable contains include lines for the location of this file. MinGW users: see the INSTALL file])])
295
296 AC_CHECK_FUNCS([fnmatch], [res="yes"], [res="no"])
297 if test "x$res" = "xno"; then
298    AC_SEARCH_LIBS([fnmatch],
299       [fnmatch evil iberty],
300       [res="yes"],
301       [res="no"])
302    if test "x$res" = "xno"; then
303       AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
304    fi
305 fi
306
307 #####################################################################
308 ## Engines
309
310 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [no], [Buffer])
311
312 EVAS_CHECK_ENGINE([software-x11], [${want_evas_engine_software_x11}], [yes], [Software X11])
313
314 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
315
316 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
317
318 # disable cairo engine for the release
319 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
320
321 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
322
323 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
324
325 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
326
327 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
328
329 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
330
331 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
332
333 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
334
335 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
336
337 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [no], [Framebuffer])
338
339 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
340
341 # disable cairo engine for the release
342 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
343
344 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
345
346 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
347
348 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
349
350 # common cairo
351 #have_evas_engine_cairo_common="no"
352 #if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
353 #   have_evas_engine_cairo_common="yes"
354 #   AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
355 #fi
356 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
357
358 # common gl
359 have_evas_engine_gl_common="no"
360 if test "x$have_evas_engine_gl_x11" = "xyes" -o "x$have_evas_engine_gl_glew" = "xyes"; then
361    AC_DEFINE(BUILD_ENGINE_GL_COMMON, 1, [Generic OpenGL Rendering Support])
362    have_evas_engine_gl_common="yes"
363    evas_engine_gl_common_libs="-lglu32"
364 fi
365
366 if test "x$have_evas_engine_gl_x11" = "xyes" ; then
367    evas_engine_gl_common_libs="-lGL -lGLU -lpthread"
368 fi
369
370 if test "x$have_evas_engine_gl_glew" = "xyes" ; then
371    evas_engine_gl_common_libs="-lglu32"
372 fi
373 AC_SUBST([evas_engine_gl_common_libs])
374
375 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, test "x$have_evas_engine_gl_common" = "xyes")
376
377 # SDL primitive
378 sdl_primitive="no"
379
380 AC_ARG_ENABLE([sdl-primitive],
381    [AC_HELP_STRING([--enable-sdl-primitive], [])],
382    [sdl_primitive=${enableval}]
383 )
384 AC_MSG_CHECKING([whether to use SDL primitive when possible])
385 AC_MSG_RESULT([${sdl_primitive}])
386
387 if test "x${sdl_primitive}" = "xyes" ; then
388    AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
389 fi
390
391 # if software 16 x11 is enabled - build software_16 (the generic 16bit
392 # engine). later enable it fb_16 or other "16" bit engines are enabled.
393 have_evas_engine_software_16="no"
394 if test "x$have_evas_engine_software_16_x11" = "xyes"; then
395    have_evas_engine_software_16="yes"
396 fi
397 if test "x$have_evas_engine_software_sdl" = "xyes"; then
398    have_evas_engine_software_16="yes"
399 fi
400 if test "x$have_evas_engine_software_16_ddraw" = "xyes"; then
401    have_evas_engine_software_16="yes"
402 fi
403 if test "x$have_evas_engine_software_16_wince" = "xyes"; then
404    have_evas_engine_software_16="yes"
405 fi
406 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
407
408
409 #####################################################################
410 ## Image loaders
411
412 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
413
414 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
415 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
416
417 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
418
419 have_evas_image_saver_jpeg="no"
420 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
421
422 dnl Windows has no sigsetjmp function, nor equivalent.
423 dnl So we disable the jpeg saver.
424 dnl TODO: must find a workaround
425 case "$host_os" in
426    mingw* | cegcc*)
427       ;;
428    *)
429       if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
430          have_evas_image_saver_jpeg="yes"
431       fi
432       ;;
433 esac
434 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
435
436 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
437
438 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
439
440 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
441
442 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
443
444 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
445
446
447 #####################################################################
448 ## Cpu based optimizations
449
450 #######################################
451 ## PTHREADS
452 pthread_cflags=""
453 pthread_libs=""
454 build_pthreads="no"
455 has_pthreads="no"
456 need_pthreads="no"
457 # basic pthread support
458 AC_CHECK_HEADER(pthread.h,
459   [
460    has_pthreads="yes"
461   ],
462   [
463    has_pthreads="no"
464   ]
465 )
466
467 # sched_getaffinity pthread_attr_setaffinity_np
468 AC_CHECK_HEADERS(pthread.h sched.h,
469       [
470         AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
471           [
472             AC_CHECK_LIB(pthread, pthread_barrier_wait,
473               [ build_pthreads="yes" ],
474               [ build_pthreads="no" ]
475             )
476           ],
477           [ build_pthreads="no" ]
478         )
479       ],
480       [ build_pthreads="no" ]
481 )
482
483 #######################################
484 ## Pthread
485 AC_MSG_CHECKING(whether to build pthread code)
486 AC_ARG_ENABLE(pthreads,
487   AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
488   [
489       if test "x$enableval" = "xyes" ; then
490         if test "x$build_pthreads" = "xyes"; then
491           AC_MSG_RESULT(yes)
492           AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
493           build_pthreads="yes"
494           need_pthreads="yes"
495         else
496           if "x$use_strict" = "xyes"; then
497             AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
498           else
499             AC_MSG_RESULT(no: pthread headers or functions not found)
500           fi
501         fi
502       else
503         AC_MSG_RESULT(no)
504         build_pthreads="no"
505       fi
506   ],
507   [
508     AC_MSG_RESULT($build_pthreads)
509     if test "x$build_pthreads" = "xyes" ; then
510       AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
511       need_pthreads="yes"
512     fi
513   ]
514 )
515
516 #######################################
517 ## Pipe Renderer
518 build_pipe_render="no"
519 AC_MSG_CHECKING(whether to build Threaded Pipe Rendering support)
520 AC_ARG_ENABLE(pipe-render,
521   AC_HELP_STRING([--enable-pipe-render], [enable threaded pipe rendering support]),
522   [ build_pipe_render=$enableval ]
523 )
524 AC_MSG_RESULT($build_pipe_render)
525
526 AC_MSG_CHECKING(whether we can build Threaded Pipe Rendering support)
527 if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
528   AC_MSG_RESULT(yes)
529   AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
530   build_pipe_render="yes"
531   need_pthreads="yes"
532 else
533   AC_MSG_RESULT(no)
534   build_pipe_render="no"
535 fi
536
537 #######################################
538 ## Async events
539 build_async_events="auto"
540 AC_MSG_CHECKING(whether to build Async Events support)
541 AC_ARG_ENABLE(async-events,
542   AC_HELP_STRING([--enable-async-events], [enable async events support]),
543   [ build_async_events=$enableval ]
544 )
545 AC_MSG_RESULT($build_async_events)
546
547 AC_MSG_CHECKING(whether we can build Async Events support)
548 if test \( "x$build_async_events" = "xyes" -o "x$build_async_events" = "xauto" \) -a "x$has_pthreads" = "xyes"; then
549   AC_MSG_RESULT(yes)
550   AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
551   build_async_events="yes"
552   need_pthreads="yes"
553 else
554   AC_MSG_RESULT(no)
555   build_async_events="no"
556 fi
557
558 #######################################
559 ## Async image preload
560 build_async_preload="auto"
561 AC_MSG_CHECKING(whether to build Async Image Preload support)
562 AC_ARG_ENABLE(async-preload,
563   AC_HELP_STRING([--enable-async-preload], [enable async image preloading support]),
564   [ build_async_preload=$enableval ]
565 )
566 AC_MSG_RESULT($build_async_preload)
567
568 AC_MSG_CHECKING(whether we can build Async Image Preload support)
569 if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
570   AC_MSG_RESULT(yes)
571   AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
572   build_async_preload="yes"
573   need_pthreads="yes"
574 else
575   AC_MSG_RESULT(no)
576   build_async_preload="no"
577 fi
578
579 #######################################
580 ## Link with pthread if needed
581 AC_MSG_CHECKING(whether we should link with pthread)
582 if test "x$need_pthreads" = "xyes"; then
583   AC_MSG_RESULT(yes)
584   pthread_cflags=""
585   pthread_libs="-lpthread"
586 else
587   AC_MSG_RESULT(no)
588 fi
589
590 #######################################
591 ## MMX
592 build_cpu_mmx="no"
593 case $host_cpu in
594   i*86)
595     build_cpu_mmx="yes"
596     ;;
597   x86_64)
598     build_cpu_mmx="yes"
599     ;;
600 esac
601 AC_MSG_CHECKING(whether to build mmx code)
602 AC_ARG_ENABLE(cpu-mmx,
603   AC_HELP_STRING([--enable-cpu-mmx], [enable mmx code]),
604   [
605       if test "x$enableval" = "xyes" ; then
606         AC_MSG_RESULT(yes)
607         AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
608         build_cpu_mmx="yes"
609       else
610         AC_MSG_RESULT(no)
611         build_cpu_mmx="no"
612       fi
613   ],
614   [
615     AC_MSG_RESULT($build_cpu_mmx)
616     if test "x$build_cpu_mmx" = "xyes" ; then
617       AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
618     fi
619   ]
620 )
621
622 #######################################
623 ## SSE
624 build_cpu_sse="no"
625 case $host_cpu in
626   i*86)
627     build_cpu_sse="yes"
628     ;;
629   x86_64)
630     build_cpu_sse="yes"
631     ;;
632 esac
633 AC_MSG_CHECKING(whether to build sse code)
634 AC_ARG_ENABLE(cpu-sse,
635   AC_HELP_STRING([--enable-cpu-sse], [enable sse code]),
636   [
637       if test "x$enableval" = "xyes" ; then
638         AC_MSG_RESULT(yes)
639         AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
640         build_cpu_sse="yes"
641       else
642         AC_MSG_RESULT(no)
643         build_cpu_sse="no"
644       fi
645   ],
646   [
647     AC_MSG_RESULT($build_cpu_sse)
648     if test "x$build_cpu_sse" = "xyes" ; then
649       AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
650     fi
651   ]
652 )
653
654 #######################################
655 ## ALTIVEC
656 build_cpu_altivec="no"
657 case $host_cpu in
658   *power* | *ppc*)
659     build_cpu_altivec="auto"
660     ;;
661 esac
662 altivec_cflags=""
663 AC_MSG_CHECKING(whether to build altivec code)
664 AC_ARG_ENABLE(cpu-altivec,
665   AC_HELP_STRING([--enable-cpu-altivec], [enable altivec code]),
666   [ build_cpu_altivec=$enableval ],
667   [
668     if test ! "x$build_cpu_altivec" = "xauto"; then
669       build_cpu_altivec="no"
670     fi
671   ]
672 )
673 AC_MSG_RESULT($build_cpu_altivec)
674
675 if test "x$build_cpu_altivec" = "xyes"; then
676    AC_CHECK_HEADER(altivec.h,
677      [
678         AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
679         AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
680         build_cpu_altivec="yes"
681      ],
682      [
683        save_CFLAGS=$CFLAGS
684        save_CPPFLAGS=$CPPFLAGS
685        CFLAGS=$CFLAGS" -maltivec"
686        CPPFLAGS=$CPPFLAGS" -maltivec"
687        unset ac_cv_header_altivec_h
688        AC_CHECK_HEADER(altivec.h,
689          [
690             AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
691             AC_DEFINE(HAVE_ALTIVEC_H, 1, [Have altivec.h header file])
692             build_cpu_altivec="yes"
693          ],
694          [
695             if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
696               AC_MSG_ERROR(Altivec not found (strict dependencies checking))
697             fi
698             build_cpu_altivec="no"
699          ]
700        )
701        CFLAGS=$save_CFLAGS
702        CPPFLAGS=$save_CPPFLAGS
703      ]
704    )
705 fi
706
707 if test "x$build_cpu_altivec" = "xyes"; then
708    AC_MSG_CHECKING(whether to use altivec compiler flag)
709    if test "x$GCC" = "xyes"; then
710       if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
711          altivec_cflags="-faltivec"
712          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
713       elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
714          altivec_cflags="-maltivec"
715          AC_DEFINE(BUILD_ALTIVEC, 1, [Build Altivec Code])
716       fi
717    fi
718   AC_MSG_RESULT($altivec_cflags)
719    CFLAGS="$CFLAGS $altivec_cflags"
720 fi
721
722 #######################################
723 ## NEON
724 build_cpu_neon="no"
725 case $host_cpu in
726   armv7*)
727     build_cpu_neon="yes"
728     ;;
729 esac
730 AC_MSG_CHECKING(whether to build neon code)
731 AC_ARG_ENABLE(cpu-neon,
732   AC_HELP_STRING([--enable-cpu-neon], [enable neon code]),
733   [
734       if test "x$enableval" = "xyes" ; then
735         AC_MSG_RESULT(yes)
736         AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
737         build_cpu_neon="yes"
738       else
739         AC_MSG_RESULT(no)
740         build_cpu_neon="no"
741       fi
742   ],
743   [
744     AC_MSG_RESULT($build_cpu_neon)
745     if test "x$build_cpu_neon" = "xyes" ; then
746       AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
747     fi
748   ]
749 )
750
751 #######################################
752 ## C
753 build_cpu_c="no"
754 build_cpu_c="yes"
755 AC_MSG_CHECKING(whether to build c code)
756 AC_ARG_ENABLE(cpu-c,
757   AC_HELP_STRING([--enable-cpu-c], [enable C code]),
758   [
759       if test "x$enableval" = "xyes" ; then
760         AC_MSG_RESULT(yes)
761         AC_DEFINE(BUILD_C, 1, [Build plain C code])
762         build_cpu_c="yes"
763       else
764         AC_MSG_RESULT(no)
765         build_cpu_c="no"
766       fi
767   ], [
768       AC_MSG_RESULT($build_cpu_c)
769       if test "x$build_cpu_c" = "xyes" ; then
770         AC_DEFINE(BUILD_C, 1, [Build plain C code])
771       fi
772   ]
773 )
774
775 #######################################
776 ## MAGIC_DEBUG
777 want_evas_magic_debug="yes"
778 AC_MSG_CHECKING(whether to check magic for evas object)
779 AC_ARG_ENABLE(evas-magic-debug,
780   AC_HELP_STRING(
781     [--disable-evas-magic-debug],
782     [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
783   ),
784   [ want_evas_magic_debug="$enableval" ]
785 )
786 AC_MSG_RESULT($want_evas_magic_debug)
787
788 AM_CONDITIONAL(EVAS_MAGIC_DEBUG, test "x$want_evas_magic_debug" = "xyes")
789 if test "x$want_evas_magic_debug" = "xyes"; then
790   AC_DEFINE(EVAS_MAGIC_DEBUG, 1, [complain when peole pass in wrong object types etc.])
791 fi
792
793 #####################################################################
794 ## ARGB engine options
795
796 #######################################
797 ## Nearest sampling scaler
798 scaler_sample="no"
799 scaler_sample="yes"
800 AC_MSG_CHECKING(whether to build sampling scaler)
801 AC_ARG_ENABLE(scale-sample,
802   AC_HELP_STRING([--enable-scale-sample], [enable sampling scaler code]),
803   [
804       if test "x$enableval" = "xyes" ; then
805         AC_MSG_RESULT(yes)
806         AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
807         scaler_sample="yes"
808       else
809         AC_MSG_RESULT(no)
810         scaler_sample="no"
811       fi
812   ], [
813       AC_MSG_RESULT($scaler_sample)
814       if test "x$scaler_sample" = "xyes" ; then
815         AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
816       fi
817   ]
818 )
819
820 #######################################
821 ## Smooth super and sub sampling scaler
822 scaler_smooth="no"
823 scaler_smooth="yes"
824 AC_MSG_CHECKING(whether to build smooth scaler)
825 AC_ARG_ENABLE(scale-smooth,
826   AC_HELP_STRING([--enable-scale-smooth], [enable smooth scaler code]),
827   [
828       if test "x$enableval" = "xyes" ; then
829         AC_MSG_RESULT(yes)
830         AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
831         scaler_smooth="yes"
832       else
833         AC_MSG_RESULT(no)
834         scaler_smooth="no"
835       fi
836   ], [
837       AC_MSG_RESULT($scaler_smooth)
838       if test "x$scaler_smooth" = "xyes" ; then
839         AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
840       fi
841   ]
842 )
843
844 #######################################
845 ## YUV -> ARGB converter
846 conv_yuv="no"
847 conv_yuv="yes"
848 AC_MSG_CHECKING(whether to build yuv converter code)
849 AC_ARG_ENABLE(convert-yuv,
850   AC_HELP_STRING([--enable-convert-yuv], [enable yuv converter code]),
851   [
852       if test "x$enableval" = "xyes" ; then
853         AC_MSG_RESULT(yes)
854         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
855         conv_yuv="yes"
856       else
857         AC_MSG_RESULT(no)
858         conv_yuv="no"
859       fi
860   ], [
861       AC_MSG_RESULT($conv_yuv)
862       if test "x$conv_yuv" = "xyes" ; then
863         AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
864       fi
865   ]
866 )
867
868 #####################################################################
869 ## Output rendering features
870
871 #######################################
872 ## Small dither mask instead of big one (lower quality)
873 conv_small_dither="no"
874 AC_MSG_CHECKING(whether to build small dither mask code)
875 AC_ARG_ENABLE(small-dither-mask,
876   AC_HELP_STRING([--enable-small-dither-mask], [enable small dither mask code]),
877   [
878       if test "x$enableval" = "xyes" ; then
879         AC_MSG_RESULT(yes)
880         AC_DEFINE(BUILD_SMALL_DITHER_MASK, 1, [Small Dither Mask Support])
881         conv_small_dither="yes"
882       else
883         AC_MSG_RESULT(no)
884         conv_small_dither="no"
885       fi
886   ], [
887       AC_MSG_RESULT($conv_small_dither)
888       if test "x$conv_small_dither" = "xyes" ; then
889         AC_DEFINE(BUILD_SMALL_DITHER_MASK, 1, [Small Dither Mask Support])
890       fi
891   ]
892 )
893
894 #######################################
895 ## Alternate Line dither mask instead of big one (lower quality - but fastest)
896 conv_line_dither="no"
897 AC_MSG_CHECKING(whether to build line dither mask code)
898 AC_ARG_ENABLE(line-dither-mask,
899   AC_HELP_STRING([--enable-line-dither-mask], [enable line dither mask code]),
900   [
901       if test "x$enableval" = "xyes" ; then
902         AC_MSG_RESULT(yes)
903         AC_DEFINE(BUILD_LINE_DITHER_MASK, 1, [Line Dither Mask Support])
904         conv_line_dither="yes"
905       else
906         AC_MSG_RESULT(no)
907         conv_line_dither="no"
908       fi
909   ], [
910       AC_MSG_RESULT($conv_line_dither)
911       if test "x$conv_line_dither" = "xyes" ; then
912         AC_DEFINE(BUILD_LINE_DITHER_MASK, 1, [Line Dither Mask Support])
913       fi
914   ]
915 )
916
917 #######################################
918 ## No dither mask at all for 16bpp
919 conv_no_dither="no"
920 AC_MSG_CHECKING(whether to build without dither mask for 16bpp)
921 AC_ARG_ENABLE(no-dither-mask,
922   AC_HELP_STRING([--enable-no-dither-mask], [enable conversion to 16bpp without dither mask]),
923   [
924       if test "x$enableval" = "xyes" ; then
925         AC_MSG_RESULT(yes)
926         AC_DEFINE(BUILD_NO_DITHER_MASK, 1, [No Dither Mask Support])
927         conv_no_dither="yes"
928       else
929         AC_MSG_RESULT(no)
930         conv_no_dither="no"
931       fi
932   ], [
933       AC_MSG_RESULT($conv_no_dither)
934       if test "x$conv_no_dither" = "xyes" ; then
935         AC_DEFINE(BUILD_NO_DITHER_MASK, 1, [No Dither Mask Support])
936       fi
937   ]
938 )
939
940 #######################################
941 ## Convert to 8bpp RGB 332
942 EVAS_CONVERT_COLOR(8, RGB, 332, [yes])
943 ## Convert to 8bpp RGB 666
944 EVAS_CONVERT_COLOR(8, RGB, 666, [yes])
945 ## Convert to 8bpp RGB 232
946 EVAS_CONVERT_COLOR(8, RGB, 232, [yes])
947 ## Convert to 8bpp RGB 222
948 EVAS_CONVERT_COLOR(8, RGB, 222, [yes])
949 ## Convert to 8bpp RGB 221
950 EVAS_CONVERT_COLOR(8, RGB, 221, [yes])
951 ## Convert to 8bpp RGB 121
952 EVAS_CONVERT_COLOR(8, RGB, 121, [yes])
953 ## Convert to 8bpp RGB 111
954 EVAS_CONVERT_COLOR(8, RGB, 111, [yes])
955 ## Convert to 16bpp RGB 565
956 EVAS_CONVERT_COLOR(16, RGB, 565)
957 ## Convert to 16bpp BGR 565
958 EVAS_CONVERT_COLOR(16, BGR, 565)
959 ## Convert to 16bpp RGB 555
960 EVAS_CONVERT_COLOR(16, RGB, 555)
961 ## Convert to 16bpp RGB 444
962 EVAS_CONVERT_COLOR(16, RGB, 444)
963
964 #######################################
965 ## Convert to 16bpp RGB 565 (444 ipaq)
966 conv_16_rgb_ipq="yes"
967 AC_MSG_CHECKING(whether to build 16bpp 565 (444 ipaq) converter code)
968 AC_ARG_ENABLE(convert-16-rgb-ipq,
969   AC_HELP_STRING([--disable-convert-16-rgb-ipq], [disable 16bpp 565 (444 ipaq) converter code]),
970   [
971       if test "x$enableval" = "xyes" ; then
972         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
973         conv_16_rgb_ipq="yes"
974       else
975         conv_16_rgb_ipq="no"
976       fi
977   ], [
978       if test "x$conv_16_rgb_ipq" = "xyes" ; then
979         AC_DEFINE(BUILD_CONVERT_16_RGB_454645, 1, [16bpp 565 (444 ipaq) Converter Support])
980       fi
981   ]
982 )
983 AC_MSG_RESULT($conv_16_rgb_ipq)
984
985 #######################################
986 ## Convert to 16bpp RGB with rotation of 0
987 EVAS_CONVERT_ROT(16, RGB, 0)
988 ## Convert to 16bpp RGB with rotation of 180
989 EVAS_CONVERT_ROT(16, RGB, 180)
990 ## Convert to 16bpp RGB with rotation of 270
991 EVAS_CONVERT_ROT(16, RGB, 270)
992 ## Convert to 16bpp RGB with rotation of 90
993 EVAS_CONVERT_ROT(16, RGB, 90)
994
995 #######################################
996 ## Convert to 24bpp RGB 888
997 EVAS_CONVERT_COLOR(24, RGB, 888)
998 ## Convert to 24bpp BGR 888
999 EVAS_CONVERT_COLOR(24, BGR, 888)
1000 ## Convert to 32bpp RGB 8888
1001 EVAS_CONVERT_COLOR(32, RGB, 8888)
1002 ## Convert to 32bpp RGBX 8888
1003 EVAS_CONVERT_COLOR(32, RGBX, 8888)
1004 ## Convert to 32bpp BGR 8888
1005 EVAS_CONVERT_COLOR(32, BGR, 8888)
1006 ## Convert to 32bpp BGRX 8888
1007 EVAS_CONVERT_COLOR(32, BGRX, 8888)
1008
1009 #######################################
1010 ## Convert to 24bpp RGB 666 (666 ezx)
1011 conv_24_rgb_ezx="yes"
1012 AC_MSG_CHECKING(whether to build 24bpp 666 (666 ezx) converter code)
1013 AC_ARG_ENABLE(convert-24-rgb-ezx,
1014   AC_HELP_STRING([--disable-convert-24-rgb-ezx], [disable 24bpp 666 (666 ezx) converter code]),
1015   [
1016       if test "x$enableval" = "xyes" ; then
1017         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1018         conv_24_rgb_ezx="yes"
1019       else
1020         conv_24_rgb_ezx="no"
1021       fi
1022   ], [
1023       if test "x$conv_24_rgb_ezx" = "xyes" ; then
1024         AC_DEFINE(BUILD_CONVERT_24_RGB_666, 1, [24bpp 666 (666 ezx) Converter Support])
1025       fi
1026   ]
1027 )
1028 AC_MSG_RESULT($conv_24_rgb_ezx)
1029
1030 #######################################
1031 ## Convert to 32bpp RGB 666 (666 ezx)
1032 conv_32_rgb_ezx="yes"
1033 AC_MSG_CHECKING(whether to build 32bpp 666 (666 ezx) converter code)
1034 AC_ARG_ENABLE(convert-32-rgb-ezx,
1035   AC_HELP_STRING([--disable-convert-32-rgb-ezx], [disable 32bpp 666 (666 ezx) converter code]),
1036   [
1037       if test "x$enableval" = "xyes" ; then
1038         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1039         conv_32_rgb_ezx="yes"
1040       else
1041         conv_32_rgb_ezx="no"
1042       fi
1043   ], [
1044       if test "x$conv_32_rgb_ezx" = "xyes" ; then
1045         AC_DEFINE(BUILD_CONVERT_32_RGB_666, 1, [32bpp 666 (666 ezx) Converter Support])
1046       fi
1047   ]
1048 )
1049 AC_MSG_RESULT($conv_32_rgb_ezx)
1050
1051 #######################################
1052 ## Convert to 32bpp RGB with rotation of 0
1053 EVAS_CONVERT_ROT(32, RGB, 0)
1054 ## Convert to 32bpp RGB with rotation of 180
1055 EVAS_CONVERT_ROT(32, RGB, 180)
1056 ## Convert to 32bpp RGB with rotation of 270
1057 EVAS_CONVERT_ROT(32, RGB, 270)
1058 ## Convert to 32bpp RGB with rotation of 90
1059 EVAS_CONVERT_ROT(32, RGB, 90)
1060
1061 ## valgrind
1062 want_valgrind="no"
1063 have_valgrind="no"
1064
1065 AC_MSG_CHECKING(whether to enable build with valgrind)
1066 AC_ARG_ENABLE(valgrind,
1067   AC_HELP_STRING([--enable-valgrind], [enable valgrind fixes to stop false reports]),
1068   [ want_valgrind=$enableval ]
1069 )
1070 AC_MSG_RESULT($want_valgrind)
1071
1072 if test x$want_valgrind = "xyes"; then
1073   PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1074     [
1075       AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1076       have_valgrind=yes
1077     ],
1078     [
1079       if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1080         AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1081       fi
1082     ]
1083   )
1084 fi
1085
1086 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
1087 #####################################################################
1088 ## Fill in flags
1089
1090 AC_SUBST(altivec_cflags)
1091 AC_SUBST(pthread_cflags)
1092 AC_SUBST(pthread_libs)
1093
1094
1095 #####################################################################
1096 ## Output
1097
1098 AC_OUTPUT([
1099 Makefile
1100 evas-directfb.pc
1101 evas-fb.pc
1102 evas-opengl-glew.pc
1103 evas-opengl-x11.pc
1104 evas-quartz.pc
1105 evas-software-buffer.pc
1106 evas-software-x11.pc
1107 evas-software-16-x11.pc
1108 evas-software-xcb.pc
1109 evas-xrender-x11.pc
1110 evas-xrender-xcb.pc
1111 evas-software-gdi.pc
1112 evas-software-ddraw.pc
1113 evas-software-16-ddraw.pc
1114 evas-direct3d.pc
1115 evas-software-16-wince.pc
1116 evas-software-sdl.pc
1117 evas.pc
1118 doc/evas.dox
1119 doc/Makefile
1120 src/Makefile
1121 src/bin/Makefile
1122 src/lib/Makefile
1123 src/lib/canvas/Makefile
1124 src/lib/data/Makefile
1125 src/lib/file/Makefile
1126 src/lib/imaging/Makefile
1127 src/lib/cache/Makefile
1128 src/lib/cserve/Makefile
1129 src/lib/engines/Makefile
1130 src/lib/engines/common/Makefile
1131 src/lib/engines/common/evas_op_add/Makefile
1132 src/lib/engines/common/evas_op_blend/Makefile
1133 src/lib/engines/common/evas_op_copy/Makefile
1134 src/lib/engines/common/evas_op_mask/Makefile
1135 src/lib/engines/common/evas_op_mul/Makefile
1136 src/lib/engines/common/evas_op_sub/Makefile
1137 src/lib/engines/common_16/Makefile
1138 src/modules/Makefile
1139 src/modules/engines/Makefile
1140 src/modules/engines/software_generic/Makefile
1141 src/modules/engines/software_gdi/Makefile
1142 src/modules/engines/software_ddraw/Makefile
1143 src/modules/engines/direct3d/Makefile
1144 src/modules/engines/software_16_wince/Makefile
1145 src/modules/engines/software_x11/Makefile
1146 src/modules/engines/fb/Makefile
1147 src/modules/engines/buffer/Makefile
1148 src/modules/engines/directfb/Makefile
1149 src/modules/engines/gl_common/Makefile
1150 src/modules/engines/gl_glew/Makefile
1151 src/modules/engines/gl_x11/Makefile
1152 src/modules/engines/quartz/Makefile
1153 src/modules/engines/xrender_x11/Makefile
1154 src/modules/engines/software_sdl/Makefile
1155 src/modules/engines/software_16/Makefile
1156 src/modules/engines/software_16_x11/Makefile
1157 src/modules/engines/software_16_ddraw/Makefile
1158 src/modules/engines/software_16_sdl/Makefile
1159 src/modules/loaders/Makefile
1160 src/modules/loaders/edb/Makefile
1161 src/modules/loaders/eet/Makefile
1162 src/modules/loaders/gif/Makefile
1163 src/modules/loaders/jpeg/Makefile
1164 src/modules/loaders/png/Makefile
1165 src/modules/loaders/tiff/Makefile
1166 src/modules/loaders/xpm/Makefile
1167 src/modules/loaders/svg/Makefile
1168 src/modules/loaders/pmaps/Makefile
1169 src/modules/savers/Makefile
1170 src/modules/savers/edb/Makefile
1171 src/modules/savers/eet/Makefile
1172 src/modules/savers/jpeg/Makefile
1173 src/modules/savers/png/Makefile
1174 src/modules/savers/tiff/Makefile
1175 src/lib/include/Makefile
1176 README
1177 evas.spec
1178 ])
1179
1180 #disabled for the release:
1181 # evas-cairo-x11.pc
1182 # evas-software-qtopia.pc
1183 # src/modules/engines/cairo_common/Makefile
1184 # src/modules/engines/cairo_x11/Makefile
1185 # src/modules/engines/software_qtopia/Makefile
1186
1187
1188 #####################################################################
1189 ## Info
1190
1191 echo
1192 echo
1193 echo
1194 echo "------------------------------------------------------------------------"
1195 echo "$PACKAGE $VERSION"
1196 echo "------------------------------------------------------------------------"
1197 echo
1198 echo "Configuration Options Summary:"
1199 echo
1200 echo "Engines:"
1201 echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
1202 echo "  Software X11...............: $have_evas_engine_software_x11 (XCB: $have_evas_engine_software_xcb)"
1203 echo "  XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
1204 echo "  OpenGL X11.................: $have_evas_engine_gl_x11"
1205 #echo "  Cairo X11..................: $have_evas_engine_cairo_x11"
1206 echo "  Software GDI...............: $have_evas_engine_software_gdi"
1207 echo "  Software DirectDraw........: $have_evas_engine_software_ddraw"
1208 echo "  Direct3d...................: $have_evas_engine_direct3d"
1209 echo "  Quartz.....................: $have_evas_engine_quartz"
1210 echo "  OpenGL Glew................: $have_evas_engine_gl_glew"
1211 echo "  Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1212 echo "  Software Framebuffer.......: $have_evas_engine_fb"
1213 echo "  DirectFB...................: $have_evas_engine_directfb"
1214 #echo "  Software Qtopia............: $have_evas_engine_software_qtopia"
1215 echo "  Software 16bit ............: $have_evas_engine_software_16"
1216 echo "  Software 16bit X11.........: $have_evas_engine_software_16_x11"
1217 echo "  Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
1218 echo "  Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
1219 echo "  Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
1220 # FIXME: opengl engine needs to be fixed and tested lots for all drivers
1221 echo
1222 echo "Image Loaders:"
1223 echo "  EDB.....................: $have_evas_image_loader_edb"
1224 echo "  EET.....................: $have_evas_image_loader_eet"
1225 echo "  GIF.....................: $have_evas_image_loader_gif"
1226 echo "  JPEG....................: $have_evas_image_loader_jpeg"
1227 echo "  PMAPS...................: $have_evas_image_loader_pmaps"
1228 echo "  PNG.....................: $have_evas_image_loader_png"
1229 echo "  SVG.....................: $have_evas_image_loader_svg"
1230 echo "  TIFF....................: $have_evas_image_loader_tiff"
1231 echo "  XPM.....................: $have_evas_image_loader_xpm"
1232 # FIXME: need to add modular image loader system
1233 # FIXME: add more image loader modules
1234 echo
1235 echo "Font Sourcing Systems:"
1236 echo "  EET.....................: $have_evas_font_loader_eet"
1237 echo
1238 echo "Font Searching Systems:"
1239 echo "  Fontconfig..............: $have_fontconfig"
1240 echo "  Fribidi.................: $have_fribidi"
1241 # FIXME: add non freetype2 font engine support
1242 # FIXME: make freetype2 optional
1243 echo
1244 echo "CPU Specific Extensions:"
1245 echo "  Fallback C Code.........: $build_cpu_c"
1246 echo "  MMX.....................: $build_cpu_mmx"
1247 echo "  SSE.....................: $build_cpu_sse"
1248 echo "  ALTIVEC.................: $build_cpu_altivec"
1249 echo "  NEON....................: $build_cpu_neon"
1250 echo "  Thread Support..........: $build_pthreads"
1251 echo "Features:"
1252 echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
1253 echo "  Cache Server............: $want_evas_cserve"
1254 echo
1255 echo "  Threaded Pipe Rendering.: $build_pipe_render"
1256 echo "  Async Events............: $build_async_events"
1257 echo "  Async Image Preload.....: $build_async_preload"
1258 echo
1259 echo "ARGB Software Engine Options:"
1260 echo "  Sampling Scaler.........: $scaler_sample"
1261 echo "  Smooth Scaler...........: $scaler_smooth"
1262 # FIXME: add an mmx scaler routine
1263 echo "  YUV Converter...........: $conv_yuv"
1264 # FIXME: add more YUV format and colorvariant support
1265 echo
1266 echo "ARGB Conversion Options:"
1267 echo "  Smaller Dither Mask.....: $conv_small_dither"
1268 echo "  Line Dither Mask........: $conv_line_dither"
1269 echo "  No Dither Mask for 16bpp: $conv_no_dither"
1270 echo "  8bpp RGB 332............: $conv_8_rgb_332"
1271 echo "  8bpp RGB 666............: $conv_8_rgb_666"
1272 echo "  8bpp RGB 232............: $conv_8_rgb_232"
1273 echo "  8bpp RGB 222............: $conv_8_rgb_222"
1274 echo "  8bpp RGB 221............: $conv_8_rgb_221"
1275 echo "  8bpp RGB 121............: $conv_8_rgb_121"
1276 echo "  8bpp RGB 111............: $conv_8_rgb_111"
1277 # FIXME: add grayscale and B&W support
1278 echo "  16bpp RGB 565...........: $conv_16_rgb_565"
1279 echo "  16bpp BGR 565...........: $conv_16_bgr_565"
1280 echo "  16bpp RGB 555...........: $conv_16_rgb_555"
1281 echo "  16bpp RGB 444...........: $conv_16_rgb_444"
1282 echo "  16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
1283 # FIXME: add 555 (444 ipaq) support
1284 # FIXME: add 30bpp support
1285 # FIXME: add palletted support
1286 # FIXME: add 8bpp and below rotation
1287 echo "  16bpp Rotation 0........: $conv_16_rgb_rot_0"
1288 echo "  16bpp Rotation 90.......: $conv_16_rgb_rot_90"
1289 echo "  16bpp Rotation 180......: $conv_16_rgb_rot_180"
1290 echo "  16bpp Rotation 270......: $conv_16_rgb_rot_270"
1291 echo "  24bpp RGB 888...........: $conv_24_rgb_888"
1292 echo "  24bpp BGR 888...........: $conv_24_bgr_888"
1293 echo "  24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
1294 # FIXME: add 24bpp rotation
1295 echo "  32bpp RGB 8888..........: $conv_32_rgb_8888"
1296 echo "  32bpp RGBX 8888.........: $conv_32_rgbx_8888"
1297 echo "  32bpp BGR 8888..........: $conv_32_bgr_8888"
1298 echo "  32bpp BGRX 8888.........: $conv_32_bgrx_8888"
1299 echo "  32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
1300 echo "  32bpp Rotation 0........: $conv_32_rgb_rot_0"
1301 echo "  32bpp Rotation 90.......: $conv_32_rgb_rot_90"
1302 echo "  32bpp Rotation 180......: $conv_32_rgb_rot_180"
1303 echo "  32bpp Rotation 270......: $conv_32_rgb_rot_270"
1304 echo
1305 echo "Documentation.............: ${build_doc}"
1306 echo
1307 echo "------------------------------------------------------------------------"
1308 echo
1309 echo "Now type 'make' ('gmake' on some systems) to compile $PACKAGE,"
1310 echo "and then afterwards as root (or the user who will install this), type"
1311 echo "'make install'. Change users with 'su' or 'sudo' appropriately."
1312 echo