Add AM_GNU_GETTEXT_VERSION(0.17) to configure.in to fix build error
[profile/ivi/ecore.git] / configure.in
1 # get rid of that stupid cache mechanism
2 rm -f config.cache
3
4 AC_INIT(ecore, 0.9.9.043, enlightenment-devel@lists.sourceforge.net)
5 AC_PREREQ(2.52)
6 AC_CONFIG_SRCDIR(configure.in)
7 AC_CANONICAL_BUILD
8 AC_CANONICAL_HOST
9 AC_ISC_POSIX
10
11 AM_INIT_AUTOMAKE(1.6 dist-bzip2)
12 AM_CONFIG_HEADER(config.h)
13 AM_GNU_GETTEXT_VERSION(0.17)
14
15 AC_PROG_CXX
16 AC_C_BIGENDIAN
17 AC_PROG_CC
18 AM_PROG_CC_STDC
19 AC_HEADER_STDC
20 AC_C_CONST
21 AC_CHECK_SIZEOF(int, 4)
22 AC_CHECK_SIZEOF(long, 4)
23 AC_C___ATTRIBUTE__
24 AC_HEADER_SYS_WAIT
25
26 AC_LIBTOOL_WIN32_DLL
27 define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
28 AC_PROG_LIBTOOL
29 AC_DEFINE_UNQUOTED(SHARED_LIB_SUFFIX, "$shrext_cmds", [Suffix for shared objects])
30
31 VMAJ=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $1);}'`
32 VMIN=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $2);}'`
33 VMIC=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $3);}'`
34 SNAP=`echo $PACKAGE_VERSION | awk -F. '{printf("%s", $4);}'`
35 version_info=`expr $VMAJ + $VMIN`":$VMIC:$VMIN"
36 AC_SUBST(version_info)
37
38 # define pkg-config requirements for all our submodules.
39 # only the trivial requirements go here.
40 requirements_ecore_con=""
41 requirements_ecore_config=""
42 requirements_ecore_desktop=""
43 requirements_ecore_directfb=""
44 requirements_ecore_evas="evas"
45 requirements_ecore_fb=""
46 requirements_ecore_file=""
47 requirements_ecore_ipc=""
48 requirements_ecore_job=""
49 requirements_ecore_txt=""
50 requirements_ecore_x=""
51 requirements_ecore_win32=""
52 requirements_ecore_wince=""
53 requirements_ecore_sdl=""
54
55 dnl The first call to PKG_CHECK_MODULES is done conditionally,
56 dnl so we should include this here:
57 PKG_PROG_PKG_CONFIG
58
59 dnl add windows requirements
60 WIN32_CFLAGS=""
61 WIN32_LIBS=""
62 lt_no_undefined=""
63 lt_enable_auto_import=""
64 case "$host_os" in
65         mingw*|cegcc)
66                 PKG_CHECK_MODULES([EVIL], [evil])
67                 AC_DEFINE(HAVE_EVIL, 1, [Set to 1 if evil package is installed.])
68                 dnl needed for correct definition of EAPI
69                 AC_DEFINE(EFL_ECORE_BUILD, 1, [Define to mention that ecore is built.])
70                 AC_DEFINE(EFL_ECORE_EVAS_BUILD, 1, [Define to mention that ecore evas is built.])
71                 AC_DEFINE(EFL_ECORE_FILE_BUILD, 1, [Define to mention that ecore file is built.])
72                 AC_DEFINE(EFL_ECORE_IMF_BUILD, 1, [Define to mention that ecore imf is built.])
73                 AC_DEFINE(EFL_ECORE_JOB_BUILD, 1, [Define to mention that ecore job is built.])
74                 AC_DEFINE(EFL_ECORE_SDL_BUILD, 1, [Define to mention that ecore SDL is built.])
75                 AC_DEFINE(EFL_ECORE_TXT_BUILD, 1, [Define to mention that ecore txt is built.])
76                 AC_DEFINE(EFL_ECORE_WIN32_BUILD, 1, [Define to mention that ecore Win32 is built.])
77                 AC_DEFINE(HAVE_DLFCN_H, 1, [Define to 1 if you have the <dlfcn.h> header file.])
78                 AC_DEFINE(HAVE_SYS_MMAN_H, 1, [Define to 1 if you have the <sys/mman.h> header file.])
79                 AC_DEFINE(HAVE_SYS_TIME_H, 1, [Define to 1 if you have the <sys/time.h> header file.])
80                 if test "$host_os" = "cegcc" ; then
81                         AC_DEFINE(EFL_ECORE_WINCE_BUILD, 1, [Define to mention that ecore WinCE is built.])
82                         WIN32_CFLAGS="-mwin32"
83                         WIN32_LIBS="-lws2 -laygshell"
84                         lt_enable_auto_import="-Wl,--enable-auto-import"
85                 else
86                         WIN32_LIBS="-lws2_32"
87                 fi
88                 lt_no_undefined="-no-undefined"
89                 ;;
90         *)
91                 AC_CHECK_HEADERS([dlfcn.h features.h langinfo.h locale.h netdb.h netinet/in.h sys/time.h sys/mman.h])
92                 AC_CHECK_LIB(dl, dlopen, dlopen_libs=-ldl)
93                 AC_SUBST(dlopen_libs)
94                 ;;
95 esac
96 AC_SUBST(WIN32_CFLAGS)
97 AC_SUBST(WIN32_LIBS)
98 AC_SUBST(lt_no_undefined)
99 AC_SUBST(lt_enable_auto_import)
100
101 dnl check common functions and headers
102 AC_CHECK_FUNCS(gettimeofday)
103 AC_CHECK_FUNCS(strlcpy)
104
105 dnl openssl
106 want_openssl="yes"
107 have_openssl="no"
108 AC_ARG_ENABLE(openssl,
109   AC_HELP_STRING(
110     [--disable-openssl],
111     [disable openssl support]
112   ),
113   [ want_openssl=$enableval ]
114 )
115
116 if test "x$want_openssl" = "xyes"; then
117     PKG_CHECK_MODULES([SSL], [openssl], [
118         AC_DEFINE(USE_OPENSSL, 1, [Use OpenSSL])
119         requirements_ecore_con="$requirements_ecore_con openssl"
120         # no need to add it to req_ecore_ipc, since they
121         # depends on ecore_con anyway.
122         have_openssl="yes"
123     ], [
124         have_openssl="no"
125     ])
126 fi
127
128 dnl curl
129 want_curl="yes"
130 have_curl="no"
131 AC_ARG_ENABLE(curl,
132   AC_HELP_STRING(
133     [--disable-curl],
134     [disable curl support]
135   ),
136   [ want_curl=$enableval ]
137 )
138
139 if test "x$want_curl" = "xyes"; then
140   PKG_CHECK_MODULES(CURL, libcurl,
141     [
142       AC_DEFINE(HAVE_CURL, 1, [ Downloading with CURL ])
143       requirements_ecore_con="$requirements_ecore_con libcurl"
144       have_curl="yes"
145     ],
146     [ have_curl="no" ]
147   )
148 fi
149
150 dnl abstract sockets
151 want_abstract_sockets="yes"
152 AC_ARG_ENABLE(abstract-sockets,
153   AC_HELP_STRING(
154     [--disable-abstract-sockets],
155     [disable abstract sockets.]
156   ),
157   [ want_abstract_sockets=$enableval ]
158 )
159 if test "x$want_abstract_sockets" = "xyes"; then
160   AC_DEFINE(HAVE_ABSTRACT_SOCKETS, 1, [Have abstract sockets namespace])
161 fi
162
163 dnl ecore_job
164 ECORE_CHECK_MODULE([Job], [yes])
165
166 dnl ecore_con
167 ECORE_CHECK_MODULE([Con], [yes])
168
169 dnl ecore_ipc
170 ECORE_CHECK_MODULE([Ipc], [yes], [$have_ecore_con])
171
172 dnl ecore_config
173 PKG_CHECK_MODULES(EET, [eet >= 1.0.0],
174   [ have_eet="yes" ],
175   [ have_eet="no" ]
176 )
177 ecore_config_deps="no"
178 if test "x$have_eet" = "xyes" -a "x$have_ecore_ipc" = "xyes" ; then
179   ecore_config_deps="yes"
180 fi
181 ECORE_CHECK_MODULE([Config], [yes], [$ecore_config_deps],
182   [requirements_ecore_config="$requirements_ecore_config ecore-ipc eet"])
183
184 dnl ecore_txt
185 iconv_cflags=""
186 iconv_libs=""
187 have_iconv="no"
188 AC_ARG_WITH(iconv-link,
189   AC_HELP_STRING([--with-iconv-link=ICONV_LINK], [explicitly specify an iconv link option]),
190   [
191     iconv_libs=$withval
192     have_iconv="yes"
193   ]
194 )
195
196 if test "x$have_iconv" = "xno" ; then
197   AC_CHECK_LIB(c, iconv,
198     [ have_iconv="yes" ]
199   )
200
201   if test "x$have_iconv" != "xyes"; then
202     AC_CHECK_LIB(iconv, iconv,
203       [
204        iconv_libs="-liconv"
205        have_iconv="yes"
206       ]
207     )
208   fi
209 fi
210 AC_MSG_CHECKING(for explicit iconv link options)
211 AC_MSG_RESULT($iconv_libs)
212
213 AC_SUBST(iconv_cflags)
214 AC_SUBST(iconv_libs)
215
216 ECORE_CHECK_MODULE([Txt], [yes], [$have_iconv],
217   [ecore_txt_libs="$ecore_txt_libs $iconv_libs"])
218
219 dnl ecore_evas
220 PKG_CHECK_MODULES(EVAS, [evas >= 0.9.9],
221   [ have_evas="yes" ],
222   [ have_evas="no" ]
223 )
224
225 ECORE_CHECK_MODULE([Evas], [yes], [$have_evas])
226
227 #######################################
228 ## Simple X11 build/link
229
230 AC_ARG_ENABLE(simple-x11,
231   AC_HELP_STRING([--enable-simple-x11], [enable simple x11 linking]),
232   [ want_evas_simple_x11=$enableval ]
233 )
234
235 have_x="no"
236 have_ecore_x="no"
237 have_ecore_x_xlib="no"
238 have_ecore_x_xcb="no"
239
240 x_dir="";
241 x_includes="";
242 x_cflags="";
243 x_libs="";
244
245 dnl ecore_x{cb}
246
247 AC_ARG_ENABLE(ecore-x-xcb,
248   AC_HELP_STRING(
249     [--enable-ecore-x-xcb],
250     [enable the ecore_x module with XCB backend. [[default=disabled]]]),
251   [ want_ecore_x_xcb=$enableval ],
252   [ want_ecore_x_xcb="no" ])
253
254 AC_MSG_CHECKING(whether ecore_x with XCB backend is to be built)
255 AC_MSG_RESULT($want_ecore_x_xcb)
256
257 if test "x$want_ecore_x_xcb" = "xyes" ; then
258   PKG_CHECK_MODULES(XCB, xcb xcb-icccm xcb-image xcb-keysyms,
259     [ have_ecore_x_xcb="yes" ],
260     [ have_ecore_x_xcb="no" ])
261
262   if test "x$have_ecore_x_xcb" = "xyes" ; then
263     PKG_CHECK_MODULES(XCB_COMPOSITE, xcb-composite,
264       [ have_ecore_x_xcb_composite="yes"
265         AC_DEFINE(ECORE_XCB_COMPOSITE, 1, [Build support for XCB composite]) ],
266       [ have_ecore_x_xcb_composite="no" ])
267
268     PKG_CHECK_MODULES(XCB_DAMAGE, xcb-damage,
269       [ have_ecore_x_xcb_damage="yes"
270         AC_DEFINE(ECORE_XCB_DAMAGE, 1, [Build support for XCB damage]) ],
271       [ have_ecore_x_xcb_damage="no" ])
272
273     PKG_CHECK_MODULES(XCB_DPMS, xcb-dpms,
274       [ have_ecore_x_xcb_dpms="yes"
275         AC_DEFINE(ECORE_XCB_DPMS, 1, [Build support for XCB dpms]) ],
276       [ have_ecore_x_xcb_dpms="no" ])
277
278     PKG_CHECK_MODULES(XCB_RANDR, xcb-randr,
279       [ have_ecore_x_xcb_randr="yes"
280         AC_DEFINE(ECORE_XCB_RANDR, 1, [Build support for XCB randr]) ],
281       [ have_ecore_x_xcb_randr="no" ])
282
283     PKG_CHECK_MODULES(XCB_RENDER, xcb-render,
284       [ have_ecore_x_xcb_render="yes"
285         AC_DEFINE(ECORE_XCB_RENDER, 1, [Build support for XCB render]) ],
286       [ have_ecore_x_xcb_render="no" ])
287
288     PKG_CHECK_MODULES(XCB_SCREENSAVER, xcb-screensaver,
289       [ have_ecore_x_xcb_screensaver="yes"
290         AC_DEFINE(ECORE_XCB_SCREENSAVER, 1, [Build support for XCB screensaver]) ],
291       [ have_ecore_x_xcb_screensaver="no" ])
292
293     PKG_CHECK_MODULES(XCB_SHAPE, xcb-shape,
294       [ have_ecore_x_xcb_shape="yes"
295         AC_DEFINE(ECORE_XCB_SHAPE, 1, [Build support for XCB shape]) ],
296       [ have_ecore_x_xcb_shape="no" ])
297
298     PKG_CHECK_MODULES(XCB_SYNC, xcb-sync,
299       [ have_ecore_x_xcb_sync="yes"
300         AC_DEFINE(ECORE_XCB_SYNC, 1, [Build support for XCB sync]) ],
301       [ have_ecore_x_xcb_sync="no" ])
302
303     PKG_CHECK_MODULES(XCB_XFIXES, xcb-xfixes,
304       [ have_ecore_x_xcb_xfixes="yes"
305         AC_DEFINE(ECORE_XCB_FIXES, 1, [Build support for XCB xfixes]) ],
306       [ have_ecore_x_xcb_xfixes="no" ])
307
308     PKG_CHECK_MODULES(XCB_XINERAMA, xcb-xinerama,
309       [ have_ecore_x_xcb_xinerama="yes"
310         AC_DEFINE(ECORE_XCB_XINERAMA, 1, [Build support for XCB xinerama]) ],
311       [ have_ecore_x_xcb_xinerama="no" ])
312
313     PKG_CHECK_MODULES(XCB_XPRINT, xcb-xprint,
314       [ have_ecore_x_xcb_xprint="yes"
315         AC_DEFINE(ECORE_XCB_XPRINT, 1, [Build support for XCB xprint]) ],
316       [ have_ecore_x_xcb_xprint="no" ])
317
318     PKG_CHECK_MODULES(XCB_XTEST, xcb-xtest,
319       [ have_ecore_x_xcb_xtest="yes"
320         AC_DEFINE(ECORE_XCB_XTEST, 1, [Build support for XCB xtest]) ],
321       [ have_ecore_x_xcb_xtest="no" ])
322
323     AC_DEFINE(HAVE_ECORE_X_XCB, 1, [Defined to 1 if XCB is enabled.])
324
325     x_cflags=$XCB_CFLAGS
326     x_libs=$XCB_LIBS
327     have_x="yes"
328
329     have_ecore_x_xcb_define="-DHAVE_ECORE_X_XCB"
330     AC_SUBST(have_ecore_x_xcb_define)
331   fi
332 fi
333
334 if ! test "x$have_ecore_x_xcb" = "xyes" ; then
335   AC_PATH_XTRA
336   AC_CHECK_HEADER(X11/X.h,
337     [
338      if test "x$want_evas_simple_x11" = "xyes"; then
339        x_libs="${x_libs} -lX11 -lXext"
340      else
341        x_dir=${x_dir:-/usr/X11R6}
342        x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
343        x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
344      fi
345      have_ecore_x_xlib="yes"
346     ]
347   )
348
349   if test "x$have_ecore_x_xlib" = "xyes"; then
350     Xcursor_libs=""
351     Xcursor_cflags=""
352     use_Xcursor="no"
353     PCFLAGS=$CFLAGS
354     CFLAGS="$x_cflags $x_includes"
355     AC_CHECK_HEADER(X11/Xcursor/Xcursor.h,
356       [
357         AC_CHECK_LIB(Xcursor, XcursorImageLoadCursor,
358           [
359             AC_DEFINE(ECORE_XCURSOR, 1, [Build support for Xcursor])
360             Xcursor_cflags=""
361             Xcursor_libs="-lXcursor"
362             use_Xcursor="yes"
363           ], [
364             Xcursor_cflags=""
365             Xcursor_libs=""
366             use_Xcursor="no"
367           ], [
368             $x_libs -lXrender
369           ]
370         )
371       ], [
372         Xcursor_cflags=""
373         Xcursor_libs=""
374         use_Xcursor="no"
375       ], [
376         #include <X11/Xlib.h>
377       ]
378     )
379     CFLAGS=$PCFLAGS
380
381     AC_SUBST(Xcursor_cflags)
382     AC_SUBST(Xcursor_libs)
383
384     ECORE_CHECK_X_EXTENSION([Xcomposite], [Xcomposite.h], [Xcomposite], [XCompositeQueryExtension])
385     ECORE_CHECK_X_EXTENSION([Xdamage], [Xdamage.h], [Xdamage], [XDamageSubtract])
386     ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xdpms], [DPMSQueryExtension])
387     if test "x$use_xdpms" = "xno" ; then
388       ECORE_CHECK_X_EXTENSION([Xdpms], [dpms.h], [Xext], [DPMSQueryExtension])
389     fi
390     ECORE_CHECK_X_EXTENSION([Xfixes], [Xfixes.h], [Xfixes], [XFixesExpandRegion])
391     ECORE_CHECK_X_EXTENSION([Xinerama], [Xinerama.h], [Xinerama], [XineramaQueryScreens])
392     ECORE_CHECK_X_EXTENSION([Xprint], [Print.h], [Xp], [XpQueryScreens])
393     ECORE_CHECK_X_EXTENSION([Xrandr], [Xrandr.h], [Xrandr], [XRRSizes])
394     ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
395     ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
396     ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
397
398     AC_DEFINE(HAVE_ECORE_X_XLIB, 1, [Defined to 1 if Xlib is enabled.])
399     have_x="yes"
400
401     have_ecore_x_xlib="yes"
402   fi
403 fi
404
405 AC_SUBST(x_cflags)
406 AC_SUBST(x_includes)
407 AC_SUBST(x_libs)
408
409 ECORE_CHECK_MODULE([X], [yes], [$have_x],
410   [ecore_x_libs="$ecore_x_libs $x_libs"])
411
412 dnl ecore_evas_x11
413 have_ecore_evas_software_x11="no"
414 have_ecore_evas_xrender_x11="no";
415 have_ecore_evas_opengl_x11="no";
416 have_ecore_evas_software_xcb="no"
417 have_ecore_evas_xrender_xcb="no";
418 have_ecore_evas_software_16_x11="no";
419 if test "x$have_ecore_x" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
420
421   dnl ecore_evas_x Xlib
422   if test "x$have_ecore_x_xlib" = "xyes"; then
423     want_ecore_evas_software_x11="yes"
424     dnl disabling this will make things go haywire
425     #AC_ARG_ENABLE(ecore-evas-x11,
426     #  AC_HELP_STRING(
427     #    [--enable-ecore-evas-x11],
428     #    [enable X11 support in the ecore_evas module.]
429     #  ),
430     #  [ want_ecore_evas_x11=$enableval ]
431     #)
432     AC_MSG_CHECKING(whether ecore_evas Software Xlib support is to be built)
433     AC_MSG_RESULT($want_ecore_evas_software_x11)
434
435     if test "x$want_ecore_evas_software_x11" = "xyes"; then
436       PKG_CHECK_MODULES(EVAS_SOFTWARE_X11, evas-software-x11, [
437           AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_X11, 1, [Support for Software Xlib Engine in Ecore_Evas])
438           have_ecore_evas_software_x11="yes";
439       ], [
440           have_ecore_evas_software_x11="no";
441       ])
442     fi
443
444     dnl ecore_evas_opengl_x11
445     want_ecore_evas_opengl_x11=yes
446     AC_ARG_ENABLE(ecore-evas-opengl-x11,
447       AC_HELP_STRING(
448         [--enable-ecore-evas-opengl-x11],
449         [enable OpenGL Xlib support in the ecore_evas module.]
450       ),
451       [ want_ecore_evas_opengl_x11=$enableval ]
452     )
453     AC_MSG_CHECKING(whether ecore_evas OpenGL Xlib support is to be built)
454     AC_MSG_RESULT($want_ecore_evas_opengl_x11)
455
456     if test "x$want_ecore_evas_opengl_x11" = "xyes"; then
457       PKG_CHECK_MODULES(EVAS_OPENGL_X11, evas-opengl-x11, [
458           AC_DEFINE(BUILD_ECORE_EVAS_OPENGL_X11, 1, [Support for OpenGL Xlib Engine in Ecore_Evas])
459           have_ecore_evas_opengl_x11="yes";
460       ], [
461           have_ecore_evas_opengl_x11="no"
462       ])
463     fi
464
465     dnl ecore_evas_xrender_x11
466     want_ecore_evas_xrender_x11="yes"
467     AC_ARG_ENABLE(ecore-evas-xrender-x11,
468       AC_HELP_STRING(
469         [--disable-ecore-evas-xrender-x11],
470         [disable XRender Xlib support in the ecore_evas module. [[default=enabled]]]
471       ),
472       [ want_ecore_evas_xrender_x11=$enableval ]
473     )
474
475     AC_MSG_CHECKING(whether ecore_evas XRender Xlib support is to be built)
476     AC_MSG_RESULT($want_ecore_evas_xrender_x11)
477
478     if test "x$want_ecore_evas_xrender_x11" = "xyes"; then
479       PKG_CHECK_MODULES(EVAS_XRENDER_X11, evas-xrender-x11, [
480           AC_DEFINE(BUILD_ECORE_EVAS_XRENDER_X11, 1, [Support for XRender Xlib Engine in Ecore_Evas])
481           have_ecore_evas_xrender_x11="yes"
482       ], [
483           have_ecore_evas_xrender_x11="no"
484       ])
485     fi
486
487     dnl ecore_evas_software_16_x11
488     want_ecore_evas_software_16_x11=no
489     AC_ARG_ENABLE(ecore-evas-software-16-x11,
490       AC_HELP_STRING(
491         [--enable-ecore-evas-software-16-x11],
492         [enable 16bpp optimized mode support in the ecore_evas module. [[default=disabled]]]
493       ),
494       [ want_ecore_evas_software_16_x11=$enableval ]
495     )
496
497     AC_MSG_CHECKING(whether ecore_evas x11-16 support is to be built)
498     AC_MSG_RESULT($want_ecore_evas_software_16_x11)
499
500     if test "x$want_ecore_evas_software_16_x11" = "xyes"; then
501       PKG_CHECK_MODULES(EVAS_SOFTWARE_16_X11, evas-software-16-x11,
502         [
503           AC_DEFINE(BUILD_ECORE_EVAS_SOFTWARE_16_X11, 1, [Support for X11 16bpp Engine in Ecore_Evas])
504           have_ecore_evas_software_16_x11="yes";
505         ]
506       )
507     fi
508   else
509     want_ecore_evas_software_xcb="yes"
510     ECORE_EVAS_CHECK_MODULE([software-xcb],
511       [$want_ecore_evas_software_xcb],
512       [Software XCB],
513       $have_ecore_x_xcb)
514
515     want_ecore_evas_xrender_xcb="auto"
516     ECORE_EVAS_CHECK_MODULE([xrender-xcb],
517       [$want_ecore_evas_xrender_xcb],
518       [XRender XCB],
519       $have_ecore_x_xcb)
520   fi
521
522   if test "x$have_ecore_evas_software_x11" = "xyes" -o \
523           "x$have_ecore_evas_opengl_x11" = "yes" -o \
524           "x$have_ecore_evas_xrender_x11" = "yes" -o \
525           "x$have_ecore_evas_software_16_x11" = "yes" -o \
526           "x$have_ecore_evas_software_xcb" = "xyes" -o \
527           "x$have_ecore_evas_xrender_xcb" = "yes"; then
528     AC_DEFINE(BUILD_ECORE_EVAS_X11, 1, [Support for X Window Engines in Ecore_Evas])
529     requirements_ecore_evas="$requirements_ecore_evas ecore-x"
530   fi
531
532 fi
533
534 dnl ecore_win32
535
536 ECORE_CHECK_MODULE([Win32], [no], [yes],
537   [ecore_win32_libs="-lgdi32"])
538 AC_SUBST(ecore_win32_libs)
539
540 want_ecore_evas_software_ddraw="yes"
541 ECORE_EVAS_CHECK_MODULE([software-ddraw],
542   [$want_ecore_evas_software_ddraw],
543   [Software DirectDraw],
544   $have_ecore_win32)
545
546 want_ecore_evas_direct3d="yes"
547 ECORE_EVAS_CHECK_MODULE([direct3d],
548   [$want_ecore_evas_direct3d],
549   [Direct3d],
550   $have_ecore_win32)
551
552 want_ecore_evas_opengl_glew="yes"
553 ECORE_EVAS_CHECK_MODULE([opengl-glew],
554   [$want_ecore_evas_opengl_glew],
555   [Glew OpenGL],
556   $have_ecore_win32)
557
558 want_ecore_evas_software_16_ddraw="yes"
559 ECORE_EVAS_CHECK_MODULE([software-16-ddraw],
560   [$want_ecore_evas_software_16_ddraw],
561   [16 bpp Software DirectDraw],
562   $have_ecore_win32)
563
564 if test "x$have_ecore_evas_software_ddraw" = "xyes" -o \
565         "x$have_ecore_evas_direct3d" = "yes" -o \
566         "x$have_ecore_evas_opengl_glew" = "yes" -o \
567         "x$have_ecore_evas_software_16_ddraw" = "yes"; then
568   AC_DEFINE(BUILD_ECORE_EVAS_WIN32, 1, [Support for Win32 Engine in Ecore_Evas])
569   requirements_ecore_evas="$requirements_ecore_evas ecore-win32"
570 fi
571
572 dnl ecore_wince
573
574 ECORE_CHECK_MODULE([WinCE], [no])
575
576 want_ecore_evas_software_16_wince="yes"
577 ECORE_EVAS_CHECK_MODULE([software-16-wince],
578   [$want_ecore_evas_software_16_wince],
579   [16 bpp Software Windows CE],
580   $have_ecore_wince)
581
582 if test "x$have_ecore_evas_software_16_wince" = "xyes"; then
583   requirements_ecore_evas="$requirements_ecore_evas ecore-wince"
584 fi
585
586 dnl ecore_dfb
587 PKG_CHECK_MODULES(DIRECTFB, directfb >= 0.9.16,
588   [ have_directfb="yes" ],
589   [ have_directfb="no" ]
590 )
591
592 ECORE_CHECK_MODULE([DirectFB], [no], [$have_directfb],
593   [requirements_ecore_directfb="directfb"])
594
595 dnl ecore_evas_dfb
596 have_ecore_evas_dfb="no"
597 if test "x$have_ecore_directfb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
598   want_ecore_evas_dfb="yes"
599   AC_MSG_CHECKING(whether ecore_evas DirectFB support is to be built)
600   AC_ARG_ENABLE(ecore-evas-dfb,
601     AC_HELP_STRING([--disable-ecore-evas-dfb], [disable DirectFB in the ecore_evas module]),
602     [ want_ecore_evas_dfb=$enableval ]
603   )
604   AC_MSG_RESULT($want_ecore_evas_dfb)
605
606   if test "x$want_ecore_evas_dfb" = "xyes" -a "x$have_ecore_directfb" = "xyes" ; then
607     save_CFLAGS="$CFLAGS"
608     CFLAGS="$CFLAGS $DIRECTFB_CFLAGS"
609     PKG_CHECK_MODULES(EVAS_DIRECTFB, evas-directfb,
610       [
611         AC_DEFINE(BUILD_ECORE_EVAS_DIRECTFB, 1, [Support for DirectFB in Ecore_Evas])
612         have_ecore_evas_dfb="yes"
613         requirements_ecore_evas="$requirements_ecore_evas ecore-directfb"
614       ]
615     )
616     CFLAGS="$save_CFLAGS"
617   fi
618 fi
619
620 dnl ecore_fb
621 have_fb="no"
622 AC_CHECK_HEADER(linux/fb.h,
623   [ AC_CHECK_HEADER(linux/input.h, [ have_fb="yes" ]) ]
624 )
625 ECORE_CHECK_MODULE([FB], [no], [$have_fb])
626
627 tslib_libs=""
628 if test "x$have_ecore_fb" = "xyes" ; then
629 AC_CHECK_HEADER(tslib.h,
630   [
631    AC_CHECK_LIB(ts, ts_open, tslib_libs="-lts", tslib_libs="-ltslib")
632    AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
633   ]
634 )
635 fi
636 AC_SUBST(tslib_libs)
637
638 dnl ecore_evas_fb
639 have_ecore_evas_fb="no";
640 if test "x$have_ecore_fb" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
641   want_ecore_evas_fb="yes";
642   AC_MSG_CHECKING(whether ecore_evas fb support is to be built)
643   AC_ARG_ENABLE(ecore-evas-fb,
644     AC_HELP_STRING([--disable-ecore-evas-fb], [disable fb in the ecore_evas module]),
645     [ want_ecore_evas_fb=$enableval ]
646   )
647   AC_MSG_RESULT($want_ecore_evas_fb)
648
649   if test "x$want_ecore_evas_fb" = "xyes"; then
650     PKG_CHECK_MODULES(EVAS_FB, evas-fb,
651       [
652         AC_DEFINE(BUILD_ECORE_EVAS_FB, 1, [Support for Linux FB in Ecore_Evas])
653         have_ecore_evas_fb="yes"
654         requirements_ecore_evas="$requirements_ecore_evas ecore-fb"
655       ]
656     )
657   fi
658 fi
659
660 dnl ecore_sdl
661 AC_ARG_WITH(sdl-config, AC_HELP_STRING([--with-sdl-config=PATH], [use sdl-config specified]), [
662     SDL_CONFIG=$withval;
663     echo "using "$SDL_CONFIG" for sdl-config";
664 ], [
665     if test -z "$SDL_CONFIG"; then
666         AC_PATH_PROG(SDL_CONFIG, "sdl-config", "", $PATH)
667     fi
668 ])
669 if test -z "$SDL_CONFIG" ; then SDL_CONFIG="sdl-config"; fi
670
671 sdl_cflags="";
672 sdl_libs="";
673 have_sdl="no"
674 AC_CHECK_HEADER(SDL/SDL.h, [ have_sdl="yes" ], [ have_sdl="no" ])
675
676 ECORE_CHECK_MODULE([SDL], [no], [$have_sdl])
677
678 dnl ecore_evas_sdl
679 have_ecore_evas_sdl="no";
680 if test "x$have_ecore_sdl" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
681     want_ecore_evas_sdl="yes";
682     AC_MSG_CHECKING([whether ecore_evas SDL support is to be built])
683     AC_ARG_ENABLE(ecore-evas-sdl,
684         AC_HELP_STRING([--disable-ecore-evas-sdl], [disable SDL in the ecore_evas module]),
685         [ want_ecore_evas_sdl=$enableval ]
686     )
687     AC_MSG_RESULT($want_ecore_evas_sdl)
688
689     if test "x$want_ecore_evas_sdl" = "xyes"; then
690         save_CFLAGS=$CFLAGS
691         SDL_CFLAGS=`$SDL_CONFIG --cflags`
692         SDL_LIBS=`$SDL_CONFIG --libs`
693         CFLAGS="$CFLAGS $SDL_CFLAGS"
694         AC_SUBST(SDL_CFLAGS)
695         AC_SUBST(SDL_LIBS)
696
697         PKG_CHECK_MODULES(EVAS_SOFTWARE_SDL, evas-software-sdl, [
698             AC_DEFINE(BUILD_ECORE_EVAS_SDL, 1, [Support for SDL in Ecore_Evas])
699             have_ecore_evas_sdl="yes"
700             requirements_ecore_evas="$requirements_ecore_evas ecore-sdl"
701             PKG_CHECK_MODULES(SDL, sdl >= 1.3.0, [
702                 AC_DEFINE(BUILD_ECORE_EVAS_SDL_130, 1, [Support for SVN SDL])
703             ], [
704                 dummy="no"
705             ])
706         ], [
707             have_ecore_evas_sdl="no"
708         ])
709     CFLAGS=$save_CFLAGS
710   fi
711 fi
712
713 dnl ecore_evas_buffer
714 want_ecore_evas_buffer="yes";
715 have_ecore_evas_buffer="no";
716 AC_MSG_CHECKING(whether ecore_evas buffer support is to be built)
717 AC_ARG_ENABLE(ecore-evas-buffer,
718   AC_HELP_STRING([--disable-ecore-evas-buffer], [disable buffer in the ecore_evas module]),
719   [ want_ecore_evas_buffer=$enableval ]
720 )
721 AC_MSG_RESULT($want_ecore_evas_buffer)
722
723 if test "x$want_ecore_evas_buffer" = "xyes" -a "x$have_ecore_evas" = "xyes"; then
724   PKG_CHECK_MODULES(EVAS_SOFTWARE_BUFFER, evas-software-buffer,
725     [
726       AC_DEFINE(BUILD_ECORE_EVAS_BUFFER, 1, [Support for Buffers in Ecore_Evas])
727       have_ecore_evas_buffer="yes"
728     ], [
729       have_ecore_evas_buffer="no"
730   ])
731 fi
732
733 dnl ecore_file
734 ECORE_CHECK_MODULE([File], [yes])
735 have_inotify="no"
736 have_poll="no"
737 if test "x$have_ecore_file" = "xyes"; then
738
739   dnl We need to check if the right inotify version is accessible
740   want_inotify="yes"
741   AC_MSG_CHECKING(whether inotify is to be used for filemonitoring)
742   AC_ARG_ENABLE(inotify,
743     AC_HELP_STRING([--disable-inotify], [disable inotify in the ecore_file module]),
744     [ want_inotify=$enableval ]
745   )
746   AC_MSG_RESULT($want_inotify)
747
748   dnl It's hard to find a good test on how to check the correct
749   dnl inotify version. They changed the headers a lot.
750   dnl in kernel 2.6.13 __NR_inotify_init was added to the defined syscalls
751   dnl in asm/unistd.h and IN_MOVE_SELF was added to linux/inotify.h
752   dnl so with this check you need a very new kernel and kernel-headers!
753   if test "x$want_inotify" = "xyes"; then
754     AC_CHECK_LIB(c, inotify_init, [
755         AC_DEFINE(HAVE_INOTIFY, 1, [ File monitoring with Inotify ])
756         AC_DEFINE(HAVE_SYS_INOTIFY, 1, [ File monitoring with Inotify - sys/inotify.h ])
757         have_inotify="yes"
758       ],
759       [
760         AC_TRY_COMPILE(
761           [
762             #include <asm/unistd.h>
763             #include <linux/inotify.h>
764           ],
765           [ int a = __NR_inotify_init; int b = IN_MOVE_SELF; ],
766           [
767             AC_DEFINE(HAVE_INOTIFY, 1, [ File monitoring with Inotify ])
768             have_inotify="yes"
769           ], [
770             have_inotify="no"
771           ]
772         )
773       ]
774     )
775   fi
776
777   want_poll="yes"
778   AC_MSG_CHECKING(whether polling is to be used for filemonitoring)
779   AC_ARG_ENABLE(poll,
780     AC_HELP_STRING([--disable-poll], [disable poll in the ecore_file module]),
781     [ want_poll=$enableval ]
782   )
783   AC_MSG_RESULT($want_poll)
784
785   if test "x$want_poll" = "xyes"; then
786     AC_DEFINE(HAVE_POLL, 1, [ File monitoring with polling ])
787     have_poll="yes"
788   fi
789   requirements_ecore_file="$requirements_ecore_file $requirements_ecore_con"
790 fi
791
792 dnl ecore_desktop
793 ECORE_CHECK_MODULE([Desktop], [no], [$have_ecore_file],
794   [requirements_ecore_desktop="ecore-file"])
795
796 dnl ecore_imf
797 ECORE_CHECK_MODULE([IMF], [yes])
798
799 try_ecore_imf_evas=no
800 if test "x$have_ecore_imf" = "xyes" -a "x$have_evas" = "xyes"; then
801   try_ecore_imf_evas=yes
802 fi
803
804 ECORE_CHECK_MODULE([IMF_EVAS], [yes], [$try_ecore_imf_evas])
805
806 dnl requirements
807 AC_SUBST(requirements_ecore_con)
808 AC_SUBST(requirements_ecore_config)
809 AC_SUBST(requirements_ecore_desktop)
810 AC_SUBST(requirements_ecore_directfb)
811 AC_SUBST(requirements_ecore_evas)
812 AC_SUBST(requirements_ecore_fb)
813 AC_SUBST(requirements_ecore_file)
814 AC_SUBST(requirements_ecore_ipc)
815 AC_SUBST(requirements_ecore_job)
816 AC_SUBST(requirements_ecore_txt)
817 AC_SUBST(requirements_ecore_x)
818 AC_SUBST(requirements_ecore_sdl)
819
820 # set up conditionals
821 AM_CONDITIONAL(BUILD_ECORE_X, test $have_ecore_x = yes)
822 AM_CONDITIONAL(BUILD_ECORE_X_XLIB, test $have_ecore_x_xlib = yes)
823 AM_CONDITIONAL(BUILD_ECORE_X_XCB, test $have_ecore_x_xcb = yes)
824
825 AC_OUTPUT([
826 Makefile
827 ecore-con.pc
828 ecore-config.pc
829 ecore-desktop.pc
830 ecore-directfb.pc
831 ecore-evas.pc
832 ecore-fb.pc
833 ecore-file.pc
834 ecore-imf.pc
835 ecore-imf-evas.pc
836 ecore-ipc.pc
837 ecore-job.pc
838 ecore-txt.pc
839 ecore-x.pc
840 ecore-win32.pc
841 ecore-sdl.pc
842 ecore-wince.pc
843 ecore.pc
844 src/Makefile
845 src/bin/Makefile
846 src/lib/Makefile
847 src/lib/ecore/Makefile
848 src/lib/ecore_job/Makefile
849 src/lib/ecore_x/Makefile
850 src/lib/ecore_x/xlib/Makefile
851 src/lib/ecore_x/xcb/Makefile
852 src/lib/ecore_fb/Makefile
853 src/lib/ecore_sdl/Makefile
854 src/lib/ecore_evas/Makefile
855 src/lib/ecore_con/Makefile
856 src/lib/ecore_imf/Makefile
857 src/lib/ecore_imf_evas/Makefile
858 src/lib/ecore_ipc/Makefile
859 src/lib/ecore_txt/Makefile
860 src/lib/ecore_config/Makefile
861 src/lib/ecore_file/Makefile
862 src/lib/ecore_desktop/Makefile
863 src/lib/ecore_directfb/Makefile
864 src/lib/ecore_win32/Makefile
865 src/lib/ecore_wince/Makefile
866 README
867 ecore.spec
868 ])
869
870 echo
871 echo "$PACKAGE $VERSION"
872 echo
873 echo "Optional Modules:"
874 echo
875 echo " Core:"
876 echo
877 echo "  Ecore_Job....................: $have_ecore_job"
878 echo "  Ecore_Txt....................: $have_ecore_txt"
879 echo "  Ecore_File...................: $have_ecore_file"
880 if test "x$have_ecore_file" = "xyes" ; then
881   echo "    Inotify....................: $have_inotify"
882   echo "    Poll.......................: $have_poll"
883   echo "    CURL.......................: $have_curl"
884 fi
885 echo "  Ecore_Desktop................: $have_ecore_desktop"
886 echo "  Ecore_Con....................: $have_ecore_con"
887 if test "x$have_ecore_con" = "xyes" ; then
888   echo "    OpenSSL....................: $have_openssl"
889   echo "    CURL.......................: $have_curl"
890 fi
891 echo "  Ecore_Ipc....................: $have_ecore_ipc"
892 if test "x$have_ecore_con" = "xyes" ; then
893   echo "    OpenSSL....................: $have_openssl"
894 fi
895 echo "  Ecore_Config.................: $have_ecore_config"
896 echo "  Ecore_IMF....................: $have_ecore_imf"
897 echo "  Ecore_IMF_Evas...............: $have_ecore_imf_evas"
898
899 echo
900 echo " Graphic systems:"
901 echo
902
903 if test "x$have_ecore_x" = "xyes" ; then
904   if test "x$have_ecore_x_xcb" = "xyes" ; then
905     echo "  Ecore_X (XCB backend)........: $have_ecore_x_xcb"
906     echo "    Xprint.....................: $have_ecore_x_xcb_xprint"
907     echo "    Xinerama...................: $have_ecore_x_xcb_xinerama"
908     echo "    Xrandr.....................: $have_ecore_x_xcb_randr"
909     echo "    Xscreensaver...............: $have_ecore_x_xcb_screensaver"
910     echo "    Xshape.....................: $have_ecore_x_xcb_shape"
911     echo "    Xsync......................: $have_ecore_x_xcb_sync"
912     echo "    Xrender....................: $have_ecore_x_xcb_render"
913     echo "    Xcomposite.................: $have_ecore_x_xcb_composite"
914     echo "    Xfixes.....................: $have_ecore_x_xcb_xfixes"
915     echo "    Xdamage....................: $have_ecore_x_xcb_damage"
916     echo "    Xdpms......................: $have_ecore_x_xcb_dpms"
917     echo "    Xtest......................: $have_ecore_x_xcb_xtest"
918   else
919     echo "  Ecore_X (Xlib backend).......: $have_ecore_x"
920     echo "    Xcursor....................: $use_Xcursor"
921     echo "    Xprint.....................: $use_xprint"
922     echo "    Xinerama...................: $use_xinerama"
923     echo "    Xrandr.....................: $use_xrandr"
924     echo "    Xscreensaver...............: $use_xss"
925     echo "    Xrender....................: $use_xrender"
926     echo "    Xcomposite.................: $use_xcomposite"
927     echo "    Xfixes.....................: $use_xfixes"
928     echo "    Xdamage....................: $use_xdamage"
929     echo "    Xdpms......................: $use_xdpms"
930     echo "    Xtest......................: $use_xtest"
931   fi
932 else
933   echo "  Ecore_X......................: $have_ecore_x"
934 fi
935 echo "  Ecore_Win32..................: $have_ecore_win32"
936 echo "  Ecore_SDL....................: $have_ecore_sdl"
937 echo "  Ecore_FB.....................: $have_ecore_fb"
938 echo "  Ecore_DFB....................: $have_ecore_directfb"
939 echo "  Ecore_WinCE..................: $have_ecore_wince"
940
941 echo
942 echo " Ecore Evas:"
943 echo
944
945 echo "  Ecore_Evas...................: $have_ecore_evas"
946 if test "x$have_ecore_evas" = "xyes" ; then
947   echo "    Software Memory Buffer.....: $have_ecore_evas_buffer"
948   echo "    Software X11...............: $have_ecore_evas_software_x11"
949   echo "    XRender X11................: $have_ecore_evas_xrender_x11"
950   echo "    OpenGL X11.................: $have_ecore_evas_opengl_x11"
951   echo "    Software XCB...............: $have_ecore_evas_software_xcb"
952   echo "    XRender XCB................: $have_ecore_evas_xrender_xcb"
953   echo "    Software DirectDraw........: $have_ecore_evas_software_ddraw"
954   echo "    Direct3D...................: $have_ecore_evas_direct3d"
955   echo "    OpenGL Glew................: $have_ecore_evas_opengl_glew"
956   echo "    Software SDL...............: $have_ecore_evas_sdl"
957   echo "    DirectFB...................: $have_ecore_evas_dfb"
958   echo "    Software Framebuffer.......: $have_ecore_evas_fb"
959   echo "    Software 16bit X11.........: $have_ecore_evas_software_16_x11"
960   echo "    Software 16bit DirectDraw..: $have_ecore_evas_software_16_ddraw"
961   echo "    Software 16bit WinCE.......: $have_ecore_evas_software_16_wince"
962 fi
963 echo
964 echo "Now type 'make' ('gmake' on some systems) to compile $PACKAGE."
965 echo