]> git.ipfire.org Git - thirdparty/collectd.git/blame - configure.ac
Add sources for new turbostat plugin
[thirdparty/collectd.git] / configure.ac
CommitLineData
86ca149a 1dnl Process this file with autoconf to produce a configure script.
d4fcceb7 2AC_INIT([collectd],[m4_esyscmd(./version-gen.sh)])
216c6246 3AC_CONFIG_SRCDIR(src/)
6e765a02 4AC_CONFIG_HEADERS(src/config.h)
e82cc54a 5AC_CONFIG_AUX_DIR([libltdl/config])
65e2acb6
SH
6
7m4_ifdef([LT_PACKAGE_VERSION],
8 # libtool >= 2.2
9 [
10 LT_CONFIG_LTDL_DIR([libltdl])
11 LT_INIT([dlopen])
12 LTDL_INIT([convenience])
47f2b4a9 13 AC_DEFINE(LIBTOOL_VERSION, 2, [Define to used libtool version.])
65e2acb6
SH
14 ]
15,
16 # libtool <= 1.5
17 [
18 AC_LIBLTDL_CONVENIENCE
19 AC_SUBST(LTDLINCL)
20 AC_SUBST(LIBLTDL)
21 AC_LIBTOOL_DLOPEN
22 AC_CONFIG_SUBDIRS(libltdl)
47f2b4a9 23 AC_DEFINE(LIBTOOL_VERSION, 1, [Define to used libtool version.])
65e2acb6
SH
24 ]
25)
26
a2983ff8
MF
27AM_INIT_AUTOMAKE([tar-pax dist-bzip2 foreign])
28m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
86ca149a
FF
29AC_LANG(C)
30
31AC_PREFIX_DEFAULT("/opt/collectd")
32
9e7918de
SH
33AC_SYS_LARGEFILE
34
15996f86
FF
35#
36# Checks for programs.
37#
86ca149a
FF
38AC_PROG_CC
39AC_PROG_CPP
40AC_PROG_INSTALL
41AC_PROG_LN_S
42AC_PROG_MAKE_SET
30f3e7b8 43AM_PROG_CC_C_O
586eed68 44AM_CONDITIONAL(COMPILER_IS_GCC, test "x$GCC" = "xyes")
86ca149a 45
86ca149a 46AC_DISABLE_STATIC
86ca149a 47AC_PROG_LIBTOOL
108c20b2
FF
48AC_PROG_LEX
49AC_PROG_YACC
249d5776 50PKG_PROG_PKG_CONFIG
86ca149a 51
5f4c4a17 52AC_CHECK_PROG([have_protoc_c], [protoc-c], [yes], [no])
418f91fb
FF
53AC_CHECK_HEADERS([google/protobuf-c/protobuf-c.h],
54 [have_protobuf_c_h="yes"],
55 [have_protobuf_c_h="no"])
8a09193a
FF
56if test "x$have_protoc_c" = "xyes" && test "x$have_protobuf_c_h" != "xyes"
57then
418f91fb 58 have_protoc_c="no (unable to find <google/protobuf-c/protobuf-c.h>)"
8a09193a 59fi
5f4c4a17 60AM_CONDITIONAL(HAVE_PROTOC_C, test "x$have_protoc_c" = "xyes")
23a8901d 61
af18c7e0
FF
62AC_MSG_CHECKING([for kernel type ($host_os)])
63case $host_os in
64 *linux*)
65 AC_DEFINE([KERNEL_LINUX], 1, [True if program is to be compiled for a Linux kernel])
66 ac_system="Linux"
67 ;;
68 *solaris*)
69 AC_DEFINE([KERNEL_SOLARIS], 1, [True if program is to be compiled for a Solaris kernel])
70 ac_system="Solaris"
71 ;;
29f72849 72 *darwin*)
15e2832f 73 AC_DEFINE([KERNEL_DARWIN], 1, [True if program is to be compiled for a Darwin kernel])
29f72849 74 ac_system="Darwin"
af18c7e0 75 ;;
7132090f 76 *openbsd*)
15e2832f 77 AC_DEFINE([KERNEL_OPENBSD], 1, [True if program is to be compiled for an OpenBSD kernel])
7132090f
FF
78 ac_system="OpenBSD"
79 ;;
11b1e65a
MS
80 *aix*)
81 AC_DEFINE([KERNEL_AIX], 1, [True if program is to be compiled for a AIX kernel])
82 ac_system="AIX"
83 ;;
95c50593
XL
84 *freebsd*)
85 AC_DEFINE([KERNEL_FREEBSD], 1, [True if program is to be compiled for a FreeBSD kernel])
86 ac_system="FreeBSD"
87 ;;
af18c7e0
FF
88 *)
89 ac_system="unknown"
90esac
91AC_MSG_RESULT([$ac_system])
92
15e2832f
MF
93AM_CONDITIONAL([BUILD_LINUX],[test "x$x$ac_system" = "xLinux"])
94AM_CONDITIONAL([BUILD_SOLARIS],[test "x$x$ac_system" = "xSolaris"])
95AM_CONDITIONAL([BUILD_DARWIN],[test "x$x$ac_system" = "xDarwin"])
96AM_CONDITIONAL([BUILD_OPENBSD],[test "x$x$ac_system" = "xOpenBSD"])
97AM_CONDITIONAL([BUILD_AIX],[test "x$x$ac_system" = "xAIX"])
98AM_CONDITIONAL([BUILD_FREEBSD],[test "x$x$ac_system" = "xFreeBSD"])
99
9bf39535
BB
100if test "x$ac_system" = "xLinux"
101then
102 AC_ARG_VAR([KERNEL_DIR], [path to Linux kernel sources])
103 if test -z "$KERNEL_DIR"
104 then
105 KERNEL_DIR="/lib/modules/`uname -r`/source"
106 fi
107
108 KERNEL_CFLAGS="-I$KERNEL_DIR/include"
109 AC_SUBST(KERNEL_CFLAGS)
110fi
111
1862f170
FF
112if test "x$ac_system" = "xSolaris"
113then
7bec4afe 114 AC_DEFINE(_POSIX_PTHREAD_SEMANTICS, 1, [Define to enforce POSIX thread semantics under Solaris.])
101c7c00 115 AC_DEFINE(_REENTRANT, 1, [Define to enable reentrancy interfaces.])
1862f170 116fi
13cbf9d4
AR
117if test "x$ac_system" = "xAIX"
118then
119 AC_DEFINE(_THREAD_SAFE_ERRNO, 1, [Define to use the thread-safe version of errno under AIX.])
120fi
1862f170 121
9ece08de
FF
122# Where to install .pc files.
123pkgconfigdir="${libdir}/pkgconfig"
124AC_SUBST(pkgconfigdir)
125
7bec4afe
FF
126# Check for standards compliance mode
127AC_ARG_ENABLE(standards,
128 AS_HELP_STRING([--enable-standards], [Enable standards compliance mode]),
129 [enable_standards="$enableval"],
130 [enable_standards="no"])
131if test "x$enable_standards" = "xyes"
132then
133 AC_DEFINE(_ISOC99_SOURCE, 1, [Define to enforce ISO C99 compliance.])
c1f003b7
FF
134 AC_DEFINE(_POSIX_C_SOURCE, 200809L, [Define to enforce POSIX.1-2008 compliance.])
135 AC_DEFINE(_XOPEN_SOURCE, 700, [Define to enforce X/Open 7 (XSI) compliance.])
7bec4afe 136 AC_DEFINE(_REENTRANT, 1, [Define to enable reentrancy interfaces.])
c1f003b7
FF
137 if test "x$GCC" = "xyes"
138 then
139 CFLAGS="$CFLAGS -std=c99"
140 fi
7bec4afe
FF
141fi
142AM_CONDITIONAL(BUILD_FEATURE_STANDARDS, test "x$enable_standards" = "xyes")
143
15996f86
FF
144#
145# Checks for header files.
146#
e708ae9b 147AC_HEADER_STDC
86ca149a 148AC_HEADER_SYS_WAIT
6e765a02 149AC_HEADER_DIRENT
9e0809db 150AC_HEADER_STDBOOL
a905d397 151
76910471 152AC_CHECK_HEADERS(stdio.h errno.h math.h stdarg.h syslog.h fcntl.h signal.h assert.h sys/types.h sys/socket.h sys/select.h poll.h netdb.h arpa/inet.h sys/resource.h sys/param.h kstat.h regex.h sys/ioctl.h endian.h sys/isa_defs.h fnmatch.h libgen.h)
15996f86 153
c9a5b034 154# For ping library
6934b3d0
FF
155AC_CHECK_HEADERS(netinet/in_systm.h, [], [],
156[#if HAVE_STDINT_H
157# include <stdint.h>
158#endif
ac491e03
FF
159#if HAVE_SYS_TYPES_H
160# include <sys/types.h>
161#endif
6934b3d0 162])
c9a5b034 163AC_CHECK_HEADERS(netinet/in.h, [], [],
6934b3d0
FF
164[#if HAVE_STDINT_H
165# include <stdint.h>
166#endif
ac491e03
FF
167#if HAVE_SYS_TYPES_H
168# include <sys/types.h>
169#endif
6934b3d0 170#if HAVE_NETINET_IN_SYSTM_H
c9a5b034
FF
171# include <netinet/in_systm.h>
172#endif
173])
174AC_CHECK_HEADERS(netinet/ip.h, [], [],
6934b3d0
FF
175[#if HAVE_STDINT_H
176# include <stdint.h>
177#endif
ac491e03
FF
178#if HAVE_SYS_TYPES_H
179# include <sys/types.h>
180#endif
6934b3d0 181#if HAVE_NETINET_IN_SYSTM_H
c9a5b034
FF
182# include <netinet/in_systm.h>
183#endif
184#if HAVE_NETINET_IN_H
185# include <netinet/in.h>
186#endif
187])
188AC_CHECK_HEADERS(netinet/ip_icmp.h, [], [],
6934b3d0
FF
189[#if HAVE_STDINT_H
190# include <stdint.h>
191#endif
ac491e03
FF
192#if HAVE_SYS_TYPES_H
193# include <sys/types.h>
194#endif
6934b3d0 195#if HAVE_NETINET_IN_SYSTM_H
c9a5b034
FF
196# include <netinet/in_systm.h>
197#endif
198#if HAVE_NETINET_IN_H
199# include <netinet/in.h>
200#endif
201#if HAVE_NETINET_IP_H
202# include <netinet/ip.h>
203#endif
204])
205AC_CHECK_HEADERS(netinet/ip_var.h, [], [],
6934b3d0
FF
206[#if HAVE_STDINT_H
207# include <stdint.h>
208#endif
ac491e03
FF
209#if HAVE_SYS_TYPES_H
210# include <sys/types.h>
211#endif
6934b3d0 212#if HAVE_NETINET_IN_SYSTM_H
c9a5b034
FF
213# include <netinet/in_systm.h>
214#endif
215#if HAVE_NETINET_IN_H
216# include <netinet/in.h>
217#endif
218#if HAVE_NETINET_IP_H
219# include <netinet/ip.h>
220#endif
221])
222AC_CHECK_HEADERS(netinet/ip6.h, [], [],
6934b3d0
FF
223[#if HAVE_STDINT_H
224# include <stdint.h>
225#endif
6fe07031
FF
226#if HAVE_SYS_TYPES_H
227# include <sys/types.h>
228#endif
6934b3d0 229#if HAVE_NETINET_IN_SYSTM_H
c9a5b034
FF
230# include <netinet/in_systm.h>
231#endif
232#if HAVE_NETINET_IN_H
233# include <netinet/in.h>
234#endif
235])
236AC_CHECK_HEADERS(netinet/icmp6.h, [], [],
6934b3d0
FF
237[#if HAVE_STDINT_H
238# include <stdint.h>
239#endif
6fe07031
FF
240#if HAVE_SYS_TYPES_H
241# include <sys/types.h>
242#endif
6934b3d0 243#if HAVE_NETINET_IN_SYSTM_H
c9a5b034
FF
244# include <netinet/in_systm.h>
245#endif
246#if HAVE_NETINET_IN_H
247# include <netinet/in.h>
248#endif
249#if HAVE_NETINET_IP6_H
250# include <netinet/ip6.h>
251#endif
252])
79d36d9e
FF
253AC_CHECK_HEADERS(netinet/tcp.h, [], [],
254[#if HAVE_STDINT_H
255# include <stdint.h>
256#endif
257#if HAVE_SYS_TYPES_H
258# include <sys/types.h>
259#endif
260#if HAVE_NETINET_IN_SYSTM_H
261# include <netinet/in_systm.h>
262#endif
263#if HAVE_NETINET_IN_H
264# include <netinet/in.h>
265#endif
266#if HAVE_NETINET_IP_H
267# include <netinet/ip.h>
268#endif
269])
5b9d0a2b
FF
270AC_CHECK_HEADERS(netinet/udp.h, [], [],
271[#if HAVE_STDINT_H
272# include <stdint.h>
273#endif
274#if HAVE_SYS_TYPES_H
275# include <sys/types.h>
276#endif
277#if HAVE_NETINET_IN_SYSTM_H
278# include <netinet/in_systm.h>
279#endif
280#if HAVE_NETINET_IN_H
281# include <netinet/in.h>
282#endif
283#if HAVE_NETINET_IP_H
284# include <netinet/ip.h>
285#endif
286])
c9a5b034 287
e1d497b7 288# For cpu modules
af18c7e0 289AC_CHECK_HEADERS(sys/dkstat.h)
29f72849 290if test "x$ac_system" = "xDarwin"
af18c7e0
FF
291then
292 AC_CHECK_HEADERS(mach/mach_init.h mach/host_priv.h mach/mach_error.h mach/mach_host.h mach/mach_port.h mach/mach_types.h mach/message.h mach/processor_set.h mach/processor.h mach/processor_info.h mach/task.h mach/thread_act.h mach/vm_region.h mach/vm_map.h mach/vm_prot.h mach/vm_statistics.h mach/kern_return.h)
293 AC_CHECK_HEADERS(CoreFoundation/CoreFoundation.h IOKit/IOKitLib.h IOKit/IOTypes.h IOKit/ps/IOPSKeys.h IOKit/IOBSD.h IOKit/storage/IOBlockStorageDriver.h)
90151473
RK
294 # For the battery plugin
295 AC_CHECK_HEADERS(IOKit/ps/IOPowerSources.h, [], [],
296[
297#if HAVE_IOKIT_IOKITLIB_H
298# include <IOKit/IOKitLib.h>
299#endif
300#if HAVE_IOKIT_IOTYPES_H
301# include <IOKit/IOTypes.h>
302#endif
303])
304
af18c7e0 305fi
90151473 306
d4b36462
FF
307AC_CHECK_HEADERS(sys/sysctl.h, [], [],
308[
309#if HAVE_SYS_TYPES_H
310# include <sys/types.h>
311#endif
312#if HAVE_SYS_PARAM_H
313# include <sys/param.h>
314#endif
315])
e1d497b7 316
917d7fa8
DM
317AC_MSG_CHECKING([for sysctl kern.cp_times])
318if test -x /sbin/sysctl
319then
3ed2b5f9 320 /sbin/sysctl kern.cp_times 2>/dev/null
917d7fa8
DM
321 if test $? -eq 0
322 then
323 AC_MSG_RESULT([yes])
324 AC_DEFINE(HAVE_SYSCTL_KERN_CP_TIMES, 1,
325 [Define if sysctl supports kern.cp_times])
326 else
327 AC_MSG_RESULT([no])
328 fi
329else
330 AC_MSG_RESULT([no])
331fi
332
46ed2804 333# For hddtemp module
76910471 334AC_CHECK_HEADERS(linux/major.h)
46ed2804 335
9ce2a30d
MH
336# For md module (Linux only)
337if test "x$ac_system" = "xLinux"
338then
339 AC_CHECK_HEADERS(linux/raid/md_u.h,
340 [have_linux_raid_md_u_h="yes"],
341 [have_linux_raid_md_u_h="no"],
342[
343#include <sys/ioctl.h>
344#include <linux/major.h>
345#include <linux/types.h>
346])
347else
348 have_linux_raid_md_u_h="no"
349fi
350
72a6ea58
FF
351# For the swap module
352have_linux_wireless_h="no"
353if test "x$ac_system" = "xLinux"
354then
355 AC_CHECK_HEADERS(linux/wireless.h,
356 [have_linux_wireless_h="yes"],
357 [have_linux_wireless_h="no"],
358[
359#include <dirent.h>
360#include <sys/ioctl.h>
361#include <sys/socket.h>
362])
363fi
364
daedf582 365# For the swap module
1862f170 366have_sys_swap_h="yes"
168e7401 367AC_CHECK_HEADERS(sys/swap.h vm/anon.h, [], [have_sys_swap_h="no"],
d4b36462 368[
799daf94
DM
369#undef _FILE_OFFSET_BITS
370#undef _LARGEFILE64_SOURCE
d4b36462
FF
371#if HAVE_SYS_TYPES_H
372# include <sys/types.h>
373#endif
374#if HAVE_SYS_PARAM_H
375# include <sys/param.h>
376#endif
377])
daedf582 378
1862f170
FF
379if test "x$have_sys_swap_h$ac_system" = "xnoSolaris"
380then
78097289
DM
381 hint_64=""
382 if test "x$GCC" = "xyes"
383 then
39f3ecb1 384 hint_64="CFLAGS='-m64'"
78097289 385 else
39f3ecb1 386 hint_64="CFLAGS='-xarch=v9'"
78097289
DM
387 fi
388 AC_MSG_NOTICE([Solaris detected and sys/swap.h not usable. Try building a 64-bit binary ($hint_64 ./configure).])
1862f170
FF
389fi
390
15996f86 391# For load module
44a3f33a 392# For the processes plugin
15996f86 393# For users module
e4080f7a 394AC_CHECK_HEADERS(sys/loadavg.h linux/config.h utmp.h utmpx.h)
86ca149a 395
3268a333 396# For interface plugin
a05e34a0 397AC_CHECK_HEADERS(ifaddrs.h)
cd377858
FF
398AC_CHECK_HEADERS(net/if.h, [], [],
399[
400#if HAVE_SYS_TYPES_H
401# include <sys/types.h>
402#endif
403#if HAVE_SYS_SOCKET_H
404# include <sys/socket.h>
405#endif
406])
a05e34a0
FF
407AC_CHECK_HEADERS(linux/if.h, [], [],
408[
409#if HAVE_SYS_TYPES_H
410# include <sys/types.h>
411#endif
412#if HAVE_SYS_SOCKET_H
413# include <sys/socket.h>
414#endif
415])
0bd83922
YM
416AC_CHECK_HEADERS(linux/inet_diag.h, [], [],
417[
418#if HAVE_SYS_TYPES_H
419# include <sys/types.h>
420#endif
421#if HAVE_SYS_SOCKET_H
422# include <sys/socket.h>
423#endif
424#if HAVE_LINUX_INET_DIAG_H
425# include <linux/inet_diag.h>
426#endif
427])
a05e34a0
FF
428AC_CHECK_HEADERS(linux/netdevice.h, [], [],
429[
430#if HAVE_SYS_TYPES_H
431# include <sys/types.h>
432#endif
433#if HAVE_SYS_SOCKET_H
434# include <sys/socket.h>
435#endif
436#if HAVE_LINUX_IF_H
437# include <linux/if.h>
438#endif
439])
440
8ae25a97
FF
441# For ethstat module
442AC_CHECK_HEADERS(linux/sockios.h,
443 [have_linux_sockios_h="yes"],
444 [have_linux_sockios_h="no"],
445 [
446#if HAVE_SYS_IOCTL_H
447# include <sys/ioctl.h>
448#endif
449#if HAVE_NET_IF_H
450# include <net/if.h>
451#endif
452 ])
453AC_CHECK_HEADERS(linux/ethtool.h,
454 [have_linux_ethtool_h="yes"],
455 [have_linux_ethtool_h="no"],
456 [
457#if HAVE_SYS_IOCTL_H
458# include <sys/ioctl.h>
459#endif
460#if HAVE_NET_IF_H
461# include <net/if.h>
462#endif
463#if HAVE_LINUX_SOCKIOS_H
464# include <linux/sockios.h>
465#endif
466 ])
467
fb3a07dc 468# For ipvs module
d87bf146 469have_linux_ip_vs_h="no"
fb3a07dc
SH
470have_net_ip_vs_h="no"
471have_ip_vs_h="no"
d87bf146 472ip_vs_h_needs_kernel_cflags="no"
fb3a07dc
SH
473if test "x$ac_system" = "xLinux"
474then
d87bf146 475 AC_CHECK_HEADERS(linux/ip_vs.h, [have_linux_ip_vs_h="yes"])
fb3a07dc
SH
476 AC_CHECK_HEADERS(net/ip_vs.h, [have_net_ip_vs_h="yes"])
477 AC_CHECK_HEADERS(ip_vs.h, [have_ip_vs_h="yes"])
9bf39535 478
d87bf146
SH
479 if test "x$have_linux_ip_vs_h$have_net_ip_vs_h$have_ip_vs_h" = "xnonono" && test -d "$KERNEL_DIR"
480 then
481 SAVE_CFLAGS="$CFLAGS"
482 CFLAGS="$CFLAGS $KERNEL_CFLAGS"
483
484 AC_MSG_NOTICE([Did not find ip_vs.h. Trying again using headers from $KERNEL_DIR.])
485
486 AC_CHECK_HEADERS(linux/ip_vs.h, [have_linux_ip_vs_h="yes"])
487 AC_CHECK_HEADERS(net/ip_vs.h, [have_net_ip_vs_h="yes"])
488 AC_CHECK_HEADERS(ip_vs.h, [have_ip_vs_h="yes"])
489
490 if test "x$have_linux_ip_vs_h" = "xyes" || test "x$have_net_ip_vs_h" = "xyes" || test "x$have_ip_vs_h" = "xyes"
491 then
492 ip_vs_h_needs_kernel_cflags="yes"
493 fi
494
495 CFLAGS="$SAVE_CFLAGS"
496 fi
fb3a07dc 497fi
d87bf146 498AM_CONDITIONAL(IP_VS_H_NEEDS_KERNEL_CFLAGS, test "x$ip_vs_h_needs_kernel_cflags" = "xyes")
fb3a07dc 499
6e765a02 500# For quota module
d4b36462
FF
501AC_CHECK_HEADERS(sys/ucred.h, [], [],
502[
503#if HAVE_SYS_TYPES_H
504# include <sys/types.h>
505#endif
506#if HAVE_SYS_PARAM_H
507# include <sys/param.h>
508#endif
509])
6e765a02
FF
510
511# For mount interface
d4b36462
FF
512AC_CHECK_HEADERS(sys/mount.h, [], [],
513[
514#if HAVE_SYS_TYPES_H
515# include <sys/types.h>
516#endif
517#if HAVE_SYS_PARAM_H
518# include <sys/param.h>
519#endif
520])
28c5e282 521
fc257d86
SH
522# For the email plugin
523AC_CHECK_HEADERS(linux/un.h, [], [],
524[
525#if HAVE_SYS_SOCKET_H
526# include <sys/socket.h>
527#endif
528])
fc257d86 529
8fce2979 530AC_CHECK_HEADERS(pwd.h grp.h sys/un.h ctype.h limits.h xfs/xqm.h fs_info.h fshelp.h paths.h mntent.h mnttab.h sys/fstyp.h sys/fs_types.h sys/mntent.h sys/mnttab.h sys/statfs.h sys/statvfs.h sys/vfs.h sys/vfstab.h sys/vmmeter.h kvm.h wordexp.h locale.h)
ec88fb0e 531
fdfbf887 532# For the dns plugin
e0a11961
FF
533AC_CHECK_HEADERS(arpa/nameser.h)
534AC_CHECK_HEADERS(arpa/nameser_compat.h, [], [],
535[
536#if HAVE_ARPA_NAMESER_H
537# include <arpa/nameser.h>
538#endif
539])
c4377c1e 540
e94efcbe
FF
541AC_CHECK_HEADERS(net/if_arp.h, [], [],
542[#if HAVE_SYS_SOCKET_H
543# include <sys/socket.h>
544#endif
545])
e40574f3
FF
546AC_CHECK_HEADERS(net/ppp_defs.h)
547AC_CHECK_HEADERS(net/if_ppp.h, [], [],
548[#if HAVE_NET_PPP_DEFS_H
549# include <net/ppp_defs.h>
550#endif
551])
e94efcbe
FF
552AC_CHECK_HEADERS(netinet/if_ether.h, [], [],
553[#if HAVE_STDINT_H
554# include <stdint.h>
555#endif
556#if HAVE_SYS_TYPES_H
557# include <sys/types.h>
558#endif
559#if HAVE_SYS_SOCKET_H
560# include <sys/socket.h>
561#endif
562#if HAVE_NET_IF_H
563# include <net/if.h>
564#endif
565#if HAVE_NETINET_IN_H
566# include <netinet/in.h>
567#endif
568])
dd7a9bc9 569
4b3e4116
SH
570AC_CHECK_HEADERS(netinet/ip_compat.h)
571
43bc16aa 572have_net_pfvar_h="no"
b5a82d63
FF
573AC_CHECK_HEADERS(net/pfvar.h,
574 [have_net_pfvar_h="yes"],
575 [have_net_pfvar_h="no"],
576[
577#if HAVE_SYS_IOCTL_H
578# include <sys/ioctl.h>
579#endif
580#if HAVE_SYS_SOCKET_H
581# include <sys/socket.h>
582#endif
583#if HAVE_NET_IF_H
584# include <net/if.h>
585#endif
586])
43bc16aa 587
51e70a99 588# For the multimeter plugin
3fc0feb6
FF
589have_termios_h="no"
590AC_CHECK_HEADERS(termios.h, [have_termios_h="yes"])
51e70a99 591
15996f86
FF
592#
593# Checks for typedefs, structures, and compiler characteristics.
594#
86ca149a
FF
595AC_C_CONST
596AC_TYPE_PID_T
597AC_TYPE_SIZE_T
7df03651 598AC_TYPE_UID_T
86ca149a
FF
599AC_HEADER_TIME
600
15996f86
FF
601#
602# Checks for library functions.
603#
86ca149a 604AC_PROG_GCC_TRADITIONAL
2578c913 605AC_CHECK_FUNCS(gettimeofday select strdup strtol getaddrinfo getnameinfo strchr memcpy strstr strcmp strncmp strncpy strlen strncasecmp strcasecmp openlog closelog sysconf setenv if_indextoname setlocale)
15996f86 606
fa7db5e9
SH
607AC_FUNC_STRERROR_R
608
c4e077cc
FF
609SAVE_CFLAGS="$CFLAGS"
610# Emulate behavior of src/Makefile.am
611if test "x$GCC" = "xyes"
612then
613 CFLAGS="$CFLAGS -Wall -Werror"
614fi
615
0c06f2fa 616AC_CACHE_CHECK([for strtok_r],
5f5da97b 617 [c_cv_have_strtok_r_default],
0c06f2fa 618 AC_LINK_IFELSE(
ce8b96ae 619 [AC_LANG_PROGRAM(
e0552af6 620[[[
0c06f2fa
FF
621#include <stdlib.h>
622#include <stdio.h>
623#include <string.h>
e0552af6
FF
624]]],
625[[[
0c06f2fa
FF
626 char buffer[] = "foo,bar,baz";
627 char *token;
628 char *dummy;
629 char *saveptr;
630
631 dummy = buffer;
632 saveptr = NULL;
633 while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
634 {
ce8b96ae 635 dummy = NULL;
0c06f2fa
FF
636 printf ("token = %s;\n", token);
637 }
e0552af6
FF
638]]]
639 )],
5f5da97b
SH
640 [c_cv_have_strtok_r_default="yes"],
641 [c_cv_have_strtok_r_default="no"]
0c06f2fa
FF
642 )
643)
644
5f5da97b 645if test "x$c_cv_have_strtok_r_default" = "xno"
0c06f2fa 646then
0c06f2fa
FF
647 CFLAGS="$CFLAGS -D_REENTRANT=1"
648
649 AC_CACHE_CHECK([if strtok_r needs _REENTRANT],
5f5da97b 650 [c_cv_have_strtok_r_reentrant],
0c06f2fa 651 AC_LINK_IFELSE(
ce8b96ae 652 [AC_LANG_PROGRAM(
e0552af6 653[[[
0c06f2fa
FF
654#include <stdlib.h>
655#include <stdio.h>
656#include <string.h>
e0552af6
FF
657]]],
658[[[
0c06f2fa
FF
659 char buffer[] = "foo,bar,baz";
660 char *token;
661 char *dummy;
662 char *saveptr;
663
664 dummy = buffer;
665 saveptr = NULL;
666 while ((token = strtok_r (dummy, ",", &saveptr)) != NULL)
667 {
ce8b96ae 668 dummy = NULL;
0c06f2fa
FF
669 printf ("token = %s;\n", token);
670 }
e0552af6
FF
671]]]
672 )],
5f5da97b 673 [c_cv_have_strtok_r_reentrant="yes"],
0c06f2fa
FF
674 [AC_MSG_FAILURE([strtok_r isn't available. Please file a bugreport!])]
675 )
676 )
677fi
678
c4e077cc
FF
679CFLAGS="$SAVE_CFLAGS"
680if test "x$c_cv_have_strtok_r_reentrant" = "xyes"
681then
682 CFLAGS="$CFLAGS -D_REENTRANT=1"
683fi
684
b5c58909 685AC_CHECK_FUNCS(getpwnam_r getgrnam_r setgroups regcomp regerror regexec regfree)
d6bb65ee 686
d89f6dc3
FF
687socket_needs_socket="no"
688AC_CHECK_FUNCS(socket, [], AC_CHECK_LIB(socket, socket, [socket_needs_socket="yes"], AC_MSG_ERROR(cannot find socket)))
689AM_CONDITIONAL(BUILD_WITH_LIBSOCKET, test "x$socket_needs_socket" = "xyes")
690
1c2e2427
FF
691clock_gettime_needs_rt="no"
692clock_gettime_needs_posix4="no"
5c4d2189
FF
693have_clock_gettime="no"
694AC_CHECK_FUNCS(clock_gettime, [have_clock_gettime="yes"])
695if test "x$have_clock_gettime" = "xno"
696then
697 AC_CHECK_LIB(rt, clock_gettime, [clock_gettime_needs_rt="yes"
698 have_clock_gettime="yes"])
699fi
700if test "x$have_clock_gettime" = "xno"
701then
702 AC_CHECK_LIB(posix4, clock_gettime, [clock_gettime_needs_posix4="yes"
703 have_clock_gettime="yes"])
704fi
705if test "x$have_clock_gettime" = "xyes"
706then
707 AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if the clock_gettime(2) function is available.])
708else
709 AC_MSG_WARN(cannot find clock_gettime)
710fi
1c2e2427 711
4ca5457f 712nanosleep_needs_rt="no"
e428176d
SH
713nanosleep_needs_posix4="no"
714AC_CHECK_FUNCS(nanosleep,
715 [],
716 AC_CHECK_LIB(rt, nanosleep,
717 [nanosleep_needs_rt="yes"],
718 AC_CHECK_LIB(posix4, nanosleep,
719 [nanosleep_needs_posix4="yes"],
720 AC_MSG_ERROR(cannot find nanosleep))))
1c2e2427
FF
721
722AM_CONDITIONAL(BUILD_WITH_LIBRT, test "x$clock_gettime_needs_rt" = "xyes" || test "x$nanosleep_needs_rt" = "xyes")
723AM_CONDITIONAL(BUILD_WITH_LIBPOSIX4, test "x$clock_gettime_needs_posix4" = "xyes" || test "x$nanosleep_needs_posix4" = "xyes")
4ca5457f 724
22188738 725AC_CHECK_FUNCS(sysctl, [have_sysctl="yes"], [have_sysctl="no"])
e1d497b7 726AC_CHECK_FUNCS(sysctlbyname, [have_sysctlbyname="yes"], [have_sysctlbyname="no"])
a905d397
FF
727AC_CHECK_FUNCS(host_statistics, [have_host_statistics="yes"], [have_host_statistics="no"])
728AC_CHECK_FUNCS(processor_info, [have_processor_info="yes"], [have_processor_info="no"])
729AC_CHECK_FUNCS(thread_info, [have_thread_info="yes"], [have_thread_info="no"])
730AC_CHECK_FUNCS(statfs, [have_statfs="yes"], [have_statfs="no"])
731AC_CHECK_FUNCS(statvfs, [have_statvfs="yes"], [have_statvfs="no"])
732AC_CHECK_FUNCS(getifaddrs, [have_getifaddrs="yes"], [have_getifaddrs="no"])
adee81fe 733AC_CHECK_FUNCS(getloadavg, [have_getloadavg="yes"], [have_getloadavg="no"])
a905d397
FF
734AC_CHECK_FUNCS(syslog, [have_syslog="yes"], [have_syslog="no"])
735AC_CHECK_FUNCS(getutent, [have_getutent="yes"], [have_getutent="no"])
736AC_CHECK_FUNCS(getutxent, [have_getutxent="yes"], [have_getutxent="no"])
adee81fe
FF
737
738# Check for strptime {{{
739if test "x$GCC" = "xyes"
740then
741 SAVE_CFLAGS="$CFLAGS"
742 CFLAGS="$CFLAGS -Wall -Wextra -Werror"
743fi
744
745AC_CHECK_FUNCS(strptime, [have_strptime="yes"], [have_strptime="no"])
746if test "x$have_strptime" = "xyes"
747then
748 AC_CACHE_CHECK([whether strptime is exported by default],
749 [c_cv_have_strptime_default],
e0552af6 750 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
ce8b96ae 751[[[
adee81fe 752#include <time.h>
ce8b96ae
FF
753]]],
754[[[
adee81fe
FF
755 struct tm stm;
756 (void) strptime ("2010-12-30%13:42:42", "%Y-%m-%dT%T", &stm);
e0552af6
FF
757]]]
758 )],
adee81fe
FF
759 [c_cv_have_strptime_default="yes"],
760 [c_cv_have_strptime_default="no"]))
761fi
762if test "x$have_strptime" = "xyes" && test "x$c_cv_have_strptime_default" = "xno"
763then
764 AC_CACHE_CHECK([whether strptime needs standards mode],
765 [c_cv_have_strptime_standards],
e0552af6 766 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
ce8b96ae 767[[[
adee81fe
FF
768#ifndef _ISOC99_SOURCE
769# define _ISOC99_SOURCE 1
770#endif
771#ifndef _POSIX_C_SOURCE
772# define _POSIX_C_SOURCE 200112L
773#endif
774#ifndef _XOPEN_SOURCE
775# define _XOPEN_SOURCE 500
776#endif
adee81fe 777#include <time.h>
ce8b96ae
FF
778]]],
779[[[
adee81fe
FF
780 struct tm stm;
781 (void) strptime ("2010-12-30%13:42:42", "%Y-%m-%dT%T", &stm);
e0552af6
FF
782]]]
783 )],
adee81fe
FF
784 [c_cv_have_strptime_standards="yes"],
785 [c_cv_have_strptime_standards="no"]))
786
787 if test "x$c_cv_have_strptime_standards" = "xyes"
788 then
789 AC_DEFINE([STRPTIME_NEEDS_STANDARDS], 1, [Set to true if strptime is only exported in X/Open mode (GNU libc).])
790 else
791 have_strptime="no"
792 fi
793fi
794
795if test "x$GCC" = "xyes"
796then
797 CFLAGS="$SAVE_CFLAGS"
798fi
adee81fe
FF
799# }}} Check for strptime
800
b10e5d81 801AC_CHECK_FUNCS(swapctl, [have_swapctl="yes"], [have_swapctl="no"])
34eb0428
AR
802if test "x$have_swapctl" = "xyes"; then
803 AC_CACHE_CHECK([whether swapctl takes two arguments],
804 [c_cv_have_swapctl_two_args],
ce8b96ae 805 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
e0552af6 806[[[
34eb0428
AR
807#if HAVE_SYS_SWAP_H && !defined(_LP64) && _FILE_OFFSET_BITS == 64
808# undef _FILE_OFFSET_BITS
809# undef _LARGEFILE64_SOURCE
810#endif
811#include <sys/stat.h>
744ebfc6 812#include <sys/param.h>
ef3e1650 813#include <sys/swap.h>
744ebfc6 814#include <unistd.h>
e0552af6
FF
815]]],
816[[[
ef3e1650 817int num = swapctl(0, NULL);
e0552af6 818]]]
ce8b96ae 819 )],
34eb0428
AR
820 [c_cv_have_swapctl_two_args="yes"],
821 [c_cv_have_swapctl_two_args="no"]
822 )
823 )
824 AC_CACHE_CHECK([whether swapctl takes three arguments],
825 [c_cv_have_swapctl_three_args],
826 AC_COMPILE_IFELSE(
ef3e1650 827 [AC_LANG_PROGRAM(
e0552af6 828[[[
34eb0428
AR
829#if HAVE_SYS_SWAP_H && !defined(_LP64) && _FILE_OFFSET_BITS == 64
830# undef _FILE_OFFSET_BITS
831# undef _LARGEFILE64_SOURCE
832#endif
833#include <sys/stat.h>
744ebfc6 834#include <sys/param.h>
ef3e1650 835#include <sys/swap.h>
744ebfc6 836#include <unistd.h>
e0552af6
FF
837]]],
838[[[
ef3e1650 839int num = swapctl(0, NULL, 0);
e0552af6 840]]]
ce8b96ae 841 )],
34eb0428
AR
842 [c_cv_have_swapctl_three_args="yes"],
843 [c_cv_have_swapctl_three_args="no"]
844 )
845 )
846fi
847# Check for different versions of `swapctl' here..
848if test "x$have_swapctl" = "xyes"; then
849 if test "x$c_cv_have_swapctl_two_args" = "xyes"; then
850 AC_DEFINE(HAVE_SWAPCTL_TWO_ARGS, 1,
851 [Define if the function swapctl exists and takes two arguments.])
852 fi
853 if test "x$c_cv_have_swapctl_three_args" = "xyes"; then
854 AC_DEFINE(HAVE_SWAPCTL_THREE_ARGS, 1,
855 [Define if the function swapctl exists and takes three arguments.])
856 fi
857fi
2d03e4e3 858
e91c40b8 859# Check for NAN
18fdfeca
FF
860AC_ARG_WITH(nan-emulation, [AS_HELP_STRING([--with-nan-emulation], [use emulated NAN. For crosscompiling only.])],
861[
862 if test "x$withval" = "xno"; then
863 nan_type="none"
864 else if test "x$withval" = "xyes"; then
865 nan_type="zero"
866 else
867 nan_type="$withval"
868 fi; fi
869],
870[nan_type="none"])
e91c40b8
FF
871if test "x$nan_type" = "xnone"; then
872 AC_CACHE_CHECK([whether NAN is defined by default],
5f5da97b 873 [c_cv_have_nan_default],
e0552af6
FF
874 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
875[[[
e91c40b8
FF
876#include <stdlib.h>
877#include <math.h>
6e0ffb3d 878static double foo = NAN;
e0552af6
FF
879]]],
880[[[
e91c40b8
FF
881 if (isnan (foo))
882 return 0;
883 else
884 return 1;
e0552af6
FF
885]]]
886 )],
5f5da97b
SH
887 [c_cv_have_nan_default="yes"],
888 [c_cv_have_nan_default="no"]
e91c40b8
FF
889 )
890 )
5f5da97b 891 if test "x$c_cv_have_nan_default" = "xyes"
e91c40b8 892 then
18fdfeca 893 nan_type="default"
e91c40b8
FF
894 fi
895fi
896if test "x$nan_type" = "xnone"; then
897 AC_CACHE_CHECK([whether NAN is defined by __USE_ISOC99],
5f5da97b 898 [c_cv_have_nan_isoc],
e0552af6
FF
899 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
900[[[
e91c40b8
FF
901#include <stdlib.h>
902#define __USE_ISOC99 1
903#include <math.h>
6e0ffb3d 904static double foo = NAN;
e0552af6
FF
905]]],
906[[[
e91c40b8
FF
907 if (isnan (foo))
908 return 0;
909 else
910 return 1;
e0552af6
FF
911]]]
912 )],
5f5da97b
SH
913 [c_cv_have_nan_isoc="yes"],
914 [c_cv_have_nan_isoc="no"]
e91c40b8
FF
915 )
916 )
5f5da97b 917 if test "x$c_cv_have_nan_isoc" = "xyes"
e91c40b8 918 then
18fdfeca 919 nan_type="isoc99"
e91c40b8
FF
920 fi
921fi
922if test "x$nan_type" = "xnone"; then
11b1e65a
MS
923 SAVE_LDFLAGS=$LDFLAGS
924 LDFLAGS="$LDFLAGS -lm"
e91c40b8 925 AC_CACHE_CHECK([whether NAN can be defined by 0/0],
5f5da97b 926 [c_cv_have_nan_zero],
e0552af6
FF
927 AC_RUN_IFELSE([AC_LANG_PROGRAM(
928[[[
e91c40b8
FF
929#include <stdlib.h>
930#include <math.h>
dcc46cbc
FF
931#ifdef NAN
932# undef NAN
933#endif
e91c40b8
FF
934#define NAN (0.0 / 0.0)
935#ifndef isnan
936# define isnan(f) ((f) != (f))
937#endif
6e0ffb3d 938static double foo = NAN;
e0552af6
FF
939]]],
940[[[
e91c40b8
FF
941 if (isnan (foo))
942 return 0;
943 else
944 return 1;
e0552af6
FF
945]]]
946 )],
5f5da97b
SH
947 [c_cv_have_nan_zero="yes"],
948 [c_cv_have_nan_zero="no"]
e91c40b8
FF
949 )
950 )
11b1e65a 951 LDFLAGS=$SAVE_LDFLAGS
5f5da97b 952 if test "x$c_cv_have_nan_zero" = "xyes"
e91c40b8 953 then
18fdfeca 954 nan_type="zero"
e91c40b8
FF
955 fi
956fi
18fdfeca
FF
957
958if test "x$nan_type" = "xdefault"; then
959 AC_DEFINE(NAN_STATIC_DEFAULT, 1,
960 [Define if NAN is defined by default and can initialize static variables.])
961else if test "x$nan_type" = "xisoc99"; then
962 AC_DEFINE(NAN_STATIC_ISOC, 1,
963 [Define if NAN is defined by __USE_ISOC99 and can initialize static variables.])
964else if test "x$nan_type" = "xzero"; then
965 AC_DEFINE(NAN_ZERO_ZERO, 1,
966 [Define if NAN can be defined as (0.0 / 0.0)])
967else
e91c40b8 968 AC_MSG_ERROR([Didn't find out how to statically initialize variables to NAN. Sorry.])
18fdfeca 969fi; fi; fi
e91c40b8 970
b365f4e3
FF
971AC_ARG_WITH(fp-layout, [AS_HELP_STRING([--with-fp-layout], [set the memory layout of doubles. For crosscompiling only.])],
972[
973 if test "x$withval" = "xnothing"; then
974 fp_layout_type="nothing"
975 else if test "x$withval" = "xendianflip"; then
976 fp_layout_type="endianflip"
977 else if test "x$withval" = "xintswap"; then
978 fp_layout_type="intswap"
979 else
980 AC_MSG_ERROR([Invalid argument for --with-fp-layout. Valid arguments are: nothing, endianflip, intswap]);
981fi; fi; fi
982],
983[fp_layout_type="unknown"])
984
985if test "x$fp_layout_type" = "xunknown"; then
986 AC_CACHE_CHECK([if doubles are stored in x86 representation],
5f5da97b 987 [c_cv_fp_layout_need_nothing],
e0552af6
FF
988 AC_RUN_IFELSE([AC_LANG_PROGRAM(
989[[[
b365f4e3
FF
990#include <stdlib.h>
991#include <stdio.h>
b365f4e3 992#include <string.h>
dfc4819a
FF
993#if HAVE_STDINT_H
994# include <stdint.h>
995#endif
aaa30a38
FF
996#if HAVE_INTTYPES_H
997# include <inttypes.h>
998#endif
dfc4819a
FF
999#if HAVE_STDBOOL_H
1000# include <stdbool.h>
1001#endif
e0552af6
FF
1002]]],
1003[[[
b365f4e3
FF
1004 uint64_t i0;
1005 uint64_t i1;
1006 uint8_t c[8];
1007 double d;
1008
630e3bba 1009 d = 8.642135e130;
b365f4e3
FF
1010 memcpy ((void *) &i0, (void *) &d, 8);
1011
1012 i1 = i0;
1013 memcpy ((void *) c, (void *) &i1, 8);
1014
1015 if ((c[0] == 0x2f) && (c[1] == 0x25)
1016 && (c[2] == 0xc0) && (c[3] == 0xc7)
1017 && (c[4] == 0x43) && (c[5] == 0x2b)
1018 && (c[6] == 0x1f) && (c[7] == 0x5b))
1019 return (0);
1020 else
1021 return (1);
e0552af6
FF
1022]]]
1023 )],
5f5da97b
SH
1024 [c_cv_fp_layout_need_nothing="yes"],
1025 [c_cv_fp_layout_need_nothing="no"]
b365f4e3
FF
1026 )
1027 )
5f5da97b 1028 if test "x$c_cv_fp_layout_need_nothing" = "xyes"; then
b365f4e3
FF
1029 fp_layout_type="nothing"
1030 fi
1031fi
1032if test "x$fp_layout_type" = "xunknown"; then
1033 AC_CACHE_CHECK([if endianflip converts to x86 representation],
5f5da97b 1034 [c_cv_fp_layout_need_endianflip],
e0552af6
FF
1035 AC_RUN_IFELSE([AC_LANG_PROGRAM(
1036[[[
b365f4e3
FF
1037#include <stdlib.h>
1038#include <stdio.h>
b365f4e3 1039#include <string.h>
dfc4819a
FF
1040#if HAVE_STDINT_H
1041# include <stdint.h>
1042#endif
aaa30a38
FF
1043#if HAVE_INTTYPES_H
1044# include <inttypes.h>
1045#endif
dfc4819a
FF
1046#if HAVE_STDBOOL_H
1047# include <stdbool.h>
1048#endif
b365f4e3
FF
1049#define endianflip(A) ((((uint64_t)(A) & 0xff00000000000000LL) >> 56) | \
1050 (((uint64_t)(A) & 0x00ff000000000000LL) >> 40) | \
1051 (((uint64_t)(A) & 0x0000ff0000000000LL) >> 24) | \
1052 (((uint64_t)(A) & 0x000000ff00000000LL) >> 8) | \
1053 (((uint64_t)(A) & 0x00000000ff000000LL) << 8) | \
1054 (((uint64_t)(A) & 0x0000000000ff0000LL) << 24) | \
1055 (((uint64_t)(A) & 0x000000000000ff00LL) << 40) | \
1056 (((uint64_t)(A) & 0x00000000000000ffLL) << 56))
e0552af6
FF
1057]]],
1058[[[
b365f4e3
FF
1059 uint64_t i0;
1060 uint64_t i1;
1061 uint8_t c[8];
1062 double d;
1063
630e3bba 1064 d = 8.642135e130;
b365f4e3
FF
1065 memcpy ((void *) &i0, (void *) &d, 8);
1066
1067 i1 = endianflip (i0);
1068 memcpy ((void *) c, (void *) &i1, 8);
1069
1070 if ((c[0] == 0x2f) && (c[1] == 0x25)
1071 && (c[2] == 0xc0) && (c[3] == 0xc7)
1072 && (c[4] == 0x43) && (c[5] == 0x2b)
1073 && (c[6] == 0x1f) && (c[7] == 0x5b))
1074 return (0);
1075 else
1076 return (1);
e0552af6
FF
1077]]]
1078 )],
5f5da97b
SH
1079 [c_cv_fp_layout_need_endianflip="yes"],
1080 [c_cv_fp_layout_need_endianflip="no"]
b365f4e3
FF
1081 )
1082 )
5f5da97b 1083 if test "x$c_cv_fp_layout_need_endianflip" = "xyes"; then
b365f4e3
FF
1084 fp_layout_type="endianflip"
1085 fi
1086fi
1087if test "x$fp_layout_type" = "xunknown"; then
1088 AC_CACHE_CHECK([if intswap converts to x86 representation],
5f5da97b 1089 [c_cv_fp_layout_need_intswap],
e0552af6
FF
1090 AC_RUN_IFELSE([AC_LANG_PROGRAM(
1091[[[
b365f4e3
FF
1092#include <stdlib.h>
1093#include <stdio.h>
b365f4e3 1094#include <string.h>
dfc4819a
FF
1095#if HAVE_STDINT_H
1096# include <stdint.h>
1097#endif
aaa30a38
FF
1098#if HAVE_INTTYPES_H
1099# include <inttypes.h>
1100#endif
dfc4819a
FF
1101#if HAVE_STDBOOL_H
1102# include <stdbool.h>
1103#endif
b365f4e3
FF
1104#define intswap(A) ((((uint64_t)(A) & 0xffffffff00000000LL) >> 32) | \
1105 (((uint64_t)(A) & 0x00000000ffffffffLL) << 32))
e0552af6
FF
1106]]],
1107[[[
b365f4e3
FF
1108 uint64_t i0;
1109 uint64_t i1;
1110 uint8_t c[8];
1111 double d;
1112
630e3bba 1113 d = 8.642135e130;
b365f4e3
FF
1114 memcpy ((void *) &i0, (void *) &d, 8);
1115
1116 i1 = intswap (i0);
1117 memcpy ((void *) c, (void *) &i1, 8);
1118
1119 if ((c[0] == 0x2f) && (c[1] == 0x25)
1120 && (c[2] == 0xc0) && (c[3] == 0xc7)
1121 && (c[4] == 0x43) && (c[5] == 0x2b)
1122 && (c[6] == 0x1f) && (c[7] == 0x5b))
1123 return (0);
1124 else
1125 return (1);
e0552af6
FF
1126]]]
1127 )],
5f5da97b
SH
1128 [c_cv_fp_layout_need_intswap="yes"],
1129 [c_cv_fp_layout_need_intswap="no"]
b365f4e3
FF
1130 )
1131 )
5f5da97b 1132 if test "x$c_cv_fp_layout_need_intswap" = "xyes"; then
b365f4e3
FF
1133 fp_layout_type="intswap"
1134 fi
1135fi
1136
1137if test "x$fp_layout_type" = "xnothing"; then
1138 AC_DEFINE(FP_LAYOUT_NEED_NOTHING, 1,
1139 [Define if doubles are stored in x86 representation.])
1140else if test "x$fp_layout_type" = "xendianflip"; then
1141 AC_DEFINE(FP_LAYOUT_NEED_ENDIANFLIP, 1,
1142 [Define if endianflip is needed to convert to x86 representation.])
1143else if test "x$fp_layout_type" = "xintswap"; then
1144 AC_DEFINE(FP_LAYOUT_NEED_INTSWAP, 1,
1145 [Define if intswap is needed to convert to x86 representation.])
1146else
1147 AC_MSG_ERROR([Didn't find out how doubles are stored in memory. Sorry.])
1148fi; fi; fi
2dc3f07b 1149
23a9e650
FF
1150# --with-useragent {{{
1151AC_ARG_WITH(useragent, [AS_HELP_STRING([--with-useragent@<:@=AGENT@:>@], [User agent to use on http requests])],
1152[
1153 if test "x$withval" != "xno" && test "x$withval" != "xyes"
1154 then
1155 AC_DEFINE_UNQUOTED(COLLECTD_USERAGENT, ["$withval"], [User agent for http requests])
1156 fi
1157])
1158
1159# }}}
1160
2dc3f07b
FF
1161have_getfsstat="no"
1162AC_CHECK_FUNCS(getfsstat, [have_getfsstat="yes"])
1163have_getvfsstat="no"
1164AC_CHECK_FUNCS(getvfsstat, [have_getvfsstat="yes"])
1165have_listmntent="no"
1166AC_CHECK_FUNCS(listmntent, [have_listmntent="yes"])
1167
1168have_getmntent="no"
1169AC_CHECK_FUNCS(getmntent, [have_getmntent="c"])
1170if test "x$have_getmntent" = "xno"; then
1171 AC_CHECK_LIB(sun, getmntent, [have_getmntent="sun"])
c9a5b034 1172fi
2dc3f07b
FF
1173if test "x$have_getmntent" = "xno"; then
1174 AC_CHECK_LIB(seq, getmntent, [have_getmntent="seq"])
c9a5b034 1175fi
2dc3f07b
FF
1176if test "x$have_getmntent" = "xno"; then
1177 AC_CHECK_LIB(gen, getmntent, [have_getmntent="gen"])
c9a5b034
FF
1178fi
1179
2dc3f07b 1180if test "x$have_getmntent" = "xc"; then
6e765a02 1181 AC_CACHE_CHECK([whether getmntent takes one argument],
5f5da97b 1182 [c_cv_have_one_getmntent],
6e765a02 1183 AC_COMPILE_IFELSE(
ef3e1650 1184 [AC_LANG_PROGRAM(
e0552af6 1185[[[
ef3e1650 1186#include "$srcdir/src/utils_mount.h"
e0552af6
FF
1187]]],
1188[[[
ef3e1650
FF
1189FILE *fh;
1190struct mntent *me;
1191fh = setmntent ("/etc/mtab", "r");
1192me = getmntent (fh);
e0552af6 1193]]]
ce8b96ae 1194 )],
5f5da97b
SH
1195 [c_cv_have_one_getmntent="yes"],
1196 [c_cv_have_one_getmntent="no"]
6e765a02
FF
1197 )
1198 )
2dc3f07b 1199 AC_CACHE_CHECK([whether getmntent takes two arguments],
5f5da97b 1200 [c_cv_have_two_getmntent],
2dc3f07b 1201 AC_COMPILE_IFELSE(
ef3e1650 1202 [AC_LANG_PROGRAM(
e0552af6 1203[[[
ef3e1650 1204#include "$srcdir/src/utils_mount.h"
e0552af6
FF
1205]]],
1206[[[
2dc3f07b
FF
1207 FILE *fh;
1208 struct mnttab mt;
1209 int status;
1210 fh = fopen ("/etc/mnttab", "r");
1211 status = getmntent (fh, &mt);
e0552af6 1212]]]
ce8b96ae 1213 )],
5f5da97b
SH
1214 [c_cv_have_two_getmntent="yes"],
1215 [c_cv_have_two_getmntent="no"]
6e765a02 1216 )
2dc3f07b
FF
1217 )
1218fi
1219
1220# Check for different versions of `getmntent' here..
1221
1222if test "x$have_getmntent" = "xc"; then
5f5da97b 1223 if test "x$c_cv_have_one_getmntent" = "xyes"; then
2dc3f07b
FF
1224 AC_DEFINE(HAVE_ONE_GETMNTENT, 1,
1225 [Define if the function getmntent exists and takes one argument.])
1226 fi
5f5da97b 1227 if test "x$c_cv_have_two_getmntent" = "xyes"; then
2dc3f07b
FF
1228 AC_DEFINE(HAVE_TWO_GETMNTENT, 1,
1229 [Define if the function getmntent exists and takes two arguments.])
6e765a02 1230 fi
6e765a02 1231fi
2dc3f07b
FF
1232if test "x$have_getmntent" = "xsun"; then
1233 AC_DEFINE(HAVE_SUN_GETMNTENT, 1,
1234 [Define if the function getmntent exists. It's the version from libsun.])
6e765a02 1235fi
2dc3f07b
FF
1236if test "x$have_getmntent" = "xseq"; then
1237 AC_DEFINE(HAVE_SEQ_GETMNTENT, 1,
1238 [Define if the function getmntent exists. It's the version from libseq.])
1239fi
1240if test "x$have_getmntent" = "xgen"; then
1241 AC_DEFINE(HAVE_GEN_GETMNTENT, 1,
1242 [Define if the function getmntent exists. It's the version from libgen.])
6e765a02
FF
1243fi
1244
35602ac1 1245# Check for htonll
1a822486
MLSR
1246AC_CACHE_CHECK([if have htonll defined],
1247 [c_cv_have_htonll],
1248 AC_LINK_IFELSE([AC_LANG_PROGRAM(
e0552af6 1249[[[
35602ac1
MS
1250#include <sys/types.h>
1251#include <netinet/in.h>
aaa30a38
FF
1252#if HAVE_INTTYPES_H
1253# include <inttypes.h>
35602ac1 1254#endif
e0552af6
FF
1255]]],
1256[[[
35602ac1 1257 return htonll(0);
e0552af6
FF
1258]]]
1259 )],
1a822486
MLSR
1260 [c_cv_have_htonll="yes"],
1261 [c_cv_have_htonll="no"]
103f05e0 1262 )
1a822486
MLSR
1263)
1264if test "x$c_cv_have_htonll" = "xyes"
1265then
1266 AC_DEFINE(HAVE_HTONLL, 1, [Define if the function htonll exists.])
1267fi
35602ac1 1268
a05e34a0 1269# Check for structures
906bea76 1270AC_CHECK_MEMBERS([struct if_data.ifi_ibytes, struct if_data.ifi_opackets, struct if_data.ifi_ierrors],
a05e34a0
FF
1271 [AC_DEFINE(HAVE_STRUCT_IF_DATA, 1, [Define if struct if_data exists and is usable.])],
1272 [],
cd377858
FF
1273 [
1274 #include <sys/types.h>
1275 #include <sys/socket.h>
1276 #include <net/if.h>
1277 ])
906bea76 1278AC_CHECK_MEMBERS([struct net_device_stats.rx_bytes, struct net_device_stats.tx_packets, struct net_device_stats.rx_errors],
a05e34a0
FF
1279 [AC_DEFINE(HAVE_STRUCT_NET_DEVICE_STATS, 1, [Define if struct net_device_stats exists and is usable.])],
1280 [],
1281 [
1282 #include <sys/types.h>
1283 #include <sys/socket.h>
1284 #include <linux/if.h>
1285 #include <linux/netdevice.h>
1286 ])
0bd83922
YM
1287AC_CHECK_MEMBERS([struct inet_diag_req.id, struct inet_diag_req.idiag_states],
1288 [AC_DEFINE(HAVE_STRUCT_LINUX_INET_DIAG_REQ, 1, [Define if struct inet_diag_req exists and is usable.])],
1289 [],
1290 [
1291 #include <linux/inet_diag.h>
1292 ])
1293
a05e34a0 1294
76489692
FF
1295AC_CHECK_MEMBERS([struct ip_mreqn.imr_ifindex], [],
1296 [],
1297 [
1298 #include <netinet/in.h>
1299 #include <net/if.h>
1300 ])
1301
2d3861c5
FF
1302AC_CHECK_MEMBERS([struct kinfo_proc.ki_pid, struct kinfo_proc.ki_rssize, struct kinfo_proc.ki_rusage],
1303 [
1304 AC_DEFINE(HAVE_STRUCT_KINFO_PROC_FREEBSD, 1,
1305 [Define if struct kinfo_proc exists in the FreeBSD variant.])
1306 have_struct_kinfo_proc_freebsd="yes"
1307 ],
1308 [
1309 have_struct_kinfo_proc_freebsd="no"
1310 ],
1311 [
1312#include <kvm.h>
1313#include <sys/param.h>
1314#include <sys/sysctl.h>
1315#include <sys/user.h>
1316 ])
1317
0e45add1 1318AC_CHECK_MEMBERS([struct kinfo_proc.p_pid, struct kinfo_proc.p_vm_rssize],
2d3861c5
FF
1319 [
1320 AC_DEFINE(HAVE_STRUCT_KINFO_PROC_OPENBSD, 1,
1321 [Define if struct kinfo_proc exists in the OpenBSD variant.])
1322 have_struct_kinfo_proc_openbsd="yes"
1323 ],
1324 [
1325 have_struct_kinfo_proc_openbsd="no"
1326 ],
1327 [
1328#include <sys/param.h>
1329#include <sys/sysctl.h>
1330#include <kvm.h>
1331 ])
1332
5b9d0a2b 1333AC_CHECK_MEMBERS([struct udphdr.uh_dport, struct udphdr.uh_sport], [], [],
7bec4afe 1334[#define _BSD_SOURCE
3bc1a46b 1335#define _DEFAULT_SOURCE
7bec4afe 1336#if HAVE_STDINT_H
5b9d0a2b
FF
1337# include <stdint.h>
1338#endif
1339#if HAVE_SYS_TYPES_H
1340# include <sys/types.h>
1341#endif
1342#if HAVE_NETINET_IN_SYSTM_H
1343# include <netinet/in_systm.h>
1344#endif
1345#if HAVE_NETINET_IN_H
1346# include <netinet/in.h>
1347#endif
1348#if HAVE_NETINET_IP_H
1349# include <netinet/ip.h>
1350#endif
1351#if HAVE_NETINET_UDP_H
1352# include <netinet/udp.h>
1353#endif
1354])
1355AC_CHECK_MEMBERS([struct udphdr.dest, struct udphdr.source], [], [],
7bec4afe 1356[#define _BSD_SOURCE
3bc1a46b 1357#define _DEFAULT_SOURCE
7bec4afe 1358#if HAVE_STDINT_H
5b9d0a2b
FF
1359# include <stdint.h>
1360#endif
1361#if HAVE_SYS_TYPES_H
1362# include <sys/types.h>
1363#endif
1364#if HAVE_NETINET_IN_SYSTM_H
1365# include <netinet/in_systm.h>
1366#endif
1367#if HAVE_NETINET_IN_H
1368# include <netinet/in.h>
1369#endif
1370#if HAVE_NETINET_IP_H
1371# include <netinet/ip.h>
1372#endif
1373#if HAVE_NETINET_UDP_H
1374# include <netinet/udp.h>
1375#endif
1376])
2aff261d 1377
e94efcbe
FF
1378AC_CHECK_MEMBERS([kstat_io_t.nwritten, kstat_io_t.writes, kstat_io_t.nwrites, kstat_io_t.wtime],
1379 [],
1380 [],
1381 [
1382#if HAVE_KSTAT_H
1383# include <kstat.h>
1384#endif
1385 ])
1386
4aed4a7a
FF
1387#
1388# Checks for libraries begin here
1389#
d896b012 1390
a58af051
FF
1391with_libresolv="yes"
1392AC_CHECK_LIB(resolv, res_search,
1393[
1394 AC_DEFINE(HAVE_LIBRESOLV, 1, [Define to 1 if you have the 'resolv' library (-lresolv).])
1395],
1396[with_libresolv="no"])
1397AM_CONDITIONAL(BUILD_WITH_LIBRESOLV, test "x$with_libresolv" = "xyes")
86ca149a 1398
30f3e7b8
RJ
1399dnl Check for HAL (hardware abstraction library)
1400with_libhal="yes"
1401AC_CHECK_LIB(hal,libhal_device_property_exists,
1402 [AC_DEFINE(HAVE_LIBHAL, 1, [Define to 1 if you have 'hal' library])],
1403 [with_libhal="no"])
1404if test "x$with_libhal" = "xyes"; then
30f3e7b8 1405 if test "x$PKG_CONFIG" != "x"; then
c2ca2a46
LT
1406 BUILD_WITH_LIBHAL_CFLAGS="`$PKG_CONFIG --cflags hal`"
1407 BUILD_WITH_LIBHAL_LIBS="`$PKG_CONFIG --libs hal`"
30f3e7b8
RJ
1408 AC_SUBST(BUILD_WITH_LIBHAL_CFLAGS)
1409 AC_SUBST(BUILD_WITH_LIBHAL_LIBS)
1410 fi
1411fi
125bdc00 1412
c27cdba8
NW
1413m4_divert_once([HELP_WITH], [
1414collectd additional packages:])
1415
11b1e65a
MS
1416if test "x$ac_system" = "xAIX"
1417then
1418 with_perfstat="yes"
1419 with_procinfo="yes"
1420else
1421 with_perfstat="no (AIX only)"
1422 with_procinfo="no (AIX only)"
1423fi
1424
1425if test "x$with_perfstat" = "xyes"
1426then
1427 AC_CHECK_LIB(perfstat, perfstat_reset, [with_perfstat="yes"], [with_perfstat="no (perfstat not found)"], [])
1428# AC_CHECK_HEADERS(sys/protosw.h libperfstat.h,, [with_perfstat="no (perfstat not found)"])
1429fi
1430if test "x$with_perfstat" = "xyes"
1431then
1432 AC_DEFINE(HAVE_PERFSTAT, 1, [Define to 1 if you have the 'perfstat' library (-lperfstat)])
74dbb25f
AR
1433 # struct members pertaining to donation have been added to libperfstat somewhere between AIX5.3ML5 and AIX5.3ML9
1434 AC_CHECK_MEMBER([perfstat_partition_type_t.b.donate_enabled], [], [], [[#include <libperfstat.h]])
1435 if test "x$av_cv_member_perfstat_partition_type_t_b_donate_enabled" = "xyes"
1436 then
1437 AC_DEFINE(PERFSTAT_SUPPORTS_DONATION, 1, [Define to 1 if your version of the 'perfstat' library supports donation])
1438 fi
11b1e65a
MS
1439fi
1440AM_CONDITIONAL(BUILD_WITH_PERFSTAT, test "x$with_perfstat" = "xyes")
1441
8dbb7bc4 1442# Processes plugin under AIX.
11b1e65a
MS
1443if test "x$with_procinfo" = "xyes"
1444then
1445 AC_CHECK_HEADERS(procinfo.h,, [with_procinfo="no (procinfo.h not found)"])
1446fi
1447if test "x$with_procinfo" = "xyes"
1448then
1449 AC_DEFINE(HAVE_PROCINFO_H, 1, [Define to 1 if you have the procinfo.h])
1450fi
11b1e65a 1451
c044208a
FF
1452if test "x$ac_system" = "xSolaris"
1453then
1454 with_kstat="yes"
1455 with_devinfo="yes"
1456else
1457 with_kstat="no (Solaris only)"
1458 with_devinfo="no (Solaris only)"
1459fi
1460
1461if test "x$with_kstat" = "xyes"
1462then
1463 AC_CHECK_LIB(kstat, kstat_open, [with_kstat="yes"], [with_kstat="no (libkstat not found)"], [])
1464fi
1465if test "x$with_kstat" = "xyes"
1466then
1467 AC_CHECK_LIB(devinfo, di_init, [with_devinfo="yes"], [with_devinfo="no (not found)"], [])
1468 AC_CHECK_HEADERS(kstat.h,, [with_kstat="no (kstat.h not found)"])
1469fi
1470if test "x$with_kstat" = "xyes"
1471then
1472 AC_DEFINE(HAVE_LIBKSTAT, 1,
1473 [Define to 1 if you have the 'kstat' library (-lkstat)])
1474fi
1475AM_CONDITIONAL(BUILD_WITH_LIBKSTAT, test "x$with_kstat" = "xyes")
1476AM_CONDITIONAL(BUILD_WITH_LIBDEVINFO, test "x$with_devinfo" = "xyes")
1477
1478with_libiokit="no"
30aaad03
RM
1479if test "x$ac_system" = "xDarwin"
1480then
c044208a 1481 with_libiokit="yes"
30aaad03 1482else
c044208a 1483 with_libiokit="no"
30aaad03 1484fi
c044208a
FF
1485AM_CONDITIONAL(BUILD_WITH_LIBIOKIT, test "x$with_libiokit" = "xyes")
1486
1487with_libkvm="no"
1488AC_CHECK_LIB(kvm, kvm_getprocs, [with_kvm_getprocs="yes"], [with_kvm_getprocs="no"])
1489if test "x$with_kvm_getprocs" = "xyes"
1490then
1491 AC_DEFINE(HAVE_LIBKVM_GETPROCS, 1,
1492 [Define to 1 if you have the 'kvm' library with the 'kvm_getprocs' symbol (-lkvm)])
1493 with_libkvm="yes"
1494fi
1495AM_CONDITIONAL(BUILD_WITH_LIBKVM_GETPROCS, test "x$with_kvm_getprocs" = "xyes")
1496
1497AC_CHECK_LIB(kvm, kvm_getswapinfo, [with_kvm_getswapinfo="yes"], [with_kvm_getswapinfo="no"])
1498if test "x$with_kvm_getswapinfo" = "xyes"
1499then
1500 AC_DEFINE(HAVE_LIBKVM_GETSWAPINFO, 1,
1501 [Define to 1 if you have the 'kvm' library with the 'kvm_getswapinfo' symbol (-lkvm)])
1502 with_libkvm="yes"
1503fi
1504AM_CONDITIONAL(BUILD_WITH_LIBKVM_GETSWAPINFO, test "x$with_kvm_getswapinfo" = "xyes")
1505
1506AC_CHECK_LIB(kvm, kvm_nlist, [with_kvm_nlist="yes"], [with_kvm_nlist="no"])
1507if test "x$with_kvm_nlist" = "xyes"
1508then
cb2155af 1509 AC_CHECK_HEADERS(bsd/nlist.h nlist.h)
c044208a
FF
1510 AC_DEFINE(HAVE_LIBKVM_NLIST, 1,
1511 [Define to 1 if you have the 'kvm' library with the 'kvm_nlist' symbol (-lkvm)])
1512 with_libkvm="yes"
1513fi
1514AM_CONDITIONAL(BUILD_WITH_LIBKVM_NLIST, test "x$with_kvm_nlist" = "xyes")
1515
97fe2302
FF
1516AC_CHECK_LIB(kvm, kvm_openfiles, [with_kvm_openfiles="yes"], [with_kvm_openfiles="no"])
1517if test "x$with_kvm_openfiles" = "xyes"
1518then
1519 AC_DEFINE(HAVE_LIBKVM_NLIST, 1,
1520 [Define to 1 if you have the 'kvm' library with the 'kvm_openfiles' symbol (-lkvm)])
1521 with_libkvm="yes"
1522fi
1523AM_CONDITIONAL(BUILD_WITH_LIBKVM_OPENFILES, test "x$with_kvm_openfiles" = "xyes")
1524
d5cd30db
AD
1525# --with-libaquaero5 {{{
1526AC_ARG_WITH(libaquaero5, [AS_HELP_STRING([--with-libaquaero5@<:@=PREFIX@:>@], [Path to aquatools-ng source code.])],
1527[
1528 if test "x$withval" = "xyes"
1529 then
1530 with_libaquaero5="yes"
1531 else if test "x$withval" = "xno"
1532 then
1533 with_libaquaero5="no"
1534 else
1535 with_libaquaero5="yes"
1536 LIBAQUAERO5_CFLAGS="$LIBAQUAERO5_CFLAGS -I$withval/src"
a88e2163 1537 LIBAQUAERO5_LDFLAGS="$LIBAQUAERO5_LDFLAGS -L$withval/obj"
d5cd30db
AD
1538 fi; fi
1539],
1540[with_libaquaero5="yes"])
1541
1542SAVE_CPPFLAGS="$CPPFLAGS"
1543SAVE_LDFLAGS="$LDFLAGS"
1544
1545CPPFLAGS="$CPPFLAGS $LIBAQUAERO5_CFLAGS"
1546LDFLAGS="$LDFLAGS $LIBAQUAERO5_LDFLAGS"
1547
1548if test "x$with_libaquaero5" = "xyes"
1549then
1550 if test "x$LIBAQUAERO5_CFLAGS" != "x"
1551 then
1552 AC_MSG_NOTICE([libaquaero5 CPPFLAGS: $LIBAQUAERO5_CFLAGS])
1553 fi
1554 AC_CHECK_HEADERS(libaquaero5.h,
1555 [with_libaquaero5="yes"],
1556 [with_libaquaero5="no (libaquaero5.h not found)"])
1557fi
1558if test "x$with_libaquaero5" = "xyes"
1559then
1560 if test "x$LIBAQUAERO5_LDFLAGS" != "x"
1561 then
1562 AC_MSG_NOTICE([libaquaero5 LDFLAGS: $LIBAQUAERO5_LDFLAGS])
1563 fi
0a323ec3 1564 AC_CHECK_LIB(aquaero5, libaquaero5_poll,
d5cd30db
AD
1565 [with_libaquaero5="yes"],
1566 [with_libaquaero5="no (symbol 'libaquaero5_poll' not found)"])
1567fi
1568
1569CPPFLAGS="$SAVE_CPPFLAGS"
1570LDFLAGS="$SAVE_LDFLAGS"
1571
1572if test "x$with_libaquaero5" = "xyes"
1573then
1574 BUILD_WITH_LIBAQUAERO5_CFLAGS="$LIBAQUAERO5_CFLAGS"
1575 BUILD_WITH_LIBAQUAERO5_LDFLAGS="$LIBAQUAERO5_LDFLAGS"
1576 AC_SUBST(BUILD_WITH_LIBAQUAERO5_CFLAGS)
1577 AC_SUBST(BUILD_WITH_LIBAQUAERO5_LDFLAGS)
1578fi
1579AM_CONDITIONAL(BUILD_WITH_LIBAQUAERO5, test "x$with_libaquaero5" = "xyes")
1580# }}}
1581
36e8719c
AD
1582# --with-libhiredis {{{
1583AC_ARG_WITH(libhiredis, [AS_HELP_STRING([--with-libhiredis@<:@=PREFIX@:>@],
1584 [Path to libhiredis.])],
b591eca2
FF
1585[
1586 if test "x$withval" = "xyes"
1587 then
36e8719c 1588 with_libhiredis="yes"
b591eca2
FF
1589 else if test "x$withval" = "xno"
1590 then
36e8719c 1591 with_libhiredis="no"
b591eca2 1592 else
36e8719c
AD
1593 with_libhiredis="yes"
1594 LIBHIREDIS_CPPFLAGS="$LIBHIREDIS_CPPFLAGS -I$withval/include"
1595 LIBHIREDIS_LDFLAGS="$LIBHIREDIS_LDFLAGS -L$withval/lib"
b591eca2
FF
1596 fi; fi
1597],
36e8719c 1598[with_libhiredis="yes"])
b591eca2
FF
1599
1600SAVE_CPPFLAGS="$CPPFLAGS"
1601SAVE_LDFLAGS="$LDFLAGS"
1602
36e8719c
AD
1603CPPFLAGS="$CPPFLAGS $LIBHIREDIS_CPPFLAGS"
1604LDFLAGS="$LDFLAGS $LIBHIREDIS_LDFLAGS"
b591eca2 1605
36e8719c 1606if test "x$with_libhiredis" = "xyes"
b591eca2 1607then
36e8719c 1608 if test "x$LIBHIREDIS_CPPFLAGS" != "x"
b591eca2 1609 then
36e8719c 1610 AC_MSG_NOTICE([libhiredis CPPFLAGS: $LIBHIREDIS_CPPFLAGS])
b591eca2 1611 fi
36e8719c
AD
1612 AC_CHECK_HEADERS(hiredis/hiredis.h,
1613 [with_libhiredis="yes"],
1614 [with_libhiredis="no (hiredis.h not found)"])
b591eca2 1615fi
36e8719c 1616if test "x$with_libhiredis" = "xyes"
b591eca2 1617then
36e8719c 1618 if test "x$LIBHIREDIS_LDFLAGS" != "x"
b591eca2 1619 then
36e8719c 1620 AC_MSG_NOTICE([libhiredis LDFLAGS: $LIBHIREDIS_LDFLAGS])
b591eca2 1621 fi
36e8719c
AD
1622 AC_CHECK_LIB(hiredis, redisCommand,
1623 [with_libhiredis="yes"],
1624 [with_libhiredis="no (symbol 'redisCommand' not found)"])
b591eca2
FF
1625
1626fi
1627
1628CPPFLAGS="$SAVE_CPPFLAGS"
1629LDFLAGS="$SAVE_LDFLAGS"
1630
36e8719c 1631if test "x$with_libhiredis" = "xyes"
b591eca2 1632then
36e8719c
AD
1633 BUILD_WITH_LIBHIREDIS_CPPFLAGS="$LIBHIREDIS_CPPFLAGS"
1634 BUILD_WITH_LIBHIREDIS_LDFLAGS="$LIBHIREDIS_LDFLAGS"
1635 AC_SUBST(BUILD_WITH_LIBHIREDIS_CPPFLAGS)
1636 AC_SUBST(BUILD_WITH_LIBHIREDIS_LDFLAGS)
b591eca2 1637fi
36e8719c 1638AM_CONDITIONAL(BUILD_WITH_LIBHIREDIS, test "x$with_libhiredis" = "xyes")
b591eca2
FF
1639# }}}
1640
8757c918 1641# --with-libcurl {{{
1842a7a7 1642with_curl_config="curl-config"
8f6c03d5 1643with_curl_cflags=""
1842a7a7
FF
1644with_curl_libs=""
1645AC_ARG_WITH(libcurl, [AS_HELP_STRING([--with-libcurl@<:@=PREFIX@:>@], [Path to libcurl.])],
1646[
1842a7a7
FF
1647 if test "x$withval" = "xno"
1648 then
1649 with_libcurl="no"
8f6c03d5
FF
1650 else if test "x$withval" = "xyes"
1651 then
1842a7a7 1652 with_libcurl="yes"
8f6c03d5 1653 else
a3cd4630 1654 if test -f "$withval" && test -x "$withval"
8f6c03d5
FF
1655 then
1656 with_curl_config="$withval"
c39428ae 1657 with_libcurl="yes"
8f6c03d5
FF
1658 else if test -x "$withval/bin/curl-config"
1659 then
1660 with_curl_config="$withval/bin/curl-config"
c39428ae 1661 with_libcurl="yes"
8f6c03d5 1662 fi; fi
a3cd4630 1663 with_libcurl="yes"
8f6c03d5 1664 fi; fi
1842a7a7
FF
1665],
1666[
1667 with_libcurl="yes"
1668])
1669if test "x$with_libcurl" = "xyes"
1670then
8f6c03d5 1671 with_curl_cflags=`$with_curl_config --cflags 2>/dev/null`
1842a7a7
FF
1672 curl_config_status=$?
1673
1674 if test $curl_config_status -ne 0
1675 then
48bc4be8 1676 with_libcurl="no ($with_curl_config failed)"
1842a7a7 1677 else
06c09fee
FF
1678 SAVE_CPPFLAGS="$CPPFLAGS"
1679 CPPFLAGS="$CPPFLAGS $with_curl_cflags"
8f6c03d5
FF
1680
1681 AC_CHECK_HEADERS(curl/curl.h, [], [with_libcurl="no (curl/curl.h not found)"], [])
1682
06c09fee 1683 CPPFLAGS="$SAVE_CPPFLAGS"
1842a7a7
FF
1684 fi
1685fi
8f6c03d5 1686if test "x$with_libcurl" = "xyes"
1842a7a7 1687then
8f6c03d5 1688 with_curl_libs=`$with_curl_config --libs 2>/dev/null`
1842a7a7
FF
1689 curl_config_status=$?
1690
1691 if test $curl_config_status -ne 0
1692 then
48bc4be8 1693 with_libcurl="no ($with_curl_config failed)"
1842a7a7 1694 else
8f6c03d5 1695 AC_CHECK_LIB(curl, curl_easy_init,
48bc4be8 1696 [with_libcurl="yes"],
8f6c03d5
FF
1697 [with_libcurl="no (symbol 'curl_easy_init' not found)"],
1698 [$with_curl_libs])
0af75dc1
MF
1699 AC_CHECK_DECL(CURLOPT_USERNAME,
1700 [have_curlopt_username="yes"],
1701 [have_curlopt_username="no"],
1702 [[#include <curl/curl.h>]])
1842a7a7
FF
1703 fi
1704fi
1842a7a7
FF
1705if test "x$with_libcurl" = "xyes"
1706then
8f6c03d5
FF
1707 BUILD_WITH_LIBCURL_CFLAGS="$with_curl_cflags"
1708 BUILD_WITH_LIBCURL_LIBS="$with_curl_libs"
1709 AC_SUBST(BUILD_WITH_LIBCURL_CFLAGS)
1710 AC_SUBST(BUILD_WITH_LIBCURL_LIBS)
0af75dc1
MF
1711
1712 if test "x$have_curlopt_username" = "xyes"
1713 then
1714 AC_DEFINE(HAVE_CURLOPT_USERNAME, 1, [Define if libcurl supports CURLOPT_USERNAME option.])
1715 fi
1842a7a7 1716fi
1842a7a7 1717AM_CONDITIONAL(BUILD_WITH_LIBCURL, test "x$with_libcurl" = "xyes")
8757c918 1718# }}}
1842a7a7 1719
3f847b15
FF
1720# --with-libdbi {{{
1721with_libdbi_cppflags=""
1722with_libdbi_ldflags=""
1723AC_ARG_WITH(libdbi, [AS_HELP_STRING([--with-libdbi@<:@=PREFIX@:>@], [Path to libdbi.])],
1724[
1725 if test "x$withval" != "xno" && test "x$withval" != "xyes"
1726 then
1727 with_libdbi_cppflags="-I$withval/include"
1728 with_libdbi_ldflags="-L$withval/lib"
1729 with_libdbi="yes"
1730 else
1731 with_libdbi="$withval"
1732 fi
1733],
1734[
1735 with_libdbi="yes"
1736])
1737if test "x$with_libdbi" = "xyes"
1738then
1739 SAVE_CPPFLAGS="$CPPFLAGS"
1740 CPPFLAGS="$CPPFLAGS $with_libdbi_cppflags"
1741
1742 AC_CHECK_HEADERS(dbi/dbi.h, [with_libdbi="yes"], [with_libdbi="no (dbi/dbi.h not found)"])
1743
1744 CPPFLAGS="$SAVE_CPPFLAGS"
1745fi
1746if test "x$with_libdbi" = "xyes"
1747then
1748 SAVE_CPPFLAGS="$CPPFLAGS"
1749 SAVE_LDFLAGS="$LDFLAGS"
1750 CPPFLAGS="$CPPFLAGS $with_libdbi_cppflags"
1751 LDFLAGS="$LDFLAGS $with_libdbi_ldflags"
1752
1753 AC_CHECK_LIB(dbi, dbi_initialize, [with_libdbi="yes"], [with_libdbi="no (Symbol 'dbi_initialize' not found)"])
f1907a6d 1754 AC_CHECK_LIB(dbi, dbi_driver_open_r, [with_libdbi_r="yes"], [with_libdbi_r="no"])
3f847b15
FF
1755
1756 CPPFLAGS="$SAVE_CPPFLAGS"
1757 LDFLAGS="$SAVE_LDFLAGS"
1758fi
1759if test "x$with_libdbi" = "xyes"
1760then
1761 BUILD_WITH_LIBDBI_CPPFLAGS="$with_libdbi_cppflags"
1762 BUILD_WITH_LIBDBI_LDFLAGS="$with_libdbi_ldflags"
1763 BUILD_WITH_LIBDBI_LIBS="-ldbi"
1764 AC_SUBST(BUILD_WITH_LIBDBI_CPPFLAGS)
1765 AC_SUBST(BUILD_WITH_LIBDBI_LDFLAGS)
1766 AC_SUBST(BUILD_WITH_LIBDBI_LIBS)
f1907a6d
PYR
1767
1768 if test "x$with_libdbi_r" = "xyes"
1769 then
1770 AC_DEFINE(HAVE_LIBDBI_R, 1, [Define if reentrant dbi facility is present and usable.])
1771 fi
3f847b15
FF
1772fi
1773AM_CONDITIONAL(BUILD_WITH_LIBDBI, test "x$with_libdbi" = "xyes")
1774# }}}
1775
975e7fd6
FF
1776# --with-libesmtp {{{
1777AC_ARG_WITH(libesmtp, [AS_HELP_STRING([--with-libesmtp@<:@=PREFIX@:>@], [Path to libesmtp.])],
86ca149a 1778[
975e7fd6 1779 if test "x$withval" != "xno" && test "x$withval" != "xyes"
86ca149a 1780 then
975e7fd6
FF
1781 LDFLAGS="$LDFLAGS -L$withval/lib"
1782 CPPFLAGS="$CPPFLAGS -I$withval/include -D_THREAD_SAFE"
1783 with_libesmtp="yes"
fb713675 1784 else
975e7fd6 1785 with_libesmtp="$withval"
86ca149a
FF
1786 fi
1787],
1788[
975e7fd6 1789 with_libesmtp="yes"
86ca149a 1790])
975e7fd6 1791if test "x$with_libesmtp" = "xyes"
0aa63f0c 1792then
975e7fd6
FF
1793 AC_CHECK_LIB(esmtp, smtp_create_session,
1794 [
1795 AC_DEFINE(HAVE_LIBESMTP, 1, [Define to 1 if you have the esmtp library (-lesmtp).])
1796 ], [with_libesmtp="no (libesmtp not found)"])
0aa63f0c 1797fi
975e7fd6 1798if test "x$with_libesmtp" = "xyes"
176d5f79 1799then
975e7fd6
FF
1800 AC_CHECK_HEADERS(libesmtp.h,
1801 [
1802 AC_DEFINE(HAVE_LIBESMTP_H, 1, [Define to 1 if you have the <libesmtp.h> header file.])
1803 ], [with_libesmtp="no (libesmtp.h not found)"])
176d5f79 1804fi
975e7fd6 1805if test "x$with_libesmtp" = "xyes"
4aed4a7a 1806then
975e7fd6
FF
1807 collect_libesmtp=1
1808else
1809 collect_libesmtp=0
4aed4a7a 1810fi
975e7fd6
FF
1811AC_DEFINE_UNQUOTED(COLLECT_LIBESMTP, [$collect_libesmtp],
1812 [Wether or not to use the esmtp library])
1813AM_CONDITIONAL(BUILD_WITH_LIBESMTP, test "x$with_libesmtp" = "xyes")
8757c918 1814# }}}
28c5e282 1815
2f0bd3ba
FF
1816# --with-libganglia {{{
1817AC_ARG_WITH(libganglia, [AS_HELP_STRING([--with-libganglia@<:@=PREFIX@:>@], [Path to libganglia.])],
1818[
1819 if test -f "$withval" && test -x "$withval"
1820 then
1821 with_libganglia_config="$withval"
1822 with_libganglia="yes"
1823 else if test -f "$withval/bin/ganglia-config" && test -x "$withval/bin/ganglia-config"
1824 then
1825 with_libganglia_config="$withval/bin/ganglia-config"
1826 with_libganglia="yes"
1827 else if test -d "$withval"
1828 then
1829 GANGLIA_CPPFLAGS="-I$withval/include"
1830 GANGLIA_LDFLAGS="-L$withval/lib"
1831 with_libganglia="yes"
1832 else
1833 with_libganglia_config="ganglia-config"
1834 with_libganglia="$withval"
1835 fi; fi; fi
1836],
1837[
1838 with_libganglia_config="ganglia-config"
1839 with_libganglia="yes"
1840])
1841
1842if test "x$with_libganglia" = "xyes" && test "x$with_libganglia_config" != "x"
1843then
1844 if test "x$GANGLIA_CPPFLAGS" = "x"
1845 then
1846 GANGLIA_CPPFLAGS=`"$with_libganglia_config" --cflags 2>/dev/null`
1847 fi
1848
1849 if test "x$GANGLIA_LDFLAGS" = "x"
1850 then
1851 GANGLIA_LDFLAGS=`"$with_libganglia_config" --ldflags 2>/dev/null`
1852 fi
1853
1854 if test "x$GANGLIA_LIBS" = "x"
1855 then
1856 GANGLIA_LIBS=`"$with_libganglia_config" --libs 2>/dev/null`
1857 fi
1858fi
1859
1860SAVE_CPPFLAGS="$CPPFLAGS"
1861SAVE_LDFLAGS="$LDFLAGS"
1862CPPFLAGS="$CPPFLAGS $GANGLIA_CPPFLAGS"
1863LDFLAGS="$LDFLAGS $GANGLIA_LDFLAGS"
1864
1865if test "x$with_libganglia" = "xyes"
1866then
1867 AC_CHECK_HEADERS(gm_protocol.h,
1868 [
1869 AC_DEFINE(HAVE_GM_PROTOCOL_H, 1,
1870 [Define to 1 if you have the <gm_protocol.h> header file.])
1871 ], [with_libganglia="no (gm_protocol.h not found)"])
1872fi
1873
1874if test "x$with_libganglia" = "xyes"
1875then
1876 AC_CHECK_LIB(ganglia, xdr_Ganglia_value_msg,
1877 [
1878 AC_DEFINE(HAVE_LIBGANGLIA, 1,
1879 [Define to 1 if you have the ganglia library (-lganglia).])
1880 ], [with_libganglia="no (symbol xdr_Ganglia_value_msg not found)"])
1881fi
1882
1883CPPFLAGS="$SAVE_CPPFLAGS"
1884LDFLAGS="$SAVE_LDFLAGS"
1885
1886AC_SUBST(GANGLIA_CPPFLAGS)
1887AC_SUBST(GANGLIA_LDFLAGS)
1888AC_SUBST(GANGLIA_LIBS)
1889AM_CONDITIONAL(BUILD_WITH_LIBGANGLIA, test "x$with_libganglia" = "xyes")
1890# }}}
1891
6c4006c2
FF
1892# --with-libgcrypt {{{
1893GCRYPT_CPPFLAGS="$GCRYPT_CPPFLAGS"
1894GCRYPT_LDFLAGS="$GCRYPT_LDFLAGS"
1895GCRYPT_LIBS="$GCRYPT_LIBS"
1896AC_ARG_WITH(libgcrypt, [AS_HELP_STRING([--with-libgcrypt@<:@=PREFIX@:>@], [Path to libgcrypt.])],
1897[
1898 if test -f "$withval" && test -x "$withval"
1899 then
1900 with_libgcrypt_config="$withval"
1901 with_libgcrypt="yes"
1902 else if test -f "$withval/bin/gcrypt-config" && test -x "$withval/bin/gcrypt-config"
1903 then
1904 with_libgcrypt_config="$withval/bin/gcrypt-config"
1905 with_libgcrypt="yes"
1906 else if test -d "$withval"
1907 then
1908 GCRYPT_CPPFLAGS="$GCRYPT_CPPFLAGS -I$withval/include"
1909 GCRYPT_LDFLAGS="$GCRYPT_LDFLAGS -L$withval/lib"
1910 with_libgcrypt="yes"
1911 else
1912 with_libgcrypt_config="gcrypt-config"
1913 with_libgcrypt="$withval"
1914 fi; fi; fi
1915],
1916[
1917 with_libgcrypt_config="libgcrypt-config"
1918 with_libgcrypt="yes"
1919])
1920
1921if test "x$with_libgcrypt" = "xyes" && test "x$with_libgcrypt_config" != "x"
1922then
1923 if test "x$GCRYPT_CPPFLAGS" = "x"
1924 then
1925 GCRYPT_CPPFLAGS=`"$with_libgcrypt_config" --cflags 2>/dev/null`
1926 fi
1927
1928 if test "x$GCRYPT_LDFLAGS" = "x"
1929 then
1930 gcrypt_exec_prefix=`"$with_libgcrypt_config" --exec-prefix 2>/dev/null`
1931 GCRYPT_LDFLAGS="-L$gcrypt_exec_prefix/lib"
1932 fi
1933
1934 if test "x$GCRYPT_LIBS" = "x"
1935 then
1936 GCRYPT_LIBS=`"$with_libgcrypt_config" --libs 2>/dev/null`
1937 fi
1938fi
1939
1940SAVE_CPPFLAGS="$CPPFLAGS"
1941SAVE_LDFLAGS="$LDFLAGS"
1942CPPFLAGS="$CPPFLAGS $GCRYPT_CPPFLAGS"
1943LDFLAGS="$LDFLAGS $GCRYPT_LDFLAGS"
1944
1945if test "x$with_libgcrypt" = "xyes"
1946then
1947 if test "x$GCRYPT_CPPFLAGS" != "x"
1948 then
1949 AC_MSG_NOTICE([gcrypt CPPFLAGS: $GCRYPT_CPPFLAGS])
1950 fi
1951 AC_CHECK_HEADERS(gcrypt.h,
1952 [with_libgcrypt="yes"],
1953 [with_libgcrypt="no (gcrypt.h not found)"])
1954fi
1955
1956if test "x$with_libgcrypt" = "xyes"
1957then
1958 if test "x$GCRYPT_LDFLAGS" != "x"
1959 then
1960 AC_MSG_NOTICE([gcrypt LDFLAGS: $GCRYPT_LDFLAGS])
1961 fi
1962 AC_CHECK_LIB(gcrypt, gcry_md_hash_buffer,
1963 [with_libgcrypt="yes"],
1964 [with_libgcrypt="no (symbol gcry_md_hash_buffer not found)"])
5f3f72cb
DM
1965
1966 if test "$with_libgcrypt" != "no"; then
3acf4aaf 1967 m4_ifdef([AM_PATH_LIBGCRYPT],[AM_PATH_LIBGCRYPT(1:1.2.0,,with_libgcrypt="no (version 1.2.0+ required)")])
b8ae524a 1968 GCRYPT_CPPFLAGS="$LIBGCRYPT_CPPFLAGS $LIBGCRYPT_CFLAGS"
597ada32 1969 GCRYPT_LIBS="$LIBGCRYPT_LIBS"
5f3f72cb 1970 fi
6c4006c2
FF
1971fi
1972
1973CPPFLAGS="$SAVE_CPPFLAGS"
1974LDFLAGS="$SAVE_LDFLAGS"
1975
bcd6151b
FF
1976if test "x$with_libgcrypt" = "xyes"
1977then
1978 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to 1 if you have the gcrypt library (-lgcrypt).])
1979fi
1980
6c4006c2
FF
1981AC_SUBST(GCRYPT_CPPFLAGS)
1982AC_SUBST(GCRYPT_LDFLAGS)
1983AC_SUBST(GCRYPT_LIBS)
1984AM_CONDITIONAL(BUILD_WITH_LIBGCRYPT, test "x$with_libgcrypt" = "xyes")
1985# }}}
1986
975e7fd6 1987# --with-libiptc {{{
975e7fd6 1988AC_ARG_WITH(libiptc, [AS_HELP_STRING([--with-libiptc@<:@=PREFIX@:>@], [Path to libiptc.])],
86ca149a 1989[
452185d6 1990 if test "x$withval" = "xyes"
86ca149a 1991 then
d1f72747
FF
1992 with_libiptc="pkgconfig"
1993 else if test "x$withval" = "xno"
1994 then
1995 with_libiptc="no"
14ffdba9 1996 else
d1f72747
FF
1997 with_libiptc="yes"
1998 with_libiptc_cflags="-I$withval/include"
1999 with_libiptc_libs="-L$withval/lib"
452185d6 2000 fi; fi
86ca149a
FF
2001],
2002[
86ca149a
FF
2003 if test "x$ac_system" = "xLinux"
2004 then
d1f72747 2005 with_libiptc="pkgconfig"
86ca149a 2006 else
975e7fd6 2007 with_libiptc="no (Linux only)"
86ca149a
FF
2008 fi
2009])
d1f72747
FF
2010
2011if test "x$with_libiptc" = "xpkgconfig" && test "x$PKG_CONFIG" = "x"
86ca149a 2012then
d1f72747 2013 with_libiptc="no (Don't have pkg-config)"
3c12e8a6 2014fi
d1f72747
FF
2015
2016if test "x$with_libiptc" = "xpkgconfig"
3c12e8a6 2017then
d1f72747
FF
2018 $PKG_CONFIG --exists 'libiptc' 2>/dev/null
2019 if test $? -ne 0
2020 then
2021 with_libiptc="no (pkg-config doesn't know libiptc)"
2022 fi
2023fi
2024if test "x$with_libiptc" = "xpkgconfig"
3c12e8a6 2025then
d1f72747
FF
2026 with_libiptc_cflags="`$PKG_CONFIG --cflags 'libiptc'`"
2027 if test $? -ne 0
2028 then
2029 with_libiptc="no ($PKG_CONFIG failed)"
2030 fi
2031 with_libiptc_libs="`$PKG_CONFIG --libs 'libiptc'`"
2032 if test $? -ne 0
2033 then
2034 with_libiptc="no ($PKG_CONFIG failed)"
2035 fi
2036fi
2037
2038SAVE_CPPFLAGS="$CPPFLAGS"
2039CPPFLAGS="$CPPFLAGS $with_libiptc_cflags"
2040
2041# check whether the header file for libiptc is available.
2042if test "x$with_libiptc" = "xpkgconfig"
2043then
2044 AC_CHECK_HEADERS(libiptc/libiptc.h libiptc/libip6tc.h, ,
2045 [with_libiptc="no (header file missing)"])
975e7fd6 2046fi
88998e1d
FF
2047# If the header file is available, check for the required type declaractions.
2048# They may be missing in old versions of libiptc. In that case, they will be
2049# declared in the iptables plugin.
d1f72747 2050if test "x$with_libiptc" = "xpkgconfig"
b3315d59 2051then
d1f72747 2052 AC_CHECK_TYPES([iptc_handle_t, ip6tc_handle_t], [], [])
af0dd163 2053fi
88998e1d 2054# Check for the iptc_init symbol in the library.
3835b23a 2055# This could be in iptc or ip4tc
d1f72747 2056if test "x$with_libiptc" = "xpkgconfig"
af0dd163 2057then
c43464c9 2058 SAVE_LIBS="$LIBS"
3835b23a 2059 AC_SEARCH_LIBS(iptc_init, [iptc ip4tc],
d1f72747
FF
2060 [with_libiptc="pkgconfig"],
2061 [with_libiptc="no"],
2062 [$with_libiptc_libs])
c43464c9 2063 LIBS="$SAVE_LIBS"
d1f72747
FF
2064fi
2065if test "x$with_libiptc" = "xpkgconfig"
2066then
2067 with_libiptc="yes"
88998e1d 2068fi
d1f72747
FF
2069
2070CPPFLAGS="$SAVE_CPPFLAGS"
2071
a690e4ac 2072AM_CONDITIONAL(BUILD_WITH_LIBIPTC, test "x$with_libiptc" = "xyes")
a690e4ac
FF
2073if test "x$with_libiptc" = "xyes"
2074then
d1f72747
FF
2075 BUILD_WITH_LIBIPTC_CPPFLAGS="$with_libiptc_cflags"
2076 BUILD_WITH_LIBIPTC_LDFLAGS="$with_libiptc_libs"
a690e4ac
FF
2077 AC_SUBST(BUILD_WITH_LIBIPTC_CPPFLAGS)
2078 AC_SUBST(BUILD_WITH_LIBIPTC_LDFLAGS)
2079fi
8757c918 2080# }}}
86ca149a 2081
ff1c15a6
FF
2082# --with-java {{{
2083with_java_home="$JAVA_HOME"
2084with_java_vmtype="client"
2085with_java_cflags=""
2086with_java_libs=""
0e187c2e 2087JAVAC="$JAVAC"
c983405b 2088JAR="$JAR"
ff1c15a6
FF
2089AC_ARG_WITH(java, [AS_HELP_STRING([--with-java@<:@=PREFIX@:>@], [Path to Java home.])],
2090[
2091 if test "x$withval" = "xno"
2092 then
2093 with_java="no"
2094 else if test "x$withval" = "xyes"
2095 then
2096 with_java="yes"
2097 else
2098 with_java_home="$withval"
2099 with_java="yes"
2100 fi; fi
2101],
2102[with_java="yes"])
2103if test "x$with_java" = "xyes"
2104then
2105 if test -d "$with_java_home"
2106 then
33163ee3 2107 AC_MSG_CHECKING([for jni.h])
5efcb2fe 2108 TMPVAR=`find "$with_java_home" -name jni.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
5680622e 2109 if test "x$TMPVAR" != "x"
ff1c15a6 2110 then
5680622e
DC
2111 AC_MSG_RESULT([found in $TMPVAR])
2112 JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPVAR"
ff1c15a6 2113 else
33163ee3 2114 AC_MSG_RESULT([not found])
ff1c15a6 2115 fi
33163ee3
FF
2116
2117 AC_MSG_CHECKING([for jni_md.h])
5efcb2fe 2118 TMPVAR=`find "$with_java_home" -name jni_md.h -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
5680622e 2119 if test "x$TMPVAR" != "x"
33163ee3 2120 then
5680622e
DC
2121 AC_MSG_RESULT([found in $TMPVAR])
2122 JAVA_CPPFLAGS="$JAVA_CPPFLAGS -I$TMPVAR"
33163ee3
FF
2123 else
2124 AC_MSG_RESULT([not found])
2125 fi
2126
2127 AC_MSG_CHECKING([for libjvm.so])
5efcb2fe 2128 TMPVAR=`find "$with_java_home" -name libjvm.so -type f -exec 'dirname' '{}' ';' 2>/dev/null | head -n 1`
5680622e 2129 if test "x$TMPVAR" != "x"
ff1c15a6 2130 then
5680622e
DC
2131 AC_MSG_RESULT([found in $TMPVAR])
2132 JAVA_LDFLAGS="$JAVA_LDFLAGS -L$TMPVAR -Wl,-rpath -Wl,$TMPVAR"
ff1c15a6 2133 else
33163ee3 2134 AC_MSG_RESULT([not found])
ff1c15a6 2135 fi
0e187c2e
FF
2136
2137 if test "x$JAVAC" = "x"
2138 then
2139 AC_MSG_CHECKING([for javac])
5efcb2fe 2140 TMPVAR=`find "$with_java_home" -name javac -type f 2>/dev/null | head -n 1`
5680622e 2141 if test "x$TMPVAR" != "x"
0e187c2e 2142 then
5680622e 2143 JAVAC="$TMPVAR"
0e187c2e
FF
2144 AC_MSG_RESULT([$JAVAC])
2145 else
2146 AC_MSG_RESULT([not found])
2147 fi
2148 fi
c983405b
AG
2149 if test "x$JAR" = "x"
2150 then
2151 AC_MSG_CHECKING([for jar])
5efcb2fe 2152 TMPVAR=`find "$with_java_home" -name jar -type f 2>/dev/null | head -n 1`
5680622e 2153 if test "x$TMPVAR" != "x"
c983405b 2154 then
5680622e 2155 JAR="$TMPVAR"
c983405b
AG
2156 AC_MSG_RESULT([$JAR])
2157 else
2158 AC_MSG_RESULT([not found])
2159 fi
2160 fi
ff1c15a6
FF
2161 else if test "x$with_java_home" != "x"
2162 then
2163 AC_MSG_WARN([JAVA_HOME: No such directory: $with_java_home])
2164 fi; fi
2165fi
2166
2167if test "x$JAVA_CPPFLAGS" != "x"
2168then
2169 AC_MSG_NOTICE([Building with JAVA_CPPFLAGS set to: $JAVA_CPPFLAGS])
2170fi
2171if test "x$JAVA_CFLAGS" != "x"
2172then
2173 AC_MSG_NOTICE([Building with JAVA_CFLAGS set to: $JAVA_CFLAGS])
2174fi
2175if test "x$JAVA_LDFLAGS" != "x"
2176then
2177 AC_MSG_NOTICE([Building with JAVA_LDFLAGS set to: $JAVA_LDFLAGS])
2178fi
0e187c2e
FF
2179if test "x$JAVAC" = "x"
2180then
2181 with_javac_path="$PATH"
2182 if test "x$with_java_home" != "x"
2183 then
2184 with_javac_path="$with_java_home:with_javac_path"
2185 if test -d "$with_java_home/bin"
2186 then
2187 with_javac_path="$with_java_home/bin:with_javac_path"
2188 fi
2189 fi
2190
2191 AC_PATH_PROG(JAVAC, javac, [], "$with_javac_path")
2192fi
2193if test "x$JAVAC" = "x"
2194then
2195 with_java="no (javac not found)"
2196fi
c983405b
AG
2197if test "x$JAR" = "x"
2198then
2199 with_jar_path="$PATH"
2200 if test "x$with_java_home" != "x"
2201 then
f181a333 2202 with_jar_path="$with_java_home:$with_jar_path"
c983405b
AG
2203 if test -d "$with_java_home/bin"
2204 then
f181a333 2205 with_jar_path="$with_java_home/bin:$with_jar_path"
c983405b
AG
2206 fi
2207 fi
2208
2209 AC_PATH_PROG(JAR, jar, [], "$with_jar_path")
2210fi
2211if test "x$JAR" = "x"
2212then
2213 with_java="no (jar not found)"
2214fi
ff1c15a6
FF
2215
2216SAVE_CPPFLAGS="$CPPFLAGS"
2217SAVE_CFLAGS="$CFLAGS"
2218SAVE_LDFLAGS="$LDFLAGS"
2219CPPFLAGS="$CPPFLAGS $JAVA_CPPFLAGS"
2220CFLAGS="$CFLAGS $JAVA_CFLAGS"
2221LDFLAGS="$LDFLAGS $JAVA_LDFLAGS"
2222
2223if test "x$with_java" = "xyes"
2224then
2225 AC_CHECK_HEADERS(jni.h, [], [with_java="no (jni.h not found)"])
2226fi
2227if test "x$with_java" = "xyes"
2228then
2229 AC_CHECK_LIB(jvm, JNI_CreateJavaVM,
2230 [with_java="yes"],
2231 [with_java="no (libjvm not found)"],
2232 [$JAVA_LIBS])
2233fi
2234if test "x$with_java" = "xyes"
2235then
2236 JAVA_LIBS="$JAVA_LIBS -ljvm"
2237 AC_MSG_NOTICE([Building with JAVA_LIBS set to: $JAVA_LIBS])
2238fi
2239
2240CPPFLAGS="$SAVE_CPPFLAGS"
2241CFLAGS="$SAVE_CFLAGS"
2242LDFLAGS="$SAVE_LDFLAGS"
2243
2244AC_SUBST(JAVA_CPPFLAGS)
2245AC_SUBST(JAVA_CFLAGS)
2246AC_SUBST(JAVA_LDFLAGS)
2247AC_SUBST(JAVA_LIBS)
2248AM_CONDITIONAL(BUILD_WITH_JAVA, test "x$with_java" = "xyes")
2249# }}}
2250
6ecb1f03
KR
2251# --with-libldap {{{
2252AC_ARG_WITH(libldap, [AS_HELP_STRING([--with-libldap@<:@=PREFIX@:>@], [Path to libldap.])],
2253[
2254 if test "x$withval" = "xyes"
2255 then
2256 with_libldap="yes"
2257 else if test "x$withval" = "xno"
2258 then
2259 with_libldap="no"
2260 else
2261 with_libldap="yes"
2262 LIBLDAP_CPPFLAGS="$LIBLDAP_CPPFLAGS -I$withval/include"
2263 LIBLDAP_LDFLAGS="$LIBLDAP_LDFLAGS -L$withval/lib"
2264 fi; fi
2265],
2266[with_libldap="yes"])
2267
2268SAVE_CPPFLAGS="$CPPFLAGS"
2269SAVE_LDFLAGS="$LDFLAGS"
2270
2271CPPFLAGS="$CPPFLAGS $LIBLDAP_CPPFLAGS"
2272LDFLAGS="$LDFLAGS $LIBLDAP_LDFLAGS"
2273
2274if test "x$with_libldap" = "xyes"
2275then
2276 if test "x$LIBLDAP_CPPFLAGS" != "x"
2277 then
2278 AC_MSG_NOTICE([libldap CPPFLAGS: $LIBLDAP_CPPFLAGS])
2279 fi
2280 AC_CHECK_HEADERS(ldap.h,
2281 [with_libldap="yes"],
2282 [with_libldap="no ('ldap.h' not found)"])
2283fi
2284if test "x$with_libldap" = "xyes"
2285then
2286 if test "x$LIBLDAP_LDFLAGS" != "x"
2287 then
2288 AC_MSG_NOTICE([libldap LDFLAGS: $LIBLDAP_LDFLAGS])
2289 fi
2290 AC_CHECK_LIB(ldap, ldap_initialize,
2291 [with_libldap="yes"],
2292 [with_libldap="no (symbol 'ldap_initialize' not found)"])
2293
2294fi
2295
2296CPPFLAGS="$SAVE_CPPFLAGS"
2297LDFLAGS="$SAVE_LDFLAGS"
2298
2299if test "x$with_libldap" = "xyes"
2300then
2301 BUILD_WITH_LIBLDAP_CPPFLAGS="$LIBLDAP_CPPFLAGS"
2302 BUILD_WITH_LIBLDAP_LDFLAGS="$LIBLDAP_LDFLAGS"
2303 AC_SUBST(BUILD_WITH_LIBLDAP_CPPFLAGS)
2304 AC_SUBST(BUILD_WITH_LIBLDAP_LDFLAGS)
2305fi
2306AM_CONDITIONAL(BUILD_WITH_LIBLDAP, test "x$with_libldap" = "xyes")
2307# }}}
2308
d68f4c95
CM
2309# --with-liblvm2app {{{
2310with_liblvm2app_cppflags=""
2311with_liblvm2app_ldflags=""
2312AC_ARG_WITH(liblvm2app, [AS_HELP_STRING([--with-liblvm2app@<:@=PREFIX@:>@], [Path to liblvm2app.])],
2313[
2314 if test "x$withval" != "xno" && test "x$withval" != "xyes"
2315 then
2316 with_liblvm2app_cppflags="-I$withval/include"
2317 with_liblvm2app_ldflags="-L$withval/lib"
2318 with_liblvm2app="yes"
2319 else
2320 with_liblvm2app="$withval"
2321 fi
2322],
2323[
2324 with_liblvm2app="yes"
2325])
2326if test "x$with_liblvm2app" = "xyes"
2327then
2328 SAVE_CPPFLAGS="$CPPFLAGS"
2329 CPPFLAGS="$CPPFLAGS $with_liblvm2app_cppflags"
2330
2331 AC_CHECK_HEADERS(lvm2app.h, [with_liblvm2app="yes"], [with_liblvm2app="no (lvm2app.h not found)"])
2332
2333 CPPFLAGS="$SAVE_CPPFLAGS"
2334fi
2335
2336if test "x$with_liblvm2app" = "xyes"
2337then
2338 SAVE_CPPFLAGS="$CPPFLAGS"
2339 SAVE_LDFLAGS="$LDFLAGS"
2340 CPPFLAGS="$CPPFLAGS $with_liblvm2app_cppflags"
2341 LDFLAGS="$LDFLAGS $with_liblvm2app_ldflags"
2342
5e2ed291 2343 AC_CHECK_LIB(lvm2app, lvm_lv_get_property, [with_liblvm2app="yes"], [with_liblvm2app="no (Symbol 'lvm_lv_get_property' not found)"])
d68f4c95
CM
2344
2345 CPPFLAGS="$SAVE_CPPFLAGS"
2346 LDFLAGS="$SAVE_LDFLAGS"
2347fi
2348if test "x$with_liblvm2app" = "xyes"
2349then
2350 BUILD_WITH_LIBLVM2APP_CPPFLAGS="$with_liblvm2app_cppflags"
2351 BUILD_WITH_LIBLVM2APP_LDFLAGS="$with_liblvm2app_ldflags"
2352 BUILD_WITH_LIBLVM2APP_LIBS="-llvm2app"
2353 AC_SUBST(BUILD_WITH_LIBLVM2APP_CPPFLAGS)
2354 AC_SUBST(BUILD_WITH_LIBLVM2APP_LDFLAGS)
2355 AC_SUBST(BUILD_WITH_LIBLVM2APP_LIBS)
2356 AC_DEFINE(HAVE_LIBLVM2APP, 1, [Define if liblvm2app is present and usable.])
2357fi
2358AM_CONDITIONAL(BUILD_WITH_LIBLVM2APP, test "x$with_liblvm2app" = "xyes")
2359# }}}
2360
5e8e1fe1
FF
2361# --with-libmemcached {{{
2362with_libmemcached_cppflags=""
2363with_libmemcached_ldflags=""
2364AC_ARG_WITH(libmemcached, [AS_HELP_STRING([--with-libmemcached@<:@=PREFIX@:>@], [Path to libmemcached.])],
2365[
2366 if test "x$withval" != "xno" && test "x$withval" != "xyes"
2367 then
2368 with_libmemcached_cppflags="-I$withval/include"
2369 with_libmemcached_ldflags="-L$withval/lib"
2370 with_libmemcached="yes"
2371 else
2372 with_libmemcached="$withval"
2373 fi
2374],
2375[
2376 with_libmemcached="yes"
2377])
2378if test "x$with_libmemcached" = "xyes"
2379then
2380 SAVE_CPPFLAGS="$CPPFLAGS"
2381 CPPFLAGS="$CPPFLAGS $with_libmemcached_cppflags"
2382
2383 AC_CHECK_HEADERS(libmemcached/memcached.h, [with_libmemcached="yes"], [with_libmemcached="no (libmemcached/memcached.h not found)"])
2384
2385 CPPFLAGS="$SAVE_CPPFLAGS"
2386fi
2387if test "x$with_libmemcached" = "xyes"
2388then
2389 SAVE_CPPFLAGS="$CPPFLAGS"
2390 SAVE_LDFLAGS="$LDFLAGS"
2391 CPPFLAGS="$CPPFLAGS $with_libmemcached_cppflags"
2392 LDFLAGS="$LDFLAGS $with_libmemcached_ldflags"
2393
2394 AC_CHECK_LIB(memcached, memcached_create, [with_libmemcached="yes"], [with_libmemcached="no (Symbol 'memcached_create' not found)"])
2395
2396 CPPFLAGS="$SAVE_CPPFLAGS"
2397 LDFLAGS="$SAVE_LDFLAGS"
2398fi
2399if test "x$with_libmemcached" = "xyes"
2400then
2401 BUILD_WITH_LIBMEMCACHED_CPPFLAGS="$with_libmemcached_cppflags"
2402 BUILD_WITH_LIBMEMCACHED_LDFLAGS="$with_libmemcached_ldflags"
2403 BUILD_WITH_LIBMEMCACHED_LIBS="-lmemcached"
2404 AC_SUBST(BUILD_WITH_LIBMEMCACHED_CPPFLAGS)
2405 AC_SUBST(BUILD_WITH_LIBMEMCACHED_LDFLAGS)
2406 AC_SUBST(BUILD_WITH_LIBMEMCACHED_LIBS)
2407 AC_DEFINE(HAVE_LIBMEMCACHED, 1, [Define if libmemcached is present and usable.])
2408fi
2409AM_CONDITIONAL(BUILD_WITH_LIBMEMCACHED, test "x$with_libmemcached" = "xyes")
2410# }}}
2411
367405c9
FF
2412# --with-libmodbus {{{
2413with_libmodbus_config=""
2414with_libmodbus_cflags=""
2415with_libmodbus_libs=""
2416AC_ARG_WITH(libmodbus, [AS_HELP_STRING([--with-libmodbus@<:@=PREFIX@:>@], [Path to the modbus library.])],
2417[
2418 if test "x$withval" = "xno"
2419 then
2420 with_libmodbus="no"
2421 else if test "x$withval" = "xyes"
2422 then
2423 with_libmodbus="use_pkgconfig"
2424 else if test -d "$with_libmodbus/lib"
2425 then
2426 AC_MSG_NOTICE([Not checking for libmodbus: Manually configured])
2427 with_libmodbus_cflags="-I$withval/include"
2428 with_libmodbus_libs="-L$withval/lib -lmodbus"
2429 with_libmodbus="yes"
2430 fi; fi; fi
2431],
2432[with_libmodbus="use_pkgconfig"])
2433
2434# configure using pkg-config
2435if test "x$with_libmodbus" = "xuse_pkgconfig"
2436then
2437 if test "x$PKG_CONFIG" = "x"
2438 then
2439 with_libmodbus="no (Don't have pkg-config)"
2440 fi
2441fi
2442if test "x$with_libmodbus" = "xuse_pkgconfig"
2443then
97f36e3f
SN
2444 AC_MSG_NOTICE([Checking for libmodbus using $PKG_CONFIG])
2445 $PKG_CONFIG --exists 'libmodbus' 2>/dev/null
367405c9
FF
2446 if test $? -ne 0
2447 then
97f36e3f 2448 with_libmodbus="no (pkg-config doesn't know libmodbus)"
367405c9
FF
2449 fi
2450fi
2451if test "x$with_libmodbus" = "xuse_pkgconfig"
2452then
97f36e3f 2453 with_libmodbus_cflags="`$PKG_CONFIG --cflags 'libmodbus'`"
367405c9
FF
2454 if test $? -ne 0
2455 then
2456 with_libmodbus="no ($PKG_CONFIG failed)"
2457 fi
97f36e3f 2458 with_libmodbus_libs="`$PKG_CONFIG --libs 'libmodbus'`"
367405c9
FF
2459 if test $? -ne 0
2460 then
2461 with_libmodbus="no ($PKG_CONFIG failed)"
2462 fi
2463fi
2464if test "x$with_libmodbus" = "xuse_pkgconfig"
2465then
2466 with_libmodbus="yes"
2467fi
2468
2469# with_libmodbus_cflags and with_libmodbus_libs are set up now, let's do
2470# the actual checks.
2471if test "x$with_libmodbus" = "xyes"
2472then
2473 SAVE_CPPFLAGS="$CPPFLAGS"
2474 CPPFLAGS="$CPPFLAGS $with_libmodbus_cflags"
2475
2476 AC_CHECK_HEADERS(modbus/modbus.h, [], [with_libmodbus="no (modbus/modbus.h not found)"])
2477
2478 CPPFLAGS="$SAVE_CPPFLAGS"
2479fi
2480if test "x$with_libmodbus" = "xyes"
2481then
2482 SAVE_CPPFLAGS="$CPPFLAGS"
2483 SAVE_LDFLAGS="$LDFLAGS"
2484
2485 CPPFLAGS="$CPPFLAGS $with_libmodbus_cflags"
2486 LDFLAGS="$LDFLAGS $with_libmodbus_libs"
2487
c4e824e4 2488 AC_CHECK_LIB(modbus, modbus_connect,
367405c9 2489 [with_libmodbus="yes"],
c4e824e4 2490 [with_libmodbus="no (symbol modbus_connect not found)"])
367405c9
FF
2491
2492 CPPFLAGS="$SAVE_CPPFLAGS"
2493 LDFLAGS="$SAVE_LDFLAGS"
2494fi
2495if test "x$with_libmodbus" = "xyes"
2496then
2497 BUILD_WITH_LIBMODBUS_CFLAGS="$with_libmodbus_cflags"
2498 BUILD_WITH_LIBMODBUS_LIBS="$with_libmodbus_libs"
2499 AC_SUBST(BUILD_WITH_LIBMODBUS_CFLAGS)
2500 AC_SUBST(BUILD_WITH_LIBMODBUS_LIBS)
2501fi
2502# }}}
2503
13322bb3
FF
2504# --with-libmongoc {{{
2505AC_ARG_WITH(libmongoc, [AS_HELP_STRING([--with-libmongoc@<:@=PREFIX@:>@], [Path to libmongoc.])],
2506[
2507 if test "x$withval" = "xyes"
2508 then
2509 with_libmongoc="yes"
2510 else if test "x$withval" = "xno"
2511 then
2512 with_libmongoc="no"
2513 else
2514 with_libmongoc="yes"
2515 LIBMONGOC_CPPFLAGS="$LIBMONGOC_CPPFLAGS -I$withval/include"
2516 LIBMONGOC_LDFLAGS="$LIBMONGOC_LDFLAGS -L$withval/lib"
2517 fi; fi
2518],
2519[with_libmongoc="yes"])
2520
2521SAVE_CPPFLAGS="$CPPFLAGS"
2522SAVE_LDFLAGS="$LDFLAGS"
2523
2524CPPFLAGS="$CPPFLAGS $LIBMONGOC_CPPFLAGS"
2525LDFLAGS="$LDFLAGS $LIBMONGOC_LDFLAGS"
2526
2527if test "x$with_libmongoc" = "xyes"
2528then
2529 if test "x$LIBMONGOC_CPPFLAGS" != "x"
2530 then
2531 AC_MSG_NOTICE([libmongoc CPPFLAGS: $LIBMONGOC_CPPFLAGS])
2532 fi
2533 AC_CHECK_HEADERS(mongo.h,
2534 [with_libmongoc="yes"],
2535 [with_libmongoc="no ('mongo.h' not found)"],
2536[#if HAVE_STDINT_H
2537# define MONGO_HAVE_STDINT 1
2538#else
2539# define MONGO_USE_LONG_LONG_INT 1
2540#endif
2541])
2542fi
2543if test "x$with_libmongoc" = "xyes"
2544then
2545 if test "x$LIBMONGOC_LDFLAGS" != "x"
2546 then
2547 AC_MSG_NOTICE([libmongoc LDFLAGS: $LIBMONGOC_LDFLAGS])
2548 fi
2549 AC_CHECK_LIB(mongoc, mongo_run_command,
2550 [with_libmongoc="yes"],
2551 [with_libmongoc="no (symbol 'mongo_run_command' not found)"])
2552fi
2553
2554CPPFLAGS="$SAVE_CPPFLAGS"
2555LDFLAGS="$SAVE_LDFLAGS"
2556
2557if test "x$with_libmongoc" = "xyes"
2558then
2559 BUILD_WITH_LIBMONGOC_CPPFLAGS="$LIBMONGOC_CPPFLAGS"
2560 BUILD_WITH_LIBMONGOC_LDFLAGS="$LIBMONGOC_LDFLAGS"
2561 AC_SUBST(BUILD_WITH_LIBMONGOC_CPPFLAGS)
2562 AC_SUBST(BUILD_WITH_LIBMONGOC_LDFLAGS)
2563fi
2564AM_CONDITIONAL(BUILD_WITH_LIBMONGOC, test "x$with_libmongoc" = "xyes")
2565# }}}
2566
8757c918 2567# --with-libmysql {{{
805c4940 2568with_mysql_config="mysql_config"
805c4940
FF
2569with_mysql_cflags=""
2570with_mysql_libs=""
e4303e15
FF
2571AC_ARG_WITH(libmysql, [AS_HELP_STRING([--with-libmysql@<:@=PREFIX@:>@], [Path to libmysql.])],
2572[
805c4940
FF
2573 if test "x$withval" = "xno"
2574 then
2575 with_libmysql="no"
8f6c03d5 2576 else if test "x$withval" = "xyes"
e4303e15 2577 then
e4303e15 2578 with_libmysql="yes"
8f6c03d5 2579 else
a3cd4630 2580 if test -f "$withval" && test -x "$withval";
8f6c03d5
FF
2581 then
2582 with_mysql_config="$withval"
2583 else if test -x "$withval/bin/mysql_config"
2584 then
2585 with_mysql_config="$withval/bin/mysql_config"
2586 fi; fi
a3cd4630 2587 with_libmysql="yes"
8f6c03d5 2588 fi; fi
e4303e15
FF
2589],
2590[
2591 with_libmysql="yes"
2592])
2593if test "x$with_libmysql" = "xyes"
2594then
805c4940
FF
2595 with_mysql_cflags=`$with_mysql_config --cflags 2>/dev/null`
2596 mysql_config_status=$?
2597
2598 if test $mysql_config_status -ne 0
2599 then
23164f56 2600 with_libmysql="no ($with_mysql_config failed)"
805c4940 2601 else
06c09fee
FF
2602 SAVE_CPPFLAGS="$CPPFLAGS"
2603 CPPFLAGS="$CPPFLAGS $with_mysql_cflags"
805c4940 2604
23164f56
SH
2605 have_mysql_h="no"
2606 have_mysql_mysql_h="no"
2607 AC_CHECK_HEADERS(mysql.h, [have_mysql_h="yes"])
2608
2609 if test "x$have_mysql_h" = "xno"
2610 then
2611 AC_CHECK_HEADERS(mysql/mysql.h, [have_mysql_mysql_h="yes"])
2612 fi
2613
2614 if test "x$have_mysql_h$have_mysql_mysql_h" = "xnono"
2615 then
2616 with_libmysql="no (mysql.h not found)"
2617 fi
805c4940 2618
06c09fee 2619 CPPFLAGS="$SAVE_CPPFLAGS"
805c4940 2620 fi
e4303e15
FF
2621fi
2622if test "x$with_libmysql" = "xyes"
2623then
a956e9ab 2624 with_mysql_libs=`$with_mysql_config --libs_r 2>/dev/null`
8f6c03d5
FF
2625 mysql_config_status=$?
2626
2627 if test $mysql_config_status -ne 0
2628 then
23164f56 2629 with_libmysql="no ($with_mysql_config failed)"
8f6c03d5
FF
2630 else
2631 AC_CHECK_LIB(mysqlclient, mysql_init,
48bc4be8
FF
2632 [with_libmysql="yes"],
2633 [with_libmysql="no (symbol 'mysql_init' not found)"],
8f6c03d5 2634 [$with_mysql_libs])
2b65cef7
DM
2635
2636 AC_CHECK_LIB(mysqlclient, mysql_get_server_version,
2637 [with_libmysql="yes"],
2638 [with_libmysql="no (symbol 'mysql_get_server_version' not found)"],
2639 [$with_mysql_libs])
8f6c03d5 2640 fi
e4303e15
FF
2641fi
2642if test "x$with_libmysql" = "xyes"
2643then
805c4940
FF
2644 BUILD_WITH_LIBMYSQL_CFLAGS="$with_mysql_cflags"
2645 BUILD_WITH_LIBMYSQL_LIBS="$with_mysql_libs"
2646 AC_SUBST(BUILD_WITH_LIBMYSQL_CFLAGS)
2647 AC_SUBST(BUILD_WITH_LIBMYSQL_LIBS)
e4303e15 2648fi
e4303e15 2649AM_CONDITIONAL(BUILD_WITH_LIBMYSQL, test "x$with_libmysql" = "xyes")
8757c918 2650# }}}
86ca149a 2651
25bf8128
MF
2652# --with-libmnl {{{
2653with_libmnl_cflags=""
490b7542 2654with_libmnl_libs=""
25bf8128 2655AC_ARG_WITH(libmnl, [AS_HELP_STRING([--with-libmnl@<:@=PREFIX@:>@], [Path to libmnl.])],
975e7fd6 2656[
25bf8128 2657 echo "libmnl: withval = $withval"
975e7fd6
FF
2658 if test "x$withval" = "xyes"
2659 then
25bf8128 2660 with_libmnl="yes"
975e7fd6
FF
2661 else if test "x$withval" = "xno"
2662 then
25bf8128 2663 with_libmnl="no"
975e7fd6
FF
2664 else
2665 if test -d "$withval/include"
2666 then
25bf8128
MF
2667 with_libmnl_cflags="-I$withval/include"
2668 with_libmnl_libs="-L$withval/lib -lmnl"
2669 with_libmnl="yes"
975e7fd6
FF
2670 else
2671 AC_MSG_ERROR("no such directory: $withval/include")
2672 fi
2673 fi; fi
2674],
2675[
2676 if test "x$ac_system" = "xLinux"
2677 then
25bf8128 2678 with_libmnl="yes"
975e7fd6 2679 else
25bf8128 2680 with_libmnl="no (Linux only library)"
975e7fd6
FF
2681 fi
2682])
490b7542 2683if test "x$PKG_CONFIG" = "x"
975e7fd6 2684then
490b7542
MF
2685 with_libmnl="no (Don't have pkg-config)"
2686fi
25bf8128 2687if test "x$with_libmnl" = "xyes"
975e7fd6 2688then
490b7542
MF
2689 if $PKG_CONFIG --exists libmnl 2>/dev/null; then
2690 with_libmnl_cflags="$with_libmnl_ldflags `$PKG_CONFIG --cflags libmnl`"
2691 with_libmnl_libs="$with_libmnl_libs `$PKG_CONFIG --libs libmnl`"
2692 fi
975e7fd6 2693
25bf8128 2694 AC_CHECK_HEADERS(libmnl.h libmnl/libmnl.h,
975e7fd6 2695 [
25bf8128 2696 with_libmnl="yes"
975e7fd6
FF
2697 break
2698 ], [],
2699[#include <stdio.h>
2700#include <sys/types.h>
2701#include <asm/types.h>
2702#include <sys/socket.h>
2703#include <linux/netlink.h>
2704#include <linux/rtnetlink.h>])
2705 AC_CHECK_HEADERS(linux/gen_stats.h linux/pkt_sched.h, [], [],
2706[#include <stdio.h>
2707#include <sys/types.h>
2708#include <asm/types.h>
2709#include <sys/socket.h>])
2710
601a4eae 2711 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
4def66d6 2712[[
ef3e1650 2713#include <stdio.h>
975e7fd6
FF
2714#include <sys/types.h>
2715#include <asm/types.h>
2716#include <sys/socket.h>
2717#include <linux/netlink.h>
2718#include <linux/rtnetlink.h>
4def66d6
AH
2719]],
2720[[
ef3e1650
FF
2721int retval = TCA_STATS2;
2722return (retval);
4def66d6 2723]]
ef3e1650
FF
2724 )],
2725 [AC_DEFINE([HAVE_TCA_STATS2], [1], [True if the enum-member TCA_STATS2 exists])])
975e7fd6 2726
ce8b96ae 2727 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
4def66d6 2728[[
ef3e1650 2729#include <stdio.h>
975e7fd6
FF
2730#include <sys/types.h>
2731#include <asm/types.h>
2732#include <sys/socket.h>
2733#include <linux/netlink.h>
2734#include <linux/rtnetlink.h>
4def66d6
AH
2735]],
2736[[
ef3e1650
FF
2737int retval = TCA_STATS;
2738return (retval);
4def66d6 2739]]
ef3e1650
FF
2740 )],
2741 [AC_DEFINE([HAVE_TCA_STATS], 1, [True if the enum-member TCA_STATS exists])])
975e7fd6 2742fi
25bf8128 2743if test "x$with_libmnl" = "xyes"
772b275d
MB
2744then
2745 AC_CHECK_MEMBERS([struct rtnl_link_stats64.tx_window_errors],
2746 [AC_DEFINE(HAVE_RTNL_LINK_STATS64, 1, [Define if struct rtnl_link_stats64 exists and is usable.])],
2747 [],
2748 [
2749 #include <linux/if_link.h>
2750 ])
2751fi
2752if test "x$with_libmnl" = "xyes"
975e7fd6 2753then
25bf8128
MF
2754 AC_CHECK_LIB(mnl, mnl_nlmsg_get_payload,
2755 [with_libmnl="yes"],
2756 [with_libmnl="no (symbol 'mnl_nlmsg_get_payload' not found)"],
2757 [$with_libmnl_libs])
975e7fd6 2758fi
25bf8128 2759if test "x$with_libmnl" = "xyes"
975e7fd6 2760then
25bf8128
MF
2761 AC_DEFINE(HAVE_LIBMNL, 1, [Define if libmnl is present and usable.])
2762 BUILD_WITH_LIBMNL_CFLAGS="$with_libmnl_cflags"
2763 BUILD_WITH_LIBMNL_LIBS="$with_libmnl_libs"
2764 AC_SUBST(BUILD_WITH_LIBMNL_CFLAGS)
2765 AC_SUBST(BUILD_WITH_LIBMNL_LIBS)
975e7fd6 2766fi
25bf8128 2767AM_CONDITIONAL(BUILD_WITH_LIBMNL, test "x$with_libmnl" = "xyes")
975e7fd6
FF
2768# }}}
2769
9f8962fb
FF
2770# --with-libnetapp {{{
2771AC_ARG_VAR([LIBNETAPP_CPPFLAGS], [C preprocessor flags required to build with libnetapp])
2772AC_ARG_VAR([LIBNETAPP_LDFLAGS], [Linker flags required to build with libnetapp])
2773AC_ARG_VAR([LIBNETAPP_LIBS], [Other libraries required to link against libnetapp])
2774LIBNETAPP_CPPFLAGS="$LIBNETAPP_CPPFLAGS"
2775LIBNETAPP_LDFLAGS="$LIBNETAPP_LDFLAGS"
2776LIBNETAPP_LIBS="$LIBNETAPP_LIBS"
2777AC_ARG_WITH(libnetapp, [AS_HELP_STRING([--with-libnetapp@<:@=PREFIX@:>@], [Path to libnetapp.])],
2778[
2779 if test -d "$withval"
2780 then
2781 LIBNETAPP_CPPFLAGS="$LIBNETAPP_CPPFLAGS -I$withval/include"
2782 LIBNETAPP_LDFLAGS="$LIBNETAPP_LDFLAGS -L$withval/lib"
2783 with_libnetapp="yes"
2784 else
2785 with_libnetapp="$withval"
2786 fi
2787],
2788[
2789 with_libnetapp="yes"
2790])
2791
2792SAVE_CPPFLAGS="$CPPFLAGS"
2793SAVE_LDFLAGS="$LDFLAGS"
2794CPPFLAGS="$CPPFLAGS $LIBNETAPP_CPPFLAGS"
2795LDFLAGS="$LDFLAGS $LIBNETAPP_LDFLAGS"
2796
2797if test "x$with_libnetapp" = "xyes"
2798then
2799 if test "x$LIBNETAPP_CPPFLAGS" != "x"
2800 then
2801 AC_MSG_NOTICE([netapp CPPFLAGS: $LIBNETAPP_CPPFLAGS])
2802 fi
2803 AC_CHECK_HEADERS(netapp_api.h,
2804 [with_libnetapp="yes"],
2805 [with_libnetapp="no (netapp_api.h not found)"])
2806fi
2807
2808if test "x$with_libnetapp" = "xyes"
2809then
2810 if test "x$LIBNETAPP_LDFLAGS" != "x"
2811 then
2812 AC_MSG_NOTICE([netapp LDFLAGS: $LIBNETAPP_LDFLAGS])
2813 fi
2814
2815 if test "x$LIBNETAPP_LIBS" = "x"
2816 then
3dd0749c 2817 LIBNETAPP_LIBS="-lpthread -lxml -ladt -lssl -lm -lcrypto -lz"
9f8962fb
FF
2818 fi
2819 AC_MSG_NOTICE([netapp LIBS: $LIBNETAPP_LIBS])
2820
2821 AC_CHECK_LIB(netapp, na_server_invoke_elem,
2822 [with_libnetapp="yes"],
2823 [with_libnetapp="no (symbol na_server_invoke_elem not found)"],
2824 [$LIBNETAPP_LIBS])
df32b9d5 2825 LIBNETAPP_LIBS="-lnetapp $LIBNETAPP_LIBS"
9f8962fb
FF
2826fi
2827
2828CPPFLAGS="$SAVE_CPPFLAGS"
2829LDFLAGS="$SAVE_LDFLAGS"
2830
2831if test "x$with_libnetapp" = "xyes"
2832then
2833 AC_DEFINE(HAVE_LIBNETAPP, 1, [Define to 1 if you have the netapp library (-lnetapp).])
2834fi
2835
2836AC_SUBST(LIBNETAPP_CPPFLAGS)
2837AC_SUBST(LIBNETAPP_LDFLAGS)
2838AC_SUBST(LIBNETAPP_LIBS)
2839AM_CONDITIONAL(BUILD_WITH_LIBNETAPP, test "x$with_libnetapp" = "xyes")
2840# }}}
2841
975e7fd6
FF
2842# --with-libnetsnmp {{{
2843with_snmp_config="net-snmp-config"
2844with_snmp_cflags=""
2845with_snmp_libs=""
2846AC_ARG_WITH(libnetsnmp, [AS_HELP_STRING([--with-libnetsnmp@<:@=PREFIX@:>@], [Path to the Net-SNMPD library.])],
2847[
2848 if test "x$withval" = "xno"
2849 then
2850 with_libnetsnmp="no"
2851 else if test "x$withval" = "xyes"
2852 then
2853 with_libnetsnmp="yes"
2854 else
2855 if test -x "$withval"
2856 then
2857 with_snmp_config="$withval"
2858 with_libnetsnmp="yes"
2859 else
2860 with_snmp_config="$withval/bin/net-snmp-config"
2861 with_libnetsnmp="yes"
2862 fi
2863 fi; fi
2864],
2865[with_libnetsnmp="yes"])
2866if test "x$with_libnetsnmp" = "xyes"
2867then
2868 with_snmp_cflags=`$with_snmp_config --cflags 2>/dev/null`
2869 snmp_config_status=$?
2870
2871 if test $snmp_config_status -ne 0
2872 then
2873 with_libnetsnmp="no ($with_snmp_config failed)"
2874 else
2875 SAVE_CPPFLAGS="$CPPFLAGS"
2876 CPPFLAGS="$CPPFLAGS $with_snmp_cflags"
630e3bba 2877
975e7fd6
FF
2878 AC_CHECK_HEADERS(net-snmp/net-snmp-config.h, [], [with_libnetsnmp="no (net-snmp/net-snmp-config.h not found)"])
2879
2880 CPPFLAGS="$SAVE_CPPFLAGS"
2881 fi
2882fi
2883if test "x$with_libnetsnmp" = "xyes"
2884then
2885 with_snmp_libs=`$with_snmp_config --libs 2>/dev/null`
2886 snmp_config_status=$?
2887
2888 if test $snmp_config_status -ne 0
2889 then
2890 with_libnetsnmp="no ($with_snmp_config failed)"
2891 else
2892 AC_CHECK_LIB(netsnmp, init_snmp,
2893 [with_libnetsnmp="yes"],
2894 [with_libnetsnmp="no (libnetsnmp not found)"],
2895 [$with_snmp_libs])
2896 fi
2897fi
2898if test "x$with_libnetsnmp" = "xyes"
2899then
2900 BUILD_WITH_LIBSNMP_CFLAGS="$with_snmp_cflags"
2901 BUILD_WITH_LIBSNMP_LIBS="$with_snmp_libs"
2902 AC_SUBST(BUILD_WITH_LIBSNMP_CFLAGS)
2903 AC_SUBST(BUILD_WITH_LIBSNMP_LIBS)
2904fi
2905AM_CONDITIONAL(BUILD_WITH_LIBNETSNMP, test "x$with_libnetsnmp" = "xyes")
2906# }}}
2907
8757c918 2908# --with-liboconfig {{{
c64b3f3b
SH
2909with_own_liboconfig="no"
2910liboconfig_LDFLAGS="$LDFLAGS"
2911liboconfig_CPPFLAGS="$CPPFLAGS"
2912AC_ARG_WITH(liboconfig, [AS_HELP_STRING([--with-liboconfig@<:@=PREFIX@:>@], [Path to liboconfig.])],
2913[
2914 if test "x$withval" != "xno" && test "x$withval" != "xyes"
2915 then
2916 if test -d "$withval/lib"
2917 then
2918 liboconfig_LDFLAGS="$LDFLAGS -L$withval/lib"
2919 fi
2920 if test -d "$withval/include"
2921 then
2922 liboconfig_CPPFLAGS="$CPPFLAGS -I$withval/include"
2923 fi
2924 fi
2925 if test "x$withval" = "xno"
2926 then
2927 AC_MSG_ERROR("liboconfig is required")
2928 fi
2929],
2930[
2931 with_liboconfig="yes"
2932])
2933
2934save_LDFLAGS="$LDFLAGS"
2935save_CPPFLAGS="$CPPFLAGS"
2936LDFLAGS="$liboconfig_LDFLAGS"
2937CPPFLAGS="$liboconfig_CPPFLAGS"
2938AC_CHECK_LIB(oconfig, oconfig_parse_fh,
2939[
2940 with_liboconfig="yes"
2941 with_own_liboconfig="no"
2942],
2943[
2944 with_liboconfig="yes"
2945 with_own_liboconfig="yes"
2946 LDFLAGS="$save_LDFLAGS"
2947 CPPFLAGS="$save_CPPFLAGS"
2948])
2949
2950AM_CONDITIONAL(BUILD_WITH_OWN_LIBOCONFIG, test "x$with_own_liboconfig" = "xyes")
2951if test "x$with_own_liboconfig" = "xyes"
2952then
2953 with_liboconfig="yes (shipped version)"
2954fi
8757c918 2955# }}}
c64b3f3b 2956
8757c918 2957# --with-liboping {{{
6997fb33
FF
2958AC_ARG_WITH(liboping, [AS_HELP_STRING([--with-liboping@<:@=PREFIX@:>@], [Path to liboping.])],
2959[
0f60795b
FF
2960 if test "x$withval" = "xyes"
2961 then
2962 with_liboping="yes"
2963 else if test "x$withval" = "xno"
2964 then
2965 with_liboping="no"
2966 else
2967 with_liboping="yes"
2968 LIBOPING_CPPFLAGS="$LIBOPING_CPPFLAGS -I$withval/include"
2969 LIBOPING_LDFLAGS="$LIBOPING_LDFLAGS -L$withval/lib"
2970 fi; fi
2971],
2972[with_liboping="yes"])
2973
2974SAVE_CPPFLAGS="$CPPFLAGS"
2975SAVE_LDFLAGS="$LDFLAGS"
2976
2977CPPFLAGS="$CPPFLAGS $LIBOPING_CPPFLAGS"
2978LDFLAGS="$LDFLAGS $LIBOPING_LDFLAGS"
2979
2980if test "x$with_liboping" = "xyes"
2981then
2982 if test "x$LIBOPING_CPPFLAGS" != "x"
6997fb33 2983 then
0f60795b 2984 AC_MSG_NOTICE([liboping CPPFLAGS: $LIBOPING_CPPFLAGS])
6997fb33 2985 fi
0f60795b
FF
2986 AC_CHECK_HEADERS(oping.h,
2987 [with_liboping="yes"],
67d4532f 2988 [with_liboping="no (oping.h not found)"])
0f60795b
FF
2989fi
2990if test "x$with_liboping" = "xyes"
2991then
2992 if test "x$LIBOPING_LDFLAGS" != "x"
fb713675 2993 then
0f60795b
FF
2994 AC_MSG_NOTICE([liboping LDFLAGS: $LIBOPING_LDFLAGS])
2995 fi
2996 AC_CHECK_LIB(oping, ping_construct,
2997 [with_liboping="yes"],
2998 [with_liboping="no (symbol 'ping_construct' not found)"])
2999fi
3000
3001CPPFLAGS="$SAVE_CPPFLAGS"
3002LDFLAGS="$SAVE_LDFLAGS"
6997fb33
FF
3003
3004if test "x$with_liboping" = "xyes"
3005then
0f60795b
FF
3006 BUILD_WITH_LIBOPING_CPPFLAGS="$LIBOPING_CPPFLAGS"
3007 BUILD_WITH_LIBOPING_LDFLAGS="$LIBOPING_LDFLAGS"
3008 AC_SUBST(BUILD_WITH_LIBOPING_CPPFLAGS)
3009 AC_SUBST(BUILD_WITH_LIBOPING_LDFLAGS)
6997fb33
FF
3010fi
3011AM_CONDITIONAL(BUILD_WITH_LIBOPING, test "x$with_liboping" = "xyes")
8757c918 3012# }}}
6997fb33 3013
c87da662 3014# --with-oracle {{{
a737ed74
FF
3015with_oracle_cppflags=""
3016with_oracle_libs=""
3017AC_ARG_WITH(oracle, [AS_HELP_STRING([--with-oracle@<:@=ORACLE_HOME@:>@], [Path to Oracle.])],
3018[
3019 if test "x$withval" = "xyes"
3020 then
3021 if test "x$ORACLE_HOME" = "x"
3022 then
3023 AC_MSG_WARN([Use of the Oracle library has been forced, but the environment variable ORACLE_HOME is not set.])
3024 fi
3025 with_oracle="yes"
3026 else if test "x$withval" = "xno"
3027 then
3028 with_oracle="no"
3029 else
3030 with_oracle="yes"
3031 ORACLE_HOME="$withval"
3032 fi; fi
3033],
3034[
3035 if test "x$ORACLE_HOME" = "x"
3036 then
3037 with_oracle="no (ORACLE_HOME is not set)"
3038 else
3039 with_oracle="yes"
3040 fi
3041])
3042if test "x$ORACLE_HOME" != "x"
3043then
3044 with_oracle_cppflags="-I$ORACLE_HOME/rdbms/public"
3045
3046 if test -e "$ORACLE_HOME/lib/ldflags"
3047 then
3048 with_oracle_libs=`cat "$ORACLE_HOME/lib/ldflags"`
3049 fi
3050 #with_oracle_libs="-L$ORACLE_HOME/lib $with_oracle_libs -lclntsh"
3051 with_oracle_libs="-L$ORACLE_HOME/lib -lclntsh"
3052fi
3053if test "x$with_oracle" = "xyes"
3054then
3055 SAVE_CPPFLAGS="$CPPFLAGS"
3056 CPPFLAGS="$CPPFLAGS $with_oracle_cppflags"
3057
3058 AC_CHECK_HEADERS(oci.h, [with_oracle="yes"], [with_oracle="no (oci.h not found)"])
3059
3060 CPPFLAGS="$SAVE_CPPFLAGS"
3061fi
3062if test "x$with_oracle" = "xyes"
3063then
3064 SAVE_CPPFLAGS="$CPPFLAGS"
f7159bab 3065 SAVE_LIBS="$LIBS"
a737ed74 3066 CPPFLAGS="$CPPFLAGS $with_oracle_cppflags"
3b502dfd 3067 LIBS="$LIBS $with_oracle_libs"
a737ed74
FF
3068
3069 AC_CHECK_FUNC(OCIEnvCreate, [with_oracle="yes"], [with_oracle="no (Symbol 'OCIEnvCreate' not found)"])
3070
3071 CPPFLAGS="$SAVE_CPPFLAGS"
3b502dfd 3072 LIBS="$SAVE_LIBS"
a737ed74
FF
3073fi
3074if test "x$with_oracle" = "xyes"
3075then
3076 BUILD_WITH_ORACLE_CFLAGS="$with_oracle_cppflags"
3077 BUILD_WITH_ORACLE_LIBS="$with_oracle_libs"
3078 AC_SUBST(BUILD_WITH_ORACLE_CFLAGS)
3079 AC_SUBST(BUILD_WITH_ORACLE_LIBS)
3080fi
c87da662 3081# }}}
a737ed74 3082
8757c918 3083# --with-libowcapi {{{
11ba6e7c
FF
3084with_libowcapi_cppflags=""
3085with_libowcapi_libs="-lowcapi"
3086AC_ARG_WITH(libowcapi, [AS_HELP_STRING([--with-libowcapi@<:@=PREFIX@:>@], [Path to libowcapi.])],
3087[
3088 if test "x$withval" != "xno" && test "x$withval" != "xyes"
3089 then
3090 with_libowcapi_cppflags="-I$withval/include"
3091 with_libowcapi_libs="-L$withval/lib -lowcapi"
3092 with_libowcapi="yes"
3093 else
3094 with_libowcapi="$withval"
3095 fi
3096],
3097[
3098 with_libowcapi="yes"
3099])
3100if test "x$with_libowcapi" = "xyes"
3101then
3102 SAVE_CPPFLAGS="$CPPFLAGS"
3103 CPPFLAGS="$with_libowcapi_cppflags"
630e3bba 3104
11ba6e7c
FF
3105 AC_CHECK_HEADERS(owcapi.h, [with_libowcapi="yes"], [with_libowcapi="no (owcapi.h not found)"])
3106
3107 CPPFLAGS="$SAVE_CPPFLAGS"
3108fi
3109if test "x$with_libowcapi" = "xyes"
3110then
3111 SAVE_LDFLAGS="$LDFLAGS"
3112 SAVE_CPPFLAGS="$CPPFLAGS"
3113 LDFLAGS="$with_libowcapi_libs"
3114 CPPFLAGS="$with_libowcapi_cppflags"
630e3bba 3115
11ba6e7c
FF
3116 AC_CHECK_LIB(owcapi, OW_get, [with_libowcapi="yes"], [with_libowcapi="no (libowcapi not found)"])
3117
3118 LDFLAGS="$SAVE_LDFLAGS"
3119 CPPFLAGS="$SAVE_CPPFLAGS"
3120fi
3121if test "x$with_libowcapi" = "xyes"
3122then
3123 BUILD_WITH_LIBOWCAPI_CPPFLAGS="$with_libowcapi_cppflags"
3124 BUILD_WITH_LIBOWCAPI_LIBS="$with_libowcapi_libs"
3125 AC_SUBST(BUILD_WITH_LIBOWCAPI_CPPFLAGS)
3126 AC_SUBST(BUILD_WITH_LIBOWCAPI_LIBS)
3127fi
8757c918 3128# }}}
11ba6e7c 3129
8757c918 3130# --with-libpcap {{{
dd7a9bc9
FF
3131AC_ARG_WITH(libpcap, [AS_HELP_STRING([--with-libpcap@<:@=PREFIX@:>@], [Path to libpcap.])],
3132[
3133 if test "x$withval" != "xno" && test "x$withval" != "xyes"
3134 then
3135 LDFLAGS="$LDFLAGS -L$withval/lib"
3136 CPPFLAGS="$CPPFLAGS -I$withval/include"
3137 with_libpcap="yes"
fb713675
SH
3138 else
3139 with_libpcap="$withval"
dd7a9bc9
FF
3140 fi
3141],
3142[
3143 with_libpcap="yes"
3144])
3145if test "x$with_libpcap" = "xyes"
3146then
3147 AC_CHECK_LIB(pcap, pcap_open_live,
3148 [
3149 AC_DEFINE(HAVE_LIBPCAP, 1, [Define to 1 if you have the pcap library (-lpcap).])
3150 ], [with_libpcap="no (libpcap not found)"])
3151fi
3152if test "x$with_libpcap" = "xyes"
3153then
589c5f25
FF
3154 AC_CHECK_HEADERS(pcap.h,,
3155 [with_libpcap="no (pcap.h not found)"])
dd7a9bc9
FF
3156fi
3157if test "x$with_libpcap" = "xyes"
3158then
135fcb2f
FF
3159 AC_CHECK_HEADERS(pcap-bpf.h,,
3160 [with_libpcap="no (pcap-bpf.h not found)"])
dd7a9bc9 3161fi
5fea70db
MF
3162if test "x$with_libpcap" = "xyes"
3163then
3164 AC_CACHE_CHECK([whether libpcap has PCAP_ERROR_IFACE_NOT_UP],
3165 [c_cv_libpcap_have_pcap_error_iface_not_up],
3166 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
3167[[[
3168#include <pcap.h>
3169]]],
3170[[[
3171 int val = PCAP_ERROR_IFACE_NOT_UP;
3172]]]
3173 )],
3174 [c_cv_libpcap_have_pcap_error_iface_not_up="yes"],
3175 [c_cv_libpcap_have_pcap_error_iface_not_up="no"]))
3176fi
3177if test "x$c_cv_libpcap_have_pcap_error_iface_not_up" != "xyes"
3178then
3179 with_libpcap="no (pcap.h misses PCAP_ERROR_IFACE_NOT_UP)"
3180fi
92f43553 3181AM_CONDITIONAL(BUILD_WITH_LIBPCAP, test "x$with_libpcap" = "xyes")
8757c918 3182# }}}
dd7a9bc9 3183
975e7fd6
FF
3184# --with-libperl {{{
3185perl_interpreter="perl"
3186AC_ARG_WITH(libperl, [AS_HELP_STRING([--with-libperl@<:@=PREFIX@:>@], [Path to libperl.])],
a1dd93a2 3187[
aa4d1f79 3188 if test -f "$withval" && test -x "$withval"
975e7fd6
FF
3189 then
3190 perl_interpreter="$withval"
3191 with_libperl="yes"
3192 else if test "x$withval" != "xno" && test "x$withval" != "xyes"
a1dd93a2
OK
3193 then
3194 LDFLAGS="$LDFLAGS -L$withval/lib"
975e7fd6
FF
3195 CPPFLAGS="$CPPFLAGS -I$withval/include"
3196 perl_interpreter="$withval/bin/perl"
3197 with_libperl="yes"
a1dd93a2 3198 else
975e7fd6
FF
3199 with_libperl="$withval"
3200 fi; fi
a1dd93a2
OK
3201],
3202[
975e7fd6 3203 with_libperl="yes"
a432a981 3204])
a459afe5 3205
f1075c22
SH
3206AC_MSG_CHECKING([for perl])
3207perl_interpreter=`which "$perl_interpreter" 2> /dev/null`
3208if test -x "$perl_interpreter"
3209then
a791a086 3210 AC_MSG_RESULT([yes ($perl_interpreter)])
f1075c22
SH
3211else
3212 perl_interpreter=""
3213 AC_MSG_RESULT([no])
3214fi
3215
a459afe5
SH
3216AC_SUBST(PERL, "$perl_interpreter")
3217
d45c77ca
FF
3218if test "x$with_libperl" = "xyes" \
3219 && test -n "$perl_interpreter"
a432a981 3220then
4519a3ef 3221 SAVE_CFLAGS="$CFLAGS"
cd15f837 3222 SAVE_LIBS="$LIBS"
068e095e
DM
3223dnl ARCHFLAGS="" -> disable multi -arch on OSX (see Config_heavy.pl:fetch_string)
3224 PERL_CFLAGS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ccopts`
cd15f837 3225 PERL_LIBS=`ARCHFLAGS="" $perl_interpreter -MExtUtils::Embed -e ldopts`
3acac9b0 3226 CFLAGS="$CFLAGS $PERL_CFLAGS"
cd15f837 3227 LIBS="$LIBS $PERL_LIBS"
a432a981
FF
3228
3229 AC_CACHE_CHECK([for libperl],
5f5da97b 3230 [c_cv_have_libperl],
e0552af6
FF
3231 AC_LINK_IFELSE([AC_LANG_PROGRAM(
3232[[[
0be8165a 3233#define PERL_NO_GET_CONTEXT
a432a981
FF
3234#include <EXTERN.h>
3235#include <perl.h>
3236#include <XSUB.h>
e0552af6
FF
3237]]],
3238[[[
0be8165a
SH
3239 dTHX;
3240 load_module (PERL_LOADMOD_NOIMPORT,
3acac9b0 3241 newSVpv ("Collectd::Plugin::FooBar", 24),
a432a981 3242 Nullsv);
e0552af6
FF
3243]]]
3244 )],
5f5da97b
SH
3245 [c_cv_have_libperl="yes"],
3246 [c_cv_have_libperl="no"]
a432a981
FF
3247 )
3248 )
3249
5f5da97b 3250 if test "x$c_cv_have_libperl" = "xyes"
a432a981
FF
3251 then
3252 AC_DEFINE(HAVE_LIBPERL, 1, [Define if libperl is present and usable.])
3acac9b0 3253 AC_SUBST(PERL_CFLAGS)
cd15f837 3254 AC_SUBST(PERL_LIBS)
a432a981
FF
3255 else
3256 with_libperl="no"
3257 fi
3258
4519a3ef 3259 CFLAGS="$SAVE_CFLAGS"
cd15f837 3260 LIBS="$SAVE_LIBS"
f1075c22
SH
3261else if test -z "$perl_interpreter"; then
3262 with_libperl="no (no perl interpreter found)"
5f5da97b 3263 c_cv_have_libperl="no"
f1075c22 3264fi; fi
a432a981
FF
3265AM_CONDITIONAL(BUILD_WITH_LIBPERL, test "x$with_libperl" = "xyes")
3266
28785769
SH
3267if test "x$with_libperl" = "xyes"
3268then
4519a3ef 3269 SAVE_CFLAGS="$CFLAGS"
cd15f837 3270 SAVE_LIBS="$LIBS"
28785769 3271 CFLAGS="$CFLAGS $PERL_CFLAGS"
cd15f837 3272 LIBS="$LIBS $PERL_LIBS"
28785769
SH
3273
3274 AC_CACHE_CHECK([if perl supports ithreads],
5f5da97b 3275 [c_cv_have_perl_ithreads],
e0552af6
FF
3276 AC_LINK_IFELSE([AC_LANG_PROGRAM(
3277[[[
28785769
SH
3278#include <EXTERN.h>
3279#include <perl.h>
3280#include <XSUB.h>
3281
3282#if !defined(USE_ITHREADS)
3283# error "Perl does not support ithreads!"
3284#endif /* !defined(USE_ITHREADS) */
e0552af6
FF
3285]]],
3286[[[ ]]]
3287 )],
5f5da97b
SH
3288 [c_cv_have_perl_ithreads="yes"],
3289 [c_cv_have_perl_ithreads="no"]
28785769
SH
3290 )
3291 )
3292
5f5da97b 3293 if test "x$c_cv_have_perl_ithreads" = "xyes"
28785769
SH
3294 then
3295 AC_DEFINE(HAVE_PERL_ITHREADS, 1, [Define if Perl supports ithreads.])
3296 fi
3297
4519a3ef 3298 CFLAGS="$SAVE_CFLAGS"
cd15f837 3299 LIBS="$SAVE_LIBS"
28785769 3300fi
037645b1
SH
3301
3302if test "x$with_libperl" = "xyes"
3303then
4519a3ef 3304 SAVE_CFLAGS="$CFLAGS"
cd15f837 3305 SAVE_LIBS="$LIBS"
037645b1
SH
3306 # trigger an error if Perl_load_module*() uses __attribute__nonnull__(3)
3307 # (see issues #41 and #42)
3308 CFLAGS="$CFLAGS $PERL_CFLAGS -Wall -Werror"
cd15f837 3309 LIBS="$LIBS $PERL_LIBS"
037645b1
SH
3310
3311 AC_CACHE_CHECK([for broken Perl_load_module()],
b1d3856d 3312 [c_cv_have_broken_perl_load_module],
e0552af6
FF
3313 AC_LINK_IFELSE([AC_LANG_PROGRAM(
3314[[[
037645b1
SH
3315#define PERL_NO_GET_CONTEXT
3316#include <EXTERN.h>
3317#include <perl.h>
3318#include <XSUB.h>
e0552af6
FF
3319]]],
3320[[[
037645b1
SH
3321 dTHX;
3322 load_module (PERL_LOADMOD_NOIMPORT,
3323 newSVpv ("Collectd::Plugin::FooBar", 24),
3324 Nullsv);
e0552af6
FF
3325]]]
3326 )],
b1d3856d
FF
3327 [c_cv_have_broken_perl_load_module="no"],
3328 [c_cv_have_broken_perl_load_module="yes"]
037645b1
SH
3329 )
3330 )
3331
4519a3ef 3332 CFLAGS="$SAVE_CFLAGS"
cd15f837 3333 LIBS="$SAVE_LIBS"
037645b1 3334fi
61c19cc1 3335AM_CONDITIONAL(HAVE_BROKEN_PERL_LOAD_MODULE,
b1d3856d 3336 test "x$c_cv_have_broken_perl_load_module" = "xyes")
388dfe0e
SH
3337
3338if test "x$with_libperl" = "xyes"
3339then
4519a3ef 3340 SAVE_CFLAGS="$CFLAGS"
cd15f837 3341 SAVE_LIBS="$LIBS"
388dfe0e 3342 CFLAGS="$CFLAGS $PERL_CFLAGS"
cd15f837 3343 LIBS="$LIBS $PERL_LIBS"
388dfe0e
SH
3344
3345 AC_CHECK_MEMBER(
3346 [struct mgvtbl.svt_local],
3347 [have_struct_mgvtbl_svt_local="yes"],
3348 [have_struct_mgvtbl_svt_local="no"],
3349 [
3350#include <EXTERN.h>
3351#include <perl.h>
3352#include <XSUB.h>
3353 ])
3354
3355 if test "x$have_struct_mgvtbl_svt_local" = "xyes"
3356 then
3357 AC_DEFINE(HAVE_PERL_STRUCT_MGVTBL_SVT_LOCAL, 1,
3358 [Define if Perl's struct mgvtbl has member svt_local.])
3359 fi
3360
4519a3ef 3361 CFLAGS="$SAVE_CFLAGS"
cd15f837 3362 LIBS="$SAVE_LIBS"
388dfe0e 3363fi
8757c918 3364# }}}
28785769 3365
975e7fd6
FF
3366# --with-libpq {{{
3367with_pg_config="pg_config"
3368with_libpq_includedir=""
3369with_libpq_libdir=""
3370with_libpq_cppflags=""
3371with_libpq_ldflags=""
3372AC_ARG_WITH(libpq, [AS_HELP_STRING([--with-libpq@<:@=PREFIX@:>@],
3373 [Path to libpq.])],
c02ba630 3374[
7f45f5b3 3375 if test "x$withval" = "xno"
c39428ae 3376 then
975e7fd6 3377 with_libpq="no"
ae03d749 3378 else if test "x$withval" = "xyes"
c02ba630 3379 then
975e7fd6 3380 with_libpq="yes"
c39428ae 3381 else
975e7fd6 3382 if test -f "$withval" && test -x "$withval";
c39428ae 3383 then
975e7fd6
FF
3384 with_pg_config="$withval"
3385 else if test -x "$withval/bin/pg_config"
3386 then
3387 with_pg_config="$withval/bin/pg_config"
3388 fi; fi
3389 with_libpq="yes"
c39428ae 3390 fi; fi
c02ba630 3391],
975e7fd6
FF
3392[
3393 with_libpq="yes"
3394])
3395if test "x$with_libpq" = "xyes"
c02ba630 3396then
975e7fd6
FF
3397 with_libpq_includedir=`$with_pg_config --includedir 2> /dev/null`
3398 pg_config_status=$?
c39428ae 3399
975e7fd6 3400 if test $pg_config_status -eq 0
c39428ae 3401 then
975e7fd6
FF
3402 if test -n "$with_libpq_includedir"; then
3403 for dir in $with_libpq_includedir; do
3404 with_libpq_cppflags="$with_libpq_cppflags -I$dir"
3405 done
3406 fi
c39428ae 3407 else
975e7fd6 3408 AC_MSG_WARN([$with_pg_config returned with status $pg_config_status])
c39428ae 3409 fi
975e7fd6
FF
3410
3411 SAVE_CPPFLAGS="$CPPFLAGS"
3412 CPPFLAGS="$CPPFLAGS $with_libpq_cppflags"
3413
3414 AC_CHECK_HEADERS(libpq-fe.h, [],
3415 [with_libpq="no (libpq-fe.h not found)"], [])
3416
3417 CPPFLAGS="$SAVE_CPPFLAGS"
c02ba630 3418fi
975e7fd6 3419if test "x$with_libpq" = "xyes"
c02ba630 3420then
975e7fd6
FF
3421 with_libpq_libdir=`$with_pg_config --libdir 2> /dev/null`
3422 pg_config_status=$?
c39428ae 3423
975e7fd6 3424 if test $pg_config_status -eq 0
c39428ae 3425 then
975e7fd6
FF
3426 if test -n "$with_libpq_libdir"; then
3427 for dir in $with_libpq_libdir; do
3428 with_libpq_ldflags="$with_libpq_ldflags -L$dir"
3429 done
3430 fi
c39428ae 3431 else
975e7fd6 3432 AC_MSG_WARN([$with_pg_config returned with status $pg_config_status])
c39428ae 3433 fi
975e7fd6
FF
3434
3435 SAVE_LDFLAGS="$LDFLAGS"
3436 LDFLAGS="$LDFLAGS $with_libpq_ldflags"
3437
3438 AC_CHECK_LIB(pq, PQconnectdb,
3439 [with_libpq="yes"],
3440 [with_libpq="no (symbol 'PQconnectdb' not found)"])
3441
351026b0
DM
3442 AC_CHECK_LIB(pq, PQserverVersion,
3443 [with_libpq="yes"],
3444 [with_libpq="no (symbol 'PQserverVersion' not found)"])
3445
975e7fd6 3446 LDFLAGS="$SAVE_LDFLAGS"
c39428ae 3447fi
975e7fd6 3448if test "x$with_libpq" = "xyes"
c39428ae 3449then
975e7fd6
FF
3450 BUILD_WITH_LIBPQ_CPPFLAGS="$with_libpq_cppflags"
3451 BUILD_WITH_LIBPQ_LDFLAGS="$with_libpq_ldflags"
3452 AC_SUBST(BUILD_WITH_LIBPQ_CPPFLAGS)
3453 AC_SUBST(BUILD_WITH_LIBPQ_LDFLAGS)
c02ba630 3454fi
975e7fd6 3455AM_CONDITIONAL(BUILD_WITH_LIBPQ, test "x$with_libpq" = "xyes")
8757c918 3456# }}}
c02ba630 3457
975e7fd6
FF
3458# --with-libpthread {{{
3459AC_ARG_WITH(libpthread, [AS_HELP_STRING([--with-libpthread=@<:@=PREFIX@:>@], [Path to libpthread.])],
3460[ if test "x$withval" != "xno" \
3461 && test "x$withval" != "xyes"
bc2d9402 3462 then
975e7fd6
FF
3463 LDFLAGS="$LDFLAGS -L$withval/lib"
3464 CPPFLAGS="$CPPFLAGS -I$withval/include"
3465 with_libpthread="yes"
bcb24183 3466 else
975e7fd6
FF
3467 if test "x$withval" = "xno"
3468 then
3469 with_libpthread="no (disabled)"
3470 fi
bc2d9402 3471 fi
975e7fd6
FF
3472], [with_libpthread="yes"])
3473if test "x$with_libpthread" = "xyes"
3fc0feb6 3474then
975e7fd6 3475 AC_CHECK_LIB(pthread, pthread_create, [with_libpthread="yes"], [with_libpthread="no (libpthread not found)"], [])
3fc0feb6 3476fi
24cae1ec 3477
975e7fd6 3478if test "x$with_libpthread" = "xyes"
1398c68c 3479then
975e7fd6 3480 AC_CHECK_HEADERS(pthread.h,, [with_libpthread="no (pthread.h not found)"])
1398c68c 3481fi
975e7fd6
FF
3482if test "x$with_libpthread" = "xyes"
3483then
3484 collect_pthread=1
3485else
3486 collect_pthread=0
3487fi
3488AC_DEFINE_UNQUOTED(HAVE_LIBPTHREAD, [$collect_pthread],
3489 [Wether or not to use pthread (POSIX threads) library])
3490AM_CONDITIONAL(BUILD_WITH_LIBPTHREAD, test "x$with_libpthread" = "xyes")
3491# }}}
3492
b8c32e9f
FF
3493# --with-python {{{
3494with_python_prog=""
3495with_python_path="$PATH"
3496AC_ARG_WITH(python, [AS_HELP_STRING([--with-python@<:@=PREFIX@:>@], [Path to the python interpreter.])],
3497[
3498 if test "x$withval" = "xyes" || test "x$withval" = "xno"
3499 then
3500 with_python="$withval"
3501 else if test -x "$withval"
3502 then
3503 with_python_prog="$withval"
3504 with_python_path="`dirname \"$withval\"`$PATH_SEPARATOR$with_python_path"
3505 with_python="yes"
3506 else if test -d "$withval"
3507 then
3508 with_python_path="$withval$PATH_SEPARATOR$with_python_path"
3509 with_python="yes"
3510 else
3511 AC_MSG_WARN([Argument not recognized: $withval])
3512 fi; fi; fi
3513], [with_python="yes"])
3514
3515SAVE_PATH="$PATH"
68362bd8
FF
3516SAVE_CPPFLAGS="$CPPFLAGS"
3517SAVE_LDFLAGS="$LDFLAGS"
3518SAVE_LIBS="$LIBS"
3519
b8c32e9f
FF
3520PATH="$with_python_path"
3521
3522if test "x$with_python" = "xyes" && test "x$with_python_prog" = "x"
3523then
3524 AC_MSG_CHECKING([for python])
3525 with_python_prog="`which python 2>/dev/null`"
3526 if test "x$with_python_prog" = "x"
3527 then
3528 AC_MSG_RESULT([not found])
3529 with_python="no (interpreter not found)"
3530 else
3531 AC_MSG_RESULT([$with_python_prog])
3532 fi
3533fi
3534
b8c32e9f
FF
3535if test "x$with_python" = "xyes"
3536then
3537 AC_MSG_CHECKING([for Python CPPFLAGS])
b9934400 3538 python_include_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_python_inc())" | "$with_python_prog" 2>&1`
b8c32e9f
FF
3539 python_config_status=$?
3540
3541 if test "$python_config_status" -ne 0 || test "x$python_include_path" = "x"
3542 then
563b2bdd 3543 AC_MSG_RESULT([failed with status $python_config_status (output: $python_include_path)])
b8c32e9f
FF
3544 with_python="no"
3545 else
3546 AC_MSG_RESULT([$python_include_path])
3547 fi
3548fi
3549
68362bd8
FF
3550if test "x$with_python" = "xyes"
3551then
3552 CPPFLAGS="-I$python_include_path $CPPFLAGS"
3553 AC_CHECK_HEADERS(Python.h,
3554 [with_python="yes"],
3555 [with_python="no ('Python.h' not found)"])
3556fi
3557
b8c32e9f
FF
3558if test "x$with_python" = "xyes"
3559then
3560 AC_MSG_CHECKING([for Python LDFLAGS])
b9934400 3561 python_library_path=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"LIBDIR\").__getitem__(0))" | "$with_python_prog" 2>&1`
b8c32e9f
FF
3562 python_config_status=$?
3563
3564 if test "$python_config_status" -ne 0 || test "x$python_library_path" = "x"
3565 then
563b2bdd 3566 AC_MSG_RESULT([failed with status $python_config_status (output: $python_library_path)])
b8c32e9f
FF
3567 with_python="no"
3568 else
3569 AC_MSG_RESULT([$python_library_path])
3570 fi
3571fi
3572
3573if test "x$with_python" = "xyes"
3574then
3575 AC_MSG_CHECKING([for Python LIBS])
b9934400 3576 python_library_flags=`echo "import distutils.sysconfig;import sys;sys.stdout.write(distutils.sysconfig.get_config_vars(\"BLDLIBRARY\").__getitem__(0))" | "$with_python_prog" 2>&1`
b8c32e9f
FF
3577 python_config_status=$?
3578
3579 if test "$python_config_status" -ne 0 || test "x$python_library_flags" = "x"
3580 then
563b2bdd 3581 AC_MSG_RESULT([failed with status $python_config_status (output: $python_library_flags)])
b8c32e9f
FF
3582 with_python="no"
3583 else
3584 AC_MSG_RESULT([$python_library_flags])
3585 fi
3586fi
3587
68362bd8
FF
3588if test "x$with_python" = "xyes"
3589then
3590 LDFLAGS="-L$python_library_path $LDFLAGS"
3591 LIBS="$python_library_flags $LIBS"
3592
3593 AC_CHECK_FUNC(PyObject_CallFunction,
3594 [with_python="yes"],
3595 [with_python="no (Symbol 'PyObject_CallFunction' not found)"])
3596fi
3597
3598PATH="$SAVE_PATH"
3599CPPFLAGS="$SAVE_CPPFLAGS"
3600LDFLAGS="$SAVE_LDFLAGS"
3601LIBS="$SAVE_LIBS"
3602
b8c32e9f
FF
3603if test "x$with_python" = "xyes"
3604then
3605 BUILD_WITH_PYTHON_CPPFLAGS="-I$python_include_path"
3606 BUILD_WITH_PYTHON_LDFLAGS="-L$python_library_path"
3607 BUILD_WITH_PYTHON_LIBS="$python_library_flags"
3608 AC_SUBST(BUILD_WITH_PYTHON_CPPFLAGS)
3609 AC_SUBST(BUILD_WITH_PYTHON_LDFLAGS)
3610 AC_SUBST(BUILD_WITH_PYTHON_LIBS)
3611fi
3612# }}} --with-python
3613
3e77c9e8
FF
3614# --with-librabbitmq {{{
3615with_librabbitmq_cppflags=""
3616with_librabbitmq_ldflags=""
3617AC_ARG_WITH(librabbitmq, [AS_HELP_STRING([--with-librabbitmq@<:@=PREFIX@:>@], [Path to librabbitmq.])],
3618[
3619 if test "x$withval" != "xno" && test "x$withval" != "xyes"
3620 then
3621 with_librabbitmq_cppflags="-I$withval/include"
3622 with_librabbitmq_ldflags="-L$withval/lib"
3623 with_librabbitmq="yes"
3624 else
3625 with_librabbitmq="$withval"
3626 fi
3627],
3628[
3629 with_librabbitmq="yes"
3630])
8991abf9
FF
3631SAVE_CPPFLAGS="$CPPFLAGS"
3632SAVE_LDFLAGS="$LDFLAGS"
3633CPPFLAGS="$CPPFLAGS $with_librabbitmq_cppflags"
3634LDFLAGS="$LDFLAGS $with_librabbitmq_ldflags"
3e77c9e8
FF
3635if test "x$with_librabbitmq" = "xyes"
3636then
3e77c9e8 3637 AC_CHECK_HEADERS(amqp.h, [with_librabbitmq="yes"], [with_librabbitmq="no (amqp.h not found)"])
3e77c9e8
FF
3638fi
3639if test "x$with_librabbitmq" = "xyes"
3640then
8991abf9
FF
3641 # librabbitmq up to version 0.9.1 provides "library_errno", later
3642 # versions use "library_error". The library does not provide a version
3643 # macro :( Use "AC_CHECK_MEMBERS" (plural) for automatic defines.
3644 AC_CHECK_MEMBERS([amqp_rpc_reply_t.library_errno],,,
3645 [
3646#if HAVE_STDLIB_H
3647# include <stdlib.h>
3648#endif
3649#if HAVE_STDIO_H
3650# include <stdio.h>
3651#endif
3652#if HAVE_STDINT_H
3653# include <stdint.h>
3654#endif
3655#if HAVE_INTTYPES_H
3656# include <inttypes.h>
3657#endif
3658#include <amqp.h>
3659 ])
3660fi
3661if test "x$with_librabbitmq" = "xyes"
3662then
3e77c9e8 3663 AC_CHECK_LIB(rabbitmq, amqp_basic_publish, [with_librabbitmq="yes"], [with_librabbitmq="no (Symbol 'amqp_basic_publish' not found)"])
3e77c9e8
FF
3664fi
3665if test "x$with_librabbitmq" = "xyes"
3666then
3667 BUILD_WITH_LIBRABBITMQ_CPPFLAGS="$with_librabbitmq_cppflags"
3668 BUILD_WITH_LIBRABBITMQ_LDFLAGS="$with_librabbitmq_ldflags"
3669 BUILD_WITH_LIBRABBITMQ_LIBS="-lrabbitmq"
3670 AC_SUBST(BUILD_WITH_LIBRABBITMQ_CPPFLAGS)
3671 AC_SUBST(BUILD_WITH_LIBRABBITMQ_LDFLAGS)
3672 AC_SUBST(BUILD_WITH_LIBRABBITMQ_LIBS)
3673 AC_DEFINE(HAVE_LIBRABBITMQ, 1, [Define if librabbitmq is present and usable.])
3674fi
8991abf9
FF
3675CPPFLAGS="$SAVE_CPPFLAGS"
3676LDFLAGS="$SAVE_LDFLAGS"
3e77c9e8 3677AM_CONDITIONAL(BUILD_WITH_LIBRABBITMQ, test "x$with_librabbitmq" = "xyes")
1a477ecb
SH
3678
3679with_amqp_tcp_socket="no"
3680if test "x$with_librabbitmq" = "xyes"
3681then
3682 SAVE_CPPFLAGS="$CPPFLAGS"
3683 SAVE_LDFLAGS="$LDFLAGS"
1c04bafe 3684 SAVE_LIBS="$LIBS"
1a477ecb 3685 CPPFLAGS="$CPPFLAGS $with_librabbitmq_cppflags"
1c04bafe
SH
3686 LDFLAGS="$LDFLAGS $with_librabbitmq_ldflags"
3687 LIBS="-lrabbitmq"
1a477ecb
SH
3688
3689 AC_CHECK_HEADERS(amqp_tcp_socket.h amqp_socket.h)
3690 AC_CHECK_FUNC(amqp_tcp_socket_new, [with_amqp_tcp_socket="yes"], [with_amqp_tcp_socket="no"])
3691 if test "x$with_amqp_tcp_socket" = "xyes"
3692 then
3693 AC_DEFINE(HAVE_AMQP_TCP_SOCKET, 1,
3694 [Define if librabbitmq provides the new TCP socket interface.])
3695 fi
3696
3697 AC_CHECK_DECLS(amqp_socket_close,
3698 [amqp_socket_close_decl="yes"], [amqp_socket_close_decl="no"],
3699 [[
3700#include <amqp.h>
3701#ifdef HAVE_AMQP_TCP_SOCKET_H
3702# include <amqp_tcp_socket.h>
3703#endif
3704#ifdef HAVE_AMQP_SOCKET_H
3705# include <amqp_socket.h>
3706#endif
3707 ]])
3708
3709 CPPFLAGS="$SAVE_CPPFLAGS"
3710 LDFLAGS="$SAVE_LDFLAGS"
1c04bafe 3711 LIBS="$SAVE_LIBS"
1a477ecb 3712fi
3e77c9e8
FF
3713# }}}
3714
630e3bba
PYR
3715# --with-librdkafka {{{
3716AC_ARG_WITH(librdkafka, [AS_HELP_STRING([--with-librdkafka@<:@=PREFIX@:>@], [Path to librdkafka.])],
3717[
3718 if test "x$withval" = "xno" && test "x$withval" != "xyes"
3719 then
3720 with_librdkafka_cppflags="-I$withval/include"
3721 with_librdkafka_ldflags="-L$withval/lib"
3722 with_librdkafka="yes"
3723 else
3724 with_librdkafka="$withval"
3725 fi
3726],
3727[
3728 with_librdkafka="yes"
3729])
3730SAVE_CPPFLAGS="$CPPFLAGS"
3731SAVE_LDFLAGS="$LDFLAGS"
3732
3733if test "x$with_librdkafka" = "xyes"
3734then
3735 AC_CHECK_HEADERS(librdkafka/rdkafka.h, [with_librdkafka="yes"], [with_librdkafka="no (librdkafka/rdkafka.h not found)"])
3736fi
3737
3738if test "x$with_librdkafka" = "xyes"
3739then
3740 AC_CHECK_LIB(rdkafka, rd_kafka_new, [with_librdkafka="yes"], [with_librdkafka="no (Symbol 'rd_kafka_new' not found)"])
19d5c74d
PYR
3741 AC_CHECK_LIB(rdkafka, rd_kafka_conf_set_log_cb, [with_librdkafka_log_cb="yes"], [with_librdkafka_log_cb="no"])
3742 AC_CHECK_LIB(rdkafka, rd_kafka_conf_set_logger, [with_librdkafka_logger="yes"], [with_librdkafka_logger="no"])
630e3bba
PYR
3743fi
3744if test "x$with_librdkafka" = "xyes"
3745then
3746 BUILD_WITH_LIBRDKAFKA_CPPFLAGS="$with_librdkafka_cppflags"
3747 BUILD_WITH_LIBRDKAFKA_LDFLAGS="$with_librdkafka_ldflags"
3748 BUILD_WITH_LIBRDKAFKA_LIBS="-lrdkafka"
3749 AC_SUBST(BUILD_WITH_LIBRDKAFKA_CPPFLAGS)
3750 AC_SUBST(BUILD_WITH_LIBRDKAFKA_LDFLAGS)
3751 AC_SUBST(BUILD_WITH_LIBRDKAFKA_LIBS)
3752 AC_DEFINE(HAVE_LIBRDKAFKA, 1, [Define if librdkafka is present and usable.])
19d5c74d 3753 if test "x$with_librdkafka_log_cb" = "xyes"
480d66bb 3754 then
19d5c74d
PYR
3755 AC_DEFINE(HAVE_LIBRDKAFKA_LOG_CB, 1, [Define if librdkafka log facility is present and usable.])
3756 fi
3757 if test "x$with_librdkafka_logger" = "xyes"
3758 then
3759 AC_DEFINE(HAVE_LIBRDKAFKA_LOGGER, 1, [Define if librdkafka log facility is present and usable.])
480d66bb 3760 fi
630e3bba
PYR
3761fi
3762CPPFLAGS="$SAVE_CPPFLAGS"
3763LDFLAGS="$SAVE_LDFLAGS"
3764AM_CONDITIONAL(BUILD_WITH_LIBRDKAFKA, test "x$with_librdkafka" = "xyes")
3765
3766# }}}
3767
f51548ec
FF
3768# --with-librouteros {{{
3769AC_ARG_WITH(librouteros, [AS_HELP_STRING([--with-librouteros@<:@=PREFIX@:>@], [Path to librouteros.])],
3770[
3771 if test "x$withval" = "xyes"
3772 then
3773 with_librouteros="yes"
3774 else if test "x$withval" = "xno"
3775 then
3776 with_librouteros="no"
3777 else
3778 with_librouteros="yes"
3779 LIBROUTEROS_CPPFLAGS="$LIBROUTEROS_CPPFLAGS -I$withval/include"
3780 LIBROUTEROS_LDFLAGS="$LIBROUTEROS_LDFLAGS -L$withval/lib"
3781 fi; fi
3782],
3783[with_librouteros="yes"])
3784
3785SAVE_CPPFLAGS="$CPPFLAGS"
3786SAVE_LDFLAGS="$LDFLAGS"
3787
3788CPPFLAGS="$CPPFLAGS $LIBROUTEROS_CPPFLAGS"
3789LDFLAGS="$LDFLAGS $LIBROUTEROS_LDFLAGS"
3790
3791if test "x$with_librouteros" = "xyes"
3792then
3793 if test "x$LIBROUTEROS_CPPFLAGS" != "x"
3794 then
3795 AC_MSG_NOTICE([librouteros CPPFLAGS: $LIBROUTEROS_CPPFLAGS])
3796 fi
3797 AC_CHECK_HEADERS(routeros_api.h,
3798 [with_librouteros="yes"],
67d4532f 3799 [with_librouteros="no (routeros_api.h not found)"])
f51548ec
FF
3800fi
3801if test "x$with_librouteros" = "xyes"
3802then
3803 if test "x$LIBROUTEROS_LDFLAGS" != "x"
3804 then
3805 AC_MSG_NOTICE([librouteros LDFLAGS: $LIBROUTEROS_LDFLAGS])
3806 fi
3807 AC_CHECK_LIB(routeros, ros_interface,
3808 [with_librouteros="yes"],
3809 [with_librouteros="no (symbol 'ros_interface' not found)"])
3810fi
3811
3812CPPFLAGS="$SAVE_CPPFLAGS"
3813LDFLAGS="$SAVE_LDFLAGS"
3814
3815if test "x$with_librouteros" = "xyes"
3816then
3817 BUILD_WITH_LIBROUTEROS_CPPFLAGS="$LIBROUTEROS_CPPFLAGS"
3818 BUILD_WITH_LIBROUTEROS_LDFLAGS="$LIBROUTEROS_LDFLAGS"
3819 AC_SUBST(BUILD_WITH_LIBROUTEROS_CPPFLAGS)
3820 AC_SUBST(BUILD_WITH_LIBROUTEROS_LDFLAGS)
3821fi
3822AM_CONDITIONAL(BUILD_WITH_LIBROUTEROS, test "x$with_librouteros" = "xyes")
3823# }}}
3824
975e7fd6
FF
3825# --with-librrd {{{
3826# AC_ARG_WITH (package, help-string, [action-if-given], [action-if-not-given])
3827librrd_cflags=""
3828librrd_ldflags=""
3829librrd_threadsafe="yes"
3830librrd_rrdc_update="no"
3831AC_ARG_WITH(librrd, [AS_HELP_STRING([--with-librrd@<:@=PREFIX@:>@], [Path to rrdtool.])],
3832[ if test "x$withval" != "xno" && test "x$withval" != "xyes"
3833 then
3834 librrd_cflags="-I$withval/include"
3835 librrd_ldflags="-L$withval/lib"
3836 with_librrd="yes"
3837 else
3838 with_librrd="$withval"
3839 fi
3840], [with_librrd="yes"])
3841if test "x$with_librrd" = "xyes"
3fc0feb6 3842then
bcb24183
FF
3843 SAVE_CPPFLAGS="$CPPFLAGS"
3844 SAVE_LDFLAGS="$LDFLAGS"
3845
975e7fd6
FF
3846 CPPFLAGS="$CPPFLAGS $librrd_cflags"
3847 LDFLAGS="$LDFLAGS $librrd_ldflags"
3fc0feb6 3848
975e7fd6 3849 AC_CHECK_HEADERS(rrd.h,, [with_librrd="no (rrd.h not found)"])
bcb24183
FF
3850
3851 CPPFLAGS="$SAVE_CPPFLAGS"
3852 LDFLAGS="$SAVE_LDFLAGS"
bc2d9402 3853fi
975e7fd6 3854if test "x$with_librrd" = "xyes"
8f6c03d5 3855then
06c09fee 3856 SAVE_CPPFLAGS="$CPPFLAGS"
975e7fd6 3857 SAVE_LDFLAGS="$LDFLAGS"
06c09fee 3858
975e7fd6
FF
3859 CPPFLAGS="$CPPFLAGS $librrd_cflags"
3860 LDFLAGS="$LDFLAGS $librrd_ldflags"
3861
3862 AC_CHECK_LIB(rrd_th, rrd_update_r,
3863 [with_librrd="yes"
3864 librrd_ldflags="$librrd_ldflags -lrrd_th -lm"
3865 ],
3866 [librrd_threadsafe="no"
3867 AC_CHECK_LIB(rrd, rrd_update,
3868 [with_librrd="yes"
3869 librrd_ldflags="$librrd_ldflags -lrrd -lm"
3870 ],
3871 [with_librrd="no (symbol 'rrd_update' not found)"],
3872 [-lm])
3873 ],
3874 [-lm])
3875
3876 if test "x$librrd_threadsafe" = "xyes"
3877 then
3878 AC_CHECK_LIB(rrd_th, rrdc_update, [librrd_rrdc_update="yes"], [librrd_rrdc_update="no"])
3879 else
3880 AC_CHECK_LIB(rrd, rrdc_update, [librrd_rrdc_update="yes"], [librrd_rrdc_update="no"])
3881 fi
06c09fee
FF
3882
3883 CPPFLAGS="$SAVE_CPPFLAGS"
975e7fd6 3884 LDFLAGS="$SAVE_LDFLAGS"
8f6c03d5 3885fi
975e7fd6 3886if test "x$with_librrd" = "xyes"
bcb24183 3887then
975e7fd6
FF
3888 BUILD_WITH_LIBRRD_CFLAGS="$librrd_cflags"
3889 BUILD_WITH_LIBRRD_LDFLAGS="$librrd_ldflags"
3890 AC_SUBST(BUILD_WITH_LIBRRD_CFLAGS)
3891 AC_SUBST(BUILD_WITH_LIBRRD_LDFLAGS)
3892fi
3893if test "x$librrd_threadsafe" = "xyes"
3894then
3895 AC_DEFINE(HAVE_THREADSAFE_LIBRRD, 1, [Define to 1 if you have the threadsafe rrd library (-lrrd_th).])
bcb24183 3896fi
8757c918 3897# }}}
bc2d9402 3898
975e7fd6
FF
3899# --with-libsensors {{{
3900with_sensors_cflags=""
3901with_sensors_ldflags=""
3902AC_ARG_WITH(libsensors, [AS_HELP_STRING([--with-libsensors@<:@=PREFIX@:>@], [Path to lm_sensors.])],
558a6a1c 3903[
975e7fd6 3904 if test "x$withval" = "xno"
558a6a1c 3905 then
975e7fd6 3906 with_libsensors="no"
558a6a1c 3907 else
975e7fd6
FF
3908 with_libsensors="yes"
3909 if test "x$withval" != "xyes"
3910 then
3911 with_sensors_cflags="-I$withval/include"
3912 with_sensors_ldflags="-L$withval/lib"
3913 with_libsensors="yes"
3914 fi
3915 fi
558a6a1c
FF
3916],
3917[
975e7fd6 3918 if test "x$ac_system" = "xLinux"
558a6a1c 3919 then
975e7fd6
FF
3920 with_libsensors="yes"
3921 else
3922 with_libsensors="no (Linux only library)"
558a6a1c 3923 fi
975e7fd6
FF
3924])
3925if test "x$with_libsensors" = "xyes"
558a6a1c 3926then
975e7fd6
FF
3927 SAVE_CPPFLAGS="$CPPFLAGS"
3928 CPPFLAGS="$CPPFLAGS $with_sensors_cflags"
558a6a1c 3929
975e7fd6
FF
3930# AC_CHECK_HEADERS(sensors/sensors.h,
3931# [
3932# AC_DEFINE(HAVE_SENSORS_SENSORS_H, 1, [Define to 1 if you have the <sensors/sensors.h> header file.])
3933# ],
3934# [with_libsensors="no (sensors/sensors.h not found)"])
3935 AC_CHECK_HEADERS(sensors/sensors.h, [], [with_libsensors="no (sensors/sensors.h not found)"])
3936
3937 CPPFLAGS="$SAVE_CPPFLAGS"
558a6a1c 3938fi
975e7fd6 3939if test "x$with_libsensors" = "xyes"
558a6a1c 3940then
975e7fd6
FF
3941 SAVE_CPPFLAGS="$CPPFLAGS"
3942 SAVE_LDFLAGS="$LDFLAGS"
3943 CPPFLAGS="$CPPFLAGS $with_sensors_cflags"
3944 LDFLAGS="$LDFLAGS $with_sensors_ldflags"
3945
3946 AC_CHECK_LIB(sensors, sensors_init,
558a6a1c 3947 [
975e7fd6 3948 AC_DEFINE(HAVE_LIBSENSORS, 1, [Define to 1 if you have the sensors library (-lsensors).])
558a6a1c 3949 ],
975e7fd6
FF
3950 [with_libsensors="no (libsensors not found)"])
3951
3952 CPPFLAGS="$SAVE_CPPFLAGS"
3953 LDFLAGS="$SAVE_LDFLAGS"
558a6a1c 3954fi
975e7fd6 3955if test "x$with_libsensors" = "xyes"
558a6a1c 3956then
975e7fd6
FF
3957 BUILD_WITH_LIBSENSORS_CFLAGS="$with_sensors_cflags"
3958 BUILD_WITH_LIBSENSORS_LDFLAGS="$with_sensors_ldflags"
3959 AC_SUBST(BUILD_WITH_LIBSENSORS_CFLAGS)
3960 AC_SUBST(BUILD_WITH_LIBSENSORS_LDFLAGS)
558a6a1c 3961fi
975e7fd6 3962AM_CONDITIONAL(BUILD_WITH_LM_SENSORS, test "x$with_libsensors" = "xyes")
8757c918 3963# }}}
558a6a1c 3964
5415a1c9
BV
3965# --with-libsigrok {{{
3966with_libsigrok_cflags=""
3967with_libsigrok_ldflags=""
3968AC_ARG_WITH(libsigrok, [AS_HELP_STRING([--with-libsigrok@<:@=PREFIX@:>@], [Path to libsigrok.])],
3969[
3970 if test "x$withval" = "xno"
3971 then
3972 with_libsigrok="no"
3973 else
3974 with_libsigrok="yes"
3975 if test "x$withval" != "xyes"
3976 then
3977 with_libsigrok_cflags="-I$withval/include"
3978 with_libsigrok_ldflags="-L$withval/lib"
3979 fi
3980 fi
5bdc5d3e 3981],[with_libsigrok="yes"])
5415a1c9
BV
3982
3983# libsigrok has a glib dependency
3984if test "x$with_libsigrok" = "xyes"
3985then
5bdc5d3e
SH
3986m4_ifdef([AM_PATH_GLIB_2_0],
3987 [
3988 AM_PATH_GLIB_2_0([2.28.0],
3989 [with_libsigrok_cflags="$with_libsigrok_cflags $GLIB_CFLAGS"; with_libsigrok_ldflags="$with_libsigrok_ldflags $GLIB_LIBS"])
3990 ],
3991 [
3992 with_libsigrok="no (glib not available)"
3993 ]
3994)
5415a1c9
BV
3995fi
3996
3997# libsigrok headers
3998if test "x$with_libsigrok" = "xyes"
3999then
4000 SAVE_CPPFLAGS="$CPPFLAGS"
4001 CPPFLAGS="$CPPFLAGS $with_libsigrok_cflags"
4002
4003 AC_CHECK_HEADERS(libsigrok/libsigrok.h, [], [with_libsigrok="no (libsigrok/libsigrok.h not found)"])
4004
4005 CPPFLAGS="$SAVE_CPPFLAGS"
4006fi
4007
4008# libsigrok library
4009if test "x$with_libsigrok" = "xyes"
4010then
4011 SAVE_CPPFLAGS="$CPPFLAGS"
4012 SAVE_LDFLAGS="$LDFLAGS"
4013 CPPFLAGS="$CPPFLAGS $with_libsigrok_cflags"
4014 LDFLAGS="$LDFLAGS $with_libsigrok_ldflags"
4015
4016 AC_CHECK_LIB(sigrok, sr_init,
4017 [
4018 AC_DEFINE(HAVE_LIBSIGROK, 1, [Define to 1 if you have the sigrok library (-lsigrok).])
4019 ],
4020 [with_libsigrok="no (libsigrok not found)"])
4021
4022 CPPFLAGS="$SAVE_CPPFLAGS"
4023 LDFLAGS="$SAVE_LDFLAGS"
4024fi
4025if test "x$with_libsigrok" = "xyes"
4026then
4027 BUILD_WITH_LIBSIGROK_CFLAGS="$with_libsigrok_cflags"
4028 BUILD_WITH_LIBSIGROK_LDFLAGS="$with_libsigrok_ldflags"
4029 AC_SUBST(BUILD_WITH_LIBSIGROK_CFLAGS)
4030 AC_SUBST(BUILD_WITH_LIBSIGROK_LDFLAGS)
4031fi
4032AM_CONDITIONAL(BUILD_WITH_LIBSIGROK, test "x$with_libsigrok" = "xyes")
4033# }}}
4034
975e7fd6
FF
4035# --with-libstatgrab {{{
4036with_libstatgrab_cflags=""
4037with_libstatgrab_ldflags=""
4038AC_ARG_WITH(libstatgrab, [AS_HELP_STRING([--with-libstatgrab@<:@=PREFIX@:>@], [Path to libstatgrab.])],
c1406acc 4039[
ad44a981
FF
4040 if test "x$withval" != "xno" \
4041 && test "x$withval" != "xyes"
4042 then
4043 with_libstatgrab_cflags="-I$withval/include"
4044 with_libstatgrab_ldflags="-L$withval/lib -lstatgrab"
4045 with_libstatgrab="yes"
4046 with_libstatgrab_pkg_config="no"
4047 else
4048 with_libstatgrab="$withval"
4049 with_libstatgrab_pkg_config="yes"
4050 fi
4051 ],
c1406acc 4052[
ad44a981
FF
4053 with_libstatgrab="yes"
4054 with_libstatgrab_pkg_config="yes"
c1406acc 4055])
ad44a981 4056
975e7fd6 4057if test "x$with_libstatgrab" = "xyes" \
ad44a981 4058 && test "x$with_libstatgrab_pkg_config" = "xyes"
c1406acc 4059then
ad44a981 4060 if test "x$PKG_CONFIG" != "x"
975e7fd6 4061 then
ad44a981
FF
4062 AC_MSG_CHECKING([pkg-config for libstatgrab])
4063 temp_result="found"
4064 $PKG_CONFIG --exists libstatgrab 2>/dev/null
4065 if test "$?" != "0"
4066 then
4067 with_libstatgrab_pkg_config="no"
67d4532f 4068 with_libstatgrab="no (pkg-config doesn't know libstatgrab)"
ad44a981
FF
4069 temp_result="not found"
4070 fi
4071 AC_MSG_RESULT([$temp_result])
4072 else
4073 AC_MSG_NOTICE([pkg-config not available, trying to guess flags for the statgrab library.])
975e7fd6 4074 with_libstatgrab_pkg_config="no"
ad44a981 4075 with_libstatgrab_ldflags="$with_libstatgrab_ldflags -lstatgrab"
975e7fd6 4076 fi
975e7fd6 4077fi
5d26a660 4078
975e7fd6
FF
4079if test "x$with_libstatgrab" = "xyes" \
4080 && test "x$with_libstatgrab_pkg_config" = "xyes" \
4081 && test "x$with_libstatgrab_cflags" = "x"
4082then
4083 AC_MSG_CHECKING([for libstatgrab CFLAGS])
4084 temp_result="`$PKG_CONFIG --cflags libstatgrab`"
4085 if test "$?" = "0"
4086 then
4087 with_libstatgrab_cflags="$temp_result"
4088 else
4089 with_libstatgrab="no ($PKG_CONFIG --cflags libstatgrab failed)"
4090 temp_result="$PKG_CONFIG --cflags libstatgrab failed"
4091 fi
4092 AC_MSG_RESULT([$temp_result])
4093fi
5d26a660 4094
975e7fd6
FF
4095if test "x$with_libstatgrab" = "xyes" \
4096 && test "x$with_libstatgrab_pkg_config" = "xyes" \
4097 && test "x$with_libstatgrab_ldflags" = "x"
4098then
4099 AC_MSG_CHECKING([for libstatgrab LDFLAGS])
4100 temp_result="`$PKG_CONFIG --libs libstatgrab`"
4101 if test "$?" = "0"
4102 then
4103 with_libstatgrab_ldflags="$temp_result"
4104 else
4105 with_libstatgrab="no ($PKG_CONFIG --libs libstatgrab failed)"
4106 temp_result="$PKG_CONFIG --libs libstatgrab failed"
4107 fi
4108 AC_MSG_RESULT([$temp_result])
4109fi
5d26a660 4110
975e7fd6
FF
4111if test "x$with_libstatgrab" = "xyes"
4112then
4113 SAVE_CPPFLAGS="$CPPFLAGS"
4114 CPPFLAGS="$CPPFLAGS $with_libstatgrab_cflags"
5d26a660 4115
975e7fd6
FF
4116 AC_CHECK_HEADERS(statgrab.h,
4117 [with_libstatgrab="yes"],
4118 [with_libstatgrab="no (statgrab.h not found)"])
c1406acc 4119
975e7fd6 4120 CPPFLAGS="$SAVE_CPPFLAGS"
c1406acc 4121fi
975e7fd6
FF
4122
4123if test "x$with_libstatgrab" = "xyes"
c1406acc 4124then
975e7fd6
FF
4125 SAVE_CFLAGS="$CFLAGS"
4126 SAVE_LDFLAGS="$LDFLAGS"
4127
4128 CFLAGS="$CFLAGS $with_libstatgrab_cflags"
4129 LDFLAGS="$LDFLAGS $with_libstatgrab_ldflags"
4130
4131 AC_CHECK_LIB(statgrab, sg_init,
4132 [with_libstatgrab="yes"],
4133 [with_libstatgrab="no (symbol sg_init not found)"])
4134
4135 CFLAGS="$SAVE_CFLAGS"
4136 LDFLAGS="$SAVE_LDFLAGS"
c1406acc 4137fi
975e7fd6 4138
2bd9ed64
VB
4139if test "x$with_libstatgrab" = "xyes"
4140then
4141 SAVE_CFLAGS="$CFLAGS"
35d95175 4142 SAVE_LIBS="$LIBS"
2bd9ed64
VB
4143
4144 CFLAGS="$CFLAGS $with_libstatgrab_cflags"
4145 LDFLAGS="$LDFLAGS $with_libstatgrab_ldflags"
35d95175 4146 LIBS="-lstatgrab $LIBS"
2bd9ed64 4147
36841c62
VB
4148 AC_CACHE_CHECK([if libstatgrab >= 0.90],
4149 [c_cv_have_libstatgrab_0_90],
2bd9ed64
VB
4150 AC_LINK_IFELSE([AC_LANG_PROGRAM(
4151[[[
4152#include <stdio.h>
4153#include <statgrab.h>
4154]]],
4155[[[
4156 if (sg_init()) return 0;
4157]]]
4158 )],
36841c62
VB
4159 [c_cv_have_libstatgrab_0_90="no"],
4160 [c_cv_have_libstatgrab_0_90="yes"]
c963d35f
VB
4161 )
4162 )
4163
2bd9ed64
VB
4164 CFLAGS="$SAVE_CFLAGS"
4165 LDFLAGS="$SAVE_LDFLAGS"
35d95175 4166 LIBS="$SAVE_LIBS"
2bd9ed64
VB
4167fi
4168
975e7fd6
FF
4169AM_CONDITIONAL(BUILD_WITH_LIBSTATGRAB, test "x$with_libstatgrab" = "xyes")
4170if test "x$with_libstatgrab" = "xyes"
c1406acc 4171then
975e7fd6
FF
4172 AC_DEFINE(HAVE_LIBSTATGRAB, 1, [Define to 1 if you have the 'statgrab' library (-lstatgrab)])
4173 BUILD_WITH_LIBSTATGRAB_CFLAGS="$with_libstatgrab_cflags"
4174 BUILD_WITH_LIBSTATGRAB_LDFLAGS="$with_libstatgrab_ldflags"
4175 AC_SUBST(BUILD_WITH_LIBSTATGRAB_CFLAGS)
4176 AC_SUBST(BUILD_WITH_LIBSTATGRAB_LDFLAGS)
36841c62 4177 if test "x$c_cv_have_libstatgrab_0_90" = "xyes"
c963d35f 4178 then
36841c62 4179 AC_DEFINE(HAVE_LIBSTATGRAB_0_90, 1, [Define to 1 if libstatgrab version >= 0.90])
c963d35f 4180 fi
c1406acc 4181fi
8757c918 4182# }}}
5d99fadf 4183
5395a6d4
FF
4184# --with-libtokyotyrant {{{
4185with_libtokyotyrant_cppflags=""
4186with_libtokyotyrant_ldflags=""
4187with_libtokyotyrant_libs=""
4188AC_ARG_WITH(libtokyotyrant, [AS_HELP_STRING([--with-libtokyotyrant@<:@=PREFIX@:>@], [Path to libtokyotyrant.])],
4189[
4190 if test "x$withval" = "xno"
4191 then
4192 with_libtokyotyrant="no"
4193 else if test "x$withval" = "xyes"
4194 then
4195 with_libtokyotyrant="yes"
4196 else
4197 with_libtokyotyrant_cppflags="-I$withval/include"
4198 with_libtokyotyrant_ldflags="-L$withval/include"
4199 with_libtokyotyrant_libs="-ltokyotyrant"
4200 with_libtokyotyrant="yes"
4201 fi; fi
4202],
4203[
4204 with_libtokyotyrant="yes"
4205])
4206
4207if test "x$with_libtokyotyrant" = "xyes"
4208then
4209 if $PKG_CONFIG --exists tokyotyrant
4210 then
4211 with_libtokyotyrant_cppflags="$with_libtokyotyrant_cppflags `$PKG_CONFIG --cflags tokyotyrant`"
c2ca2a46
LT
4212 with_libtokyotyrant_ldflags="$with_libtokyotyrant_ldflags `$PKG_CONFIG --libs-only-L tokyotyrant`"
4213 with_libtokyotyrant_libs="$with_libtokyotyrant_libs `$PKG_CONFIG --libs-only-l tokyotyrant`"
5395a6d4
FF
4214 fi
4215fi
4216
4217SAVE_CPPFLAGS="$CPPFLAGS"
4218SAVE_LDFLAGS="$LDFLAGS"
4219CPPFLAGS="$CPPFLAGS $with_libtokyotyrant_cppflags"
4220LDFLAGS="$LDFLAGS $with_libtokyotyrant_ldflags"
4221
4222if test "x$with_libtokyotyrant" = "xyes"
4223then
4224 AC_CHECK_HEADERS(tcrdb.h,
4225 [
4226 AC_DEFINE(HAVE_TCRDB_H, 1,
4227 [Define to 1 if you have the <tcrdb.h> header file.])
4228 ], [with_libtokyotyrant="no (tcrdb.h not found)"])
4229fi
4230
4231if test "x$with_libtokyotyrant" = "xyes"
4232then
4233 AC_CHECK_LIB(tokyotyrant, tcrdbrnum,
4234 [
4235 AC_DEFINE(HAVE_LIBTOKYOTYRANT, 1,
4236 [Define to 1 if you have the tokyotyrant library (-ltokyotyrant).])
4237 ],
4238 [with_libtokyotyrant="no (symbol tcrdbrnum not found)"],
4239 [$with_libtokyotyrant_libs])
4240fi
4241
4242CPPFLAGS="$SAVE_CPPFLAGS"
4243LDFLAGS="$SAVE_LDFLAGS"
4244
4245if test "x$with_libtokyotyrant" = "xyes"
630e3bba 4246then
5395a6d4
FF
4247 BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS="$with_libtokyotyrant_cppflags"
4248 BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS="$with_libtokyotyrant_ldflags"
4249 BUILD_WITH_LIBTOKYOTYRANT_LIBS="$with_libtokyotyrant_libs"
4250 AC_SUBST(BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS)
4251 AC_SUBST(BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS)
4252 AC_SUBST(BUILD_WITH_LIBTOKYOTYRANT_LIBS)
4253fi
4254AM_CONDITIONAL(BUILD_WITH_LIBTOKYOTYRANT, test "x$with_libtokyotyrant" = "xyes")
4255# }}}
4256
c8e86419
PM
4257# --with-libudev {{{
4258with_libudev_cflags=""
4259with_libudev_ldflags=""
4260AC_ARG_WITH(libudev, [AS_HELP_STRING([--with-libudev@<:@=PREFIX@:>@], [Path to libudev.])],
4261[
4262 if test "x$withval" = "xno"
4263 then
4264 with_libudev="no"
4265 else
4266 with_libudev="yes"
4267 if test "x$withval" != "xyes"
4268 then
4269 with_libudev_cflags="-I$withval/include"
4270 with_libudev_ldflags="-L$withval/lib"
4271 with_libudev="yes"
4272 fi
4273 fi
4274],
4275[
4276 if test "x$ac_system" = "xLinux"
4277 then
4278 with_libudev="yes"
4279 else
4280 with_libudev="no (Linux only library)"
4281 fi
4282])
4283if test "x$with_libudev" = "xyes"
4284then
4285 SAVE_CPPFLAGS="$CPPFLAGS"
4286 CPPFLAGS="$CPPFLAGS $with_libudev_cflags"
4287
4288 AC_CHECK_HEADERS(libudev.h, [], [with_libudev="no (libudev.h not found)"])
4289
4290 CPPFLAGS="$SAVE_CPPFLAGS"
4291fi
4292if test "x$with_libudev" = "xyes"
4293then
4294 SAVE_CPPFLAGS="$CPPFLAGS"
4295 SAVE_LDFLAGS="$LDFLAGS"
4296 CPPFLAGS="$CPPFLAGS $with_libudev_cflags"
4297 LDFLAGS="$LDFLAGS $with_libudev_ldflags"
4298
4299 AC_CHECK_LIB(udev, udev_new,
4300 [
4301 AC_DEFINE(HAVE_LIBUDEV, 1, [Define to 1 if you have the udev library (-ludev).])
4302 ],
4303 [with_libudev="no (libudev not found)"])
4304
4305 CPPFLAGS="$SAVE_CPPFLAGS"
4306 LDFLAGS="$SAVE_LDFLAGS"
4307fi
4308if test "x$with_libudev" = "xyes"
4309then
4310 BUILD_WITH_LIBUDEV_CFLAGS="$with_libudev_cflags"
4311 BUILD_WITH_LIBUDEV_LDFLAGS="$with_libudev_ldflags"
4312 AC_SUBST(BUILD_WITH_LIBUDEV_CFLAGS)
4313 AC_SUBST(BUILD_WITH_LIBUDEV_LDFLAGS)
4314fi
4315AM_CONDITIONAL(BUILD_WITH_LIBUDEV, test "x$with_libudev" = "xyes")
4316# }}}
4317
6597f3a6
FF
4318# --with-libupsclient {{{
4319with_libupsclient_config=""
4320with_libupsclient_cflags=""
4321with_libupsclient_libs=""
296384e9 4322AC_ARG_WITH(libupsclient, [AS_HELP_STRING([--with-libupsclient@<:@=PREFIX@:>@], [Path to the upsclient library.])],
a0b4b6b4 4323[
6597f3a6 4324 if test "x$withval" = "xno"
a0b4b6b4 4325 then
6597f3a6
FF
4326 with_libupsclient="no"
4327 else if test "x$withval" = "xyes"
4328 then
4329 with_libupsclient="use_pkgconfig"
4330 else
4331 if test -x "$withval"
a0b4b6b4 4332 then
6597f3a6
FF
4333 with_libupsclient_config="$withval"
4334 with_libupsclient="use_libupsclient_config"
4335 else if test -x "$withval/bin/libupsclient-config"
a0b4b6b4 4336 then
caa17ae8 4337 with_libupsclient_config="$withval/bin/libupsclient-config"
6597f3a6
FF
4338 with_libupsclient="use_libupsclient_config"
4339 else
4340 AC_MSG_NOTICE([Not checking for libupsclient: Manually configured])
4341 with_libupsclient_cflags="-I$withval/include"
4342 with_libupsclient_libs="-L$withval/lib -lupsclient"
4343 with_libupsclient="yes"
a0b4b6b4 4344 fi; fi
a0b4b6b4
SH
4345 fi; fi
4346],
6597f3a6 4347[with_libupsclient="use_pkgconfig"])
a0b4b6b4 4348
6597f3a6
FF
4349# configure using libupsclient-config
4350if test "x$with_libupsclient" = "xuse_libupsclient_config"
249d5776 4351then
6597f3a6
FF
4352 AC_MSG_NOTICE([Checking for libupsclient using $with_libupsclient_config])
4353 with_libupsclient_cflags="`$with_libupsclient_config --cflags`"
4354 if test $? -ne 0
a0b4b6b4 4355 then
6597f3a6 4356 with_libupsclient="no ($with_libupsclient_config failed)"
a0b4b6b4 4357 fi
6597f3a6
FF
4358 with_libupsclient_libs="`$with_libupsclient_config --libs`"
4359 if test $? -ne 0
a0b4b6b4 4360 then
6597f3a6 4361 with_libupsclient="no ($with_libupsclient_config failed)"
a0b4b6b4 4362 fi
a0b4b6b4 4363fi
6597f3a6 4364if test "x$with_libupsclient" = "xuse_libupsclient_config"
c044208a 4365then
6597f3a6 4366 with_libupsclient="yes"
c044208a 4367fi
249d5776 4368
6597f3a6
FF
4369# configure using pkg-config
4370if test "x$with_libupsclient" = "xuse_pkgconfig"
c044208a 4371then
6597f3a6 4372 if test "x$PKG_CONFIG" = "x"
249d5776 4373 then
6597f3a6 4374 with_libupsclient="no (Don't have pkg-config)"
249d5776 4375 fi
c044208a 4376fi
6597f3a6 4377if test "x$with_libupsclient" = "xuse_pkgconfig"
c044208a 4378then
6597f3a6
FF
4379 AC_MSG_NOTICE([Checking for libupsclient using $PKG_CONFIG])
4380 $PKG_CONFIG --exists 'libupsclient' 2>/dev/null
4381 if test $? -ne 0
c044208a 4382 then
67d4532f 4383 with_libupsclient="no (pkg-config doesn't know libupsclient)"
c044208a 4384 fi
c044208a 4385fi
6597f3a6 4386if test "x$with_libupsclient" = "xuse_pkgconfig"
c044208a 4387then
6597f3a6 4388 with_libupsclient_cflags="`$PKG_CONFIG --cflags 'libupsclient'`"
975e7fd6 4389 if test $? -ne 0
c044208a 4390 then
6597f3a6 4391 with_libupsclient="no ($PKG_CONFIG failed)"
975e7fd6 4392 fi
6597f3a6 4393 with_libupsclient_libs="`$PKG_CONFIG --libs 'libupsclient'`"
975e7fd6
FF
4394 if test $? -ne 0
4395 then
6597f3a6 4396 with_libupsclient="no ($PKG_CONFIG failed)"
c044208a 4397 fi
c044208a 4398fi
6597f3a6
FF
4399if test "x$with_libupsclient" = "xuse_pkgconfig"
4400then
4401 with_libupsclient="yes"
4402fi
4403
4404# with_libupsclient_cflags and with_libupsclient_libs are set up now, let's do
4405# the actual checks.
975e7fd6
FF
4406if test "x$with_libupsclient" = "xyes"
4407then
4408 SAVE_CPPFLAGS="$CPPFLAGS"
4409 CPPFLAGS="$CPPFLAGS $with_libupsclient_cflags"
c044208a 4410
975e7fd6
FF
4411 AC_CHECK_HEADERS(upsclient.h, [], [with_libupsclient="no (upsclient.h not found)"])
4412
4413 CPPFLAGS="$SAVE_CPPFLAGS"
4414fi
4415if test "x$with_libupsclient" = "xyes"
c044208a
FF
4416then
4417 SAVE_CPPFLAGS="$CPPFLAGS"
975e7fd6 4418 SAVE_LDFLAGS="$LDFLAGS"
c044208a 4419
975e7fd6
FF
4420 CPPFLAGS="$CPPFLAGS $with_libupsclient_cflags"
4421 LDFLAGS="$LDFLAGS $with_libupsclient_libs"
4422
4423 AC_CHECK_LIB(upsclient, upscli_connect,
4424 [with_libupsclient="yes"],
4425 [with_libupsclient="no (symbol upscli_connect not found)"])
c044208a
FF
4426
4427 CPPFLAGS="$SAVE_CPPFLAGS"
975e7fd6 4428 LDFLAGS="$SAVE_LDFLAGS"
c044208a 4429fi
975e7fd6
FF
4430if test "x$with_libupsclient" = "xyes"
4431then
4432 SAVE_CPPFLAGS="$CPPFLAGS"
4433 CPPFLAGS="$CPPFLAGS $with_libupsclient_cflags"
c044208a 4434
975e7fd6
FF
4435 AC_CHECK_TYPES([UPSCONN_t, UPSCONN], [], [],
4436[#include <stdlib.h>
4437#include <stdio.h>
4438#include <upsclient.h>])
4439
4440 CPPFLAGS="$SAVE_CPPFLAGS"
4441fi
4442if test "x$with_libupsclient" = "xyes"
c044208a 4443then
975e7fd6
FF
4444 BUILD_WITH_LIBUPSCLIENT_CFLAGS="$with_libupsclient_cflags"
4445 BUILD_WITH_LIBUPSCLIENT_LIBS="$with_libupsclient_libs"
4446 AC_SUBST(BUILD_WITH_LIBUPSCLIENT_CFLAGS)
4447 AC_SUBST(BUILD_WITH_LIBUPSCLIENT_LIBS)
c044208a
FF
4448fi
4449# }}}
4450
6597f3a6
FF
4451# --with-libxmms {{{
4452with_xmms_config="xmms-config"
4453with_xmms_cflags=""
4454with_xmms_libs=""
4455AC_ARG_WITH(libxmms, [AS_HELP_STRING([--with-libxmms@<:@=PREFIX@:>@], [Path to libxmms.])],
a0b4b6b4 4456[
6597f3a6
FF
4457 if test "x$withval" != "xno" \
4458 && test "x$withval" != "xyes"
a0b4b6b4 4459 then
a0b4b6b4
SH
4460 if test -f "$withval" && test -x "$withval";
4461 then
6597f3a6
FF
4462 with_xmms_config="$withval"
4463 else if test -x "$withval/bin/xmms-config"
a0b4b6b4 4464 then
6597f3a6 4465 with_xmms_config="$withval/bin/xmms-config"
a0b4b6b4 4466 fi; fi
6597f3a6
FF
4467 with_libxmms="yes"
4468 else if test "x$withval" = "xno"
4469 then
4470 with_libxmms="no"
4471 else
4472 with_libxmms="yes"
a0b4b6b4
SH
4473 fi; fi
4474],
4475[
6597f3a6 4476 with_libxmms="yes"
a0b4b6b4 4477])
6597f3a6 4478if test "x$with_libxmms" = "xyes"
a0b4b6b4 4479then
6597f3a6
FF
4480 with_xmms_cflags=`$with_xmms_config --cflags 2>/dev/null`
4481 xmms_config_status=$?
a0b4b6b4 4482
6597f3a6 4483 if test $xmms_config_status -ne 0
a0b4b6b4 4484 then
6597f3a6 4485 with_libxmms="no"
a0b4b6b4 4486 fi
a0b4b6b4 4487fi
6597f3a6 4488if test "x$with_libxmms" = "xyes"
a0b4b6b4 4489then
6597f3a6
FF
4490 with_xmms_libs=`$with_xmms_config --libs 2>/dev/null`
4491 xmms_config_status=$?
a0b4b6b4 4492
6597f3a6 4493 if test $xmms_config_status -ne 0
a0b4b6b4 4494 then
6597f3a6 4495 with_libxmms="no"
a0b4b6b4 4496 fi
a0b4b6b4 4497fi
6597f3a6 4498if test "x$with_libxmms" = "xyes"
a0b4b6b4 4499then
6597f3a6
FF
4500 AC_CHECK_LIB(xmms, xmms_remote_get_info,
4501 [
4502 BUILD_WITH_LIBXMMS_CFLAGS="$with_xmms_cflags"
4503 BUILD_WITH_LIBXMMS_LIBS="$with_xmms_libs"
4504 AC_SUBST(BUILD_WITH_LIBXMMS_CFLAGS)
4505 AC_SUBST(BUILD_WITH_LIBXMMS_LIBS)
4506 ],
4507 [
4508 with_libxmms="no"
4509 ],
4510 [$with_xmms_libs])
a0b4b6b4 4511fi
6597f3a6
FF
4512with_libxmms_numeric=0
4513if test "x$with_libxmms" = "xyes"
4514then
4515 with_libxmms_numeric=1
4516fi
4517AC_DEFINE_UNQUOTED(HAVE_LIBXMMS, [$with_libxmms_numeric], [Define to 1 if you have the 'xmms' library (-lxmms).])
4518AM_CONDITIONAL(BUILD_WITH_LIBXMMS, test "x$with_libxmms" = "xyes")
4519# }}}
a0b4b6b4 4520
bc51ef21
DM
4521# --with-libyajl {{{
4522with_libyajl_cppflags=""
4523with_libyajl_ldflags=""
4524AC_ARG_WITH(libyajl, [AS_HELP_STRING([--with-libyajl@<:@=PREFIX@:>@], [Path to libyajl.])],
4525[
4526 if test "x$withval" != "xno" && test "x$withval" != "xyes"
4527 then
4528 with_libyajl_cppflags="-I$withval/include"
4529 with_libyajl_ldflags="-L$withval/lib"
4530 with_libyajl="yes"
4531 else
4532 with_libyajl="$withval"
4533 fi
4534],
4535[
4536 with_libyajl="yes"
4537])
4538if test "x$with_libyajl" = "xyes"
4539then
4540 SAVE_CPPFLAGS="$CPPFLAGS"
4541 CPPFLAGS="$CPPFLAGS $with_libyajl_cppflags"
4542
4543 AC_CHECK_HEADERS(yajl/yajl_parse.h, [with_libyajl="yes"], [with_libyajl="no (yajl/yajl_parse.h not found)"])
5ec7a37c 4544 AC_CHECK_HEADERS(yajl/yajl_version.h)
bc51ef21
DM
4545
4546 CPPFLAGS="$SAVE_CPPFLAGS"
4547fi
4548if test "x$with_libyajl" = "xyes"
4549then
4550 SAVE_CPPFLAGS="$CPPFLAGS"
4551 SAVE_LDFLAGS="$LDFLAGS"
4552 CPPFLAGS="$CPPFLAGS $with_libyajl_cppflags"
4553 LDFLAGS="$LDFLAGS $with_libyajl_ldflags"
4554
4555 AC_CHECK_LIB(yajl, yajl_alloc, [with_libyajl="yes"], [with_libyajl="no (Symbol 'yajl_alloc' not found)"])
4556
4557 CPPFLAGS="$SAVE_CPPFLAGS"
4558 LDFLAGS="$SAVE_LDFLAGS"
4559fi
4560if test "x$with_libyajl" = "xyes"
4561then
4562 BUILD_WITH_LIBYAJL_CPPFLAGS="$with_libyajl_cppflags"
4563 BUILD_WITH_LIBYAJL_LDFLAGS="$with_libyajl_ldflags"
4564 BUILD_WITH_LIBYAJL_LIBS="-lyajl"
4565 AC_SUBST(BUILD_WITH_LIBYAJL_CPPFLAGS)
4566 AC_SUBST(BUILD_WITH_LIBYAJL_LDFLAGS)
4567 AC_SUBST(BUILD_WITH_LIBYAJL_LIBS)
4568 AC_DEFINE(HAVE_LIBYAJL, 1, [Define if libyajl is present and usable.])
4569fi
4570AM_CONDITIONAL(BUILD_WITH_LIBYAJL, test "x$with_libyajl" = "xyes")
4571# }}}
4572
573c602b
EF
4573# --with-mic {{{
4574with_mic_cflags="-I/opt/intel/mic/sysmgmt/sdk/include"
4575with_mic_ldpath="-L/opt/intel/mic/sysmgmt/sdk/lib/Linux"
4576with_mic_libs=""
4577AC_ARG_WITH(mic,[AS_HELP_STRING([--with-mic@<:@=PREFIX@:>@], [Path to Intel MIC Access API.])],
4578[
4579 if test "x$withval" = "xno"
4580 then
4581 with_mic="no"
4582 else if test "x$withval" = "xyes"
4583 then
4584 with_mic="yes"
4585 else if test -d "$with_mic/lib"
4586 then
4587 AC_MSG_NOTICE([Not checking for Intel Mic: Manually configured])
4588 with_mic_cflags="-I$withval/include"
ad02e903 4589 with_mic_ldpath="-L$withval/lib/Linux"
573c602b
EF
4590 with_mic_libs="-lMicAccessSDK -lscif -lpthread"
4591 with_mic="yes"
4592 fi; fi; fi
4593],
4594[with_mic="yes"])
4595if test "x$with_mic" = "xyes"
4596then
8284de77
DB
4597 SAVE_CPPFLAGS="$CPPFLAGS"
4598 CPPFLAGS="$CPPFLAGS $with_mic_cflags"
573c602b 4599 AC_CHECK_HEADERS(MicAccessApi.h,[],[with_mic="no (MicAccessApi not found)"])
8284de77 4600 CPPFLAGS="$SAVE_CPPFLAGS"
573c602b
EF
4601fi
4602if test "x$with_mic" = "xyes"
4603then
8284de77 4604 SAVE_CPPFLAGS="$CPPFLAGS"
573c602b
EF
4605 SAVE_LDFLAGS="$LDFLAGS"
4606
8284de77 4607 CPPFLAGS="$CPPFLAGS $with_mic_cflags"
573c602b
EF
4608 LDFLAGS="$LDFLAGS $with_mic_ldpath"
4609
4610 AC_CHECK_LIB(MicAccessSDK, MicInitAPI,
ad02e903
EF
4611 [with_mic_ldpath="$with_mic_ldpath"
4612 with_mic_libs="-lMicAccessSDK -lscif -lpthread"],
4613 [with_mic="no (symbol MicInitAPI not found)"],[-lscif -lpthread])
573c602b 4614
8284de77 4615 CPPFLAGS="$SAVE_CPPFLAGS"
573c602b
EF
4616 LDFLAGS="$SAVE_LDFLAGS"
4617fi
4618
4619if test "x$with_mic" = "xyes"
4620then
8284de77 4621 BUILD_WITH_MIC_CPPFLAGS="$with_mic_cflags"
573c602b
EF
4622 BUILD_WITH_MIC_LIBPATH="$with_mic_ldpath"
4623 BUILD_WITH_MIC_LDADD="$with_mic_libs"
8284de77 4624 AC_SUBST(BUILD_WITH_MIC_CPPFLAGS)
573c602b
EF
4625 AC_SUBST(BUILD_WITH_MIC_LIBPATH)
4626 AC_SUBST(BUILD_WITH_MIC_LDADD)
4627fi
4628#}}}
4629
e9a9482a
JR
4630# --with-libvarnish {{{
4631with_libvarnish_cppflags=""
24da3d76
FF
4632with_libvarnish_cflags=""
4633with_libvarnish_libs=""
e9a9482a
JR
4634AC_ARG_WITH(libvarnish, [AS_HELP_STRING([--with-libvarnish@<:@=PREFIX@:>@], [Path to libvarnish.])],
4635[
24da3d76
FF
4636 if test "x$withval" = "xno"
4637 then
4638 with_libvarnish="no"
4639 else if test "x$withval" = "xyes"
4640 then
4641 with_libvarnish="use_pkgconfig"
4642 else if test -d "$with_libvarnish/lib"
e9a9482a 4643 then
24da3d76
FF
4644 AC_MSG_NOTICE([Not checking for libvarnish: Manually configured])
4645 with_libvarnish_cflags="-I$withval/include"
30f927c1 4646 with_libvarnish_libs="-L$withval/lib -lvarnishapi"
e9a9482a 4647 with_libvarnish="yes"
24da3d76 4648 fi; fi; fi
e9a9482a 4649],
24da3d76
FF
4650[with_libvarnish="use_pkgconfig"])
4651
4652# configure using pkg-config
4653if test "x$with_libvarnish" = "xuse_pkgconfig"
4654then
4655 if test "x$PKG_CONFIG" = "x"
4656 then
4657 with_libvarnish="no (Don't have pkg-config)"
4658 fi
4659fi
4660if test "x$with_libvarnish" = "xuse_pkgconfig"
4661then
4662 AC_MSG_NOTICE([Checking for varnishapi using $PKG_CONFIG])
4663 $PKG_CONFIG --exists 'varnishapi' 2>/dev/null
4664 if test $? -ne 0
4665 then
67d4532f 4666 with_libvarnish="no (pkg-config doesn't know varnishapi)"
24da3d76
FF
4667 fi
4668fi
4669if test "x$with_libvarnish" = "xuse_pkgconfig"
4670then
4671 with_libvarnish_cflags="`$PKG_CONFIG --cflags 'varnishapi'`"
4672 if test $? -ne 0
4673 then
4674 with_libvarnish="no ($PKG_CONFIG failed)"
4675 fi
4676 with_libvarnish_libs="`$PKG_CONFIG --libs 'varnishapi'`"
4677 if test $? -ne 0
4678 then
4679 with_libvarnish="no ($PKG_CONFIG failed)"
4680 fi
4681fi
4682if test "x$with_libvarnish" = "xuse_pkgconfig"
4683then
e9a9482a 4684 with_libvarnish="yes"
24da3d76
FF
4685fi
4686
4687# with_libvarnish_cflags and with_libvarnish_libs are set up now, let's do
4688# the actual checks.
e9a9482a
JR
4689if test "x$with_libvarnish" = "xyes"
4690then
4691 SAVE_CPPFLAGS="$CPPFLAGS"
24da3d76
FF
4692
4693 CPPFLAGS="$CPPFLAGS $with_libvarnish_cflags"
e9a9482a 4694
dc03739e
MF
4695 AC_CHECK_HEADERS(varnish/vapi/vsc.h,
4696 [AC_DEFINE([HAVE_VARNISH_V4], [1], [Varnish 4 API support])],
4697 [AC_CHECK_HEADERS(varnish/vsc.h,
4698 [AC_DEFINE([HAVE_VARNISH_V3], [1], [Varnish 3 API support])],
4699 [AC_CHECK_HEADERS(varnish/varnishapi.h,
4700 [AC_DEFINE([HAVE_VARNISH_V2], [1], [Varnish 2 API support])],
4701 [with_libvarnish="no (found none of the varnish header files)"])])])
e9a9482a
JR
4702
4703 CPPFLAGS="$SAVE_CPPFLAGS"
e9a9482a
JR
4704fi
4705if test "x$with_libvarnish" = "xyes"
4706then
24da3d76
FF
4707 BUILD_WITH_LIBVARNISH_CFLAGS="$with_libvarnish_cflags"
4708 BUILD_WITH_LIBVARNISH_LIBS="$with_libvarnish_libs"
4709 AC_SUBST(BUILD_WITH_LIBVARNISH_CFLAGS)
e9a9482a 4710 AC_SUBST(BUILD_WITH_LIBVARNISH_LIBS)
e9a9482a 4711fi
e9a9482a
JR
4712# }}}
4713
8757c918 4714# pkg-config --exists 'libxml-2.0'; pkg-config --exists libvirt {{{
c6be63a7
FF
4715with_libxml2="no (pkg-config isn't available)"
4716with_libxml2_cflags=""
4717with_libxml2_ldflags=""
4718with_libvirt="no (pkg-config isn't available)"
df26df90
FF
4719with_libvirt_cflags=""
4720with_libvirt_ldflags=""
c6be63a7
FF
4721if test "x$PKG_CONFIG" != "x"
4722then
c2ca2a46 4723 $PKG_CONFIG --exists 'libxml-2.0' 2>/dev/null
c6be63a7
FF
4724 if test "$?" = "0"
4725 then
4726 with_libxml2="yes"
4727 else
67d4532f 4728 with_libxml2="no (pkg-config doesn't know libxml-2.0)"
c6be63a7
FF
4729 fi
4730
c2ca2a46 4731 $PKG_CONFIG --exists libvirt 2>/dev/null
c6be63a7
FF
4732 if test "$?" = "0"
4733 then
4734 with_libvirt="yes"
4735 else
67d4532f 4736 with_libvirt="no (pkg-config doesn't know libvirt)"
c6be63a7
FF
4737 fi
4738fi
df26df90
FF
4739if test "x$with_libxml2" = "xyes"
4740then
c2ca2a46 4741 with_libxml2_cflags="`$PKG_CONFIG --cflags libxml-2.0`"
c6be63a7
FF
4742 if test $? -ne 0
4743 then
4744 with_libxml2="no"
4745 fi
497f5785 4746 with_libxml2_ldflags="`$PKG_CONFIG --libs libxml-2.0`"
c6be63a7
FF
4747 if test $? -ne 0
4748 then
4749 with_libxml2="no"
4750 fi
4751fi
4752if test "x$with_libxml2" = "xyes"
4753then
4754 SAVE_CPPFLAGS="$CPPFLAGS"
4755 CPPFLAGS="$CPPFLAGS $with_libxml2_cflags"
4756
4757 AC_CHECK_HEADERS(libxml/parser.h, [],
4758 [with_libxml2="no (libxml/parser.h not found)"])
4759
4760 CPPFLAGS="$SAVE_CPPFLAGS"
4761fi
4762if test "x$with_libxml2" = "xyes"
4763then
4764 SAVE_CFLAGS="$CFLAGS"
ae6f041d 4765 SAVE_LDFLAGS="$LDFLAGS"
c6be63a7
FF
4766
4767 CFLAGS="$CFLAGS $with_libxml2_cflags"
4768 LDFLAGS="$LDFLAGS $with_libxml2_ldflags"
4769
4770 AC_CHECK_LIB(xml2, xmlXPathEval,
4771 [with_libxml2="yes"],
4772 [with_libxml2="no (symbol xmlXPathEval not found)"])
4773
4774 CFLAGS="$SAVE_CFLAGS"
4775 LDFLAGS="$SAVE_LDFLAGS"
4776fi
4777dnl Add the right compiler flags and libraries.
4778if test "x$with_libxml2" = "xyes"; then
4779 BUILD_WITH_LIBXML2_CFLAGS="$with_libxml2_cflags"
4780 BUILD_WITH_LIBXML2_LIBS="$with_libxml2_ldflags"
4781 AC_SUBST(BUILD_WITH_LIBXML2_CFLAGS)
4782 AC_SUBST(BUILD_WITH_LIBXML2_LIBS)
4783fi
4784if test "x$with_libvirt" = "xyes"
4785then
497f5785 4786 with_libvirt_cflags="`$PKG_CONFIG --cflags libvirt`"
df26df90
FF
4787 if test $? -ne 0
4788 then
4789 with_libvirt="no"
4790 fi
497f5785 4791 with_libvirt_ldflags="`$PKG_CONFIG --libs libvirt`"
df26df90
FF
4792 if test $? -ne 0
4793 then
4794 with_libvirt="no"
4795 fi
4796fi
4797if test "x$with_libvirt" = "xyes"
c6be63a7
FF
4798then
4799 SAVE_CPPFLAGS="$CPPFLAGS"
4800 CPPFLAGS="$CPPFLAGS $with_libvirt_cflags"
4801
4802 AC_CHECK_HEADERS(libvirt/libvirt.h, [],
4803 [with_libvirt="no (libvirt/libvirt.h not found)"])
4804
4805 CPPFLAGS="$SAVE_CPPFLAGS"
4806fi
4807if test "x$with_libvirt" = "xyes"
df26df90
FF
4808then
4809 SAVE_CFLAGS="$CFLAGS"
ae6f041d 4810 SAVE_LDFLAGS="$LDFLAGS"
df26df90
FF
4811
4812 CFLAGS="$CFLAGS $with_libvirt_cflags"
4813 LDFLAGS="$LDFLAGS $with_libvirt_ldflags"
4814
c6be63a7 4815 AC_CHECK_LIB(virt, virDomainBlockStats,
df26df90
FF
4816 [with_libvirt="yes"],
4817 [with_libvirt="no (symbol virDomainBlockStats not found)"])
4818
4819 CFLAGS="$SAVE_CFLAGS"
4820 LDFLAGS="$SAVE_LDFLAGS"
f69ce75e
RJ
4821fi
4822dnl Add the right compiler flags and libraries.
4823if test "x$with_libvirt" = "xyes"; then
c6be63a7
FF
4824 BUILD_WITH_LIBVIRT_CFLAGS="$with_libvirt_cflags"
4825 BUILD_WITH_LIBVIRT_LIBS="$with_libvirt_ldflags"
4826 AC_SUBST(BUILD_WITH_LIBVIRT_CFLAGS)
4827 AC_SUBST(BUILD_WITH_LIBVIRT_LIBS)
f69ce75e 4828fi
8757c918 4829# }}}
f69ce75e 4830
975e7fd6
FF
4831# $PKG_CONFIG --exists OpenIPMIpthread {{{
4832with_libopenipmipthread="yes"
4833with_libopenipmipthread_cflags=""
4834with_libopenipmipthread_libs=""
4835
4836AC_MSG_CHECKING([for pkg-config])
4837temp_result="no"
4838if test "x$PKG_CONFIG" = "x"
4839then
4840 with_libopenipmipthread="no"
4841 temp_result="no"
4842else
4843 temp_result="$PKG_CONFIG"
4844fi
4845AC_MSG_RESULT([$temp_result])
4846
4847if test "x$with_libopenipmipthread" = "xyes"
4848then
4849 AC_MSG_CHECKING([for libOpenIPMIpthread])
4850 $PKG_CONFIG --exists OpenIPMIpthread 2>/dev/null
4851 if test "$?" != "0"
4852 then
67d4532f 4853 with_libopenipmipthread="no (pkg-config doesn't know OpenIPMIpthread)"
975e7fd6
FF
4854 fi
4855 AC_MSG_RESULT([$with_libopenipmipthread])
4856fi
4857
4858if test "x$with_libopenipmipthread" = "xyes"
4859then
4860 AC_MSG_CHECKING([for libOpenIPMIpthread CFLAGS])
4861 temp_result="`$PKG_CONFIG --cflags OpenIPMIpthread`"
4862 if test "$?" = "0"
4863 then
4864 with_libopenipmipthread_cflags="$temp_result"
4865 else
4866 with_libopenipmipthread="no ($PKG_CONFIG --cflags OpenIPMIpthread failed)"
4867 temp_result="$PKG_CONFIG --cflags OpenIPMIpthread failed"
4868 fi
4869 AC_MSG_RESULT([$temp_result])
4870fi
4871
4872if test "x$with_libopenipmipthread" = "xyes"
4873then
4874 AC_MSG_CHECKING([for libOpenIPMIpthread LDFLAGS])
4875 temp_result="`$PKG_CONFIG --libs OpenIPMIpthread`"
4876 if test "$?" = "0"
4877 then
4878 with_libopenipmipthread_ldflags="$temp_result"
4879 else
4880 with_libopenipmipthread="no ($PKG_CONFIG --libs OpenIPMIpthread failed)"
4881 temp_result="$PKG_CONFIG --libs OpenIPMIpthread failed"
4882 fi
4883 AC_MSG_RESULT([$temp_result])
4884fi
4885
4886if test "x$with_libopenipmipthread" = "xyes"
4887then
4888 SAVE_CPPFLAGS="$CPPFLAGS"
4889 CPPFLAGS="$CPPFLAGS $with_libopenipmipthread_cflags"
4890
4891 AC_CHECK_HEADERS(OpenIPMI/ipmi_smi.h,
4892 [with_libopenipmipthread="yes"],
4893 [with_libopenipmipthread="no (OpenIPMI/ipmi_smi.h not found)"],
4894[#include <OpenIPMI/ipmiif.h>
4895#include <OpenIPMI/ipmi_err.h>
4896#include <OpenIPMI/ipmi_posix.h>
4897#include <OpenIPMI/ipmi_conn.h>
4898])
4899
4900 CPPFLAGS="$SAVE_CPPFLAGS"
4901fi
4902
4903if test "x$with_libopenipmipthread" = "xyes"
4904then
4905 BUILD_WITH_OPENIPMI_CFLAGS="$with_libopenipmipthread_cflags"
4906 BUILD_WITH_OPENIPMI_LIBS="$with_libopenipmipthread_ldflags"
4907 AC_SUBST(BUILD_WITH_OPENIPMI_CFLAGS)
4908 AC_SUBST(BUILD_WITH_OPENIPMI_LIBS)
4909fi
4910# }}}
4911
5e77bd67
VB
4912# --with-libatasmart {{{
4913with_libatasmart_cppflags=""
4914with_libatasmart_ldflags=""
4915AC_ARG_WITH(libatasmart, [AS_HELP_STRING([--with-libatasmart@<:@=PREFIX@:>@], [Path to libatasmart.])],
4916[
4917 if test "x$withval" != "xno" && test "x$withval" != "xyes"
4918 then
4919 with_libatasmart_cppflags="-I$withval/include"
4920 with_libatasmart_ldflags="-L$withval/lib"
4921 with_libatasmart="yes"
4922 else
4923 with_libatasmart="$withval"
4924 fi
4925],
4926[
4927 if test "x$ac_system" = "xLinux"
4928 then
4929 with_libatasmart="yes"
4930 else
4931 with_libatasmart="no (Linux only library)"
4932 fi
4933])
4934if test "x$with_libatasmart" = "xyes"
4935then
4936 SAVE_CPPFLAGS="$CPPFLAGS"
4937 CPPFLAGS="$CPPFLAGS $with_libatasmart_cppflags"
4938
4939 AC_CHECK_HEADERS(atasmart.h, [with_libatasmart="yes"], [with_libatasmart="no (atasmart.h not found)"])
4940
4941 CPPFLAGS="$SAVE_CPPFLAGS"
4942fi
4943if test "x$with_libatasmart" = "xyes"
4944then
4945 SAVE_CPPFLAGS="$CPPFLAGS"
4946 SAVE_LDFLAGS="$LDFLAGS"
4947 CPPFLAGS="$CPPFLAGS $with_libatasmart_cppflags"
4948 LDFLAGS="$LDFLAGS $with_libatasmart_ldflags"
4949
4950 AC_CHECK_LIB(atasmart, sk_disk_open, [with_libatasmart="yes"], [with_libatasmart="no (Symbol 'sk_disk_open' not found)"])
4951
4952 CPPFLAGS="$SAVE_CPPFLAGS"
4953 LDFLAGS="$SAVE_LDFLAGS"
4954fi
4955if test "x$with_libatasmart" = "xyes"
4956then
4957 BUILD_WITH_LIBATASMART_CPPFLAGS="$with_libatasmart_cppflags"
4958 BUILD_WITH_LIBATASMART_LDFLAGS="$with_libatasmart_ldflags"
4959 BUILD_WITH_LIBATASMART_LIBS="-latasmart"
4960 AC_SUBST(BUILD_WITH_LIBATASMART_CPPFLAGS)
4961 AC_SUBST(BUILD_WITH_LIBATASMART_LDFLAGS)
4962 AC_SUBST(BUILD_WITH_LIBATASMART_LIBS)
4963 AC_DEFINE(HAVE_LIBATASMART, 1, [Define if libatasmart is present and usable.])
4964fi
4965AM_CONDITIONAL(BUILD_WITH_LIBATASMART, test "x$with_libatasmart" = "xyes")
4966# }}}
4967
c044208a
FF
4968PKG_CHECK_MODULES([LIBNOTIFY], [libnotify],
4969 [with_libnotify="yes"],
67d4532f
FF
4970 [if test "x$LIBNOTIFY_PKG_ERRORS" = "x"; then
4971 with_libnotify="no"
4972 else
4973 with_libnotify="no ($LIBNOTIFY_PKG_ERRORS)"
4974 fi])
c044208a 4975
86ca149a
FF
4976# Check for enabled/disabled features
4977#
6e765a02 4978
3c12e8a6
NW
4979# AC_COLLECTD(name, enable/disable, info-text, feature/module)
4980# ------------------------------------------------------------
4981dnl
4982m4_define([my_toupper], [m4_translit([$1], m4_defn([m4_cr_letters]), m4_defn([m4_cr_LETTERS]))])
4983dnl
4984AC_DEFUN(
4985 [AC_COLLECTD],
4986 [
4987 m4_if([$1], [], [AC_FATAL([AC_COLLECTD([$1], [$2], [$3], [$4]): 1st argument must not be empty])])dnl
4988 m4_if(
4989 [$2],
4990 [enable],
4991 [dnl
4992 m4_define([EnDis],[disabled])dnl
4993 m4_define([YesNo],[no])dnl
4994 ],dnl
4995 [m4_if(
4996 [$2],
4997 [disable],
4998 [dnl
4999 m4_define([EnDis],[enabled])dnl
5000 m4_define([YesNo],[yes])dnl
5001 ],
5002 [dnl
5003 AC_FATAL([AC_COLLECTD([$1], [$2], [$3], [$4]): 2nd argument must be either enable or disable])dnl
5004 ]dnl
5005 )]dnl
5006 )dnl
5007 m4_if([$3], [feature], [],
5008 [m4_if(
5009 [$3], [module], [],
5010 [dnl
5011 AC_FATAL([AC_COLLECTD([$1], [$2], [$3], [$4]): 3rd argument must be either feature or disable])dnl
5012 ]dnl
5013 )]dnl
5014 )dnl
5015 AC_ARG_ENABLE(
5016 [$1],
5017 AS_HELP_STRING([--$2-$1], [$2 $4 (EnDis by def)]),
5018 [],
5019 enable_$1='[YesNo]'dnl
5020 )# AC_ARG_ENABLE
5021if test "x$enable_$1" = "xno"
5022then
5023 collectd_$1=0
6e765a02 5024else
3c12e8a6 5025 if test "x$enable_$1" = "xyes"
6e765a02 5026 then
3c12e8a6 5027 collectd_$1=1
6e765a02 5028 else
3c12e8a6
NW
5029 AC_MSG_NOTICE([please specify either --enable-$1 or --disable-$1; enabling $1.])
5030 collectd_$1=1
5031 enable_$1='yes'
6e765a02
FF
5032 fi
5033fi
3c12e8a6
NW
5034 AC_DEFINE_UNQUOTED([COLLECT_]my_toupper([$1]), [$collectd_$1], [wether or not to enable $3 $4])
5035 AM_CONDITIONAL([BUILD_]my_toupper([$3])[_]my_toupper([$1]), [test "x$enable_$1" = "xyes"])dnl
5036 ]dnl
5037)# AC_COLLECTD(name, enable/disable, info-text, feature/module)
5038
a905d397
FF
5039# AC_PLUGIN(name, default, info)
5040# ------------------------------------------------------------
5041dnl
5042AC_DEFUN(
5043 [AC_PLUGIN],
5044 [
5045 enable_plugin="no"
cb622208 5046 force="no"
d4fcceb7 5047 AC_ARG_ENABLE([$1], AS_HELP_STRING([--enable-$1],[$3]),
a905d397
FF
5048 [
5049 if test "x$enableval" = "xyes"
5050 then
5051 enable_plugin="yes"
cb622208 5052 else if test "x$enableval" = "xforce"
a905d397
FF
5053 then
5054 enable_plugin="yes"
cb622208 5055 force="yes"
a905d397 5056 else
c632c2e5 5057 enable_plugin="no (disabled on command line)"
cb622208 5058 fi; fi
a905d397
FF
5059 ],
5060 [
2fd1f725
SH
5061 if test "x$enable_all_plugins" = "xauto"
5062 then
5063 if test "x$2" = "xyes"
5064 then
5065 enable_plugin="yes"
5066 else
5067 enable_plugin="no"
5068 fi
5069 else
5070 enable_plugin="$enable_all_plugins"
5071 fi
a905d397
FF
5072 ])
5073 if test "x$enable_plugin" = "xyes"
5074 then
cb622208 5075 if test "x$2" = "xyes" || test "x$force" = "xyes"
452db816
FF
5076 then
5077 AC_DEFINE([HAVE_PLUGIN_]my_toupper([$1]), 1, [Define to 1 if the $1 plugin is enabled.])
cb622208
SH
5078 if test "x$2" != "xyes"
5079 then
5080 dependency_warning="yes"
5081 fi
452db816
FF
5082 else # User passed "yes" but dependency checking yielded "no" => Dependency problem.
5083 dependency_error="yes"
5084 enable_plugin="no (dependency error)"
5085 fi
a905d397
FF
5086 fi
5087 AM_CONDITIONAL([BUILD_PLUGIN_]my_toupper([$1]), test "x$enable_plugin" = "xyes")
5088 enable_$1="$enable_plugin"
5089 ]
5090)# AC_PLUGIN(name, default, info)
5091
3c12e8a6
NW
5092m4_divert_once([HELP_ENABLE], [
5093collectd features:])
a905d397 5094# FIXME: Remove these calls to `AC_COLLECTD' and then remove that macro.
3c12e8a6
NW
5095AC_COLLECTD([debug], [enable], [feature], [debugging])
5096AC_COLLECTD([daemon], [disable], [feature], [daemon mode])
14740db4 5097AC_COLLECTD([getifaddrs],[enable], [feature], [getifaddrs under Linux])
6e765a02 5098
cb622208 5099dependency_warning="no"
9276a813 5100dependency_error="no"
cb622208 5101
99ef5283 5102plugin_ascent="no"
d0bd9cfd 5103plugin_barometer="no"
a905d397 5104plugin_battery="no"
db4f7362 5105plugin_bind="no"
9e1b0c68 5106plugin_cgroups="no"
2239c03f 5107plugin_conntrack="no"
11c3445e 5108plugin_contextswitch="no"
a905d397
FF
5109plugin_cpu="no"
5110plugin_cpufreq="no"
a30d7659 5111plugin_curl_json="no"
1d333244 5112plugin_curl_xml="no"
a905d397
FF
5113plugin_df="no"
5114plugin_disk="no"
df570a36 5115plugin_drbd="no"
a905d397 5116plugin_entropy="no"
8ae25a97 5117plugin_ethstat="no"
d61648a2 5118plugin_fscache="no"
a905d397 5119plugin_interface="no"
249d5776 5120plugin_ipmi="no"
6d431b70 5121plugin_ipvs="no"
a905d397
FF
5122plugin_irq="no"
5123plugin_load="no"
ab4488bb 5124plugin_log_logstash="no"
a905d397 5125plugin_memory="no"
3fc0feb6 5126plugin_multimeter="no"
a905d397 5127plugin_nfs="no"
d61648a2 5128plugin_numa="no"
28785769 5129plugin_perl="no"
a905d397 5130plugin_processes="no"
15f09880 5131plugin_protocols="no"
a905d397
FF
5132plugin_serial="no"
5133plugin_swap="no"
5134plugin_tape="no"
03b7ec00 5135plugin_tcpconns="no"
4e8795c7 5136plugin_ted="no"
2004f542 5137plugin_thermal="no"
d0da1c4e 5138plugin_uptime="no"
62f94860
FF
5139plugin_users="no"
5140plugin_virt="no"
7b6abfd0 5141plugin_vmem="no"
a905d397
FF
5142plugin_vserver="no"
5143plugin_wireless="no"
87a3da3a 5144plugin_zfs_arc="no"
ff8752c6 5145plugin_zookeeper="no"
a905d397
FF
5146
5147# Linux
5148if test "x$ac_system" = "xLinux"
5149then
5150 plugin_battery="yes"
2239c03f 5151 plugin_conntrack="yes"
11c3445e 5152 plugin_contextswitch="yes"
9e1b0c68 5153 plugin_cgroups="yes"
a905d397
FF
5154 plugin_cpu="yes"
5155 plugin_cpufreq="yes"
5156 plugin_disk="yes"
df570a36 5157 plugin_drbd="yes"
a905d397 5158 plugin_entropy="yes"
d61648a2 5159 plugin_fscache="yes"
a905d397
FF
5160 plugin_interface="yes"
5161 plugin_irq="yes"
5162 plugin_load="yes"
25a4bb88 5163 plugin_lvm="yes"
a905d397
FF
5164 plugin_memory="yes"
5165 plugin_nfs="yes"
d61648a2 5166 plugin_numa="yes"
a905d397 5167 plugin_processes="yes"
15f09880 5168 plugin_protocols="yes"
a905d397
FF
5169 plugin_serial="yes"
5170 plugin_swap="yes"
03b7ec00 5171 plugin_tcpconns="yes"
2004f542 5172 plugin_thermal="yes"
d0da1c4e 5173 plugin_uptime="yes"
7b6abfd0 5174 plugin_vmem="yes"
a905d397
FF
5175 plugin_vserver="yes"
5176 plugin_wireless="yes"
521df2ea 5177 plugin_zfs_arc="yes"
fb3a07dc 5178
d87bf146 5179 if test "x$have_linux_ip_vs_h" = "xyes" || test "x$have_net_ip_vs_h" = "xyes" || test "x$have_ip_vs_h" = "xyes"
fb3a07dc
SH
5180 then
5181 plugin_ipvs="yes"
5182 fi
a905d397
FF
5183fi
5184
7132090f
FF
5185if test "x$ac_system" = "xOpenBSD"
5186then
5187 plugin_tcpconns="yes"
5188fi
5189
a905d397
FF
5190# Mac OS X devices
5191if test "x$with_libiokit" = "xyes"
5192then
5193 plugin_battery="yes"
5194 plugin_disk="yes"
5195fi
5196
11b1e65a 5197# AIX
95b08a82
MLSR
5198
5199if test "x$ac_system" = "xAIX"
5200then
5201 plugin_tcpconns="yes"
5202fi
5203
95c50593
XL
5204# FreeBSD
5205
5206if test "x$ac_system" = "xFreeBSD"
5207then
5208 plugin_zfs_arc="yes"
5209fi
5210
5211
11b1e65a
MS
5212if test "x$with_perfstat" = "xyes"
5213then
5214 plugin_cpu="yes"
d4195dfb 5215 plugin_contextswitch="yes"
11b1e65a
MS
5216 plugin_disk="yes"
5217 plugin_memory="yes"
5218 plugin_swap="yes"
5219 plugin_interface="yes"
5220 plugin_load="yes"
48096d34 5221 plugin_uptime="yes"
11b1e65a
MS
5222fi
5223
5224if test "x$with_procinfo" = "xyes"
5225then
5226 plugin_processes="yes"
5227fi
5228
a905d397 5229# Solaris
d0da1c4e
FF
5230if test "x$with_kstat" = "xyes"
5231then
b08f4f6e 5232 plugin_nfs="yes"
d0da1c4e 5233 plugin_uptime="yes"
87a3da3a 5234 plugin_zfs_arc="yes"
d0da1c4e
FF
5235fi
5236
a905d397
FF
5237if test "x$with_devinfo$with_kstat" = "xyesyes"
5238then
5239 plugin_cpu="yes"
5240 plugin_disk="yes"
5241 plugin_interface="yes"
5242 plugin_memory="yes"
a905d397
FF
5243 plugin_tape="yes"
5244fi
5245
d0bd9cfd
T
5246# libi2c-dev
5247with_libi2c="no"
5248if test "x$ac_system" = "xLinux"
5249then
22c1fc78
PYR
5250AC_CHECK_DECL(i2c_smbus_read_i2c_block_data,
5251 [with_libi2c="yes"],
5252 [with_libi2c="no (symbol i2c_smbus_read_i2c_block_data not found - have you installed libi2c-dev ?)"],
d0bd9cfd
T
5253 [[#include <stdlib.h>
5254 #include <linux/i2c-dev.h>]])
5255fi
5256
5257if test "x$with_libi2c" = "xyes"
5258then
5259 plugin_barometer="yes"
5260fi
5261
5262
a905d397
FF
5263# libstatgrab
5264if test "x$with_libstatgrab" = "xyes"
5265then
9ac28385 5266 plugin_cpu="yes"
d5ad8445 5267 plugin_disk="yes"
a905d397
FF
5268 plugin_interface="yes"
5269 plugin_load="yes"
5270 plugin_memory="yes"
5271 plugin_swap="yes"
c87e3fc2 5272 plugin_users="yes"
a905d397
FF
5273fi
5274
99ef5283
FF
5275if test "x$with_libcurl" = "xyes" && test "x$with_libxml2" = "xyes"
5276then
5277 plugin_ascent="yes"
adee81fe
FF
5278 if test "x$have_strptime" = "xyes"
5279 then
5280 plugin_bind="yes"
5281 fi
99ef5283
FF
5282fi
5283
249d5776
FF
5284if test "x$with_libopenipmipthread" = "xyes"
5285then
5286 plugin_ipmi="yes"
5287fi
5288
bc51ef21
DM
5289if test "x$with_libcurl" = "xyes" && test "x$with_libyajl" = "xyes"
5290then
a30d7659 5291 plugin_curl_json="yes"
bc51ef21
DM
5292fi
5293
1d333244
AG
5294if test "x$with_libcurl" = "xyes" && test "x$with_libxml2" = "xyes"
5295then
5296 plugin_curl_xml="yes"
5297fi
5298
a905d397
FF
5299if test "x$have_processor_info" = "xyes"
5300then
5301 plugin_cpu="yes"
5302fi
22188738
FF
5303if test "x$have_sysctl" = "xyes"
5304then
5305 plugin_cpu="yes"
cfb15b5d 5306 plugin_memory="yes"
d0da1c4e 5307 plugin_uptime="yes"
1411661f
FF
5308 if test "x$ac_system" = "xDarwin"
5309 then
5310 plugin_swap="yes"
5311 fi
22188738 5312fi
a905d397
FF
5313if test "x$have_sysctlbyname" = "xyes"
5314then
1538fa84 5315 plugin_contextswitch="yes"
a905d397
FF
5316 plugin_cpu="yes"
5317 plugin_memory="yes"
1695cd07 5318 plugin_tcpconns="yes"
a905d397
FF
5319fi
5320
eafb8003
FF
5321# Df plugin: Check if we know how to determine mount points first.
5322#if test "x$have_listmntent" = "xyes"; then
5323# plugin_df="yes"
5324#fi
5325if test "x$have_getvfsstat" = "xyes" || test "x$have_getfsstat" = "xyes"
a905d397
FF
5326then
5327 plugin_df="yes"
5328fi
eafb8003 5329if test "x$c_cv_have_two_getmntent" = "xyes" || test "x$have_getmntent" = "xgen" || test "x$have_getmntent" = "xsun"
a905d397
FF
5330then
5331 plugin_df="yes"
5332fi
eafb8003
FF
5333#if test "x$have_getmntent" = "xseq"
5334#then
5335# plugin_df="yes"
5336#fi
5337if test "x$c_cv_have_one_getmntent" = "xyes"
a905d397
FF
5338then
5339 plugin_df="yes"
5340fi
5341
eafb8003
FF
5342# Df plugin: Check if we have either `statfs' or `statvfs' second.
5343if test "x$plugin_df" = "xyes"
5344then
5345 plugin_df="no"
5346 if test "x$have_statfs" = "xyes"
5347 then
5348 plugin_df="yes"
5349 fi
5350 if test "x$have_statvfs" = "xyes"
5351 then
5352 plugin_df="yes"
5353 fi
5354fi
a905d397 5355
8ae25a97
FF
5356if test "x$have_linux_sockios_h$have_linux_ethtool_h" = "xyesyes"
5357then
5358 plugin_ethstat="yes"
5359fi
5360
a905d397
FF
5361if test "x$have_getifaddrs" = "xyes"
5362then
5363 plugin_interface="yes"
5364fi
5365
5366if test "x$have_getloadavg" = "xyes"
5367then
5368 plugin_load="yes"
5369fi
5370
ab4488bb
PYR
5371if test "x$with_libyajl" = "xyes"
5372then
5373 plugin_log_logstash="yes"
5374fi
5375
5f5da97b 5376if test "x$c_cv_have_libperl$c_cv_have_perl_ithreads" = "xyesyes"
28785769
SH
5377then
5378 plugin_perl="yes"
5379fi
5380
a905d397
FF
5381# Mac OS X memory interface
5382if test "x$have_host_statistics" = "xyes"
5383then
5384 plugin_memory="yes"
5385fi
5386
3fc0feb6
FF
5387if test "x$have_termios_h" = "xyes"
5388then
3c83a068
MLSR
5389 if test "x$ac_system" != "xAIX"
5390 then
5391 plugin_multimeter="yes"
5392 fi
4e8795c7 5393 plugin_ted="yes"
3fc0feb6
FF
5394fi
5395
a905d397
FF
5396if test "x$have_thread_info" = "xyes"
5397then
5398 plugin_processes="yes"
5399fi
5400
2d3861c5 5401if test "x$with_kvm_getprocs" = "xyes" && test "x$have_struct_kinfo_proc_freebsd" = "xyes"
a905d397 5402then
49908d76 5403 plugin_processes="yes"
d4a4b86e
FF
5404fi
5405
0e45add1
LB
5406if test "x$with_kvm_getprocs" = "xyes" && test "x$have_struct_kinfo_proc_openbsd" = "xyes"
5407then
5408 plugin_processes="yes"
5409fi
5410
d4a4b86e
FF
5411if test "x$with_kvm_getswapinfo" = "xyes"
5412then
a905d397
FF
5413 plugin_swap="yes"
5414fi
5415
1ff51088 5416if test "x$have_swapctl" = "xyes" && test "x$c_cv_have_swapctl_two_args" = "xyes"
b10e5d81
FF
5417then
5418 plugin_swap="yes"
5419fi
5420
37b23384 5421if test "x$with_kvm_openfiles$with_kvm_nlist" = "xyesyes"
043a6f45
FF
5422then
5423 plugin_tcpconns="yes"
5424fi
5425
a905d397
FF
5426if test "x$have_getutent" = "xyes"
5427then
5428 plugin_users="yes"
5429fi
5430if test "x$have_getutxent" = "xyes"
5431then
5432 plugin_users="yes"
5433fi
5434
62f94860
FF
5435if test "x$with_libxml2" = "xyes" && test "x$with_libvirt" = "xyes"
5436then
5437 plugin_virt="yes"
5438fi
5439
5440
f9ee71b2 5441m4_divert_once([HELP_ENABLE], [
a905d397
FF
5442collectd plugins:])
5443
2fd1f725 5444AC_ARG_ENABLE([all-plugins],
d4fcceb7 5445 AS_HELP_STRING([--enable-all-plugins],[enable all plugins (auto by def)]),
2fd1f725
SH
5446 [
5447 if test "x$enableval" = "xyes"
5448 then
5449 enable_all_plugins="yes"
5450 else if test "x$enableval" = "xauto"
5451 then
5452 enable_all_plugins="auto"
5453 else
5454 enable_all_plugins="no"
5455 fi; fi
5456 ],
5457 [enable_all_plugins="auto"])
5458
5459m4_divert_once([HELP_ENABLE], [])
5460
03ed4b71 5461AC_PLUGIN([aggregation], [yes], [Aggregation plugin])
cd423f6a 5462AC_PLUGIN([amqp], [$with_librabbitmq], [AMQP output plugin])
3fc0feb6
FF
5463AC_PLUGIN([apache], [$with_libcurl], [Apache httpd statistics])
5464AC_PLUGIN([apcups], [yes], [Statistics of UPSes by APC])
5465AC_PLUGIN([apple_sensors], [$with_libiokit], [Apple's hardware sensors])
d5cd30db 5466AC_PLUGIN([aquaero], [$with_libaquaero5], [Aquaero's hardware sensors])
99ef5283 5467AC_PLUGIN([ascent], [$plugin_ascent], [AscentEmu player statistics])
d0bd9cfd 5468AC_PLUGIN([barometer], [$plugin_barometer], [Barometer sensor on I2C])
3fc0feb6 5469AC_PLUGIN([battery], [$plugin_battery], [Battery statistics])
db4f7362 5470AC_PLUGIN([bind], [$plugin_bind], [ISC Bind nameserver statistics])
2239c03f 5471AC_PLUGIN([conntrack], [$plugin_conntrack], [nf_conntrack statistics])
11c3445e 5472AC_PLUGIN([contextswitch], [$plugin_contextswitch], [context switch statistics])
3fc0feb6 5473AC_PLUGIN([cpufreq], [$plugin_cpufreq], [CPU frequency statistics])
999f0271 5474AC_PLUGIN([cpu], [$plugin_cpu], [CPU usage statistics])
3fc0feb6 5475AC_PLUGIN([csv], [yes], [CSV output plugin])
a16e9671 5476AC_PLUGIN([curl], [$with_libcurl], [CURL generic web statistics])
a30d7659 5477AC_PLUGIN([curl_json], [$plugin_curl_json], [CouchDB statistics])
1d333244 5478AC_PLUGIN([curl_xml], [$plugin_curl_xml], [CURL generic xml statistics])
9e1b0c68 5479AC_PLUGIN([cgroups], [$plugin_cgroups], [CGroups CPU usage accounting])
3f847b15 5480AC_PLUGIN([dbi], [$with_libdbi], [General database statistics])
3fc0feb6
FF
5481AC_PLUGIN([df], [$plugin_df], [Filesystem usage statistics])
5482AC_PLUGIN([disk], [$plugin_disk], [Disk usage statistics])
df570a36 5483AC_PLUGIN([drbd], [$plugin_drbd], [DRBD statistics])
3fc0feb6
FF
5484AC_PLUGIN([dns], [$with_libpcap], [DNS traffic analysis])
5485AC_PLUGIN([email], [yes], [EMail statistics])
5486AC_PLUGIN([entropy], [$plugin_entropy], [Entropy statistics])
8ae25a97 5487AC_PLUGIN([ethstat], [$plugin_ethstat], [Stats from NIC driver])
3fc0feb6 5488AC_PLUGIN([exec], [yes], [Execution of external programs])
6071f979 5489AC_PLUGIN([filecount], [yes], [Count files in directories])
3d4a8f9e 5490AC_PLUGIN([fscache], [$plugin_fscache], [fscache statistics])
2f0bd3ba 5491AC_PLUGIN([gmond], [$with_libganglia], [Ganglia plugin])
3fc0feb6
FF
5492AC_PLUGIN([hddtemp], [yes], [Query hddtempd])
5493AC_PLUGIN([interface], [$plugin_interface], [Interface traffic statistics])
249d5776 5494AC_PLUGIN([ipmi], [$plugin_ipmi], [IPMI sensor statistics])
999f0271 5495AC_PLUGIN([iptables], [$with_libiptc], [IPTables rule counters])
6d431b70 5496AC_PLUGIN([ipvs], [$plugin_ipvs], [IPVS connection statistics])
3fc0feb6 5497AC_PLUGIN([irq], [$plugin_irq], [IRQ statistics])
ff1c15a6 5498AC_PLUGIN([java], [$with_java], [Embed the Java Virtual Machine])
3fc0feb6
FF
5499AC_PLUGIN([load], [$plugin_load], [System load])
5500AC_PLUGIN([logfile], [yes], [File logging plugin])
ab4488bb 5501AC_PLUGIN([log_logstash], [$plugin_log_logstash], [Logstash json_event compatible logging])
2254a769 5502AC_PLUGIN([lpar], [$with_perfstat], [AIX logical partitions statistics])
25a4bb88 5503AC_PLUGIN([lvm], [$with_liblvm2app], [LVM statistics])
72a6ea58 5504AC_PLUGIN([madwifi], [$have_linux_wireless_h], [Madwifi wireless statistics])
95e95817 5505AC_PLUGIN([match_empty_counter], [yes], [The empty counter match])
f2a35cef 5506AC_PLUGIN([match_hashed], [yes], [The hashed match])
266c5c65 5507AC_PLUGIN([match_regex], [yes], [The regex match])
892fbd80 5508AC_PLUGIN([match_timediff], [yes], [The timediff match])
0e4f07d7 5509AC_PLUGIN([match_value], [yes], [The value match])
3fc0feb6 5510AC_PLUGIN([mbmon], [yes], [Query mbmond])
9ce2a30d 5511AC_PLUGIN([md], [$have_linux_raid_md_u_h], [md (Linux software RAID) devices])
5e8e1fe1 5512AC_PLUGIN([memcachec], [$with_libmemcached], [memcachec statistics])
0735ed71 5513AC_PLUGIN([memcached], [yes], [memcached statistics])
3fc0feb6 5514AC_PLUGIN([memory], [$plugin_memory], [Memory usage])
ad02e903 5515AC_PLUGIN([mic], [$with_mic], [Intel Many Integrated Core stats])
505c6b2a 5516AC_PLUGIN([modbus], [$with_libmodbus], [Modbus plugin])
3fc0feb6
FF
5517AC_PLUGIN([multimeter], [$plugin_multimeter], [Read multimeter values])
5518AC_PLUGIN([mysql], [$with_libmysql], [MySQL statistics])
74f755e8 5519AC_PLUGIN([netapp], [$with_libnetapp], [NetApp plugin])
25bf8128 5520AC_PLUGIN([netlink], [$with_libmnl], [Enhanced Linux network statistics])
3fc0feb6
FF
5521AC_PLUGIN([network], [yes], [Network communication plugin])
5522AC_PLUGIN([nfs], [$plugin_nfs], [NFS statistics])
62b1cfdd 5523AC_PLUGIN([nginx], [$with_libcurl], [nginx statistics])
999f0271 5524AC_PLUGIN([notify_desktop], [$with_libnotify], [Desktop notifications])
a1dd93a2 5525AC_PLUGIN([notify_email], [$with_libesmtp], [Email notifier])
3fc0feb6 5526AC_PLUGIN([ntpd], [yes], [NTPd statistics])
d61648a2 5527AC_PLUGIN([numa], [$plugin_numa], [NUMA virtual memory statistics])
a905d397 5528AC_PLUGIN([nut], [$with_libupsclient], [Network UPS tools statistics])
7a12fd28 5529AC_PLUGIN([olsrd], [yes], [olsrd statistics])
11ba6e7c 5530AC_PLUGIN([onewire], [$with_libowcapi], [OneWire sensor statistics])
6ecb1f03 5531AC_PLUGIN([openldap], [$with_libldap], [OpenLDAP statistics])
31c1bf4f 5532AC_PLUGIN([openvpn], [yes], [OpenVPN client statistics])
a737ed74 5533AC_PLUGIN([oracle], [$with_oracle], [Oracle plugin])
28785769 5534AC_PLUGIN([perl], [$plugin_perl], [Embed a Perl interpreter])
43bc16aa 5535AC_PLUGIN([pf], [$have_net_pfvar_h], [BSD packet filter (PF) statistics])
23a8901d 5536# FIXME: Check for libevent, too.
24f1130f 5537AC_PLUGIN([pinba], [$have_protoc_c], [Pinba statistics])
3fc0feb6 5538AC_PLUGIN([ping], [$with_liboping], [Network latency statistics])
a0b4b6b4 5539AC_PLUGIN([postgresql], [$with_libpq], [PostgreSQL database statistics])
bd150991 5540AC_PLUGIN([powerdns], [yes], [PowerDNS statistics])
3fc0feb6 5541AC_PLUGIN([processes], [$plugin_processes], [Process statistics])
15f09880 5542AC_PLUGIN([protocols], [$plugin_protocols], [Protocol (IP, TCP, ...) statistics])
b8c32e9f 5543AC_PLUGIN([python], [$with_python], [Embed a Python interpreter])
36e8719c 5544AC_PLUGIN([redis], [$with_libhiredis], [Redis plugin])
f51548ec 5545AC_PLUGIN([routeros], [$with_librouteros], [RouterOS plugin])
667bcda9 5546AC_PLUGIN([rrdcached], [$librrd_rrdc_update], [RRDTool output plugin])
999f0271 5547AC_PLUGIN([rrdtool], [$with_librrd], [RRDTool output plugin])
c044208a 5548AC_PLUGIN([sensors], [$with_libsensors], [lm_sensors statistics])
3fc0feb6 5549AC_PLUGIN([serial], [$plugin_serial], [serial port traffic])
5415a1c9 5550AC_PLUGIN([sigrok], [$with_libsigrok], [sigrok acquisition sources])
5e77bd67 5551AC_PLUGIN([smart], [$with_libatasmart], [SMART statistics])
3fc0feb6 5552AC_PLUGIN([snmp], [$with_libnetsnmp], [SNMP querying plugin])
cc4025b8 5553AC_PLUGIN([statsd], [yes], [StatsD plugin])
3fc0feb6
FF
5554AC_PLUGIN([swap], [$plugin_swap], [Swap usage statistics])
5555AC_PLUGIN([syslog], [$have_syslog], [Syslog logging plugin])
eeb86d2d 5556AC_PLUGIN([table], [yes], [Parsing of tabular data])
4aecad69 5557AC_PLUGIN([tail], [yes], [Parsing of logfiles])
88ed4433 5558AC_PLUGIN([tail_csv], [yes], [Parsing of CSV files])
3fc0feb6 5559AC_PLUGIN([tape], [$plugin_tape], [Tape drive statistics])
380be79e 5560AC_PLUGIN([target_notification], [yes], [The notification target])
1aaedbca 5561AC_PLUGIN([target_replace], [yes], [The replace target])
9ae852ac 5562AC_PLUGIN([target_scale],[yes], [The scale target])
92d84092 5563AC_PLUGIN([target_set], [yes], [The set target])
67ce1dd8 5564AC_PLUGIN([target_v5upgrade], [yes], [The v5upgrade target])
03b7ec00 5565AC_PLUGIN([tcpconns], [$plugin_tcpconns], [TCP connection statistics])
fea74b37 5566AC_PLUGIN([teamspeak2], [yes], [TeamSpeak2 server statistics])
4e8795c7 5567AC_PLUGIN([ted], [$plugin_ted], [Read The Energy Detective values])
2004f542 5568AC_PLUGIN([thermal], [$plugin_thermal], [Linux ACPI thermal zone statistics])
171a92c9 5569AC_PLUGIN([threshold], [yes], [Threshold checking plugin])
ced8c219 5570AC_PLUGIN([tokyotyrant], [$with_libtokyotyrant], [TokyoTyrant database statistics])
3fc0feb6 5571AC_PLUGIN([unixsock], [yes], [Unixsock communication plugin])
d0da1c4e 5572AC_PLUGIN([uptime], [$plugin_uptime], [Uptime statistics])
3fc0feb6 5573AC_PLUGIN([users], [$plugin_users], [User statistics])
30f3e7b8 5574AC_PLUGIN([uuid], [yes], [UUID as hostname plugin])
e9a9482a 5575AC_PLUGIN([varnish], [$with_libvarnish], [Varnish cache statistics])
62f94860 5576AC_PLUGIN([virt], [$plugin_virt], [Virtual machine statistics])
7b6abfd0 5577AC_PLUGIN([vmem], [$plugin_vmem], [Virtual memory statistics])
3fc0feb6
FF
5578AC_PLUGIN([vserver], [$plugin_vserver], [Linux VServer statistics])
5579AC_PLUGIN([wireless], [$plugin_wireless], [Wireless statistics])
afabd3b6 5580AC_PLUGIN([write_graphite], [yes], [Graphite / Carbon output plugin])
64d0aa3f 5581AC_PLUGIN([write_http], [$with_libcurl], [HTTP output plugin])
630e3bba 5582AC_PLUGIN([write_kafka], [$with_librdkafka], [Kafka output plugin])
93c89932 5583AC_PLUGIN([write_log], [yes], [Log output plugin])
e853b1ca 5584AC_PLUGIN([write_mongodb], [$with_libmongoc], [MongoDB output plugin])
afebdd7c 5585AC_PLUGIN([write_redis], [$with_libhiredis], [Redis output plugin])
24f1130f 5586AC_PLUGIN([write_riemann], [$have_protoc_c], [Riemann output plugin])
c2021dfb 5587AC_PLUGIN([write_tsdb], [yes], [TSDB output plugin])
3fc0feb6 5588AC_PLUGIN([xmms], [$with_libxmms], [XMMS statistics])
87a3da3a 5589AC_PLUGIN([zfs_arc], [$plugin_zfs_arc], [ZFS ARC statistics])
ff8752c6 5590AC_PLUGIN([zookeeper], [yes], [Zookeeper statistics])
55b43947 5591
a32e822b
FF
5592dnl Default configuration file
5593# Load either syslog or logfile
5594LOAD_PLUGIN_SYSLOG=""
5595LOAD_PLUGIN_LOGFILE=""
22c1fc78 5596LOAD_PLUGIN_LOG_LOGSTASH=""
a32e822b
FF
5597
5598AC_MSG_CHECKING([which default log plugin to load])
5599default_log_plugin="none"
5600if test "x$enable_syslog" = "xyes"
5601then
5602 default_log_plugin="syslog"
5603else
5604 LOAD_PLUGIN_SYSLOG="##"
5605fi
5606
5607if test "x$enable_logfile" = "xyes"
5608then
5609 if test "x$default_log_plugin" = "xnone"
5610 then
5611 default_log_plugin="logfile"
5612 else
5613 LOAD_PLUGIN_LOGFILE="#"
5614 fi
5615else
5616 LOAD_PLUGIN_LOGFILE="##"
5617fi
22c1fc78 5618
831665cd 5619if test "x$enable_log_logstash" = "xyes"
22c1fc78
PYR
5620then
5621 LOAD_PLUGIN_LOG_LOGSTASH="#"
5622else
5623 LOAD_PLUGIN_LOG_LOGSTASH="##"
5624fi
5625
5626
a32e822b
FF
5627AC_MSG_RESULT([$default_log_plugin])
5628
5629AC_SUBST(LOAD_PLUGIN_SYSLOG)
5630AC_SUBST(LOAD_PLUGIN_LOGFILE)
22c1fc78 5631AC_SUBST(LOAD_PLUGIN_LOG_LOGSTASH)
a32e822b
FF
5632
5633DEFAULT_LOG_LEVEL="info"
5634if test "x$enable_debug" = "xyes"
5635then
5636 DEFAULT_LOG_LEVEL="debug"
5637fi
5638AC_SUBST(DEFAULT_LOG_LEVEL)
5639
5640# Load only one of rrdtool, network, csv in the default config.
5641LOAD_PLUGIN_RRDTOOL=""
5642LOAD_PLUGIN_NETWORK=""
5643LOAD_PLUGIN_CSV=""
5644
5645AC_MSG_CHECKING([which default write plugin to load])
5646default_write_plugin="none"
5647if test "x$enable_rrdtool" = "xyes"
5648then
5649 default_write_plugin="rrdtool"
5650else
5651 LOAD_PLUGIN_RRDTOOL="##"
5652fi
5653
5654if test "x$enable_network" = "xyes"
5655then
5656 if test "x$default_write_plugin" = "xnone"
5657 then
5658 default_write_plugin="network"
5659 else
5660 LOAD_PLUGIN_NETWORK="#"
5661 fi
5662else
5663 LOAD_PLUGIN_NETWORK="##"
5664fi
5665
5666if test "x$enable_csv" = "xyes"
5667then
5668 if test "x$default_write_plugin" = "xnone"
5669 then
5670 default_write_plugin="csv"
5671 else
5672 LOAD_PLUGIN_CSV="#"
5673 fi
5674else
5675 LOAD_PLUGIN_CSV="##"
5676fi
5677AC_MSG_RESULT([$default_write_plugin])
5678
5679AC_SUBST(LOAD_PLUGIN_RRDTOOL)
5680AC_SUBST(LOAD_PLUGIN_NETWORK)
5681AC_SUBST(LOAD_PLUGIN_CSV)
5682
fb3a07dc 5683dnl ip_vs.h
d45c77ca 5684if test "x$ac_system" = "xLinux" \
d87bf146 5685 && test "x$have_linux_ip_vs_h$have_net_ip_vs_h$have_ip_vs_h" = "xnonono"
fb3a07dc
SH
5686then
5687 enable_ipvs="$enable_ipvs (ip_vs.h not found)"
5688fi
5689
d87bf146
SH
5690if test "x$ip_vs_h_needs_kernel_cflags" = "xyes"
5691then
5692 enable_ipvs="$enable_ipvs (needs $KERNEL_CFLAGS)"
5693fi
5694
a459afe5 5695dnl Perl bindings
6c769cf7 5696PERL_BINDINGS_OPTIONS="PREFIX=${prefix}"
a459afe5
SH
5697AC_ARG_WITH(perl-bindings, [AS_HELP_STRING([--with-perl-bindings@<:@=OPTIONS@:>@], [Options passed to "perl Makefile.PL".])],
5698[
5699 if test "x$withval" != "xno" && test "x$withval" != "xyes"
5700 then
5701 PERL_BINDINGS_OPTIONS="$withval"
5702 with_perl_bindings="yes"
fb713675 5703 else
fb713675 5704 with_perl_bindings="$withval"
a459afe5
SH
5705 fi
5706],
5707[
f1075c22
SH
5708 if test -n "$perl_interpreter"
5709 then
5710 with_perl_bindings="yes"
5711 else
5712 with_perl_bindings="no (no perl interpreter found)"
5713 fi
a459afe5
SH
5714])
5715if test "x$with_perl_bindings" = "xyes"
5716then
5717 PERL_BINDINGS="perl"
5718else
5719 PERL_BINDINGS=""
5720fi
5721AC_SUBST(PERL_BINDINGS)
5722AC_SUBST(PERL_BINDINGS_OPTIONS)
5723
dc45cf5e
SH
5724dnl libcollectdclient
5725LCC_VERSION_MAJOR=`echo $PACKAGE_VERSION | cut -d'.' -f1`
5726LCC_VERSION_MINOR=`echo $PACKAGE_VERSION | cut -d'.' -f2`
5727LCC_VERSION_PATCH=`echo $PACKAGE_VERSION | cut -d'.' -f3`
5728
5729LCC_VERSION_EXTRA=`echo $PACKAGE_VERSION | cut -d'.' -f4-`
5730
5731LCC_VERSION_STRING="$LCC_VERSION_MAJOR.$LCC_VERSION_MINOR.$LCC_VERSION_PATCH"
5732
5733AC_SUBST(LCC_VERSION_MAJOR)
5734AC_SUBST(LCC_VERSION_MINOR)
5735AC_SUBST(LCC_VERSION_PATCH)
5736AC_SUBST(LCC_VERSION_EXTRA)
5737AC_SUBST(LCC_VERSION_STRING)
5738
8d84ccac 5739AC_CONFIG_FILES(src/libcollectdclient/collectd/lcc_features.h)
dc45cf5e 5740
216c6246 5741AC_CONFIG_FILES([Makefile src/Makefile src/daemon/Makefile src/collectd.conf src/libcollectdclient/Makefile src/libcollectdclient/libcollectdclient.pc src/liboconfig/Makefile bindings/Makefile bindings/java/Makefile])
d4fcceb7 5742AC_OUTPUT
86ca149a 5743
c044208a 5744if test "x$with_librrd" = "xyes" \
759c5445 5745 && test "x$librrd_threadsafe" != "xyes"
83aa9c9e 5746then
c044208a 5747 with_librrd="yes (warning: librrd is not thread-safe)"
83aa9c9e
SH
5748fi
5749
7d32c2bc 5750if test "x$with_libperl" = "xyes"
a432a981 5751then
a459afe5 5752 with_libperl="yes (version `$perl_interpreter -MConfig -e 'print $Config{version};'`)"
7d32c2bc 5753else
a432a981
FF
5754 enable_perl="no (needs libperl)"
5755fi
5756
7075d42e
FF
5757if test "x$enable_perl" = "xno" && test "x$c_cv_have_perl_ithreads" = "xno"
5758then
5759 enable_perl="no (libperl doesn't support ithreads)"
5760fi
5761
d45c77ca
FF
5762if test "x$with_perl_bindings" = "xyes" \
5763 && test "x$PERL_BINDINGS_OPTIONS" != "x"
a459afe5
SH
5764then
5765 with_perl_bindings="yes ($PERL_BINDINGS_OPTIONS)"
5766fi
5767
86ca149a
FF
5768cat <<EOF;
5769
5770Configuration:
5771 Libraries:
adaff4f0 5772 intel mic . . . . . . $with_mic
d5cd30db 5773 libaquaero5 . . . . . $with_libaquaero5
5e77bd67 5774 libatasmart . . . . . $with_libatasmart
837ad77e 5775 libcurl . . . . . . . $with_libcurl
3f847b15 5776 libdbi . . . . . . . $with_libdbi
36e8719c 5777 libhiredis . . . . . $with_libhiredis
05b68469 5778 libesmtp . . . . . . $with_libesmtp
293f5147 5779 libganglia . . . . . $with_libganglia
bcd6151b 5780 libgcrypt . . . . . . $with_libgcrypt
d0bd9cfd 5781 libi2c-dev . . . . . $with_libi2c
837ad77e
SH
5782 libiokit . . . . . . $with_libiokit
5783 libiptc . . . . . . . $with_libiptc
ff1c15a6 5784 libjvm . . . . . . . $with_java
837ad77e
SH
5785 libkstat . . . . . . $with_kstat
5786 libkvm . . . . . . . $with_libkvm
6ecb1f03 5787 libldap . . . . . . . $with_libldap
80598f65 5788 liblvm2app . . . . . $with_liblvm2app
3a4563d4 5789 libmemcached . . . . $with_libmemcached
25bf8128 5790 libmnl . . . . . . . $with_libmnl
367405c9 5791 libmodbus . . . . . . $with_libmodbus
837ad77e 5792 libmysql . . . . . . $with_libmysql
9f8962fb 5793 libnetapp . . . . . . $with_libnetapp
837ad77e
SH
5794 libnetsnmp . . . . . $with_libnetsnmp
5795 libnotify . . . . . . $with_libnotify
5796 liboconfig . . . . . $with_liboconfig
5797 libopenipmi . . . . . $with_libopenipmipthread
5798 liboping . . . . . . $with_liboping
5799 libpcap . . . . . . . $with_libpcap
8dbb7bc4 5800 libperfstat . . . . . $with_perfstat
837ad77e 5801 libperl . . . . . . . $with_libperl
a0b4b6b4 5802 libpq . . . . . . . . $with_libpq
999f0271 5803 libpthread . . . . . $with_libpthread
cd423f6a 5804 librabbitmq . . . . . $with_librabbitmq
630e3bba 5805 librdkafka . . . . . $with_librdkafka
f51548ec 5806 librouteros . . . . . $with_librouteros
c044208a
FF
5807 librrd . . . . . . . $with_librrd
5808 libsensors . . . . . $with_libsensors
5415a1c9 5809 libsigrok . . . . . $with_libsigrok
837ad77e 5810 libstatgrab . . . . . $with_libstatgrab
ced8c219 5811 libtokyotyrant . . . $with_libtokyotyrant
c8e86419 5812 libudev . . . . . . . $with_libudev
837ad77e 5813 libupsclient . . . . $with_libupsclient
e9a9482a 5814 libvarnish . . . . . $with_libvarnish
837ad77e
SH
5815 libvirt . . . . . . . $with_libvirt
5816 libxml2 . . . . . . . $with_libxml2
5817 libxmms . . . . . . . $with_libxmms
f154fb21 5818 libyajl . . . . . . . $with_libyajl
97b5f7f8 5819 libevent . . . . . . $with_libevent
5f4c4a17 5820 protobuf-c . . . . . $have_protoc_c
a737ed74 5821 oracle . . . . . . . $with_oracle
b8c32e9f 5822 python . . . . . . . $with_python
86ca149a
FF
5823
5824 Features:
837ad77e
SH
5825 daemon mode . . . . . $enable_daemon
5826 debug . . . . . . . . $enable_debug
6e765a02 5827
a459afe5 5828 Bindings:
837ad77e 5829 perl . . . . . . . . $with_perl_bindings
a459afe5 5830
6e765a02 5831 Modules:
03ed4b71 5832 aggregation . . . . . $enable_aggregation
cd423f6a 5833 amqp . . . . . . . $enable_amqp
837ad77e
SH
5834 apache . . . . . . . $enable_apache
5835 apcups . . . . . . . $enable_apcups
d5cd30db 5836 aquaero . . . . . . . $enable_aquaero
837ad77e
SH
5837 apple_sensors . . . . $enable_apple_sensors
5838 ascent . . . . . . . $enable_ascent
d0bd9cfd 5839 barometer . . . . . . $enable_barometer
837ad77e 5840 battery . . . . . . . $enable_battery
db4f7362 5841 bind . . . . . . . . $enable_bind
2239c03f 5842 conntrack . . . . . . $enable_conntrack
11c3445e 5843 contextswitch . . . . $enable_contextswitch
9e1b0c68 5844 cgroups . . . . . . . $enable_cgroups
837ad77e
SH
5845 cpu . . . . . . . . . $enable_cpu
5846 cpufreq . . . . . . . $enable_cpufreq
5847 csv . . . . . . . . . $enable_csv
a16e9671 5848 curl . . . . . . . . $enable_curl
a30d7659 5849 curl_json . . . . . . $enable_curl_json
1d333244 5850 curl_xml . . . . . . $enable_curl_xml
3f847b15 5851 dbi . . . . . . . . . $enable_dbi
837ad77e
SH
5852 df . . . . . . . . . $enable_df
5853 disk . . . . . . . . $enable_disk
5854 dns . . . . . . . . . $enable_dns
df570a36 5855 drbd . . . . . . . . $enable_drbd
837ad77e
SH
5856 email . . . . . . . . $enable_email
5857 entropy . . . . . . . $enable_entropy
fa0b947c 5858 ethstat . . . . . . . $enable_ethstat
837ad77e 5859 exec . . . . . . . . $enable_exec
fff2b3d4 5860 filecount . . . . . . $enable_filecount
3d4a8f9e 5861 fscache . . . . . . . $enable_fscache
2f0bd3ba 5862 gmond . . . . . . . . $enable_gmond
837ad77e
SH
5863 hddtemp . . . . . . . $enable_hddtemp
5864 interface . . . . . . $enable_interface
837ad77e 5865 ipmi . . . . . . . . $enable_ipmi
999f0271 5866 iptables . . . . . . $enable_iptables
837ad77e
SH
5867 ipvs . . . . . . . . $enable_ipvs
5868 irq . . . . . . . . . $enable_irq
ff1c15a6 5869 java . . . . . . . . $enable_java
837ad77e
SH
5870 load . . . . . . . . $enable_load
5871 logfile . . . . . . . $enable_logfile
401fa758 5872 lpar . . . . . . . . $enable_lpar
0cb9bbb8 5873 log_logstash . . . . $enable_log_logstash
25a4bb88 5874 lvm . . . . . . . . . $enable_lvm
01c19d8c 5875 madwifi . . . . . . . $enable_madwifi
95e95817 5876 match_empty_counter . $enable_match_empty_counter
f2a35cef 5877 match_hashed . . . . $enable_match_hashed
266c5c65 5878 match_regex . . . . . $enable_match_regex
892fbd80 5879 match_timediff . . . $enable_match_timediff
0e4f07d7 5880 match_value . . . . . $enable_match_value
837ad77e 5881 mbmon . . . . . . . . $enable_mbmon
9ce2a30d 5882 md . . . . . . . . . $enable_md
5e8e1fe1 5883 memcachec . . . . . . $enable_memcachec
837ad77e
SH
5884 memcached . . . . . . $enable_memcached
5885 memory . . . . . . . $enable_memory
825058c3 5886 mic . . . . . . . . . $enable_mic
505c6b2a 5887 modbus . . . . . . . $enable_modbus
837ad77e
SH
5888 multimeter . . . . . $enable_multimeter
5889 mysql . . . . . . . . $enable_mysql
74f755e8 5890 netapp . . . . . . . $enable_netapp
837ad77e
SH
5891 netlink . . . . . . . $enable_netlink
5892 network . . . . . . . $enable_network
5893 nfs . . . . . . . . . $enable_nfs
5894 nginx . . . . . . . . $enable_nginx
105436ca 5895 notify_desktop . . . $enable_notify_desktop
a1dd93a2 5896 notify_email . . . . $enable_notify_email
837ad77e 5897 ntpd . . . . . . . . $enable_ntpd
d61648a2 5898 numa . . . . . . . . $enable_numa
837ad77e 5899 nut . . . . . . . . . $enable_nut
7a12fd28 5900 olsrd . . . . . . . . $enable_olsrd
11ba6e7c 5901 onewire . . . . . . . $enable_onewire
6ecb1f03 5902 openldap . . . . . . $enable_openldap
31c1bf4f 5903 openvpn . . . . . . . $enable_openvpn
a737ed74 5904 oracle . . . . . . . $enable_oracle
837ad77e 5905 perl . . . . . . . . $enable_perl
9ad25378 5906 pf . . . . . . . . . $enable_pf
97b5f7f8 5907 pinba . . . . . . . . $enable_pinba
837ad77e 5908 ping . . . . . . . . $enable_ping
a0b4b6b4 5909 postgresql . . . . . $enable_postgresql
837ad77e
SH
5910 powerdns . . . . . . $enable_powerdns
5911 processes . . . . . . $enable_processes
ef302f97 5912 protocols . . . . . . $enable_protocols
b8c32e9f 5913 python . . . . . . . $enable_python
799410cb 5914 redis . . . . . . . . $enable_redis
f51548ec 5915 routeros . . . . . . $enable_routeros
667bcda9 5916 rrdcached . . . . . . $enable_rrdcached
999f0271 5917 rrdtool . . . . . . . $enable_rrdtool
837ad77e
SH
5918 sensors . . . . . . . $enable_sensors
5919 serial . . . . . . . $enable_serial
5415a1c9 5920 sigrok . . . . . . . $enable_sigrok
5e77bd67 5921 smart . . . . . . . . $enable_smart
837ad77e 5922 snmp . . . . . . . . $enable_snmp
cc4025b8 5923 statsd . . . . . . . $enable_statsd
837ad77e
SH
5924 swap . . . . . . . . $enable_swap
5925 syslog . . . . . . . $enable_syslog
eeb86d2d 5926 table . . . . . . . . $enable_table
837ad77e 5927 tail . . . . . . . . $enable_tail
88ed4433 5928 tail_csv . . . . . . $enable_tail_csv
837ad77e 5929 tape . . . . . . . . $enable_tape
380be79e 5930 target_notification . $enable_target_notification
1aaedbca 5931 target_replace . . . $enable_target_replace
9ae852ac 5932 target_scale . . . . $enable_target_scale
92d84092 5933 target_set . . . . . $enable_target_set
67ce1dd8 5934 target_v5upgrade . . $enable_target_v5upgrade
837ad77e
SH
5935 tcpconns . . . . . . $enable_tcpconns
5936 teamspeak2 . . . . . $enable_teamspeak2
4e8795c7 5937 ted . . . . . . . . . $enable_ted
2004f542 5938 thermal . . . . . . . $enable_thermal
171a92c9 5939 threshold . . . . . . $enable_threshold
2c50a9c7 5940 tokyotyrant . . . . . $enable_tokyotyrant
837ad77e 5941 unixsock . . . . . . $enable_unixsock
d0da1c4e 5942 uptime . . . . . . . $enable_uptime
837ad77e
SH
5943 users . . . . . . . . $enable_users
5944 uuid . . . . . . . . $enable_uuid
e9a9482a 5945 varnish . . . . . . . $enable_varnish
62f94860 5946 virt . . . . . . . . $enable_virt
837ad77e
SH
5947 vmem . . . . . . . . $enable_vmem
5948 vserver . . . . . . . $enable_vserver
5949 wireless . . . . . . $enable_wireless
2f6cab93 5950 write_graphite . . . $enable_write_graphite
64d0aa3f 5951 write_http . . . . . $enable_write_http
630e3bba 5952 write_kafka . . . . . $enable_write_kafka
93c89932 5953 write_log . . . . . . $enable_write_log
e853b1ca 5954 write_mongodb . . . . $enable_write_mongodb
0a116775
FF
5955 write_redis . . . . . $enable_write_redis
5956 write_riemann . . . . $enable_write_riemann
c2021dfb 5957 write_tsdb . . . . . $enable_write_tsdb
837ad77e 5958 xmms . . . . . . . . $enable_xmms
87a3da3a 5959 zfs_arc . . . . . . . $enable_zfs_arc
ff8752c6 5960 zookeeper . . . . . . $enable_zookeeper
86ca149a
FF
5961
5962EOF
8757c918 5963
9276a813 5964if test "x$dependency_error" = "xyes"; then
cb622208
SH
5965 AC_MSG_ERROR("Some plugins are missing dependencies - see the summary above for details")
5966fi
5967
5968if test "x$dependency_warning" = "xyes"; then
5969 AC_MSG_WARN("Some plugins seem to have missing dependencies but have been enabled forcibly - see the summary above for details")
9276a813 5970fi
332cf199 5971
8757c918 5972# vim: set fdm=marker :