svn update: 48958 (latest:48959)
[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 AC_ARG_ENABLE([tslib],
230    [AC_HELP_STRING([--disable-tslib],
231        [disable the tslib support in ecore (currently ecore-fb).
232         @<:@default=detect@:>@])],
233    [
234     if test "x${enableval}" = "xyes" ; then
235        _ecore_want_tslib="yes"
236     else
237        _ecore_want_tslib="no"
238     fi
239    ])
240
241 if test "x${_ecore_want_tslib}" = "xyes" -o "x${_ecore_want_tslib}" = "xauto" ; then
242    PKG_CHECK_MODULES([TSLIB], [tslib-1.0],
243      [
244       AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
245       _ecore_have_tslib="yes"
246       _tslib_requirement="tslib-1.0"
247      ],[
248       PKG_CHECK_MODULES([TSLIB], [tslib],
249         [
250          AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
251          _ecore_have_tslib="yes"
252          _tslib_requirement="tslib"
253         ],[
254          AC_CHECK_HEADER([tslib.h],
255            [
256             AC_CHECK_LIB([ts], [ts_open], 
257               [
258                TSLIB_LIBS="-lts" 
259                TSLIB_CFLAGS=""
260                AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
261                _ecore_have_tslib="yes"
262               ],[
263                AC_CHECK_LIB([tslib], [ts_open],
264                  [
265                   TSLIB_LIBS="-ltslib"
266                   TSLIB_CFLAGS=""
267                   AC_DEFINE(HAVE_TSLIB, 1, [Build Ecore_FB Touchscreen Code])
268                   _ecore_have_tslib="yes"
269                  ],[
270                   _ecore_have_tslib="no"
271                  ])
272               ])
273            ])
274         ])
275      ])
276 fi
277
278 AC_SUBST(TSLIB_LIBS)
279 AC_SUBST(TSLIB_CFLAGS)
280
281 if test "x$_ecore_have_tslib" = "xyes" ; then
282    m4_default([$2], [:])
283 else
284    m4_default([$3], [:])
285 fi
286 ])
287
288 dnl use: ECORE_CHECK_CARES(default-enabled[, ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
289 AC_DEFUN([ECORE_CHECK_CARES],
290 [
291 _ecore_want_cares=$1
292 _ecore_have_cares="no"
293
294 AC_ARG_ENABLE(cares,
295   [AC_HELP_STRING([--disable-cares], [disable cares support])],
296   [
297     if test "x${enableval}" = "xyes" ; then
298        _ecore_want_cares="yes"
299     else
300        _ecore_want_cares="no"
301     fi
302   ])
303
304 if test "x${_ecore_want_cares}" = "xyes" -o "x${_ecore_want_cares}" = "xauto" ; then
305    PKG_CHECK_MODULES([CARES], [libcares >= 1.6.1],
306      [_ecore_have_cares="yes"],
307      [_ecore_have_cares="no"])
308 fi
309
310 if test "x${_ecore_have_cares}" = "xyes" ; then
311    AC_DEFINE([HAVE_CARES], [1], [Build Ecore_Con_Info with c-ares support])
312 fi
313
314 if test "x$_ecore_have_cares" = "xyes" ; then
315    m4_default([$2], [:])
316 else
317    m4_default([$3], [:])
318 fi
319 ])