1 # get rid of that stupid cache mechanism
4 AC_INIT([evas], [0.9.9.061], [enlightenment-devel@lists.sourceforge.net])
6 AC_CONFIG_SRCDIR([configure.ac])
7 AC_CONFIG_MACRO_DIR([m4])
12 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
13 AM_CONFIG_HEADER(config.h)
24 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
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)
34 release="ver-pre-svn-02"
37 MODULE_ARCH="$host_os-$host_cpu"
40 release_info="-release $release"
41 MODULE_ARCH="$host_os-$host_cpu-$release"
44 AC_SUBST(release_info)
46 AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture")
48 want_fontconfig="auto"
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"
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"
81 want_evas_font_loader_eet="yes"
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"
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"
101 want_evas_engine_software_x11="auto"
102 want_evas_engine_quartz="auto"
105 want_evas_engine_software_x11="auto"
106 want_evas_engine_xrender_x11="auto"
107 want_evas_engine_software_16_x11="auto"
116 dnl wierd debian etch bug where pthread_barrier doesn't work without adding
118 CFLAGS="${CFLAGS=} -D_GNU_SOURCE"
123 lt_enable_auto_import=""
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"
135 if test "$host_os" = "mingw32ce" ; then
136 WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
140 AC_SUBST(WIN32_CPPFLAGS)
141 AC_SUBST(WIN32_CFLAGS)
142 AC_SUBST(lt_enable_auto_import)
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,
150 [enable strict checking mode. [[default==disabled]]]),
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,
161 [--disable-evas-cserve],
162 [disable shared cache server support. [[default=enabled]]]
164 [ want_evas_cserve="$enableval" ]
166 AC_MSG_RESULT($want_evas_cserve)
168 if test "x${want_evas_cserve}" = "xyes" ; then
169 AC_MSG_CHECKING([whether shm_open() is present])
175 #include <sys/types.h>
176 #include <sys/mman.h>
181 fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
184 [want_evas_cserve="yes"],
185 [want_evas_cserve="no"])
187 AC_MSG_RESULT([$want_evas_cserve])
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.])
195 ##################################################################
196 #fribidi support - OPTIONAL!
199 AC_ARG_ENABLE(fribidi,
202 [disable bidirectional text support. [[default=enabled]]]
204 [ want_fribidi=$enableval ]
207 if test "x$want_fribidi" = "xyes" -o "x$want_fribidi" = "xauto" ; then
208 # Check if really available
209 PKG_CHECK_MODULES(FRIBIDI, fribidi,
212 AC_DEFINE(HAVE_FRIBIDI, 1, [have fribidi support])
215 if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
216 AC_MSG_ERROR([Fribidi not found (strict dependencies checking)])
220 if test "x$have_fribidi" = "xno"; then
223 #####################################################################
224 # Check evas strong dependencie
226 PKG_CHECK_MODULES([EINA], [eina-0])
228 PKG_CHECK_MODULES([FREETYPE], [freetype2 >= 9.3.0])
230 #######################################
231 ## Simple X11 build/link
233 AC_ARG_ENABLE(simple-x11,
234 AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
235 [ want_evas_simple_x11=$enableval ]
238 #######################################
242 AC_ARG_ENABLE(fontconfig,
244 [--disable-fontconfig],
245 [disable fontconfig for finding fonts. [[default=enabled]]]
247 [ want_fontconfig=$enableval ]
250 if test "x$want_fontconfig" = "xyes" -o "x$want_fontconfig" = "xauto" ; then
251 # Check if really available
252 PKG_CHECK_MODULES(FONTCONFIG, fontconfig,
254 have_fontconfig="yes"
255 AC_DEFINE(HAVE_FONTCONFIG, 1, [have fontconfig searching capabilities])
258 if test "x$want_fontconfig" = "xyes" -a "x$use_strict" = "xyes" ; then
259 AC_MSG_ERROR([Fontconfig not found (strict dependencies checking)])
271 AC_DEFINE(HAVE_DLADDR)
274 dnl nothing on mingw platform
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))
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))
286 AC_MSG_ERROR(Cannot find dlopen)
290 AC_SUBST(dlopen_libs)
292 AC_CHECK_HEADER([fnmatch.h],
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])])
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],
302 if test "x$res" = "xno"; then
303 AC_MSG_ERROR([Cannot find fnmatch() in neither libc nor libfnmatch, nor libiberty, nor libevil])
307 #####################################################################
310 EVAS_CHECK_ENGINE([buffer], [${want_evas_engine_buffer}], [no], [Buffer])
312 EVAS_CHECK_ENGINE([software-x11], [${want_evas_engine_software_x11}], [yes], [Software X11])
314 EVAS_CHECK_ENGINE([xrender-x11], [${want_evas_engine_xrender_x11}], [yes], [XRender X11])
316 EVAS_CHECK_ENGINE([gl-x11], [${want_evas_engine_gl_x11}], [yes], [OpenGL X11])
318 # disable cairo engine for the release
319 #EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
321 EVAS_CHECK_ENGINE([software-xcb], [${want_evas_engine_software_xcb}], [no], [Software XCB])
323 EVAS_CHECK_ENGINE([xrender-xcb], [${want_evas_engine_xrender_xcb}], [no], [XRender XCB])
325 EVAS_CHECK_ENGINE([software-gdi], [${want_evas_engine_software_gdi}], [no], [Software GDI])
327 EVAS_CHECK_ENGINE([software-ddraw], [${want_evas_engine_software_ddraw}], [no], [Software DirectDraw])
329 EVAS_CHECK_ENGINE([direct3d], [${want_evas_engine_direct3d}], [no], [Direct3D])
331 EVAS_CHECK_ENGINE([quartz], [${want_evas_engine_quartz}], [no], [Quartz])
333 EVAS_CHECK_ENGINE([gl-glew], [${want_evas_engine_gl_glew}], [no], [OpenGL Glew])
335 EVAS_CHECK_ENGINE([software-sdl], [${want_evas_engine_software_sdl}], [no], [Software SDL])
337 EVAS_CHECK_ENGINE([fb], [${want_evas_engine_fb}], [no], [Framebuffer])
339 EVAS_CHECK_ENGINE([directfb], [${want_evas_engine_directfb}], [no], [DirectFB])
341 # disable cairo engine for the release
342 #EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
344 EVAS_CHECK_ENGINE([software-16-x11], [${want_evas_engine_software_16_x11}], [yes], [Software X11 16 bits])
346 EVAS_CHECK_ENGINE([software-16-ddraw], [${want_evas_engine_software_16_ddraw}], [no], [Software DirectDraw 16 bits])
348 EVAS_CHECK_ENGINE([software-16-wince], [${want_evas_engine_software_16_wince}], [no], [Software Windows CE 16 bits])
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])
356 #AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
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"
366 if test "x$have_evas_engine_gl_x11" = "xyes" ; then
367 evas_engine_gl_common_libs="-lGL -lGLU -lpthread"
370 if test "x$have_evas_engine_gl_glew" = "xyes" ; then
371 evas_engine_gl_common_libs="-lglu32"
373 AC_SUBST([evas_engine_gl_common_libs])
375 AM_CONDITIONAL(BUILD_ENGINE_GL_COMMON, test "x$have_evas_engine_gl_common" = "xyes")
380 AC_ARG_ENABLE([sdl-primitive],
381 [AC_HELP_STRING([--enable-sdl-primitive], [])],
382 [sdl_primitive=${enableval}]
384 AC_MSG_CHECKING([whether to use SDL primitive when possible])
385 AC_MSG_RESULT([${sdl_primitive}])
387 if test "x${sdl_primitive}" = "xyes" ; then
388 AC_DEFINE([ENGINE_SDL_PRIMITIVE], [1], [Use SDL primitive when possible])
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"
397 if test "x$have_evas_engine_software_sdl" = "xyes"; then
398 have_evas_engine_software_16="yes"
400 if test "x$have_evas_engine_software_16_ddraw" = "xyes"; then
401 have_evas_engine_software_16="yes"
403 if test "x$have_evas_engine_software_16_wince" = "xyes"; then
404 have_evas_engine_software_16="yes"
406 AM_CONDITIONAL(BUILD_ENGINE_SOFTWARE_16, test "x$have_evas_engine_software_16" = "xyes")
409 #####################################################################
412 EVAS_CHECK_IMAGE_LOADER([Edb], [${want_evas_image_loader_edb}])
414 EVAS_CHECK_IMAGE_LOADER([Eet], [${want_evas_image_loader_eet}])
415 EVAS_CHECK_FONT_LOADER([${want_evas_font_loader_eet}])
417 EVAS_CHECK_IMAGE_LOADER([Gif], [${want_evas_image_loader_gif}])
419 have_evas_image_saver_jpeg="no"
420 EVAS_CHECK_IMAGE_LOADER([Jpeg], [${want_evas_image_loader_jpeg}])
422 dnl Windows has no sigsetjmp function, nor equivalent.
423 dnl So we disable the jpeg saver.
424 dnl TODO: must find a workaround
429 if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
430 have_evas_image_saver_jpeg="yes"
434 AM_CONDITIONAL([BUILD_SAVER_JPEG], [test "x${have_evas_image_saver_jpeg}" = "xyes"])
436 EVAS_CHECK_IMAGE_LOADER([PMAPS], [${want_evas_image_loader_pmaps}])
438 EVAS_CHECK_IMAGE_LOADER([PNG], [${want_evas_image_loader_png}])
440 EVAS_CHECK_IMAGE_LOADER([SVG], [${want_evas_image_loader_svg}])
442 EVAS_CHECK_IMAGE_LOADER([Tiff], [${want_evas_image_loader_tiff}])
444 EVAS_CHECK_IMAGE_LOADER([XPM], [${want_evas_image_loader_xpm}])
447 #####################################################################
448 ## Cpu based optimizations
450 #######################################
457 # basic pthread support
458 AC_CHECK_HEADER(pthread.h,
467 # sched_getaffinity pthread_attr_setaffinity_np
468 AC_CHECK_HEADERS(pthread.h sched.h,
470 AC_CHECK_LIB(pthread, pthread_attr_setaffinity_np,
472 AC_CHECK_LIB(pthread, pthread_barrier_wait,
473 [ build_pthreads="yes" ],
474 [ build_pthreads="no" ]
477 [ build_pthreads="no" ]
480 [ build_pthreads="no" ]
483 #######################################
485 AC_MSG_CHECKING(whether to build pthread code)
486 AC_ARG_ENABLE(pthreads,
487 AC_HELP_STRING([--enable-pthreads], [enable threaded rendering]),
489 if test "x$enableval" = "xyes" ; then
490 if test "x$build_pthreads" = "xyes"; then
492 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
496 if "x$use_strict" = "xyes"; then
497 AC_MSG_ERROR(pthreads headers or functions not found (strict dependencies checking))
499 AC_MSG_RESULT(no: pthread headers or functions not found)
508 AC_MSG_RESULT($build_pthreads)
509 if test "x$build_pthreads" = "xyes" ; then
510 AC_DEFINE(BUILD_PTHREAD, 1, [Build Threaded Rendering])
516 #######################################
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 ]
524 AC_MSG_RESULT($build_pipe_render)
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
529 AC_DEFINE(BUILD_PIPE_RENDER, 1, [Build pipe render support])
530 build_pipe_render="yes"
534 build_pipe_render="no"
537 #######################################
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 ]
545 AC_MSG_RESULT($build_async_events)
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
550 AC_DEFINE(BUILD_ASYNC_EVENTS, 1, [Build async events support])
551 build_async_events="yes"
555 build_async_events="no"
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 ]
566 AC_MSG_RESULT($build_async_preload)
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
571 AC_DEFINE(BUILD_ASYNC_PRELOAD, 1, [Build async image preload support])
572 build_async_preload="yes"
576 build_async_preload="no"
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
585 pthread_libs="-lpthread"
590 #######################################
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]),
605 if test "x$enableval" = "xyes" ; then
607 AC_DEFINE(BUILD_MMX, 1, [Build MMX Code])
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])
622 #######################################
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]),
637 if test "x$enableval" = "xyes" ; then
639 AC_DEFINE(BUILD_SSE, 1, [Build SSE Code])
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])
654 #######################################
656 build_cpu_altivec="no"
659 build_cpu_altivec="auto"
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 ],
668 if test ! "x$build_cpu_altivec" = "xauto"; then
669 build_cpu_altivec="no"
673 AC_MSG_RESULT($build_cpu_altivec)
675 if test "x$build_cpu_altivec" = "xyes"; then
676 AC_CHECK_HEADER(altivec.h,
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"
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,
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"
695 if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
696 AC_MSG_ERROR(Altivec not found (strict dependencies checking))
698 build_cpu_altivec="no"
702 CPPFLAGS=$save_CPPFLAGS
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])
718 AC_MSG_RESULT($altivec_cflags)
719 CFLAGS="$CFLAGS $altivec_cflags"
722 #######################################
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]),
734 if test "x$enableval" = "xyes" ; then
736 AC_DEFINE(BUILD_NEON, 1, [Build NEON Code])
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])
751 #######################################
755 AC_MSG_CHECKING(whether to build c code)
757 AC_HELP_STRING([--enable-cpu-c], [enable C code]),
759 if test "x$enableval" = "xyes" ; then
761 AC_DEFINE(BUILD_C, 1, [Build plain C code])
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])
775 #######################################
777 want_evas_magic_debug="yes"
778 AC_MSG_CHECKING(whether to check magic for evas object)
779 AC_ARG_ENABLE(evas-magic-debug,
781 [--disable-evas-magic-debug],
782 [disable MAGIC_DEBUG check when people pass in wrong object type. [[default=enabled]]]
784 [ want_evas_magic_debug="$enableval" ]
786 AC_MSG_RESULT($want_evas_magic_debug)
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.])
793 #####################################################################
794 ## ARGB engine options
796 #######################################
797 ## Nearest sampling scaler
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]),
804 if test "x$enableval" = "xyes" ; then
806 AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
813 AC_MSG_RESULT($scaler_sample)
814 if test "x$scaler_sample" = "xyes" ; then
815 AC_DEFINE(BUILD_SCALE_SAMPLE, 1, [Sampling Scaler Support])
820 #######################################
821 ## Smooth super and sub sampling scaler
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]),
828 if test "x$enableval" = "xyes" ; then
830 AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
837 AC_MSG_RESULT($scaler_smooth)
838 if test "x$scaler_smooth" = "xyes" ; then
839 AC_DEFINE(BUILD_SCALE_SMOOTH, 1, [Smooth Scaler Support])
844 #######################################
845 ## YUV -> ARGB converter
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]),
852 if test "x$enableval" = "xyes" ; then
854 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
861 AC_MSG_RESULT($conv_yuv)
862 if test "x$conv_yuv" = "xyes" ; then
863 AC_DEFINE(BUILD_CONVERT_YUV, 1, [YUV Converter Support])
868 #####################################################################
869 ## Output rendering features
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]),
878 if test "x$enableval" = "xyes" ; then
880 AC_DEFINE(BUILD_SMALL_DITHER_MASK, 1, [Small Dither Mask Support])
881 conv_small_dither="yes"
884 conv_small_dither="no"
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])
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]),
901 if test "x$enableval" = "xyes" ; then
903 AC_DEFINE(BUILD_LINE_DITHER_MASK, 1, [Line Dither Mask Support])
904 conv_line_dither="yes"
907 conv_line_dither="no"
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])
917 #######################################
918 ## No dither mask at all for 16bpp
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]),
924 if test "x$enableval" = "xyes" ; then
926 AC_DEFINE(BUILD_NO_DITHER_MASK, 1, [No Dither Mask Support])
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])
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)
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]),
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"
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])
983 AC_MSG_RESULT($conv_16_rgb_ipq)
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)
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)
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]),
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"
1020 conv_24_rgb_ezx="no"
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])
1028 AC_MSG_RESULT($conv_24_rgb_ezx)
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]),
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"
1041 conv_32_rgb_ezx="no"
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])
1049 AC_MSG_RESULT($conv_32_rgb_ezx)
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)
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 ]
1070 AC_MSG_RESULT($want_valgrind)
1072 if test x$want_valgrind = "xyes"; then
1073 PKG_CHECK_MODULES(VALGRIND, valgrind >= 2.4.0,
1075 AC_DEFINE(HAVE_VALGRIND, 1, [Valgrind support])
1079 if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
1080 AC_MSG_ERROR([Valgrind not found (strict dependencies checking)])
1086 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
1087 #####################################################################
1090 AC_SUBST(altivec_cflags)
1091 AC_SUBST(pthread_cflags)
1092 AC_SUBST(pthread_libs)
1095 #####################################################################
1105 evas-software-buffer.pc
1106 evas-software-x11.pc
1107 evas-software-16-x11.pc
1108 evas-software-xcb.pc
1111 evas-software-gdi.pc
1112 evas-software-ddraw.pc
1113 evas-software-16-ddraw.pc
1115 evas-software-16-wince.pc
1116 evas-software-sdl.pc
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
1180 #disabled for the release:
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
1188 #####################################################################
1194 echo "------------------------------------------------------------------------"
1195 echo "$PACKAGE $VERSION"
1196 echo "------------------------------------------------------------------------"
1198 echo "Configuration Options Summary:"
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
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
1235 echo "Font Sourcing Systems:"
1236 echo " EET.....................: $have_evas_font_loader_eet"
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
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"
1252 echo " MAGIC_DEBUG.............: $want_evas_magic_debug"
1253 echo " Cache Server............: $want_evas_cserve"
1255 echo " Threaded Pipe Rendering.: $build_pipe_render"
1256 echo " Async Events............: $build_async_events"
1257 echo " Async Image Preload.....: $build_async_preload"
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
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"
1305 echo "Documentation.............: ${build_doc}"
1307 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."