OSDN Git Service

am bd1fc7d2: am 30b313b3: Changes flush timeout from 60 ms to 120 ms.
[android-x86/external-bluetooth-bluez.git] / acinclude.m4
1 AC_DEFUN([AC_PROG_CC_PIE], [
2         AC_CACHE_CHECK([whether ${CC-cc} accepts -fPIE], ac_cv_prog_cc_pie, [
3                 echo 'void f(){}' > conftest.c
4                 if test -z "`${CC-cc} -fPIE -pie -c conftest.c 2>&1`"; then
5                         ac_cv_prog_cc_pie=yes
6                 else
7                         ac_cv_prog_cc_pie=no
8                 fi
9                 rm -rf conftest*
10         ])
11 ])
12
13 AC_DEFUN([COMPILER_FLAGS], [
14         if (test "${CFLAGS}" = ""); then
15                 CFLAGS="-Wall -O2"
16         fi
17         if (test "$USE_MAINTAINER_MODE" = "yes"); then
18                 CFLAGS+=" -Werror -Wextra"
19                 CFLAGS+=" -Wno-unused-parameter"
20                 CFLAGS+=" -Wno-missing-field-initializers"
21                 CFLAGS+=" -Wdeclaration-after-statement"
22                 CFLAGS+=" -Wmissing-declarations"
23                 CFLAGS+=" -Wredundant-decls"
24                 CFLAGS+=" -Wcast-align"
25         fi
26 ])
27
28 AC_DEFUN([GTK_DOC_CHECK], [
29         AC_ARG_WITH([html-dir],
30                 AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),,
31                                         [with_html_dir='${datadir}/gtk-doc/html'])
32         HTML_DIR="$with_html_dir"
33         AC_SUBST([HTML_DIR])
34
35         AC_ARG_ENABLE([gtk-doc],
36                 AS_HELP_STRING([--enable-gtk-doc], [use gtk-doc to build documentation [[default=no]]]),,
37                                         [enable_gtk_doc=no])
38
39         if test x$enable_gtk_doc = xyes; then
40                 ifelse([$1],[],
41                         [PKG_CHECK_EXISTS([gtk-doc],,
42                                 AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))],
43                         [PKG_CHECK_EXISTS([gtk-doc >= $1],,
44                                 AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build gtk-doc]))])
45         fi
46
47         AC_MSG_CHECKING([whether to build gtk-doc documentation])
48         AC_MSG_RESULT($enable_gtk_doc)
49
50         AC_PATH_PROGS(GTKDOC_CHECK,gtkdoc-check,)
51
52         AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes])
53         AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"])
54 ])
55
56 AC_DEFUN([AC_FUNC_PPOLL], [
57         AC_CHECK_FUNC(ppoll, dummy=yes, AC_DEFINE(NEED_PPOLL, 1,
58                         [Define to 1 if you need the ppoll() function.]))
59 ])
60
61 AC_DEFUN([AC_INIT_BLUEZ], [
62         AC_PREFIX_DEFAULT(/usr/local)
63
64         if (test "${prefix}" = "NONE"); then
65                 dnl no prefix and no sysconfdir, so default to /etc
66                 if (test "$sysconfdir" = '${prefix}/etc'); then
67                         AC_SUBST([sysconfdir], ['/etc'])
68                 fi
69
70                 dnl no prefix and no localstatedir, so default to /var
71                 if (test "$localstatedir" = '${prefix}/var'); then
72                         AC_SUBST([localstatedir], ['/var'])
73                 fi
74
75                 dnl no prefix and no libexecdir, so default to /lib
76                 if (test "$libexecdir" = '${exec_prefix}/libexec'); then
77                         AC_SUBST([libexecdir], ['/lib'])
78                 fi
79
80                 dnl no prefix and no mandir, so use ${prefix}/share/man as default
81                 if (test "$mandir" = '${prefix}/man'); then
82                         AC_SUBST([mandir], ['${prefix}/share/man'])
83                 fi
84
85                 prefix="${ac_default_prefix}"
86         fi
87
88         if (test "${libdir}" = '${exec_prefix}/lib'); then
89                 libdir="${prefix}/lib"
90         fi
91
92         plugindir="${libdir}/bluetooth/plugins"
93
94         if (test "$sysconfdir" = '${prefix}/etc'); then
95                 configdir="${prefix}/etc/bluetooth"
96         else
97                 configdir="${sysconfdir}/bluetooth"
98         fi
99
100         if (test "$localstatedir" = '${prefix}/var'); then
101                 storagedir="${prefix}/var/lib/bluetooth"
102         else
103                 storagedir="${localstatedir}/lib/bluetooth"
104         fi
105
106         AC_DEFINE_UNQUOTED(CONFIGDIR, "${configdir}",
107                                 [Directory for the configuration files])
108         AC_DEFINE_UNQUOTED(STORAGEDIR, "${storagedir}",
109                                 [Directory for the storage files])
110
111         AC_SUBST(CONFIGDIR, "${configdir}")
112         AC_SUBST(STORAGEDIR, "${storagedir}")
113
114         UDEV_DATADIR="`$PKG_CONFIG --variable=udevdir udev`"
115         if (test -z "${UDEV_DATADIR}"); then
116                 UDEV_DATADIR="${sysconfdir}/udev/rules.d"
117         else
118                 UDEV_DATADIR="${UDEV_DATADIR}/rules.d"
119         fi
120         AC_SUBST(UDEV_DATADIR)
121 ])
122
123 AC_DEFUN([AC_PATH_DBUS], [
124         PKG_CHECK_MODULES(DBUS, dbus-1 >= 1.0, dummy=yes,
125                                 AC_MSG_ERROR(D-Bus library is required))
126         AC_CHECK_LIB(dbus-1, dbus_watch_get_unix_fd, dummy=yes,
127                 AC_DEFINE(NEED_DBUS_WATCH_GET_UNIX_FD, 1,
128                         [Define to 1 if you need the dbus_watch_get_unix_fd() function.]))
129         AC_SUBST(DBUS_CFLAGS)
130         AC_SUBST(DBUS_LIBS)
131 ])
132
133 AC_DEFUN([AC_PATH_GLIB], [
134         PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.14, dummy=yes,
135                                 AC_MSG_ERROR(GLib library version 2.14 or later is required))
136         AC_SUBST(GLIB_CFLAGS)
137         AC_SUBST(GLIB_LIBS)
138 ])
139
140 AC_DEFUN([AC_PATH_GSTREAMER], [
141         PKG_CHECK_MODULES(GSTREAMER, gstreamer-0.10 gstreamer-plugins-base-0.10, gstreamer_found=yes, gstreamer_found=no)
142         AC_SUBST(GSTREAMER_CFLAGS)
143         AC_SUBST(GSTREAMER_LIBS)
144         GSTREAMER_PLUGINSDIR=`$PKG_CONFIG --variable=pluginsdir gstreamer-0.10`
145         AC_SUBST(GSTREAMER_PLUGINSDIR)
146 ])
147
148 AC_DEFUN([AC_PATH_PULSE], [
149         PKG_CHECK_MODULES(PULSE, libpulse, pulse_found=yes, pulse_found=no)
150         AC_SUBST(PULSE_CFLAGS)
151         AC_SUBST(PULSE_LIBS)
152 ])
153
154 AC_DEFUN([AC_PATH_ALSA], [
155         PKG_CHECK_MODULES(ALSA, alsa, alsa_found=yes, alsa_found=no)
156         AC_CHECK_LIB(rt, clock_gettime, ALSA_LIBS="$ALSA_LIBS -lrt", alsa_found=no)
157         AC_SUBST(ALSA_CFLAGS)
158         AC_SUBST(ALSA_LIBS)
159 ])
160
161 AC_DEFUN([AC_PATH_USB], [
162         PKG_CHECK_MODULES(USB, libusb, usb_found=yes, usb_found=no)
163         AC_SUBST(USB_CFLAGS)
164         AC_SUBST(USB_LIBS)
165         AC_CHECK_LIB(usb, usb_get_busses, dummy=yes,
166                 AC_DEFINE(NEED_USB_GET_BUSSES, 1,
167                         [Define to 1 if you need the usb_get_busses() function.]))
168         AC_CHECK_LIB(usb, usb_interrupt_read, dummy=yes,
169                 AC_DEFINE(NEED_USB_INTERRUPT_READ, 1,
170                         [Define to 1 if you need the usb_interrupt_read() function.]))
171 ])
172
173 AC_DEFUN([AC_PATH_NETLINK], [
174         PKG_CHECK_MODULES(NETLINK, libnl-1, netlink_found=yes, netlink_found=no)
175         AC_SUBST(NETLINK_CFLAGS)
176         AC_SUBST(NETLINK_LIBS)
177 ])
178
179 AC_DEFUN([AC_PATH_SNDFILE], [
180         PKG_CHECK_MODULES(SNDFILE, sndfile, sndfile_found=yes, sndfile_found=no)
181         AC_SUBST(SNDFILE_CFLAGS)
182         AC_SUBST(SNDFILE_LIBS)
183 ])
184
185 AC_DEFUN([AC_ARG_BLUEZ], [
186         debug_enable=no
187         optimization_enable=yes
188         fortify_enable=yes
189         pie_enable=yes
190         sndfile_enable=${sndfile_found}
191         netlink_enable=no
192         hal_enable=${hal_found}
193         usb_enable=${usb_found}
194         alsa_enable=${alsa_found}
195         gstreamer_enable=${gstreamer_found}
196         audio_enable=yes
197         input_enable=yes
198         serial_enable=yes
199         network_enable=yes
200         service_enable=yes
201         tools_enable=yes
202         hidd_enable=no
203         pand_enable=no
204         dund_enable=no
205         cups_enable=no
206         test_enable=no
207         bccmd_enable=no
208         pcmcia_enable=no
209         hid2hci_enable=no
210         dfutool_enable=no
211         manpages_enable=yes
212         udevrules_enable=yes
213         configfiles_enable=yes
214         telephony_driver=dummy
215
216         AC_ARG_ENABLE(optimization, AC_HELP_STRING([--disable-optimization], [disable code optimization]), [
217                 optimization_enable=${enableval}
218         ])
219
220         AC_ARG_ENABLE(fortify, AC_HELP_STRING([--disable-fortify], [disable compile time buffer checks]), [
221                 fortify_enable=${enableval}
222         ])
223
224         AC_ARG_ENABLE(pie, AC_HELP_STRING([--disable-pie], [disable position independent executables flag]), [
225                 pie_enable=${enableval}
226         ])
227
228         AC_ARG_ENABLE(network, AC_HELP_STRING([--disable-network], [disable network plugin]), [
229                 network_enable=${enableval}
230         ])
231
232         AC_ARG_ENABLE(serial, AC_HELP_STRING([--disable-serial], [disable serial plugin]), [
233                 serial_enable=${enableval}
234         ])
235
236         AC_ARG_ENABLE(input, AC_HELP_STRING([--disable-input], [disable input plugin]), [
237                 input_enable=${enableval}
238         ])
239
240         AC_ARG_ENABLE(audio, AC_HELP_STRING([--disable-audio], [disable audio plugin]), [
241                 audio_enable=${enableval}
242         ])
243
244         AC_ARG_ENABLE(service, AC_HELP_STRING([--disable-service], [disable service plugin]), [
245                 service_enable=${enableval}
246         ])
247
248         AC_ARG_ENABLE(gstreamer, AC_HELP_STRING([--enable-gstreamer], [enable GStreamer support]), [
249                 gstreamer_enable=${enableval}
250         ])
251
252         AC_ARG_ENABLE(alsa, AC_HELP_STRING([--enable-alsa], [enable ALSA support]), [
253                 alsa_enable=${enableval}
254         ])
255
256         AC_ARG_ENABLE(usb, AC_HELP_STRING([--enable-usb], [enable USB support]), [
257                 usb_enable=${enableval}
258         ])
259
260         AC_ARG_ENABLE(netlink, AC_HELP_STRING([--enable-netlink], [enable NETLINK support]), [
261                 netlink_enable=${enableval}
262         ])
263
264         AC_ARG_ENABLE(tools, AC_HELP_STRING([--enable-tools], [install Bluetooth utilities]), [
265                 tools_enable=${enableval}
266         ])
267
268         AC_ARG_ENABLE(bccmd, AC_HELP_STRING([--enable-bccmd], [install BCCMD interface utility]), [
269                 bccmd_enable=${enableval}
270         ])
271
272         AC_ARG_ENABLE(pcmcia, AC_HELP_STRING([--enable-pcmcia], [install PCMCIA serial script]), [
273                 pcmcia_enable=${enableval}
274         ])
275
276         AC_ARG_ENABLE(hid2hci, AC_HELP_STRING([--enable-hid2hci], [install HID mode switching utility]), [
277                 hid2hci_enable=${enableval}
278         ])
279
280         AC_ARG_ENABLE(dfutool, AC_HELP_STRING([--enable-dfutool], [install DFU firmware upgrade utility]), [
281                 dfutool_enable=${enableval}
282         ])
283
284         AC_ARG_ENABLE(hidd, AC_HELP_STRING([--enable-hidd], [install HID daemon]), [
285                 hidd_enable=${enableval}
286         ])
287
288         AC_ARG_ENABLE(pand, AC_HELP_STRING([--enable-pand], [install PAN daemon]), [
289                 pand_enable=${enableval}
290         ])
291
292         AC_ARG_ENABLE(dund, AC_HELP_STRING([--enable-dund], [install DUN daemon]), [
293                 dund_enable=${enableval}
294         ])
295
296         AC_ARG_ENABLE(cups, AC_HELP_STRING([--enable-cups], [install CUPS backend support]), [
297                 cups_enable=${enableval}
298         ])
299
300         AC_ARG_ENABLE(test, AC_HELP_STRING([--enable-test], [install test programs]), [
301                 test_enable=${enableval}
302         ])
303
304         AC_ARG_ENABLE(manpages, AC_HELP_STRING([--enable-manpages], [install Bluetooth manual pages]), [
305                 manpages_enable=${enableval}
306         ])
307
308         AC_ARG_ENABLE(udevrules, AC_HELP_STRING([--enable-udevrules], [install Bluetooth udev rules]), [
309                 udevrules_enable=${enableval}
310         ])
311
312         AC_ARG_ENABLE(configfiles, AC_HELP_STRING([--enable-configfiles], [install Bluetooth configuration files]), [
313                 configfiles_enable=${enableval}
314         ])
315
316         AC_ARG_ENABLE(debug, AC_HELP_STRING([--enable-debug], [enable compiling with debugging information]), [
317                 debug_enable=${enableval}
318         ])
319
320         AC_ARG_WITH(telephony, AC_HELP_STRING([--with-telephony=DRIVER], [select telephony driver]), [
321                 telephony_driver=${withval}
322         ])
323
324         AC_SUBST([TELEPHONY_DRIVER], [telephony-${telephony_driver}.c])
325
326         if (test "${fortify_enable}" = "yes"); then
327                 CFLAGS="$CFLAGS -D_FORTIFY_SOURCE=2"
328         fi
329
330         if (test "${pie_enable}" = "yes" && test "${ac_cv_prog_cc_pie}" = "yes"); then
331                 CFLAGS="$CFLAGS -fPIC"
332                 LDFLAGS="$LDFLAGS -pie"
333         fi
334
335         if (test "${debug_enable}" = "yes" && test "${ac_cv_prog_cc_g}" = "yes"); then
336                 CFLAGS="$CFLAGS -g"
337         fi
338
339         if (test "${optimization_enable}" = "no"); then
340                 CFLAGS="$CFLAGS -O0"
341         fi
342
343         if (test "${usb_enable}" = "yes" && test "${usb_found}" = "yes"); then
344                 AC_DEFINE(HAVE_LIBUSB, 1, [Define to 1 if you have USB library.])
345         fi
346
347         AC_SUBST([BLUEZ_CFLAGS], ['-I$(top_builddir)/include'])
348         AC_SUBST([BLUEZ_LIBS], ['$(top_builddir)/lib/libbluetooth.la'])
349
350         AC_SUBST([GDBUS_CFLAGS], ['-I$(top_srcdir)/gdbus'])
351         AC_SUBST([GDBUS_LIBS], ['$(top_builddir)/gdbus/libgdbus.la'])
352
353         AC_SUBST([SBC_CFLAGS], ['-I$(top_srcdir)/sbc'])
354         AC_SUBST([SBC_LIBS], ['$(top_builddir)/sbc/libsbc.la'])
355
356         AM_CONDITIONAL(SNDFILE, test "${sndfile_enable}" = "yes" && test "${sndfile_found}" = "yes")
357         AM_CONDITIONAL(NETLINK, test "${netlink_enable}" = "yes" && test "${netlink_found}" = "yes")
358         AM_CONDITIONAL(USB, test "${usb_enable}" = "yes" && test "${usb_found}" = "yes")
359         AM_CONDITIONAL(SBC, test "${alsa_enable}" = "yes" || test "${gstreamer_enable}" = "yes")
360         AM_CONDITIONAL(ALSA, test "${alsa_enable}" = "yes" && test "${alsa_found}" = "yes")
361         AM_CONDITIONAL(GSTREAMER, test "${gstreamer_enable}" = "yes" && test "${gstreamer_found}" = "yes")
362         AM_CONDITIONAL(AUDIOPLUGIN, test "${audio_enable}" = "yes")
363         AM_CONDITIONAL(INPUTPLUGIN, test "${input_enable}" = "yes")
364         AM_CONDITIONAL(SERIALPLUGIN, test "${serial_enable}" = "yes")
365         AM_CONDITIONAL(NETWORKPLUGIN, test "${network_enable}" = "yes")
366         AM_CONDITIONAL(SERVICEPLUGIN, test "${service_enable}" = "yes")
367         AM_CONDITIONAL(HIDD, test "${hidd_enable}" = "yes")
368         AM_CONDITIONAL(PAND, test "${pand_enable}" = "yes")
369         AM_CONDITIONAL(DUND, test "${dund_enable}" = "yes")
370         AM_CONDITIONAL(CUPS, test "${cups_enable}" = "yes")
371         AM_CONDITIONAL(TEST, test "${test_enable}" = "yes")
372         AM_CONDITIONAL(TOOLS, test "${tools_enable}" = "yes")
373         AM_CONDITIONAL(BCCMD, test "${bccmd_enable}" = "yes")
374         AM_CONDITIONAL(PCMCIA, test "${pcmcia_enable}" = "yes")
375         AM_CONDITIONAL(HID2HCI, test "${hid2hci_enable}" = "yes" && test "${usb_found}" = "yes")
376         AM_CONDITIONAL(DFUTOOL, test "${dfutool_enable}" = "yes" && test "${usb_found}" = "yes")
377         AM_CONDITIONAL(MANPAGES, test "${manpages_enable}" = "yes")
378         AM_CONDITIONAL(UDEVRULES, test "${udevrules_enable}" = "yes")
379         AM_CONDITIONAL(CONFIGFILES, test "${configfiles_enable}" = "yes")
380 ])