From: Mike McCormack <mj.mccormack@samsung.com>
[profile/ivi/ecore.git] / configure.ac
1 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
2 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
3 m4_define([v_maj], [0])
4 m4_define([v_min], [9])
5 m4_define([v_mic], [9])
6 m4_define([v_rev], m4_esyscmd([(svnversion "${SVN_REPO_PATH:-.}" | grep -v export || echo 0) | awk -F : '{printf("%s\n", $1);}' | tr -d ' :MSP\n']))
7 m4_if(v_rev, [0], [m4_define([v_rev], m4_esyscmd([git log 2> /dev/null | (grep -m1 git-svn-id || echo 0) | sed -e 's/.*@\([0-9]*\).*/\1/' | tr -d '\n']))])
8 ##--   When released, remove the dnl on the below line
9 dnl m4_undefine([v_rev])
10 ##--   When doing snapshots - change soname. remove dnl on below line
11 m4_define([relname], [ver-pre-svn-07])
12 m4_define([v_rel], [-release relname])
13 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
14 m4_ifdef([v_rev], [m4_define([v_ver], [v_maj.v_min.v_mic.v_rev])],
15 [m4_define([v_ver], [v_maj.v_min.v_mic])])
16 m4_define([lt_rev], m4_eval(v_maj + v_min))
17 m4_define([lt_cur], v_mic)
18 m4_define([lt_age], v_min)
19 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
20 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
21
22 AC_INIT([ecore], [v_ver], [enlightenment-devel@lists.sourceforge.net])
23 release="ver-pre-svn-07"
24 AC_PREREQ([2.52])
25 AC_CONFIG_SRCDIR([configure.ac])
26 AC_CONFIG_MACRO_DIR([m4])
27 AC_CANONICAL_BUILD
28 AC_CANONICAL_HOST
29 AC_ISC_POSIX
30
31 AM_INIT_AUTOMAKE([1.6 dist-bzip2])
32 AM_CONFIG_HEADER([config.h])
33 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
34
35 AC_GNU_SOURCE
36
37 AC_LIBTOOL_WIN32_DLL
38 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
39 AC_PROG_LIBTOOL
40
41 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
42 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
43 m4_ifdef([v_rev], , [m4_define([v_rev], [0])])
44 m4_ifdef([v_rel], , [m4_define([v_rel], [])])
45 AC_DEFINE_UNQUOTED(VERS_MAJ, [v_maj], [Major version])
46 AC_DEFINE_UNQUOTED(VERS_MIN, [v_min], [Minor version])
47 AC_DEFINE_UNQUOTED(VERS_MIC, [v_mic], [Micro version])
48 AC_DEFINE_UNQUOTED(VERS_REV, [v_rev], [Revison])
49 version_info="lt_rev:lt_cur:lt_age"
50 release_info="v_rel"
51 AC_SUBST(version_info)
52 AC_SUBST(release_info)
53 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
54 ##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
55 VMAJ=v_maj
56 AC_SUBST(VMAJ)
57
58 m4_ifdef([AM_GNU_GETTEXT_VERSION], [
59 AM_GNU_GETTEXT_VERSION([0.12.1])
60 ])
61
62 m4_ifdef([AM_GNU_GETTEXT], [
63 AM_GNU_GETTEXT([external])
64 po_makefile_in=po/Makefile.in
65 AM_CONDITIONAL([HAVE_PO], [true])
66 ],[
67 AM_CONDITIONAL([HAVE_PO], [false])
68 ])
69 AC_SUBST(LTLIBINTL)
70
71 EFL_CHECK_PATH_MAX
72
73 with_max_log_level="<unset>"
74 AC_ARG_WITH(internal-maximum-log-level,
75    [AC_HELP_STRING([--with-internal-maximum-log-level=NUMBER],
76                    [limit ecore internal log level to the given number, any call to EINA_LOG() with values greater than this will be compiled out, ignoring runtime settings, but saving function calls.])],
77    [
78     if test "x${withval}" != "xno"; then
79        if echo "${withval}" | grep '^[[0-9]]\+$' >/dev/null 2>/dev/null; then
80           AC_MSG_NOTICE([ignoring any EINA_LOG() with level greater than ${withval}])
81           AC_DEFINE_UNQUOTED(EINA_LOG_LEVEL_MAXIMUM, ${withval}, [if set, logging is limited to this amount.])
82           with_max_log_level="${withval}"
83        else
84           AC_MSG_ERROR([--with-internal-maximum-log-level takes a decimal number, got "${withval}" instead.])
85        fi
86     fi
87     ], [:])
88
89
90 ### Default options with respect to host
91
92 # dependencies and options
93 want_curl="no"
94 want_abstract_sockets="no"
95 want_gnutls="no"
96 want_openssl="no"
97 want_cares="no"
98 want_cipher="no"
99 want_signature="no"
100 want_poll="yes"
101 want_inotify="no"
102 want_notify_win32="no"
103 want_tslib="no"
104 want_glib="no"
105
106 # core modules
107 want_ecore_con="yes"
108 want_ecore_ipc="no"
109 want_ecore_file="yes"
110 want_ecore_config="no"
111 want_ecore_imf="no"
112 want_ecore_input="yes"
113
114 # graphic system modules
115 want_evas_simple_x11="no"
116 want_ecore_x_xcb="no"
117 want_ecore_x="no"
118 want_ecore_win32="no"
119 want_ecore_cocoa="no"
120 want_ecore_sdl="no"
121 want_ecore_fb="no"
122 want_ecore_directfb="no"
123 want_ecore_wince="no"
124
125 # ecore_x options (both xlib and xcb)
126 want_ecore_x_composite="yes"
127 want_ecore_x_damage="yes"
128 want_ecore_x_dpms="yes"
129 want_ecore_x_randr="yes"
130 want_ecore_x_render="yes"
131 want_ecore_x_screensaver="yes"
132 want_ecore_x_shape="yes"
133 want_ecore_x_sync="yes"
134 want_ecore_x_xfixes="yes"
135 want_ecore_x_xinerama="yes"
136 want_ecore_x_xprint="yes"
137 want_ecore_x_xtest="yes"
138 want_ecore_x_cursor="yes"
139 want_ecore_x_input="yes"
140
141 # ecore_evas modules
142 want_ecore_evas="yes"
143 want_ecore_evas_software_buffer="yes"
144 want_ecore_evas_software_x11="no"
145 want_ecore_evas_xrender_x11="no"
146 want_ecore_evas_opengl_x11="no"
147 want_ecore_evas_software_16_x11="no"
148 want_ecore_evas_software_8_x11="no"
149 want_ecore_evas_software_xcb="no"
150 want_ecore_evas_xrender_xcb="no"
151 want_ecore_evas_software_gdi="no"
152 want_ecore_evas_software_ddraw="no"
153 want_ecore_evas_direct3d="no"
154 want_ecore_evas_opengl_glew="no"
155 want_ecore_evas_software_16_ddraw="no"
156 want_ecore_evas_cocoa="no"
157 want_ecore_evas_software_sdl="no"
158 want_ecore_evas_gl_sdl="no"
159 want_ecore_evas_directfb="no"
160 want_ecore_evas_fb="no"
161 want_ecore_evas_software_16_wince="no"
162
163 case "$host_os" in
164    mingw32ce* | cegcc*)
165       want_ecore_con="no"
166       want_ecore_wince="yes"
167       want_ecore_evas_software_16_wince="yes"
168       ;;
169    mingw*)
170       want_notify_win32="yes"
171       want_curl="yes"
172       want_glib="auto"
173       want_ecore_con="no"
174       want_ecore_imf="yes"
175       want_ecore_win32="yes"
176       want_ecore_evas_software_gdi="yes"
177       want_ecore_evas_software_ddraw="yes"
178       want_ecore_evas_direct3d="yes"
179       want_ecore_evas_opengl_glew="yes"
180       want_ecore_evas_software_16_ddraw="auto"
181       want_ecore_evas_software_sdl="yes"
182       want_ecore_evas_gl_sdl="yes"
183       ;;
184    darwin*)
185       want_curl="yes"
186       want_glib="auto"
187       want_gnutls="auto"
188       want_openssl="auto"
189       want_ecore_ipc="yes"
190       want_ecore_imf="yes"
191       want_ecore_cocoa="yes"
192       want_ecore_evas_cocoa="yes"
193       want_ecore_evas_software_sdl="yes"
194       want_ecore_evas_gl_sdl="yes"
195       ;;
196    *)
197       want_curl="yes"
198       want_glib="auto"
199       want_abstract_sockets="yes"
200       want_gnutls="auto"
201       want_openssl="auto"
202       want_cipher="yes"
203       want_signature="yes"
204       want_inotify="yes"
205       want_tslib="yes"
206       want_ecore_ipc="yes"
207       want_ecore_imf="yes"
208       want_ecore_x="yes"
209       want_ecore_evas_software_x11="yes"
210       want_ecore_evas_xrender_x11="yes"
211       want_ecore_evas_opengl_x11="yes"
212       want_ecore_evas_software_16_x11="yes"
213       want_ecore_evas_software_8_x11="yes"
214       want_ecore_evas_software_xcb="yes"
215       want_ecore_evas_xrender_xcb="yes"
216       want_ecore_evas_software_sdl="yes"
217       want_ecore_evas_gl_sdl="yes"
218       want_ecore_evas_directfb="yes"
219       want_ecore_evas_fb="yes"
220       ;;
221 esac
222
223 requirements_ecore=""
224 requirements_ecore_con=""
225 requirements_ecore_config=""
226 requirements_ecore_directfb=""
227 requirements_ecore_evas=""
228 requirements_ecore_fb=""
229 requirements_ecore_file=""
230 requirements_ecore_imf=""
231 requirements_ecore_imf_evas=""
232 requirements_ecore_input=""
233 requirements_ecore_input_evas=""
234 requirements_ecore_ipc=""
235 requirements_ecore_cocoa=""
236 requirements_ecore_sdl=""
237 requirements_ecore_x=""
238 requirements_ecore_win32=""
239 requirements_ecore_wince=""
240
241 ### Additional options to configure
242
243 want_glib_integration_always=no
244 AC_ARG_ENABLE(glib-integration-always,
245   AC_HELP_STRING([--enable-glib-integration-always], [enable glib integration when ecore_init() is called always]),
246   [want_glib_integration_always=$enableval])
247
248 if test "x${want_glib_integration_always}" = "xyes" ; then
249   AC_DEFINE([GLIB_INTEGRATION_ALWAYS], [1], [Always integrate glib if support compiled])
250   want_glib=yes
251 fi
252
253 want_g_main_loop=no
254 AC_ARG_ENABLE(g-main-loop,
255   AC_HELP_STRING([--enable-g-main-loop], [ecore_main_loop based on g_main_loop]),
256   [want_g_main_loop=$enableval])
257
258 if test "x${want_g_main_loop}" = "xyes" ; then
259   AC_DEFINE([USE_G_MAIN_LOOP], [1], [Use g_main_loop in ecore])
260   want_glib=yes
261 fi
262
263 if test "x${want_glib_integration_always}" = "xyes" -a "x${want_g_main_loop}" = "xyes"; then
264   AC_MSG_ERROR([--enable-glib-integration-always and --enable-glib-main-loop are mutually exclusive])
265 fi
266
267 # abstract sockets (ecore_con.c)
268 AC_ARG_ENABLE([abstract-sockets],
269    [AC_HELP_STRING([--disable-abstract-sockets], [disable abstract sockets.])],
270    [
271     if test "x${enableval}" = "xyes" ; then
272        want_abstract_sockets="yes"
273     else
274        want_abstract_sockets="no"
275     fi
276    ],
277    [want_abstract_sockets="yes"])
278
279 if test "x${want_abstract_sockets}" = "xyes" ; then
280    AC_DEFINE([HAVE_ABSTRACT_SOCKETS], [1], [Have abstract sockets namespace])
281 fi
282
283 # Simple X11 build/link
284
285 AC_ARG_ENABLE(simple-x11,
286   AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
287   [want_evas_simple_x11=$enableval])
288
289 # XIM
290 AC_ARG_ENABLE([xim],
291    [AC_HELP_STRING([--disable-xim], [disable X Input Method.])],
292    [
293     if test "x${enableval}" = "xyes" ; then
294        want_xim="yes"
295     else
296        want_xim="no"
297     fi
298    ],
299    [want_xim="yes"])
300
301 if test "x${want_xim}" = "xyes" ; then
302    AC_DEFINE([ENABLE_XIM], [1], [Enable X Input Method])
303 fi
304
305 # Unit tests
306
307 EFL_CHECK_TESTS([enable_tests="yes"], [enable_tests="no"])
308
309
310 ### Checks for programs
311
312 m4_ifdef([AC_PROG_OBJC],
313    [
314     AC_PROG_OBJC
315     _AM_DEPENDENCIES(OBJC)
316    ],
317    [
318     AC_CHECK_TOOL([OBJC], [gcc])
319     AC_SUBST([OBJC])
320     AC_SUBST([OBJCFLAGS])
321    ])
322 m4_ifndef([am__fastdepOBJC], [
323     AM_CONDITIONAL([am__fastdepOBJC], [false])
324     AC_SUBST([cocoa_ldflags])
325 ])
326
327 AC_PROG_CXX
328 AC_PROG_CC
329
330 have_gnu_objc=${ac_cv_objc_compiler_gnu}
331
332 # doxygen program for documentation building
333
334 EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
335
336 # The first call to PKG_CHECK_MODULES is done conditionally,
337 # so we should include this here:
338 PKG_PROG_PKG_CONFIG
339
340 # Check whether pkg-config supports Requires.private
341 if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
342    pkgconfig_requires_private="Requires.private"
343 else
344    pkgconfig_requires_private="Requires"
345 fi
346 AC_SUBST(pkgconfig_requires_private)
347
348
349 ### Checks for libraries
350
351 # Evil library for compilation on Windows
352
353 case "$host_os" in
354    mingw* | cegcc*)
355       PKG_CHECK_MODULES([EVIL], [evil])
356       AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if Evil library is installed])
357       requirements_ecore="evil ${requirements_ecore}"
358       requirements_ecore_evas="evil ${requirements_ecore_evas}"
359       requirements_ecore_file="evil ${requirements_ecore_file}"
360       requirements_ecore_imf="evil ${requirements_ecore_imf}"
361       requirements_ecore_imf_evas="evil ${requirements_ecore_imf_evas}"
362       EFL_ECORE_BUILD="-DEFL_ECORE_BUILD"
363       EFL_ECORE_FILE_BUILD="-DEFL_ECORE_FILE_BUILD"
364       EFL_ECORE_EVAS_BUILD="-DEFL_ECORE_EVAS_BUILD"
365       EFL_ECORE_IMF_BUILD="-DEFL_ECORE_IMF_BUILD"
366       EFL_ECORE_INPUT_BUILD="-DEFL_ECORE_INPUT_BUILD"
367       EFL_ECORE_INPUT_EVAS_BUILD="-DEFL_ECORE_INPUT_EVAS_BUILD"
368       ;;
369 esac
370
371 have_win32=""
372 have_wince=""
373 case "$host_os" in
374    mingw32ce* | cegcc*)
375       EFL_ECORE_WINCE_BUILD="-DEFL_ECORE_WINCE_BUILD"
376       requirements_ecore_wince="evil ${requirements_ecore_wince}"
377       have_wince="yes"
378       ;;
379    mingw*)
380       EFL_ECORE_WIN32_BUILD="-DEFL_ECORE_WIN32_BUILD"
381       EFL_ECORE_SDL_BUILD="-DEFL_ECORE_SDL_BUILD"
382       requirements_ecore_win32="evil ${requirements_ecore_win32}"
383       requirements_ecore_sdl="evil ${requirements_ecore_sdl}"
384       have_win32="yes"
385       ;;
386 esac
387
388 AC_SUBST(EFL_ECORE_BUILD)
389 AC_SUBST(EFL_ECORE_FILE_BUILD)
390 AC_SUBST(EFL_ECORE_EVAS_BUILD)
391 AC_SUBST(EFL_ECORE_IMF_BUILD)
392 AC_SUBST(EFL_ECORE_INPUT_BUILD)
393 AC_SUBST(EFL_ECORE_INPUT_EVAS_BUILD)
394 AC_SUBST(EFL_ECORE_WINCE_BUILD)
395 AC_SUBST(EFL_ECORE_WIN32_BUILD)
396 AC_SUBST(EFL_ECORE_SDL_BUILD)
397
398 AM_CONDITIONAL(ECORE_HAVE_WINCE, test "x${have_wince}" = "xyes")
399 AM_CONDITIONAL(ECORE_HAVE_WIN32, test "x${have_win32}" = "xyes")
400
401 WIN32_LIBS=""
402 case "$host_os" in
403    mingw32ce* | cegcc*)
404       WIN32_LIBS="-lws2"
405       dlopen_libs="-ldl"
406       ;;
407    mingw*)
408       WIN32_LIBS="-lws2_32"
409       dlopen_libs="-ldl"
410       ;;
411    *)
412       AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
413       ;;
414 esac
415 AC_SUBST(WIN32_LIBS)
416 AC_SUBST(dlopen_libs)
417
418 # Eina library
419
420 PKG_CHECK_MODULES(EINA, [eina-0])
421 #FIXME check all the requirements when the eina move will be finished
422 requirements_ecore="eina-0 ${requirements_ecore}"
423 requirements_ecore_con="ecore eina-0 ${requirements_ecore_con}"
424 requirements_ecore_config="ecore eina-0 ${requirements_ecore_config}"
425 requirements_ecore_directfb="ecore eina-0 ${requirements_ecore_directfb}"
426 requirements_ecore_evas="ecore eina-0 ${requirements_ecore_evas}"
427 requirements_ecore_fb="ecore eina-0 ${requirements_ecore_fb}"
428 requirements_ecore_file="ecore eina-0 ${requirements_ecore_file}"
429 requirements_ecore_imf="ecore eina-0 ${requirements_ecore_imf}"
430 requirements_ecore_imf_evas="ecore eina-0 ${requirements_ecore_imf_evas}"
431 requirements_ecore_input="ecore eina-0 ${requirements_ecore_input}"
432 requirements_ecore_input_evas="ecore eina-0 ${requirements_ecore_input_evas}"
433 requirements_ecore_ipc="ecore eina-0 ${requirements_ecore_ipc}"
434 requirements_ecore_cocoa="ecore eina-0 ${requirements_ecore_cocoa}"
435 requirements_ecore_sdl="ecore eina-0 ${requirements_ecore_sdl}"
436 requirements_ecore_win32="ecore eina-0 ${requirements_ecore_win32}"
437 requirements_ecore_wince="ecore eina-0 ${requirements_ecore_wince}"
438 requirements_ecore_x="ecore eina-0 ${requirements_ecore_x}"
439
440
441 # glib support (main loop integration)
442 AC_ARG_ENABLE([glib],
443    [AC_HELP_STRING([--disable-glib], [disable glib support. @<:@default=detect@:>@])],
444    [want_glib=$enableval], [])
445
446 if test "x$want_glib" != "xno"; then
447    PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib="yes"], [have_glib="no"])
448 else
449    have_glib="no"
450 fi
451 if test "x$want_glib" = "xyes" -a "x$have_glib" = "xno"; then
452    AC_MSG_ERROR([GLib support requested, but no GLib found by pkg-config.])
453 elif test "x$have_glib" = "xyes"; then
454    AC_DEFINE(HAVE_GLIB, [1], [Have GLib])
455    requirements_ecore="glib-2.0 ${requirements_ecore}"
456 fi
457
458
459 # SDL library (ecore_sdl)
460
461 have_sdl="no"
462 SDL_CONFIG="sdl-config"
463 AC_ARG_WITH([sdl-config],
464    [AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified])],
465    [
466     SDL_CONFIG=$withval
467     AC_MSG_NOTICE([using ${SDL_CONFIG} for sdl-config])
468    ])
469
470 AC_PATH_PROG([SDL_CONFIG], ["sdl-config"], [""], [$PATH])
471
472 if test -n "$SDL_CONFIG" ; then
473    SDL_CFLAGS=`$SDL_CONFIG --cflags`
474    SDL_LIBS=`$SDL_CONFIG --libs`
475    AC_SUBST(SDL_CFLAGS)
476    AC_SUBST(SDL_LIBS)
477    have_sdl="yes"
478 else
479    PKG_CHECK_MODULES([SDL], [sdl >= 1.2.0], [have_sdl="yes"], [have_sdl="no"])
480 fi
481
482 if test "x${have_sdl}" = "xyes" ; then
483    PKG_CHECK_EXISTS([sdl >= 1.3.0],
484       [AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])])
485 fi
486
487
488 # DirectFB library (ecore_directfb)
489
490 PKG_CHECK_MODULES([DIRECTFB],
491    [directfb >= 0.9.16],
492    [have_directfb="yes"],
493    [have_directfb="no"])
494
495
496 # Eet library (ecore_config)
497
498 PKG_CHECK_MODULES([EET],
499    [eet >= 1.0.0],
500    [have_eet="yes"],
501    [have_eet="no"])
502
503
504 # Xlib and XCB (ecore_x)
505
506 have_x="no"
507 have_ecore_x="no"
508 have_ecore_x_xlib="no"
509 have_ecore_x_xcb="no"
510
511 x_dir="";
512 x_includes="";
513 x_cflags="";
514 x_libs="";
515
516 ecore_x_libs_private=""
517
518 AC_ARG_ENABLE(ecore-x-composite,
519    [AC_HELP_STRING([--disable-ecore-x-composite],
520        [disable the ecore_x support for Xcomposite extension.
521         @<:@default=detect@:>@])],
522    [want_ecore_x_composite=$enableval])
523
524 AC_ARG_ENABLE(ecore-x-damage,
525    [AC_HELP_STRING([--disable-ecore-x-damage],
526        [disable the ecore_x support for Xdamage extension.
527         @<:@default=detect@:>@])],
528    [want_ecore_x_damage=$enableval])
529
530 AC_ARG_ENABLE(ecore-x-dpms,
531    [AC_HELP_STRING([--disable-ecore-x-dpms],
532        [disable the ecore_x support for Xdpms extension.
533         @<:@default=detect@:>@])],
534    [want_ecore_x_dpms=$enableval])
535
536 AC_ARG_ENABLE(ecore-x-randr,
537    [AC_HELP_STRING([--disable-ecore-x-randr],
538        [disable the ecore_x support for Xrandr extension.
539         @<:@default=detect@:>@])],
540    [want_ecore_x_randr=$enableval])
541
542 AC_ARG_ENABLE(ecore-x-render,
543    [AC_HELP_STRING([--disable-ecore-x-render],
544        [disable the ecore_x support for Xrender extension.
545         @<:@default=detect@:>@])],
546    [want_ecore_x_render=$enableval])
547
548 AC_ARG_ENABLE(ecore-x-screensaver,
549    [AC_HELP_STRING([--disable-ecore-x-screensaver],
550        [disable the ecore_x support for Xscreensaver extension.
551         @<:@default=detect@:>@])],
552    [want_ecore_x_screensaver=$enableval])
553
554 AC_ARG_ENABLE(ecore-x-shape,
555    [AC_HELP_STRING([--disable-ecore-x-shape],
556        [disable the ecore_x support for Xshape extension.
557         @<:@default=detect@:>@])],
558    [want_ecore_x_shape=$enableval])
559
560 AC_ARG_ENABLE(ecore-x-sync,
561    [AC_HELP_STRING([--disable-ecore-x-sync],
562        [disable the ecore_x support for Xsync extension.
563         @<:@default=detect@:>@])],
564    [want_ecore_x_sync=$enableval])
565
566 AC_ARG_ENABLE(ecore-x-xfixes,
567    [AC_HELP_STRING([--disable-ecore-x-xfixes],
568        [disable the ecore_x support for Xfixes extension.
569         @<:@default=detect@:>@])],
570    [want_ecore_x_xfixes=$enableval])
571
572 AC_ARG_ENABLE(ecore-x-xinerama,
573    [AC_HELP_STRING([--disable-ecore-x-xinerama],
574        [disable the ecore_x support for Xinerama extension.
575         @<:@default=detect@:>@])],
576    [want_ecore_x_xinerama=$enableval])
577
578 AC_ARG_ENABLE(ecore-x-xprint,
579    [AC_HELP_STRING([--disable-ecore-x-xprint],
580        [disable the ecore_x support for Xprint extension.
581         @<:@default=detect@:>@])],
582    [want_ecore_x_xprint=$enableval])
583
584 AC_ARG_ENABLE(ecore-x-xtest,
585    [AC_HELP_STRING([--disable-ecore-x-xtest],
586        [disable the ecore_x support for Xtest extension.
587         @<:@default=detect@:>@])],
588    [want_ecore_x_xtest=$enableval])
589
590 AC_ARG_ENABLE(ecore-x-cursor,
591    [AC_HELP_STRING([--disable-ecore-x-cursor],
592        [disable the ecore_x support for Xcursor extension.
593         @<:@default=detect@:>@])],
594    [want_ecore_x_cursor=$enableval])
595
596 AC_ARG_ENABLE(ecore-x-input,
597    [AC_HELP_STRING([--disable-ecore-x-input],
598        [disable the ecore_x support for Xinput/Xinput2 extension.
599         @<:@default=detect@:>@])],
600    [want_ecore_x_input=$enableval])
601
602
603 AC_ARG_ENABLE(ecore-x-xcb,
604    [AC_HELP_STRING([--enable-ecore-x-xcb],
605        [enable the ecore_x module with XCB backend. @<:@default=disabled@:>@])],
606    [want_ecore_x_xcb=$enableval],
607    [want_ecore_x_xcb="no"])
608
609 AC_MSG_CHECKING(whether ecore_x with XCB backend is to be built)
610 AC_MSG_RESULT($want_ecore_x_xcb)
611
612 if test "x$want_ecore_x_xcb" = "xyes" ; then
613   PKG_CHECK_MODULES(XCB, xcb xcb-icccm xcb-image xcb-keysyms pixman-1,
614     [ have_ecore_x_xcb="yes"
615       requirements_ecore_x="xcb xcb-icccm xcb-image xcb-keysyms pixman-1 ${requirements_ecore_x}" ],
616     [ have_ecore_x_xcb="no" ])
617
618   if test "x$have_ecore_x_xcb" = "xyes" ; then
619     if test "x$want_ecore_x_composite" != "xno"; then
620       PKG_CHECK_MODULES(XCB_COMPOSITE, xcb-composite,
621         [ have_ecore_x_xcb_composite="yes"
622           requirements_ecore_x="xcb-composite ${requirements_ecore_x}"
623           AC_DEFINE(ECORE_XCB_COMPOSITE, 1, [Build support for XCB composite]) ],
624         [ have_ecore_x_xcb_composite="no" ])
625     else
626       have_ecore_x_xcb_composite="no"
627       AC_MSG_NOTICE("composite extension explicitly disabled")
628     fi
629
630     if test "x$want_ecore_x_damage" != "xno"; then
631       PKG_CHECK_MODULES(XCB_DAMAGE, xcb-damage,
632         [ have_ecore_x_xcb_damage="yes"
633           requirements_ecore_x="xcb-damage ${requirements_ecore_x}"
634           AC_DEFINE(ECORE_XCB_DAMAGE, 1, [Build support for XCB damage]) ],
635         [ have_ecore_x_xcb_damage="no" ])
636     else
637       have_ecore_x_xcb_damage="no"
638       AC_MSG_NOTICE("damage extension explicitly disabled")
639     fi
640
641     if test "x$want_ecore_x_dpms" != "xno"; then
642       PKG_CHECK_MODULES(XCB_DPMS, xcb-dpms,
643         [ have_ecore_x_xcb_dpms="yes"
644           requirements_ecore_x="xcb-dpms ${requirements_ecore_x}"
645           AC_DEFINE(ECORE_XCB_DPMS, 1, [Build support for XCB dpms]) ],
646         [ have_ecore_x_xcb_dpms="no" ])
647     else
648       have_ecore_x_xcb_dpms="no"
649       AC_MSG_NOTICE("dpms extension explicitly disabled")
650     fi
651
652     if test "x$want_ecore_x_randr" != "xno"; then
653       PKG_CHECK_MODULES(XCB_RANDR, xcb-randr,
654         [ have_ecore_x_xcb_randr="yes"
655           requirements_ecore_x="xcb-randr ${requirements_ecore_x}"
656           AC_DEFINE(ECORE_XCB_RANDR, 1, [Build support for XCB randr]) ],
657         [ have_ecore_x_xcb_randr="no" ])
658     else
659       have_ecore_x_xcb_randr="no"
660       AC_MSG_NOTICE("randr extension explicitly disabled")
661     fi
662
663     if test "x$want_ecore_x_render" != "xno"; then
664       PKG_CHECK_MODULES(XCB_RENDER, xcb-render,
665         [ have_ecore_x_xcb_render="yes"
666           requirements_ecore_x="xcb-render ${requirements_ecore_x}"
667           AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ],
668         [ have_ecore_x_xcb_render="no" ])
669     else
670       have_ecore_x_xcb_render="no"
671       AC_MSG_NOTICE("render extension explicitly disabled")
672     fi
673
674     if test "x$want_ecore_x_screensaver" != "xno"; then
675       PKG_CHECK_MODULES(XCB_SCREENSAVER, xcb-screensaver,
676         [ have_ecore_x_xcb_screensaver="yes"
677           requirements_ecore_x="xcb-screensaver ${requirements_ecore_x}"
678           AC_DEFINE(ECORE_XCB_SCREENSAVER, 1, [Build support for XCB screensaver]) ],
679         [ have_ecore_x_xcb_screensaver="no" ])
680     else
681       have_ecore_x_xcb_screensaver="no"
682       AC_MSG_NOTICE("screensaver extension explicitly disabled")
683     fi
684
685     if test "x$want_ecore_x_shape" != "xno"; then
686       PKG_CHECK_MODULES(XCB_SHAPE, xcb-shape,
687         [ have_ecore_x_xcb_shape="yes"
688           requirements_ecore_x="xcb-shape ${requirements_ecore_x}"
689           AC_DEFINE(ECORE_XCB_SHAPE, 1, [Build support for XCB shape]) ],
690         [ have_ecore_x_xcb_shape="no" ])
691     else
692       have_ecore_x_xcb_shape="no"
693       AC_MSG_NOTICE("shape extension explicitly disabled")
694     fi
695
696     if test "x$want_ecore_x_sync" != "xno"; then
697       PKG_CHECK_MODULES(XCB_SYNC, xcb-sync,
698         [ have_ecore_x_xcb_sync="yes"
699           requirements_ecore_x="xcb-sync ${requirements_ecore_x}"
700           AC_DEFINE(ECORE_XCB_SYNC, 1, [Build support for XCB sync]) ],
701         [ have_ecore_x_xcb_sync="no" ])
702     else
703       have_ecore_x_xcb_sync="no"
704       AC_MSG_NOTICE("sync extension explicitly disabled")
705     fi
706
707     if test "x$want_ecore_x_xfixes" != "xno"; then
708       PKG_CHECK_MODULES(XCB_XFIXES, xcb-xfixes,
709         [ have_ecore_x_xcb_xfixes="yes"
710           requirements_ecore_x="xcb-xfixes ${requirements_ecore_x}"
711           AC_DEFINE(ECORE_XCB_FIXES, 1, [Build support for XCB xfixes]) ],
712         [ have_ecore_x_xcb_xfixes="no" ])
713     else
714       have_ecore_x_xcb_xfixes="no"
715       AC_MSG_NOTICE("xfixes extension explicitly disabled")
716     fi
717
718     if test "x$want_ecore_x_xinerama" != "xno"; then
719       PKG_CHECK_MODULES(XCB_XINERAMA, xcb-xinerama,
720         [ have_ecore_x_xcb_xinerama="yes"
721           requirements_ecore_x="xcb-xinerama ${requirements_ecore_x}"
722           AC_DEFINE(ECORE_XCB_XINERAMA, 1, [Build support for XCB xinerama]) ],
723         [ have_ecore_x_xcb_xinerama="no" ])
724     else
725       have_ecore_x_xcb_xinerama="no"
726       AC_MSG_NOTICE("xinerama extension explicitly disabled")
727     fi
728
729     if test "x$want_ecore_x_xprint" != "xno"; then
730       PKG_CHECK_MODULES(XCB_XPRINT, xcb-xprint,
731         [ have_ecore_x_xcb_xprint="yes"
732           requirements_ecore_x="xcb-xprint ${requirements_ecore_x}"
733           AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
734         [ have_ecore_x_xcb_xprint="no" ])
735     else
736       have_ecore_x_xcb_xprint="no"
737       AC_MSG_NOTICE("xprint extension explicitly disabled")
738     fi
739
740     if test "x$want_ecore_x_xtest" != "xno"; then
741       PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
742         [ have_ecore_x_xcb_xtest="yes"
743           requirements_ecore_x="xcb-xtest ${requirements_ecore_x}"
744           AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
745         [ have_ecore_x_xcb_xtest="no" ])
746     else
747       have_ecore_x_xcb_xtest="no"
748       AC_MSG_NOTICE("xtest extension explicitly disabled")
749     fi
750
751     AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB is enabled.])
752
753     x_cflags=$XCB_CFLAGS
754     x_libs=$XCB_LIBS
755     have_x="yes"
756
757     have_ecore_x_xcb_define="-DHAVE_ECORE_X_XCB"
758     AC_SUBST(have_ecore_x_xcb_define)
759   fi
760 fi
761
762 if ! test "x$have_ecore_x_xcb" = "xyes" ; then
763   AC_PATH_XTRA
764   AC_CHECK_HEADER(X11/X.h,
765     [
766      if test "x$want_evas_simple_x11" = "xyes"; then
767        x_libs="${x_libs} -lX11 -lXext"
768      else
769        x_dir=${x_dir:-/usr/X11R6}
770        x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
771        x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
772      fi
773      have_ecore_x_xlib="yes"
774     ]
775   )
776
777   if test "x$have_ecore_x_xlib" = "xyes"; then
778     Xcursor_libs=""
779     Xcursor_cflags=""
780     use_Xcursor="no"
781     PCFLAGS=$CFLAGS
782     CFLAGS="$x_cflags $x_includes"
783
784     if test "x$want_ecore_x_cursor" = "xyes"; then
785       AC_CHECK_HEADER(X11/Xcursor/Xcursor.h,
786         [
787           AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor,
788             [
789               AC_DEFINE(ECORE_XCURSOR, 1, [Build support for Xcursor])
790               Xcursor_cflags=""
791               Xcursor_libs="-lXcursor"
792               use_Xcursor="yes"
793             ], [
794               Xcursor_cflags=""
795               Xcursor_libs=""
796               use_Xcursor="no"
797             ], [
798               $x_libs -lXrender
799             ]
800           )
801         ], [
802           Xcursor_cflags=""
803           Xcursor_libs=""
804           use_Xcursor="no"
805         ], [
806           #include <X11/Xlib.h>
807         ]
808       )
809       CFLAGS=$PCFLAGS
810     else
811       Xcursor_cflags=""
812       Xcursor_libs=""
813       use_Xcursor="no"
814       AC_MSG_NOTICE("Xcursor explicitly disabled")
815     fi
816
817     AC_SUBST(Xcursor_cflags)
818     AC_SUBST(Xcursor_libs)
819
820     ECORE_CHECK_X_EXTENSION([Xkb], [XKB.h], [X11], [XkbSetDetectableAutoRepeat], [$want_ecore_x_xkb])
821     ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension], [$want_ecore_x_composite])
822     ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract], [$want_ecore_x_damage])
823     ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xdpms], [DPMSQueryExtension], [$want_ecore_x_dpms])
824     if test "x$use_xdpms" = "xno" ; then
825       ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension], [$want_ecore_x_dpms])
826     fi
827     ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion], [$want_ecore_x_xfixes])
828     ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens], [$want_ecore_x_xinerama])
829     ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens], [$want_ecore_x_xprint])
830     ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRGetScreenResourcesCurrent], [$want_ecore_x_randr])
831     ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat], [$want_ecore_x_render])
832     ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent], [$want_ecore_x_xtest])
833     ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput], [$want_ecore_x_screensaver])
834     ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice], [$want_ecore_x_input])
835
836     ecore_x_libs_private="${Xcursor_libs} ${XKB_LIBS} ${XCOMPOSITE_LIBS} ${XDAMAGE_LIBS} ${XDPMS_LIBS} ${XFIXES_LIBS} ${XINERAMA_LIBS} ${XPRINT_LIBS} ${XRANDR_LIBS} ${XRENDER_LIBS} ${XTEST_LIBS} ${XSS_LIBS} ${XI2_LIBS}"
837
838     AC_DEFINE(HAVE_ECORE_X_XLIB, 1, [Defined to 1 if Xlib is enabled.])
839     have_x="yes"
840
841     have_ecore_x_xlib="yes"
842   fi
843 fi
844
845 AC_SUBST(x_cflags)
846 AC_SUBST(x_includes)
847 AC_SUBST(x_libs)
848 AC_SUBST(ecore_x_libs_private)
849
850 AM_CONDITIONAL(BUILD_ECORE_X_XLIB, test $have_ecore_x_xlib = yes)
851 AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
852
853
854 # Evas library (ecore_config, ecore_input_evas, ecore_imf_evas and ecore_evas)
855
856 PKG_CHECK_MODULES([EVAS], [evas >= 0.9.9],
857    [have_evas="yes"],
858    [have_evas="no"])
859
860
861 ### Checks for header files
862
863 AC_HEADER_SYS_WAIT
864
865 have_addrinfo="no"
866 case "$host_os" in
867    mingw* | cegcc*)
868       AC_DEFINE(HAVE_DLFCN_H, 1, [Define to 1 if you have the <dlfcn.h> header file.])
869       AC_DEFINE(HAVE_SYS_MMAN_H, 1, [Define to 1 if you have the <sys/mman.h> header file.])
870       AC_DEFINE(HAVE_SYS_TIME_H, 1, [Define to 1 if you have the <sys/time.h> header file.])
871       have_addrinfo="yes"
872       ;;
873    *)
874       AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h sys/time.h sys/mman.h signal.h sys/resource.h])
875       ;;
876 esac
877
878 # ecore_con
879
880 AC_CHECK_HEADERS([arpa/inet.h arpa/nameser.h netinet/tcp.h netinet/in.h sys/socket.h sys/un.h ws2tcpip.h netdb.h])
881
882 if test "x${ac_cv_header_netdb_h}" = "xyes" ; then
883    have_addrinfo="yes"
884 fi
885
886 # Framebuffer (ecore_fb)
887 have_fb="no"
888 AC_CHECK_HEADER([linux/fb.h],
889    [AC_CHECK_HEADER([linux/input.h], [have_fb="yes"])])
890
891 # Cocoa header files (ecore_cocoa)
892
893 cocoa_ldflags="";
894 have_cocoa="no"
895 m4_ifdef([AC_PROG_OBJC], [
896     if test "x${have_gnu_objc}" = "xyes" ; then
897        AC_LANG_PUSH([Objective C])
898        AC_CHECK_HEADER([Cocoa/Cocoa.h],
899           [
900            have_cocoa="yes"
901            cocoa_ldflags="-framework Cocoa"
902           ])
903        AC_LANG_POP([Objective C])
904     fi
905 ])
906 AC_SUBST(cocoa_ldflags)
907
908 # check for epoll support
909 AC_CHECK_HEADERS([sys/epoll.h])
910
911 # basic pthread support
912
913 EFL_CHECK_PTHREAD([no], [have_pthread="yes"], [have_pthread="no"])
914
915 ### Checks for types
916 AC_CHECK_SIZEOF(int, 4)
917 AC_CHECK_SIZEOF(long, 4)
918
919
920 ### Checks for structures
921
922
923 ### Checks for compiler characteristics
924 AM_PROG_CC_STDC
925 AC_C_CONST
926 AC_C_BIGENDIAN
927 AC_HEADER_STDC
928 AC_C___ATTRIBUTE__
929
930 WIN32_CPPFLAGS=""
931 WIN32_CFLAGS=""
932 case "$host_os" in
933    mingw32ce*)
934       WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
935       ;;
936    cegcc*)
937       WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
938       WIN32_CFLAGS="-mwin32"
939       ;;
940    mingw*)
941       WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0501"
942       ;;
943 esac
944 AC_SUBST(WIN32_CPPFLAGS)
945 AC_SUBST(WIN32_CFLAGS)
946
947
948 ### Checks for linker characteristics
949
950 # use --enable-auto-import on Windows
951
952 lt_enable_auto_import=""
953 case "$host_os" in
954    mingw* | cegcc*)
955       lt_enable_auto_import="-Wl,--enable-auto-import"
956       ;;
957 esac
958 AC_SUBST(lt_enable_auto_import)
959
960 ### Checks for library functions
961 AC_FUNC_ALLOCA
962 AC_CHECK_FUNCS(gettimeofday strlcpy)
963
964 have_atfile_source=auto
965 AC_ARG_ENABLE(atfile-source,
966         AC_HELP_STRING([--disable-atfile-source],
967                        [disable use of atfile source functions as openat and mkdirat @<:@default=detect@:>@]),
968         [have_atfile_source=$enableval], [have_atfile_source=auto])
969
970 if test "x$have_atfile_source" != "xno"; then
971         AC_CHECK_FUNCS(mkdirat,
972                 [
973                 have_atfile_source=yes
974                 AC_DEFINE(HAVE_ATFILE_SOURCE, 1, [mkdirat exists])
975                 ],
976                 [
977                 if test "x$have_atfile_source" = "xyes"; then
978                         AC_MSG_ERROR([required atfile-source but no mkdirat()])
979                 fi
980                 have_atfile_source=no
981                 ])
982 fi
983
984 ### Checks for optionnal feature
985 AC_CHECK_FUNC(mallinfo,
986         [
987           have_mallinfo=yes
988           AC_DEFINE(HAVE_MALLINFO, 1, [Gather memory statistic])
989         ], [
990           have_mallinfo=no
991         ])
992
993 ### Ecore modules
994
995 ## Core modules
996
997 # ecore_con
998 ECORE_CHECK_MODULE([con], [${want_ecore_con}], [Con], [${have_addrinfo}])
999
1000 have_curl="no"
1001 have_gnutls="no"
1002 have_openssl="no"
1003 have_cares="no"
1004 if test "x${have_ecore_con}" = "xyes" ; then
1005
1006    ECORE_CHECK_CURL([${want_curl}],
1007       [
1008        have_curl="yes"
1009        requirements_ecore_con="libcurl ${requirements_ecore_con}"
1010       ],
1011       [have_curl="no"])
1012
1013    ECORE_CHECK_GNUTLS([${want_gnutls}],
1014       [have_gnutls="yes"],
1015       [have_gnutls="no"])
1016
1017    ECORE_CHECK_OPENSSL([${want_openssl}],
1018       [have_openssl="yes"],
1019       [have_openssl="no"])
1020
1021    if test "x${have_gnutls}" = "xyes" ; then
1022       requirements_ecore_con="gnutls ${requirements_ecore_con}"
1023       # no need to add it to req_ecore_ipc, since they
1024       # depends on ecore_con anyway.
1025    else
1026       if test "x${have_openssl}" = "xyes" ; then
1027          requirements_ecore_con="openssl ${requirements_ecore_con}"
1028          # no need to add it to req_ecore_ipc, since they
1029          # depends on ecore_con anyway.
1030       fi
1031    fi
1032
1033    ECORE_CHECK_CARES([${want_cares}],
1034       [
1035        have_cares="yes"
1036        requirements_ecore_con="libcares ${requirements_ecore_con}"
1037       ],
1038       [have_cares="no"])
1039
1040 fi
1041
1042 AM_CONDITIONAL([HAVE_CARES], [test "x${have_cares}" = "xyes"])
1043
1044 # ecore_ipc
1045 ECORE_CHECK_MODULE([ipc], [${want_ecore_ipc}], [Ipc], [${have_ecore_con}],
1046    [requirements_ecore_ipc="ecore-con ${requirements_ecore_ipc}"])
1047
1048 # ecore_file
1049 ECORE_CHECK_MODULE([file], [${want_ecore_file}], [File])
1050
1051 have_poll="no"
1052 have_inotify="no"
1053 have_notify_win32="no"
1054 if test "x${have_ecore_file}" = "xyes" ; then
1055    ECORE_CHECK_POLL([${want_poll}], [have_poll="yes"], [have_poll="no"])
1056    ECORE_CHECK_INOTIFY([${want_inotify}], [have_inotify="yes"], [have_inotify="no"])
1057    ECORE_CHECK_NOTIFY_WIN32([${want_notify_win32}], [have_notify_win32="yes"], [have_notify_win32="no"])
1058
1059    if test "x${have_ecore_con}" = "xyes" ; then
1060       requirements_ecore_file="ecore-con ${requirements_ecore_file}"
1061    fi
1062 fi
1063
1064 # ecore_config
1065 ecore_config_deps="no"
1066 if test "x${have_eet}" = "xyes" -a "x${have_evas}"  -a "x${have_ecore_ipc}" ; then
1067    ecore_config_deps="yes"
1068 fi
1069
1070 ECORE_CHECK_MODULE([config], [${want_ecore_config}], [Config], [${ecore_config_deps}],
1071    [requirements_ecore_config="ecore-ipc evas eet ${requirements_ecore_config}"])
1072
1073 # ecore_imf
1074
1075 ECORE_CHECK_MODULE([imf], [${want_ecore_imf}], [Imf])
1076
1077 # ecore_imf_evas
1078
1079 ecore_imf_evas_deps="no"
1080 if test "x${have_ecore_imf}" = "xyes" -a "x${have_evas}" = "xyes" ; then
1081    ecore_imf_evas_deps="yes"
1082 fi
1083
1084 ECORE_CHECK_MODULE([imf-evas], [${want_ecore_imf}], [Imf_Evas], [${ecore_imf_evas_deps}],
1085    [requirements_ecore_imf_evas="ecore-imf evas ${requirements_ecore_imf_evas}"])
1086
1087 # ecore_input{_evas}
1088 ECORE_CHECK_MODULE([input], [${want_ecore_input}], [Input])
1089 ECORE_CHECK_MODULE([input-evas], [${want_ecore_input}], [Input_Evas], [${have_evas}],
1090    [requirements_ecore_input_evas="ecore-input evas ${requirements_ecore_input}"])
1091
1092 ## Graphic systems
1093
1094 # ecore_x{cb}
1095
1096 ecore_x_deps="no"
1097 if test "x${have_x}" = "xyes" -a \
1098         "x${have_ecore_input}" = "xyes" ; then
1099    ecore_x_deps="yes"
1100 fi
1101
1102 ECORE_CHECK_MODULE([x], [${want_ecore_x}], [X], [${ecore_x_deps}],
1103   [
1104    ecore_x_libs="$ecore_x_libs $x_libs"
1105    requirements_ecore_x="ecore-input ${requirements_ecore_x}"
1106   ])
1107
1108 # ecore_win32
1109
1110 ECORE_CHECK_MODULE([win32], [${want_ecore_win32}], [Win32], [${have_ecore_input}],
1111    [
1112     ecore_win32_libs="-lole32 -lgdi32"
1113     requirements_ecore_win32="ecore-input ${requirements_ecore_win32}"
1114    ])
1115 AC_SUBST(ecore_win32_libs)
1116
1117 # ecore_cocoa
1118
1119 ecore_cocoa_deps="no"
1120 if test "x${have_ecore_input}" = "xyes" -a "x${have_cocoa}" = "xyes" ; then
1121    ecore_cocoa_deps="yes"
1122 fi
1123
1124 ECORE_CHECK_MODULE([cocoa], [${want_ecore_cocoa}], [Cocoa], [${ecore_cocoa_deps}],
1125    [requirements_ecore_cocoa="ecore-input ${requirements_ecore_cocoa}"])
1126
1127 # ecore_sdl
1128
1129 ecore_sdl_deps="no"
1130 if test "x${have_sdl}" = "xyes" -a "x${have_ecore_input}" = "xyes" ; then
1131    ecore_sdl_deps="yes"
1132 fi
1133
1134 ECORE_CHECK_MODULE([sdl], [${want_ecore_sdl}], [Sdl], [${ecore_sdl_deps}],
1135    [requirements_ecore_sdl="ecore-input ${requirements_ecore_sdl}"])
1136
1137 # ecore_fb
1138 ECORE_CHECK_MODULE([fb], [${want_ecore_fb}], [FB], [$have_fb])
1139
1140 if test "x${have_ecore_fb}" = "xyes" ; then
1141    ECORE_CHECK_TSLIB([${want_tslib}],
1142       [
1143        have_tslib="yes"
1144        requirements_ecore_fb="${_tslib_requirement} ${requirements_ecore_fb}"
1145       ],
1146       [have_tslib="no"])
1147 fi
1148
1149 # ecore_directfb
1150
1151 ECORE_CHECK_MODULE([directfb], [${want_ecore_directfb}], [DirectFB], [${have_directfb}],
1152    [requirements_ecore_directfb="directfb ${requirements_ecore_directfb}"])
1153
1154 # ecore_wince
1155
1156 ECORE_CHECK_MODULE([wince], [${want_ecore_wince}], [WinCE], [${have_ecore_input}],
1157    [requirements_ecore_win32="ecore-input ${requirements_ecore_win32}"])
1158
1159 ## Ecore Evas
1160
1161 # ecore_evas
1162
1163 ecore_evas_deps="no"
1164 if test "x${have_evas}" = "xyes" -a "x${have_ecore_input}" = "xyes" -a "x${have_ecore_input_evas}" = "xyes" ; then
1165    ecore_evas_deps="yes"
1166 fi
1167
1168 ECORE_CHECK_MODULE([evas], [${want_ecore_evas}], [Evas], [${ecore_evas_deps}],
1169   [requirements_ecore_evas="ecore-input ecore-input-evas evas ${requirements_ecore_evas}"])
1170
1171 # ecore_evas_buffer
1172
1173 ECORE_EVAS_CHECK_MODULE([software-buffer],
1174    [${want_ecore_evas_software_buffer}],
1175    [Software Buffer],
1176    [yes])
1177
1178 # ecore_evas_x11
1179
1180 # ecore_evas_software_x11
1181
1182 ECORE_EVAS_CHECK_MODULE([software-x11],
1183    [${want_ecore_evas_software_x11}],
1184    [Software X11],
1185    [${have_ecore_x}])
1186
1187 have_ecore_evas_software_xlib=no"
1188 have_ecore_evas_software_xcb=no"
1189 if test "x$have_ecore_evas_software_x11" = "xyes" ; then
1190    have_ecore_evas_software_xlib=`${PKG_CONFIG} --variable=Xlib evas-software-x11`
1191    if test "x${have_ecore_evas_software_xlib}" = "xyes" -a "x${have_ecore_x_xlib}" = "xyes" ; then
1192       AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XLIB, 1, [Evas Software Xlib Engine Support])
1193    fi
1194    have_ecore_evas_software_xcb=`${PKG_CONFIG} --variable=XCB evas-software-x11`
1195    if test "x$have_ecore_evas_software_xcb" = "xyes" -a "x${have_ecore_x_xcb}" = "xyes" ; then
1196       AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_XCB, 1, [Evas Software XCB Engine Support])
1197    fi
1198 fi
1199
1200 # ecore_evas_xrender_x11
1201
1202 ECORE_EVAS_CHECK_MODULE([xrender-x11],
1203    [${want_ecore_evas_xrender_x11}],
1204    [XRender Xlib],
1205    [${have_ecore_x_xlib}])
1206
1207 # ecore_evas_opengl_x11
1208
1209 ECORE_EVAS_CHECK_MODULE([opengl-x11],
1210    [${want_ecore_evas_opengl_x11}],
1211    [OpenGL Xlib],
1212    [${have_ecore_x_xlib}])
1213
1214 # ecore_evas_software_x11 16 bits
1215
1216 ECORE_EVAS_CHECK_MODULE([software-16-x11],
1217    [${want_ecore_evas_software_16_x11}],
1218    [Software Xlib 16 bits],
1219    [${have_ecore_x_xlib}])
1220
1221 ECORE_EVAS_CHECK_MODULE([software-8-x11],
1222     [$want_ecore_evas_software_8_x11],
1223     [Software 8bit X11],
1224     $have_ecore_x_xcb)
1225
1226
1227 # ecore_evas_xrender_xcb
1228
1229 ECORE_EVAS_CHECK_MODULE([xrender-xcb],
1230    [${want_ecore_evas_xrender_xcb}],
1231    [XRender XCB],
1232    [${ecore_evas_xcb_deps}])
1233
1234 if test "x$have_ecore_evas_software_x11" = "xyes" -o \
1235         "x$have_ecore_evas_xrender_x11" = "xyes" -o \
1236         "x$have_ecore_evas_opengl_x11" = "xyes" -o \
1237         "x$have_ecore_evas_software_8_x11" = "xyes" -o \
1238         "x$have_ecore_evas_software_16_x11" = "xyes" -o \
1239         "x$have_ecore_evas_software_xcb" = "xyes" -o \
1240         "x$have_ecore_evas_xrender_xcb" = "xyes"; then
1241    AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
1242    requirements_ecore_evas="ecore-x ${requirements_ecore_evas}"
1243 fi
1244
1245 # ecore_evas_win32
1246
1247 ECORE_EVAS_CHECK_MODULE([software-gdi],
1248    [${want_ecore_evas_software_gdi}],
1249    [Software GDI],
1250    [${have_ecore_win32}])
1251
1252 ECORE_EVAS_CHECK_MODULE([software-ddraw],
1253    [${want_ecore_evas_software_ddraw}],
1254    [Software DirectDraw],
1255    [${have_ecore_win32}])
1256
1257 ECORE_EVAS_CHECK_MODULE([direct3d],
1258    [${want_ecore_evas_direct3d}],
1259    [Direct3d],
1260    [${have_ecore_win32}])
1261
1262 ECORE_EVAS_CHECK_MODULE([opengl-glew],
1263    [${want_ecore_evas_opengl_glew}],
1264    [Glew OpenGL],
1265    [${have_ecore_win32}])
1266
1267 ECORE_EVAS_CHECK_MODULE([software-16-ddraw],
1268    [${want_ecore_evas_software_16_ddraw}],
1269    [16 bpp Software DirectDraw],
1270    [${have_ecore_win32}])
1271
1272 if test "x${have_ecore_evas_software_gdi}" = "xyes" -o \
1273         "x${have_ecore_evas_software_ddraw}" = "xyes" -o \
1274         "x${have_ecore_evas_direct3d}" = "xyes" -o \
1275         "x${have_ecore_evas_opengl_glew}" = "xyes" -o \
1276         "x${have_ecore_evas_software_16_ddraw}" = "xyes" ; then
1277    AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
1278    requirements_ecore_evas="ecore-win32 ${requirements_ecore_evas}"
1279 fi
1280
1281 # ecore_evas_cocoa
1282
1283 ECORE_EVAS_CHECK_MODULE([cocoa],
1284    [${want_ecore_evas_cocoa}],
1285    [Cocoa],
1286    [${have_ecore_cocoa}],
1287    [requirements_ecore_evas="ecore-cocoa ${requirements_ecore_evas}"])
1288
1289 # ecore_evas_software_sdl
1290
1291 ECORE_EVAS_CHECK_MODULE([software-sdl],
1292    [${want_ecore_evas_software_sdl}],
1293    [Software SDL],
1294    [${have_ecore_sdl}],
1295    [requirements_ecore_evas="ecore-sdl ${requirements_ecore_evas}"])
1296
1297 # ecore_evas_gl_sdl
1298
1299 ECORE_EVAS_CHECK_MODULE([opengl-sdl],
1300    [${want_ecore_evas_gl_sdl}],
1301    [OpenGL SDL],
1302    [${have_ecore_sdl}],
1303    [requirements_ecore_evas="ecore-sdl ${requirements_ecore_evas}"])
1304
1305 # ecore_evas_directfb
1306
1307 ECORE_EVAS_CHECK_MODULE([directfb],
1308    [${want_ecore_evas_directfb}],
1309    [DirectFB],
1310    [${have_ecore_directfb}],
1311    [requirements_ecore_evas="ecore-directfb ${requirements_ecore_evas}"])
1312
1313 # ecore_evas_fb
1314
1315 ECORE_EVAS_CHECK_MODULE([fb],
1316    [${want_ecore_evas_fb}],
1317    [Linux Framebuffer],
1318    [${have_ecore_fb}],
1319    [requirements_ecore_evas="ecore-fb ${requirements_ecore_evas}"])
1320
1321 # ecore_evas_wince
1322
1323 ECORE_EVAS_CHECK_MODULE([software-16-wince],
1324    [${want_ecore_evas_software_16_wince}],
1325    [16 bpp Software Windows CE],
1326    [${have_ecore_wince}],
1327    [requirements_ecore_evas="ecore-wince ${requirements_ecore_evas}"])
1328
1329
1330
1331 ### requirements
1332
1333 AC_SUBST(requirements_ecore)
1334 AC_SUBST(requirements_ecore_con)
1335 AC_SUBST(requirements_ecore_config)
1336 AC_SUBST(requirements_ecore_directfb)
1337 AC_SUBST(requirements_ecore_evas)
1338 AC_SUBST(requirements_ecore_fb)
1339 AC_SUBST(requirements_ecore_file)
1340 AC_SUBST(requirements_ecore_imf)
1341 AC_SUBST(requirements_ecore_imf_evas)
1342 AC_SUBST(requirements_ecore_input)
1343 AC_SUBST(requirements_ecore_input_evas)
1344 AC_SUBST(requirements_ecore_ipc)
1345 AC_SUBST(requirements_ecore_cocoa)
1346 AC_SUBST(requirements_ecore_sdl)
1347 AC_SUBST(requirements_ecore_x)
1348 AC_SUBST(requirements_ecore_win32)
1349 AC_SUBST(requirements_ecore_wince)
1350
1351 AC_OUTPUT([
1352 Makefile
1353 ecore-con.pc
1354 ecore-config.pc
1355 ecore-directfb.pc
1356 ecore-evas.pc
1357 ecore-fb.pc
1358 ecore-file.pc
1359 ecore-cocoa.pc
1360 ecore-imf.pc
1361 ecore-imf-evas.pc
1362 ecore-ipc.pc
1363 ecore-x.pc
1364 ecore-input.pc
1365 ecore-input-evas.pc
1366 ecore-win32.pc
1367 ecore-sdl.pc
1368 ecore-wince.pc
1369 ecore.pc
1370 doc/ecore.dox
1371 doc/Makefile
1372 src/Makefile
1373 src/bin/Makefile
1374 src/lib/Makefile
1375 src/lib/ecore/Makefile
1376 src/lib/ecore_con/Makefile
1377 src/lib/ecore_config/Makefile
1378 src/lib/ecore_directfb/Makefile
1379 src/lib/ecore_evas/Makefile
1380 src/lib/ecore_fb/Makefile
1381 src/lib/ecore_file/Makefile
1382 src/lib/ecore_cocoa/Makefile
1383 src/lib/ecore_sdl/Makefile
1384 src/lib/ecore_imf/Makefile
1385 src/lib/ecore_imf_evas/Makefile
1386 src/lib/ecore_input/Makefile
1387 src/lib/ecore_input_evas/Makefile
1388 src/lib/ecore_ipc/Makefile
1389 src/lib/ecore_win32/Makefile
1390 src/lib/ecore_wince/Makefile
1391 src/lib/ecore_x/Makefile
1392 src/lib/ecore_x/xlib/Makefile
1393 src/lib/ecore_x/xcb/Makefile
1394 src/tests/Makefile
1395 README
1396 ecore.spec
1397 $po_makefile_in
1398 ])
1399
1400 echo
1401 echo "$PACKAGE $VERSION"
1402 echo
1403 echo "Optional Modules:"
1404 echo
1405 echo " Core:"
1406 echo
1407 echo "  Ecore........................: always"
1408 echo "    Thread support.............: $have_pthread"
1409 echo "    GLib support...............: $have_glib"
1410 echo "    Always integrate GLib......: $want_glib_integration_always"
1411 echo "    Use g_main_loop............: $want_g_main_loop"
1412 echo "    Gathering memory statistic.: $have_mallinfo"
1413 echo "  Ecore_Con....................: $have_ecore_con"
1414 if test "x$have_ecore_con" = "xyes" ; then
1415   echo $ECHO_N "    OpenSSL....................: $have_openssl $ECHO_C"
1416 if test "x$have_gnutls" = "xyes" ; then
1417   echo " (disabled)"
1418 else
1419   echo
1420 fi
1421   echo "    GnuTLS.....................: $have_gnutls"
1422   echo "    CURL.......................: $have_curl"
1423   echo "    Abstract Sockets...........: $want_abstract_sockets"
1424   echo "    c-ares.....................: $have_cares"
1425 fi
1426 echo "  Ecore_Ipc....................: $have_ecore_ipc"
1427 if test "x$have_ecore_ipc" = "xyes" ; then
1428   echo $ECHO_N "    OpenSSL....................: $have_openssl $ECHO_C"
1429 if test "x$have_gnutls" = "xyes" ; then
1430   echo " (disabled)"
1431 else
1432   echo
1433 fi
1434   echo "    GnuTLS.....................: $have_gnutls"
1435 fi
1436 echo "  Ecore_File...................: $have_ecore_file"
1437 if test "x$have_ecore_file" = "xyes" ; then
1438   echo "    Inotify....................: $have_inotify"
1439   echo "    Windows notification.......: $have_notify_win32"
1440   echo "    Poll.......................: $have_poll"
1441   echo "    CURL.......................: $have_curl"
1442 fi
1443 echo "  Ecore_Config.................: $have_ecore_config (deprecated)"
1444 echo "  Ecore_IMF....................: $have_ecore_imf"
1445 echo "  Ecore_IMF_Evas...............: $have_ecore_imf_evas"
1446 echo "  Ecore_Input..................: $have_ecore_input"
1447 echo "  Ecore_Input_Evas.............: $have_ecore_input_evas"
1448
1449 echo
1450 echo " Graphic systems:"
1451 echo
1452
1453 if test "x$have_ecore_x" = "xyes" ; then
1454   if test "x$have_ecore_x_xcb" = "xyes" ; then
1455     echo "  Ecore_X (XCB backend)........: $have_ecore_x_xcb"
1456     echo "    Xprint.....................: $have_ecore_x_xcb_xprint"
1457     echo "    Xinerama...................: $have_ecore_x_xcb_xinerama"
1458     echo "    Xrandr.....................: $have_ecore_x_xcb_randr"
1459     echo "    Xscreensaver...............: $have_ecore_x_xcb_screensaver"
1460     echo "    Xshape.....................: $have_ecore_x_xcb_shape"
1461     echo "    Xsync......................: $have_ecore_x_xcb_sync"
1462     echo "    Xrender....................: $have_ecore_x_xcb_render"
1463     echo "    Xcomposite.................: $have_ecore_x_xcb_composite"
1464     echo "    Xfixes.....................: $have_ecore_x_xcb_xfixes"
1465     echo "    Xdamage....................: $have_ecore_x_xcb_damage"
1466     echo "    Xdpms......................: $have_ecore_x_xcb_dpms"
1467     echo "    Xtest......................: $have_ecore_x_xcb_xtest"
1468   else
1469     echo "  Ecore_X (Xlib backend).......: $have_ecore_x"
1470     echo "    Xcursor....................: $use_Xcursor"
1471     echo "    Xkb........................: $use_xkb"
1472     echo "    Xprint.....................: $use_xprint"
1473     echo "    Xinerama...................: $use_xinerama"
1474     echo "    Xrandr.....................: $use_xrandr"
1475     echo "    Xscreensaver...............: $use_xss"
1476     echo "    Xrender....................: $use_xrender"
1477     echo "    Xcomposite.................: $use_xcomposite"
1478     echo "    Xfixes.....................: $use_xfixes"
1479     echo "    Xdamage....................: $use_xdamage"
1480     echo "    Xdpms......................: $use_xdpms"
1481     echo "    Xtest......................: $use_xtest"
1482     echo "    XIM........................: $want_xim"
1483     echo "    Xi2........................: $use_xi2"
1484   fi
1485 else
1486   echo "  Ecore_X......................: $have_ecore_x"
1487 fi
1488 echo "  Ecore_Win32..................: $have_ecore_win32"
1489 echo "  Ecore_Cocoa..................: $have_ecore_cocoa"
1490 echo "  Ecore_SDL....................: $have_ecore_sdl"
1491 echo "  Ecore_FB.....................: $have_ecore_fb"
1492 if test "x${have_ecore_fb}" = "xyes" ; then
1493   echo "    Touchscreen................: $have_tslib"
1494 fi
1495 echo "  Ecore_DirectFB...............: $have_ecore_directfb"
1496 echo "  Ecore_WinCE..................: $have_ecore_wince"
1497
1498 echo
1499 echo " Ecore Evas:"
1500 echo
1501
1502 echo "  Ecore_Evas...................: $have_ecore_evas"
1503 if test "x${have_ecore_evas}" = "xyes" ; then
1504   echo "    Software Memory Buffer.....: $have_ecore_evas_software_buffer"
1505   if test "x${have_ecore_evas_software_x11}" = "xyes" ; then
1506     echo "    Software X11...............: $have_ecore_evas_software_x11 (Xlib=${have_ecore_evas_software_xlib}) (XCB=${have_ecore_evas_software_xcb})"
1507   else
1508     echo "    Software X11...............: $have_ecore_evas_software_x11"
1509   fi
1510   echo "    XRender X11................: $have_ecore_evas_xrender_x11"
1511   echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11"
1512   echo "    XRender XCB................: $have_ecore_evas_xrender_xcb"
1513   echo "    Software GDI...............: $have_ecore_evas_software_gdi"
1514   echo "    Software DirectDraw........: $have_ecore_evas_software_ddraw"
1515   echo "    Direct3D...................: $have_ecore_evas_direct3d"
1516   echo "    OpenGL Glew................: $have_ecore_evas_opengl_glew"
1517   echo "    Cocoa......................: $have_ecore_evas_cocoa"
1518   echo "    Software SDL...............: $have_ecore_evas_software_sdl"
1519   echo "    OpenGL SDL.................: $have_ecore_evas_opengl_sdl"
1520   echo "    DirectFB...................: $have_ecore_evas_directfb"
1521   echo "    Software Framebuffer.......: $have_ecore_evas_fb"
1522   echo "    Software 8bit grayscale XCB: $have_ecore_evas_software_8_x11"
1523   echo "    Software 16bit X11.........: $have_ecore_evas_software_16_x11"
1524   echo "    Software 16bit DirectDraw..: $have_ecore_evas_software_16_ddraw"
1525   echo "    Software 16bit WinCE.......: $have_ecore_evas_software_16_wince"
1526 fi
1527 echo
1528 echo "  Tests................: ${enable_tests}"
1529 echo "  Maximum log level....: ${with_max_log_level}"
1530 echo "Documentation..........: ${build_doc}"
1531 echo
1532 echo "Compilation............: make (or gmake)"
1533 echo "  CPPFLAGS.............: $CPPFLAGS"
1534 echo "  CFLAGS...............: $CFLAGS"
1535 echo "  CXXFLAGS.............: $CXXFLAGS"
1536 echo "  LDFLAGS..............: $LDFLAGS"
1537 echo
1538 echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
1539 echo "  prefix...............: $prefix"
1540 echo