diff options
Diffstat (limited to 'configure.d/config_os_headers')
-rw-r--r-- | configure.d/config_os_headers | 523 |
1 files changed, 523 insertions, 0 deletions
diff --git a/configure.d/config_os_headers b/configure.d/config_os_headers new file mode 100644 index 0000000..d903f58 --- /dev/null +++ b/configure.d/config_os_headers @@ -0,0 +1,523 @@ +######################################### +## +# Checks for header files. +## +######################################### + +## +# Standard checks: +## +# Core: +AC_HEADER_STDC # <stdlib.h>, <stdarg.h>, <string.h> & <float.h> +AC_HEADER_DIRENT # <dirent.h>, <sys/ndir.h>, <sys/dir.h> & <ndir.h> +# Apps: +AC_HEADER_SYS_WAIT # <sys/wait.h> + +# allow for quick module/library/etc processing checks +if test "x$NETSNMP_QUICK_CHECK" = "x" ; then + +## +# Stand-alone headers: +## +# Core: +AC_CHECK_HEADERS([getopt.h pthread.h regex.h ] dnl + [string.h syslog.h unistd.h ] dnl + [stdint.h inttypes.h ] dnl + [sys/param.h ] dnl + [sys/select.h ] dnl + [sys/socket.h ] dnl + [sys/time.h ] dnl + [sys/timeb.h ] dnl + [sys/un.h ]) + +# Library and Agent: +AC_CHECK_HEADERS([nlist.h],,,[ +AC_INCLUDES_DEFAULT +[ +#ifndef LIBBSD_DISABLE_DEPRECATED +#define LIBBSD_DISABLE_DEPRECATED 1 +#endif +]]) + +# Library: +AC_CHECK_HEADERS([fcntl.h io.h kstat.h ] dnl + [limits.h locale.h ] dnl + [sys/file.h sys/ioctl.h ] dnl + [sys/sockio.h sys/stat.h ] dnl + [sys/systemcfg.h sys/systeminfo.h ] dnl + [sys/times.h sys/uio.h ] dnl + [sys/utsname.h ] dnl + [netipx/ipx.h ]) + +# Agent: +AC_CHECK_HEADERS([dlfcn.h err.h fcntl.h fstab.h ] dnl + [ grp.h io.h ] dnl + [ioctls.h kstat.h kvm.h limits.h ] dnl + [ mntent.h mtab.h ] dnl + [ pkglocs.h pwd.h ] dnl + [ utmpx.h utsname.h ]) + +AC_CHECK_HEADERS([sys/diskio.h sys/dkio.h ] dnl + [sys/file.h sys/filio.h sys/fixpoint.h ] dnl + [sys/fs.h sys/ioctl.h sys/loadavg.h sys/mntent.h ] dnl + [sys/mnttab.h sys/pool.h sys/protosw.h sys/pstat.h ] dnl + [sys/sockio.h sys/stat.h sys/statfs.h sys/statvfs.h ] dnl + [sys/stream.h sys/sysget.h sys/sysmp.h ] dnl + [sys/tcpipstats.h sys/utsname.h sys/vfs.h ] dnl + [sys/vm.h sys/vmmac.h sys/vmmeter.h sys/vmparam.h ] dnl + [sys/vmsystm.h ]) + +AC_CHECK_HEADERS([asm/page.h asm/types.h ] dnl + [inet/mib2.h ] dnl + [linux/hdreg.h linux/tasks.h ] dnl + [machine/param.h ] dnl + [netinet/tcp_fsm.h ] dnl + [ufs/fs.h ] dnl + [uvm/uvm_extern.h uvm/uvm_param.h ] dnl + [vm/vm.h vm/vm_extern.h vm/vm_param.h ]) + +# Apps: +AC_CHECK_HEADERS([fcntl.h grp.h pwd.h ] dnl + [sys/cdefs.h sys/ioctl.h ] dnl + [sys/socket.h sys/sockio.h ] dnl + [sys/time.h ]) + +# Not-Used: +AC_CHECK_HEADERS([search.h sgtty.h xti.h ] dnl + [sys/dmap.h sys/poll.h ] dnl + [sys/timeout.h ] dnl + [machine/pte.h ] dnl + [pci/pci.h ]) + + +# Valgrind +AC_CHECK_HEADERS([valgrind/valgrind.h valgrind/memcheck.h]) +# OpenSSL +AC_CHECK_HEADERS([openssl/aes.h ]) # (Core) +AC_CHECK_HEADERS([openssl/dh.h ]) # (Apps) +# Not-Used: +AC_CHECK_HEADERS([openssl/des.h openssl/hmac.h ] dnl + [openssl/evp.h security/cryptoki.h]) + +# RPM subdirectory path (Agent) +if test "x$with_rpm" != "xno"; then + AC_CHECK_HEADERS([rpm/rpmts.h rpm/rpmfileutil.h], [], [], + [[#include <rpm/rpmlib.h>]]) +fi + + +## +# Pre-requisite on other headers: +## + +# requiring <sys/param.h> (MAXPATHLEN) (OpenBSD 3.4) +# Agent: +# +AC_CHECK_HEADERS(sys/swap.h,,, + AC_INCLUDES_DEFAULT([]) + [ +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif + ]) + +# requiring <sys/param.h> (FreeBSD) +# +# Core: (? Tested above? ) +AC_CHECK_HEADERS([stdlib.h ],,, + [[ +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif + ]]) +# +# Library: +AC_CHECK_HEADERS([malloc.h net/if_dl.h sys/sysctl.h ],,, + [[ +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif + ]]) +# +# Agent: +AC_CHECK_HEADERS([malloc.h osreldate.h ] dnl + [machine/types.h net/if_dl.h net/if_types.h ] dnl + [sys/dkstat.h sys/conf.h sys/mbuf.h ] dnl + [sys/mount.h sys/proc.h sys/queue.h ] dnl + [sys/sysctl.h sys/user.h ],,, + [[ +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif + ]]) + +# requiring <sys/sema.h> (IRIX 6.5) +# Agent: +# +AC_CHECK_HEADERS([sys/sema.h]) +AC_CHECK_HEADERS(sys/hashing.h,,, + AC_INCLUDES_DEFAULT([]) + [ +#if HAVE_SYS_SEMA_H +#include <sys/sema.h> +#endif + ]) + +# requiring <sys/socket.h> (Solaris 9) +# Agent: +# +AC_CHECK_HEADERS(sys/socketvar.h,,, + AC_INCLUDES_DEFAULT([]) + [ +#if HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif + ]) + +# requiring _KMEMUSER and <sys/types.h> (BSDi3/IRIX) +# Agent: +# +AC_CHECK_HEADERS(sys/vnode.h,,, + [ +#define _KMEMUSER 1 +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif + ]) + +# requiring <machine/types.h> (NetBSD) +# Agent: +# +AC_CHECK_HEADERS(sys/disklabel.h,,, + [[ +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif +#if HAVE_MACHINE_TYPES_H +#include <machine/types.h> +#endif + ]]) + +# QNX +AC_CHECK_HEADERS([nbutil.h]) + +# UFS headers +# Agent: +# +AC_CHECK_HEADERS([ufs/ufs/dinode.h ufs/ufs/quota.h ufs/ufs/inode.h ufs/ffs/fs.h],,, + [[ +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_UFS_UFS_DINODE_H +#include <ufs/ufs/dinode.h> +#endif +#if HAVE_UFS_UFS_QUOTA_H +#include <ufs/ufs/quota.h> +#endif + ]]) + +# requiring <vm/vm.h> (BSDi2) +# Agent: +# +AC_CHECK_HEADERS(vm/swap_pager.h,,, + [[ +#if HAVE_VM_VM_H +#include <vm/vm.h> +#endif + ]]) + +# netlink/rtnetlink (Linux) +# Agent: +# +AC_CHECK_HEADERS([linux/netlink.h linux/rtnetlink.h],,, + [[ +#if HAVE_ASM_TYPES_H +#include <asm/types.h> +#endif +#if HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif +#if HAVE_LINUX_NETLINK_H +#include <linux/netlink.h> +#endif + ]]) + + +# Network headers +# Core or Library/Agent/Apps: +# +AC_CHECK_HEADERS([arpa/inet.h net/if.h ] dnl + [netinet/in.h netdb.h ],,, + [[ +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_TIMEOUT_H +#include <sys/timeout.h> +#endif +#if HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif +#if HAVE_SYS_SOCKETVAR_H +#include <sys/socketvar.h> +#endif +#if HAVE_ARPA_INET_H +#include <arpa/inet.h> +#endif +#if HAVE_NETINET_IN_SYSTM_H +#include <netinet/in_systm.h> +#endif +#if HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif +#if HAVE_NETINET_IP_H +#include <netinet/ip.h> +#endif +#if HAVE_NET_IF_H +#include <net/if.h> +#endif +#if HAVE_NETINET_IP_VAR_H +#include <netinet/ip_var.h> +#endif +#if HAVE_NETINET_IP_ICMP_H +#include <netinet/ip_icmp.h> +#endif +#if HAVE_NETINET_TCP_H +#include <netinet/tcp.h> +#endif +#if HAVE_NETINET_UDP_H +#include <netinet/udp.h> +#endif +#if HAVE_NETINET_TCP_TIMER_H +#include <netinet/tcp_timer.h> +#endif + ]]) +# +# Agent: +AC_CHECK_HEADERS([net/if_arp.h net/if_mib.h net/if_var.h ] dnl + [netinet/if_ether.h netinet/in_systm.h netinet/in_var.h ] dnl + [netinet/ip.h netinet/ip_icmp.h ] dnl + [netinet/icmp_var.h netinet/ip_var.h ] dnl + [netinet/tcp.h netinet/tcp_timer.h netinet/tcp_var.h] dnl + [netinet/tcpip.h netinet/udp.h netinet/udp_var.h] dnl + [net/route.h netinet/icmp6.h ],,, + [[ +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_TIMEOUT_H +#include <sys/timeout.h> +#endif +#if HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif +#if HAVE_SYS_SOCKETVAR_H +#include <sys/socketvar.h> +#endif +#if HAVE_ARPA_INET_H +#include <arpa/inet.h> +#endif +#if HAVE_NETINET_IN_SYSTM_H +#include <netinet/in_systm.h> +#endif +#if HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif +#if HAVE_NETINET_IP_H +#include <netinet/ip.h> +#endif +#if HAVE_NET_IF_H +#include <net/if.h> +#endif +#if HAVE_NET_IF_VAR_H +#include <net/if_var.h> +#endif +#if HAVE_NETINET_IP_VAR_H +#include <netinet/ip_var.h> +#endif +#if HAVE_NETINET_IP_ICMP_H +#include <netinet/ip_icmp.h> +#endif +#if HAVE_NETINET_TCP_H +#include <netinet/tcp.h> +#endif +#if HAVE_NETINET_UDP_H +#include <netinet/udp.h> +#endif +#if HAVE_NETINET_TCP_TIMER_H +#include <netinet/tcp_timer.h> +#endif +#if HAVE_NETINET_ICMP6_H +#include <netinet/icmp6.h> +#endif + ]]) + +# KAME (IPv6) headers +# Agent: +# +# KAME +AC_CHECK_HEADERS([netinet/ip6.h ] dnl + [netinet6/in6_var.h netinet6/in6_pcb.h ] dnl + [netinet6/ip6_var.h netinet6/nd6.h ] dnl + [netinet6/tcp6.h netinet6/tcp6_fsm.h ] dnl + [netinet6/tcp6_timer.h netinet6/tcp6_var.h],,, + [[ +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_QUEUE_H +#include <sys/queue.h> +#endif +#if HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif +#if HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif +#if HAVE_NETINET_IP6_H +#include <netinet/ip6.h> +#endif +#if HAVE_NET_IF_H +#include <net/if.h> +#endif +#if HAVE_NET_ROUTE_H +#include <net/route.h> +#endif + ]]) + +# requiring <netinet/in.h> (OpenBSD 2.6) +# Agent: +# +AC_CHECK_HEADERS(netinet/in_pcb.h,,, + [[ +#if HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif +#if HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#if HAVE_SYS_TIMEOUT_H +#include <sys/timeout.h> +#endif +#if HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif +#if HAVE_SYS_SOCKETVAR_H +#include <sys/socketvar.h> +#endif +#if HAVE_NETINET_IN_H +#include <netinet/in.h> +#endif +#if HAVE_NETINET_IN_SYSTM_H +#include <netinet/in_systm.h> +#endif +#if HAVE_NETINET_IP_H +#include <netinet/ip.h> +#endif +#if HAVE_NET_ROUTE_H +#include <net/route.h> +#endif +#if HAVE_ARPA_INET_H +#include <arpa/inet.h> +#endif + ]]) + +## +# Pre-requisite on specific types +## + +# Special hack to get around various problems on older Linux kernels +# (major ugh!) +# Agent: +# +AC_CHECK_HEADERS([linux/ethtool.h],,, +[[ +#include <linux/types.h> +typedef __u64 u64; /* hack, so we may include kernel's ethtool.h */ +typedef __u32 u32; /* ditto */ +typedef __u16 u16; /* ditto */ +typedef __u8 u8; /* ditto */ +]]) + +## +# Headers requiring particular libraries +## + +# for HostRes (Solaris 2.x) +# Agent: +# +AC_CHECK_HEADERS(pkginfo.h, + NETSNMP_SEARCH_LIBS(pkginfo, adm, + AC_DEFINE(HAVE_PKGINFO, 1, [define if you have pkginfo]),,,LMIBLIBS)) + +case $target_os in + aix*) + # for CPU/memory statistics (AIX) + # Agent: + # + AC_CHECK_HEADERS(libperfstat.h, + NETSNMP_SEARCH_LIBS(perfstat_cpu_total, perfstat, + AC_DEFINE(HAVE_PERFSTAT, 1, [on aix, if you have perfstat]), + AC_MSG_ERROR([ + +*** To monitor CPU/memory values in AIX you need to install +*** libperfstat which can be found in bos.perf +]),, + LMIBLIBS),, + [[ +#if HAVE_SYS_PROTOSW_H +#include <sys/protosw.h> +#endif + ]]) + ;; + hpux*) + # HP-UX agent needs open_mib (XXX - not a header check!) + # + NETSNMP_SEARCH_LIBS(open_mib, nm, + AC_DEFINE(HAVE_LIBNM, 1, [define if you have libnm]),,,LMIBLIBS) + ;; + *) + ;; +esac + +# for MIB-2 info (Cygwin and MinGW) +# Core: +# +AC_CHECK_HEADERS([windows.h iphlpapi.h], [], [], [ +#ifdef HAVE_WINDOWS_H +#include <windows.h> +#endif +]) + +# for MIB-2 info (MinGW) +# Core: +# +if test x$with_socklib = xwinsock2; then + AC_CHECK_HEADERS([winsock.h winsock2.h ws2tcpip.h]) +fi + +# +# for ucd-snmp/lmsensorsMib +# +AC_CHECK_HEADERS([sensors/sensors.h picl.h]) + +fi # NETSNMP_QUICK_CHECK |