* ecore_con: Add an alternative to getaddrinfo/fork by using c-ares.
[framework/uifw/ecore.git] / m4 / ecore_check_options.m4
1 dnl use: ECORE_CHECK_POLL(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
2 AC_DEFUN([ECORE_CHECK_POLL],
3 [
4 _ecore_want_poll=$1
5 _ecore_have_poll="no"
6
7 AC_ARG_ENABLE(poll,
8    [AC_HELP_STRING([--disable-poll], [disable poll in the ecore_file module])],
9    [
10     if test "x${enableval}" = "xyes" ; then
11        _ecore_want_poll="yes"
12     else
13        _ecore_want_poll="no"
14     fi
15    ])
16
17 AC_MSG_CHECKING(whether polling is to be used for filemonitoring)
18 AC_MSG_RESULT(${_ecore_want_poll})
19
20 if test "x${_ecore_want_poll}" = "xyes" ; then
21    AC_DEFINE([HAVE_POLL], [1], [ File monitoring with polling ])
22    _ecore_have_poll="yes"
23 fi
24
25 if test "x${_ecore_have_poll}" = "xyes" ; then
26    m4_default([$2], [:])
27 else
28    m4_default([$3], [:])
29 fi
30 ])
31
32 dnl use: ECORE_CHECK_INOTIFY(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
33 AC_DEFUN([ECORE_CHECK_INOTIFY],
34 [
35 _ecore_want_inotify=$1
36 _ecore_have_inotify="no"
37
38 dnl We need to check if the right inotify version is accessible
39 _ecore_want_inotify="yes"
40 AC_ARG_ENABLE(inotify,
41    [AC_HELP_STRING([--disable-inotify], [disable inotify in the ecore_file module])],
42    [
43     if test "x${enableval}" = "xyes" ; then
44        _ecore_want_inotify="yes"
45     else
46        _ecore_want_inotify="no"
47     fi
48    ])
49
50 AC_MSG_CHECKING(whether inotify is to be used for filemonitoring)
51 AC_MSG_RESULT($_ecore_want_inotify)
52
53 dnl It is hard to find a good test on how to check the correct
54 dnl inotify version. They changed the headers a lot.
55 dnl in kernel 2.6.13 __NR_inotify_init was added to the defined syscalls
56 dnl in asm/unistd.h and IN_MOVE_SELF was added to linux/inotify.h
57 dnl so with this check you need a very new kernel and kernel-headers!
58
59 if test "x${_ecore_want_inotify}" = "xyes" ; then
60    AC_CHECK_LIB([c], [inotify_init],
61       [
62        AC_DEFINE(HAVE_INOTIFY, 1, [ File monitoring with Inotify ])
63        AC_DEFINE(HAVE_SYS_INOTIFY, 1, [ File monitoring with Inotify - sys/inotify.h ])
64        _ecore_have_inotify="yes"
65       ],
66       [
67        AC_TRY_COMPILE(
68           [
69            #include <asm/unistd.h>
70            #include <linux/inotify.h>
71           ],
72           [int a = __NR_inotify_init; int b = IN_MOVE_SELF;],
73           [
74            AC_DEFINE([HAVE_INOTIFY], [1], [ File monitoring with Inotify ])
75            _ecore_have_inotify="yes"
76           ],
77           [_ecore_have_inotify="no"])
78       ])
79 fi
80
81 if test "x$_ecore_have_inotify" = "xyes" ; then
82    m4_default([$2], [:])
83 else
84    m4_default([$3], [:])
85 fi
86 ])
87  
88 dnl use: ECORE_CHECK_NOTIFY_WIN32(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
89 AC_DEFUN([ECORE_CHECK_NOTIFY_WIN32],
90 [
91 _ecore_want_notify_win32=$1
92 _ecore_have_notify_win32="no"
93
94 AC_ARG_ENABLE(notify-win32,
95    [AC_HELP_STRING([--disable-notify-win32], [disable Windows notification in the ecore_file module])],
96    [
97     if test "x${enableval}" = "xyes" ; then
98        _ecore_want_notify_win32="yes"
99     else
100        _ecore_want_notify_win32="no"
101     fi
102    ])
103
104 AC_MSG_CHECKING(whether Windows notification is to be used for filemonitoring)
105 AC_MSG_RESULT(${_ecore_want_notify_win32})
106
107 if test "x${_ecore_want_notify_win32}" = "xyes" ; then
108    AC_DEFINE([HAVE_NOTIFY_WIN32], [1], [ File monitoring with Windows notification ])
109    _ecore_have_notify_win32="yes"
110 fi
111
112 if test "x${_ecore_have_notify_win32}" = "xyes" ; then
113    m4_default([$2], [:])
114 else
115    m4_default([$3], [:])
116 fi
117 ])
118
119 dnl use: ECORE_CHECK_CURL(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
120 AC_DEFUN([ECORE_CHECK_CURL],
121 [
122 _ecore_want_curl=$1
123 _ecore_have_curl="no"
124
125 AC_ARG_ENABLE([curl],
126    [AC_HELP_STRING([--disable-curl], [disable curl support])],
127    [
128     if test "x${enableval}" = "xyes" ; then
129        _ecore_want_curl="yes"
130     else
131        _ecore_want_curl="no"
132     fi
133    ])
134
135 if test "x${_ecore_want_curl}" = "xyes" ; then
136    PKG_CHECK_MODULES(CURL, libcurl,
137       [
138        AC_DEFINE(HAVE_CURL, 1, [ Downloading with CURL ])
139        _ecore_have_curl="yes"
140       ],
141       [_ecore_have_curl="no"])
142 fi
143
144 if test "x$_ecore_have_curl" = "xyes" ; then
145    m4_default([$2], [:])
146 else
147    m4_default([$3], [:])
148 fi
149 ])
150
151 dnl use: ECORE_CHECK_GNUTLS(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
152 AC_DEFUN([ECORE_CHECK_GNUTLS],
153 [
154 _ecore_want_gnutls=$1
155 _ecore_have_gnutls="no"
156
157 AC_ARG_ENABLE([gnutls],
158    [AC_HELP_STRING([--disable-gnutls], [disable gnutls support])],
159    [
160     if test "x${enableval}" = "xyes" ; then
161        _ecore_want_gnutls="yes"
162     else
163        _ecore_want_gnutls="no"
164     fi
165    ])
166
167 if test "x${_ecore_want_gnutls}" = "xyes" -o "x${_ecore_want_gnutls}" = "xauto" ; then
168    PKG_CHECK_MODULES([TLS], [gnutls],
169       [
170        AC_DEFINE([USE_GNUTLS], [1], [Use GnuTLS])
171        _ecore_have_gnutls="yes"
172       ],
173       [_ecore_have_gnutls="no"])
174    # for ecore_con_ssl.c
175    PKG_CHECK_MODULES([TLS2], [gnutls >= 2.0.0],
176       [AC_DEFINE(USE_GNUTLS2, 1, [Use GnuTLS 2 or higher])],
177       [dummy="no"])
178 fi
179
180 if test "x$_ecore_have_gnutls" = "xyes" ; then
181   ifelse([$2], , :, [$2])
182 else
183   ifelse([$3], , :, [$3])
184 fi
185 ])
186
187 dnl use: ECORE_CHECK_OPENSSL(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
188 AC_DEFUN([ECORE_CHECK_OPENSSL],
189 [
190 _ecore_want_openssl=$1
191 _ecore_have_openssl="no"
192
193 AC_ARG_ENABLE(openssl,
194   [AC_HELP_STRING([--disable-openssl], [disable openssl support])],
195   [
196     if test "x${enableval}" = "xyes" ; then
197        _ecore_want_openssl="yes"
198     else
199        _ecore_want_openssl="no"
200     fi
201   ])
202
203 if test "x${_ecore_want_openssl}" = "xyes" -o "x${_ecore_want_openssl}" = "xauto"; then
204    PKG_CHECK_MODULES([SSL],
205       [openssl],
206       [
207        AC_DEFINE(USE_OPENSSL, 1, [Use OpenSSL])
208        _ecore_have_openssl="yes"
209       ],
210       [_ecore_have_openssl="no"])
211 fi
212
213 if test "x$_ecore_have_openssl" = "xyes" ; then
214    m4_default([$2], [:])
215 else
216    m4_default([$3], [:])
217 fi
218 ])
219
220 dnl use: ECORE_CHECK_TSLIB(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
221 AC_DEFUN([ECORE_CHECK_TSLIB],
222 [
223 _tslib_requirement=""
224 _ecore_want_tslib=$1
225 _ecore_have_tslib="no"
226 TSLIB_LIBS=""
227 TSLIB_CFLAGS=""
228
229 if test "x${_ecore_want_tslib}" = "xyes" -o "x${_ecore_want_tslib}" = "xauto" ; then
230    PKG_CHECK_MODULES([TSLIB], [tslib-1.0],
231      [
232       AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
233       _ecore_have_tslib="yes"
234       _tslib_requirement="tslib-1.0"
235      ],[
236       PKG_CHECK_MODULES([TSLIB], [tslib],
237         [
238          AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
239          _ecore_have_tslib="yes"
240          _tslib_requirement="tslib"
241         ],[
242          AC_CHECK_HEADER([tslib.h],
243            [
244             AC_CHECK_LIB([ts], [ts_open], 
245               [
246                TSLIB_LIBS="-lts" 
247                TSLIB_CFLAGS=""
248                AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
249                _ecore_have_tslib="yes"
250               ],[
251                AC_CHECK_LIB([tslib], [ts_open],
252                  [
253                   TSLIB_LIBS="-ltslib"
254                   TSLIB_CFLAGS=""
255                   AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
256                   _ecore_have_tslib="yes"
257                  ],[
258                   _ecore_have_tslib="no"
259                  ])
260               ])
261            ])
262         ])
263      ])
264 fi
265
266 AC_SUBST(TSLIB_LIBS)
267 AC_SUBST(TSLIB_CFLAGS)
268
269 if test "x$_ecore_have_tslib" = "xyes" ; then
270    m4_default([$2], [:])
271 else
272    m4_default([$3], [:])
273 fi
274 ])
275
276 dnl use: ECORE_CHECK_CARES(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
277 AC_DEFUN([ECORE_CHECK_CARES],
278 [
279 _cares_requirement=""
280 _ecore_want_cares=$1
281 _ecore_have_cares="no"
282 CARES_LIBS=""
283 CARES_CFLAGS=""
284
285 AC_ARG_ENABLE(cares,
286   [AC_HELP_STRING([--disable-cares], [disable cares support])],
287   [
288     if test "x${enableval}" = "xyes" ; then
289        _ecore_want_cares="yes"
290     else
291        _ecore_want_cares="no"
292     fi
293   ])
294
295 if test "x${_ecore_want_cares}" = "xyes" -o "x${_ecore_want_cares}" = "xauto" ; then
296    PKG_CHECK_MODULES([CARES], [libcares >= 1.6.1],
297      [
298       AC_DEFINE(HAVE_CARES, 1, [Build Ecore_Con_Info with c-ares support])
299       _ecore_have_cares="yes"
300       _cares_requirement="libcares"
301      ], [
302       _ecore_have_cares="no"
303      ])
304 fi
305
306 AM_CONDITIONAL(HAVE_CARES, test "x$_ecore_have_cares" = "xyes")
307
308 AC_SUBST(CARES_LIBS)
309 AC_SUBST(CARES_CFLAGS)
310
311 if test "x$_ecore_have_cares" = "xyes" ; then
312    m4_default([$2], [:])
313 else
314    m4_default([$3], [:])
315 fi
316 ])