]> granicus.if.org Git - strace/blobdiff - configure.ac
Include "kernel_types.h" in defs.h and tests/tests.h
[strace] / configure.ac
index eeb618e7ba10bf6e653761cdb5c72249df5b73d5..ee66144004a8b073113cd4207e4c547112c4c3c3 100644 (file)
@@ -1,4 +1,34 @@
-dnl Process this file with autoconf to create configure.  Use autoreconf.
+# Configure template for strace.
+#
+# Copyright (c) 1999-2001 Wichert Akkerman <wichert@deephackmode.org>
+# Copyright (c) 2002-2009 Roland McGrath <roland@redhat.com>
+# Copyright (c) 2006-2016 Dmitry V. Levin <ldv@altlinux.org>
+# Copyright (c) 2008-2015 Mike Frysinger <vapier@gentoo.org>
+# Copyright (c) 2015 Elvira Khabirova <lineprinter0@gmail.com>
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+#    derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
 AC_PREREQ(2.57)
 AC_INIT([strace],
        m4_esyscmd([./git-version-gen .tarball-version]),
@@ -6,15 +36,28 @@ AC_INIT([strace],
 AC_CONFIG_SRCDIR([strace.c])
 AC_CONFIG_AUX_DIR([.])
 AC_CONFIG_HEADERS([config.h])
-AM_INIT_AUTOMAKE([foreign nostdinc dist-xz no-dist-gzip silent-rules parallel-tests])
+AM_INIT_AUTOMAKE([foreign nostdinc dist-xz silent-rules parallel-tests])
 AM_MAINTAINER_MODE
 AC_CANONICAL_HOST
 
+RPM_CHANGELOGTIME="$(LC_TIME=C date '+%a %b %d %Y')"
+AC_SUBST(RPM_CHANGELOGTIME)
+DEB_CHANGELOGTIME="$(LC_TIME=C date -R)"
+AC_SUBST(DEB_CHANGELOGTIME)
+
 AC_PROG_CC
+AC_PROG_CPP
+st_WARN_CFLAGS
 AX_PROG_CC_FOR_BUILD
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+
 AC_USE_SYSTEM_EXTENSIONS
+AX_CODE_COVERAGE
 
 AC_MSG_CHECKING([for supported architecture])
+arch_m32=
+arch_mx32=
 case "$host_cpu" in
 bfin)
        arch=bfin
@@ -34,6 +77,7 @@ m68k)
        ;;
 sparc64*)
        arch=sparc64
+       arch_m32=sparc
        AC_DEFINE([SPARC64], 1, [Define for the SPARC64 architecture.])
        ;;
 sparc*)
@@ -59,6 +103,7 @@ powerpc*)
 # error 32 bit
 #endif], [], arch=powerpc64, arch=powerpc)
        if test "$arch" = "powerpc64"; then
+               arch_m32=powerpc
                AC_DEFINE([POWERPC64], 1, [Define for the PowerPC64 architecture.])
        fi
        ;;
@@ -68,6 +113,7 @@ arm*)
        ;;
 aarch64*)
        arch=aarch64
+       arch_m32=arm
        AC_DEFINE([AARCH64], 1, [Define for the AArch64 architecture.])
        ;;
 avr32*)
@@ -99,11 +145,13 @@ sh*)
        AC_DEFINE([SH], 1, [Define for the SH architecture.])
        ;;
 x86?64*)
+       arch_m32=i386
        AC_TRY_COMPILE(
 [#ifndef __ILP32__
 # error not x32
 #endif], [], arch=x32, arch=x86_64)
        if test "$arch" = "x86_64"; then
+               arch_mx32=x32
                AC_DEFINE([X86_64], 1, [Define for the 64bit AMD x86-64 architecture.])
        else
                AC_DEFINE([X32], 1, [Define for the 32bit AMD x86-64 architecture.])
@@ -140,6 +188,11 @@ xtensa*)
        AC_DEFINE([XTENSA], 1, [Define for the Xtensa architecture])
        ;;
 
+riscv*)
+       arch=riscv
+       AC_DEFINE([RISCV], 1, [Define for the RISC-V architecture])
+       ;;
+
 *)
        AC_MSG_RESULT([NO!])
        AC_MSG_ERROR([architecture $host_cpu is not supported by strace])
@@ -147,8 +200,15 @@ xtensa*)
 esac
 AC_MSG_RESULT($arch)
 
+test -n "$arch_m32" ||
+       arch_m32=$arch
+test -n "$arch_mx32" ||
+       arch_mx32=$arch
 AC_SUBST(arch)
+AC_SUBST(arch_m32)
+AC_SUBST(arch_mx32)
 
+MIPS_ABI=
 if test "$arch" = mips; then
        AC_CACHE_CHECK([for _MIPS_SIM], [st_cv__MIPS_SIM],
                       [AC_COMPUTE_INT([st_cv__MIPS_SIM], [_MIPS_SIM],
@@ -176,7 +236,9 @@ if test "$arch" = mips; then
                n64) AC_DEFINE([LINUX_MIPSN64], [1], [Define for _MIPS_SIM_ABI64.]);;
                *) AC_MSG_ERROR([Unsupported _MIPS_SIM]);;
        esac
+       MIPS_ABI="$st_cv_mips_abi"
 fi
+AC_SUBST(MIPS_ABI)
 
 AC_ARG_ENABLE([arm-oabi],
              [AS_HELP_STRING([--enable-arm-oabi],
@@ -190,146 +252,160 @@ esac
 AC_DEFINE_UNQUOTED([ENABLE_ARM_OABI], [$enable_arm_oabi],
                   [Define to 1 if you want OABI support on ARM EABI.])
 
-gl_WARN_ADD([-Wall])
-gl_WARN_ADD([-Wwrite-strings])
-gl_WARN_ADD([-Wsign-compare])
-AC_ARG_ENABLE([gcc-Werror],
-  [AS_HELP_STRING([--enable-gcc-Werror], [turn on gcc's -Werror option])],
-  [case $enableval in
-     yes) gl_WARN_ADD([-Werror]) ;;
-     no)  ;;
-     *)   AC_MSG_ERROR([bad value $enableval for gcc-Werror option]) ;;
-   esac]
-)
-AC_SUBST([WARN_CFLAGS])
-
-AC_PROG_CPP
-AC_PROG_INSTALL
-AC_C_CONST
 AC_C_BIGENDIAN
-AC_HEADER_STDC
-AC_HEADER_STDBOOL
-AC_HEADER_DIRENT
-AC_HEADER_STAT
-AC_CHECK_MEMBERS(m4_normalize([
-       struct stat.st_atim.tv_nsec,
-       struct stat.st_blksize,
-       struct stat.st_blocks,
-       struct stat.st_ctim.tv_nsec,
-       struct stat.st_flags,
-       struct stat.st_fstype,
-       struct stat.st_gen,
-       struct stat.st_mtim.tv_nsec,
-       struct stat.st_rdev
-]))
+AC_C_TYPEOF
 
-AC_TYPE_SIGNAL
 AC_TYPE_UID_T
-AC_TYPE_MODE_T
-AC_TYPE_GETGROUPS
-AC_HEADER_MAJOR
-AC_CHECK_TYPES([sig_atomic_t],,, [#include <signal.h>])
-AC_CHECK_MEMBERS([struct sockaddr_in6.sin6_scope_id],,,
-[#include <sys/types.h>
-#include <sys/socket.h>
-#include <netinet/in.h>])
-AC_LITTLE_ENDIAN_LONG_LONG
 
 AC_CHECK_FUNCS(m4_normalize([
+       accept4
+       fallocate
        fanotify_mark
        fopen64
        fork
        fputs_unlocked
+       fstatat
+       ftruncate
+       futimens
        if_indextoname
-       inet_ntop
-       inet_pton
+       open64
        pipe2
        prctl
        preadv
        process_vm_readv
        pwritev
-       sendmsg
-       sendmmsg
-       sigaction
+       readahead
        signalfd
        stpcpy
        strerror
        strsignal
+       sync_file_range
+       utimensat
 ]))
+
+AC_CHECK_TYPES([sig_atomic_t, struct sigcontext],,, [#include <signal.h>])
+
+AC_CHECK_TYPES([struct mmsghdr],,, [#include <sys/socket.h>])
+
+AC_CHECK_TYPES([__kernel_long_t, __kernel_ulong_t],,,
+[#include <asm/posix_types.h>])
+
+AC_CHECK_TYPES([struct stat64, struct __old_kernel_stat],,,
+[#include <sys/types.h>
+#include <asm/stat.h>])
+
+AC_CHECK_MEMBERS([struct stat.st_mtime_nsec, struct stat64.st_mtime_nsec],,,
+[#include <sys/types.h>
+#include <asm/stat.h>])
+
+AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec])
+
+AC_CHECK_TYPES(m4_normalize([
+       struct pt_all_user_regs,
+       struct ia64_fpreg,
+       struct ptrace_peeksiginfo_args
+]),,, [#include <sys/ptrace.h>])
+
+AC_CHECK_TYPES(m4_normalize([
+       struct flock,
+       struct flock64,
+       struct __kernel_flock,
+       struct __kernel_flock64
+]),,,
+[#include <sys/types.h>
+#include <linux/fcntl.h>])
+
+AC_CHECK_MEMBERS([struct timex.tai],,, [#include <sys/timex.h>])
+
+AC_CHECK_MEMBERS([struct utsname.domainname],,, [#include <sys/utsname.h>])
+
+AC_CHECK_MEMBERS(m4_normalize([
+       siginfo_t.si_syscall,
+       siginfo_t.si_timerid,
+       siginfo_t.si_overrun
+]),,, [#include <signal.h>])
+
+AC_CHECK_MEMBERS(m4_normalize([
+       struct perf_event_attr.precise_ip,
+       struct perf_event_attr.mmap_data,
+       struct perf_event_attr.sample_id_all,
+       struct perf_event_attr.exclude_host,
+       struct perf_event_attr.exclude_guest,
+       struct perf_event_attr.exclude_callchain_kernel,
+       struct perf_event_attr.exclude_callchain_user,
+       struct perf_event_attr.mmap2,
+       struct perf_event_attr.comm_exec,
+       struct perf_event_attr.use_clockid,
+       struct perf_event_attr.context_switch,
+       struct perf_event_attr.write_backward,
+       struct perf_event_attr.bp_type,
+       struct perf_event_attr.config1,
+       struct perf_event_attr.config2,
+       struct perf_event_attr.branch_sample_type,
+       struct perf_event_attr.sample_regs_user,
+       struct perf_event_attr.sample_stack_user,
+       struct perf_event_attr.sample_regs_intr,
+       struct perf_event_attr.aux_watermark,
+       struct perf_event_attr.sample_max_stack
+]),,, [#include <linux/perf_event.h>])
+
 AC_CHECK_HEADERS(m4_normalize([
        asm/cachectl.h
        asm/sysmips.h
        bluetooth/bluetooth.h
        elf.h
        inttypes.h
-       ioctls.h
        linux/bsg.h
+       linux/dm-ioctl.h
+       linux/dqblk_xfs.h
        linux/falloc.h
+       linux/fiemap.h
        linux/filter.h
        linux/hiddev.h
        linux/ip_vs.h
+       linux/ipc.h
        linux/mmtimer.h
+       linux/msg.h
        linux/perf_event.h
+       linux/quota.h
        linux/seccomp.h
        linux/securebits.h
+       linux/sem.h
+       linux/shm.h
+       linux/userfaultfd.h
        linux/utsname.h
        mqueue.h
        netinet/sctp.h
+       netipx/ipx.h
        scsi/sg.h
        stropts.h
        sys/conf.h
-       sys/epoll.h
        sys/eventfd.h
        sys/fanotify.h
-       sys/ioctl.h
+       sys/ipc.h
+       sys/msg.h
+       sys/quota.h
        sys/reg.h
+       sys/sem.h
+       sys/shm.h
        sys/signalfd.h
-       sys/vfs.h
        sys/xattr.h
 ]))
-AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h],
-                 [], [], [#include <stddef.h>
-#include <sys/socket.h>
-#include <asm/types.h>])
-AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>])
-AC_CHECK_TYPES([struct sigcontext],,, [#include <signal.h>])
+
+AC_CHECK_HEADERS([asm/sigcontext.h],,, [#include <signal.h>])
+
 AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>])
+
+AC_CHECK_HEADERS([linux/mqueue.h],,, [#include <linux/types.h>])
+
 AC_CHECK_HEADERS(m4_normalize([
        linux/netfilter_arp/arp_tables.h
        linux/netfilter_bridge/ebtables.h
        linux/netfilter_ipv4/ip_tables.h
        linux/netfilter_ipv6/ip6_tables.h
-]), [], [], [#include <netinet/in.h>
+]),,, [#include <netinet/in.h>
 #include <net/if.h>])
 
-AC_CHECK_TYPES([struct mmsghdr],,, [#include <sys/socket.h>])
-AC_CHECK_MEMBERS([struct msghdr.msg_control],,, [#include <sys/socket.h>])
-
-AC_CHECK_MEMBERS(m4_normalize([
-       struct stat.st_atime_nsec,
-       struct stat.st_ctime_nsec,
-       struct stat.st_mtime_nsec
-]),,, [#include <sys/types.h>
-#include <asm/stat.h>])
-
-AC_CHECK_TYPES([struct stat64],,, [#include <sys/types.h>
-#include <asm/stat.h>])
-AC_CHECK_TYPES([struct __old_kernel_stat],,, [#include <asm/stat.h>])
-AC_CHECK_TYPES([struct statfs64],,, [#include <sys/vfs.h>])
-
-AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg, struct ptrace_peeksiginfo_args],,,
-              [#include <sys/ptrace.h>])
-
-AC_CHECK_MEMBERS([struct utsname.domainname],,, [#include <sys/utsname.h>])
-
-AC_CHECK_MEMBERS([struct sigevent._sigev_un._pad,
-                 struct sigevent.__pad,
-                 siginfo_t.si_syscall,
-                 siginfo_t.si_timerid,
-                 siginfo_t.si_overrun],,, [#include <signal.h>])
-
-AC_CHECK_TYPES([struct flock64],,, [#include <fcntl.h>])
-
 AC_CHECK_HEADERS([linux/input.h], [
        AC_CHECK_MEMBERS([struct input_absinfo.resolution],,, [#include <linux/input.h>])
 ])
@@ -348,6 +424,44 @@ AC_CHECK_HEADERS([linux/bpf.h], [
        fi
 ])
 
+AC_CHECK_TYPES([struct statfs], [
+       AC_CHECK_MEMBERS([struct statfs.f_frsize],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+       AC_CHECK_MEMBERS([struct statfs.f_flags],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+       AC_CHECK_MEMBERS([struct statfs.f_fsid.val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+       AC_CHECK_MEMBERS([struct statfs.f_fsid.__val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+],, [#include <linux/types.h>
+#include <asm/statfs.h>])
+
+AC_CHECK_TYPES([struct statfs64], [
+       AC_CHECK_MEMBERS([struct statfs64.f_frsize],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+       AC_CHECK_MEMBERS([struct statfs64.f_flags],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+       AC_CHECK_MEMBERS([struct statfs64.f_fsid.val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+       AC_CHECK_MEMBERS([struct statfs64.f_fsid.__val],,, [#include <linux/types.h>
+#include <asm/statfs.h>])
+],, [#include <linux/types.h>
+#include <asm/statfs.h>])
+
+AC_CHECK_TYPES([struct blk_user_trace_setup],,, [#include <linux/blktrace_api.h>])
+
+AC_CHECK_HEADERS([linux/btrfs.h], [
+       AC_CHECK_MEMBERS(m4_normalize([
+               struct btrfs_ioctl_feature_flags.compat_flags,
+               struct btrfs_ioctl_fs_info_args.nodesize,
+               struct btrfs_ioctl_defrag_range_args.start,
+               struct btrfs_ioctl_search_args_v2.buf_size
+               ]),,, [ #include <stdio.h>
+#include <linux/btrfs.h>])
+        AC_CHECK_DECLS(m4_normalize([BTRFS_COMPRESS_NONE, BTRFS_COMPRESS_ZLIB,
+                               BTRFS_COMPRESS_LZO]),,,[ #include <stdio.h>
+#include <linux/btrfs.h>])])
+
 AC_CHECK_DECLS([sys_errlist])
 AC_CHECK_DECLS(m4_normalize([
        PTRACE_PEEKUSER,
@@ -373,70 +487,12 @@ AC_CHECK_DECLS(m4_normalize([
 ]),,, [#include <linux/loop.h>])
 
 AC_CHECK_DECLS(m4_normalize([
-       CTL_KERN,
-       CTL_VM,
-       CTL_NET,
        CTL_PROC,
-       CTL_FS,
-       CTL_DEBUG,
-       CTL_DEV,
-       CTL_BUS,
-       CTL_ABI,
-       CTL_CPU,
        CTL_ARLAN,
        CTL_S390DBF,
        CTL_SUNRPC,
        CTL_PM,
        CTL_FRV,
-       KERN_OSTYPE,
-       KERN_OSRELEASE,
-       KERN_OSREV,
-       KERN_VERSION,
-       KERN_SECUREMASK,
-       KERN_PROF,
-       KERN_NODENAME,
-       KERN_DOMAINNAME,
-       KERN_PANIC,
-       KERN_REALROOTDEV,
-       KERN_SPARC_REBOOT,
-       KERN_CTLALTDEL,
-       KERN_PRINTK,
-       KERN_NAMETRANS,
-       KERN_PPC_HTABRECLAIM,
-       KERN_PPC_ZEROPAGED,
-       KERN_PPC_POWERSAVE_NAP,
-       KERN_MODPROBE,
-       KERN_SG_BIG_BUFF,
-       KERN_ACCT,
-       KERN_PPC_L2CR,
-       KERN_RTSIGNR,
-       KERN_RTSIGMAX,
-       KERN_SHMMAX,
-       KERN_MSGMAX,
-       KERN_MSGMNB,
-       KERN_MSGPOOL,
-       KERN_SYSRQ,
-       KERN_MAX_THREADS,
-       KERN_RANDOM,
-       KERN_SHMALL,
-       KERN_MSGMNI,
-       KERN_SEM,
-       KERN_SPARC_STOP_A,
-       KERN_SHMMNI,
-       KERN_OVERFLOWUID,
-       KERN_OVERFLOWGID,
-       KERN_SHMPATH,
-       KERN_HOTPLUG,
-       KERN_IEEE_EMULATION_WARNINGS,
-       KERN_S390_USER_DEBUG_LOGGING,
-       KERN_CORE_USES_PID,
-       KERN_TAINTED,
-       KERN_CADPID,
-       KERN_PIDMAX,
-       KERN_CORE_PATTERN,
-       KERN_PANIC_ON_OOPS,
-       KERN_HPPA_PWRSW,
-       KERN_HPPA_UNALIGNED,
        KERN_PRINTK_RATELIMIT,
        KERN_PRINTK_RATELIMIT_BURST,
        KERN_PTY,
@@ -454,118 +510,15 @@ AC_CHECK_DECLS(m4_normalize([
        KERN_MAX_LOCK_DEPTH,
        KERN_NMI_WATCHDOG,
        KERN_PANIC_ON_NMI,
-       NET_CORE,
-       NET_ETHER,
-       NET_802,
-       NET_UNIX,
-       NET_IPV4,
-       NET_IPX,
-       NET_ATALK,
-       NET_NETROM,
-       NET_AX25,
-       NET_BRIDGE,
-       NET_ROSE,
-       NET_IPV6,
-       NET_X25,
-       NET_TR,
-       NET_DECNET,
-       NET_ECONET,
-       NET_SCTP,
        NET_LLC,
        NET_NETFILTER,
        NET_DCCP,
        NET_IRDA,
-       NET_CORE_WMEM_MAX,
-       NET_CORE_RMEM_MAX,
-       NET_CORE_WMEM_DEFAULT,
-       NET_CORE_RMEM_DEFAULT,
        NET_CORE_DESTROY_DELAY,
-       NET_CORE_MAX_BACKLOG,
-       NET_CORE_FASTROUTE,
-       NET_CORE_MSG_COST,
-       NET_CORE_MSG_BURST,
-       NET_CORE_OPTMEM_MAX,
-       NET_CORE_HOT_LIST_LENGTH,
-       NET_CORE_DIVERT_VERSION,
-       NET_CORE_NO_CONG_THRESH,
-       NET_CORE_NO_CONG,
-       NET_CORE_LO_CONG,
-       NET_CORE_MOD_CONG,
-       NET_CORE_DEV_WEIGHT,
-       NET_CORE_SOMAXCONN,
        NET_CORE_BUDGET,
        NET_CORE_AEVENT_ETIME,
        NET_CORE_AEVENT_RSEQTH,
        NET_CORE_WARNINGS,
-       NET_IPV4_FORWARD,
-       NET_IPV4_DYNADDR,
-       NET_IPV4_CONF,
-       NET_IPV4_NEIGH,
-       NET_IPV4_ROUTE,
-       NET_IPV4_FIB_HASH,
-       NET_IPV4_NETFILTER,
-       NET_IPV4_TCP_TIMESTAMPS,
-       NET_IPV4_TCP_WINDOW_SCALING,
-       NET_IPV4_TCP_SACK,
-       NET_IPV4_TCP_RETRANS_COLLAPSE,
-       NET_IPV4_DEFAULT_TTL,
-       NET_IPV4_AUTOCONFIG,
-       NET_IPV4_NO_PMTU_DISC,
-       NET_IPV4_TCP_SYN_RETRIES,
-       NET_IPV4_IPFRAG_HIGH_THRESH,
-       NET_IPV4_IPFRAG_LOW_THRESH,
-       NET_IPV4_IPFRAG_TIME,
-       NET_IPV4_TCP_MAX_KA_PROBES,
-       NET_IPV4_TCP_KEEPALIVE_TIME,
-       NET_IPV4_TCP_KEEPALIVE_PROBES,
-       NET_IPV4_TCP_RETRIES1,
-       NET_IPV4_TCP_RETRIES2,
-       NET_IPV4_TCP_FIN_TIMEOUT,
-       NET_IPV4_IP_MASQ_DEBUG,
-       NET_TCP_SYNCOOKIES,
-       NET_TCP_STDURG,
-       NET_TCP_RFC1337,
-       NET_TCP_SYN_TAILDROP,
-       NET_TCP_MAX_SYN_BACKLOG,
-       NET_IPV4_LOCAL_PORT_RANGE,
-       NET_IPV4_ICMP_ECHO_IGNORE_ALL,
-       NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS,
-       NET_IPV4_ICMP_SOURCEQUENCH_RATE,
-       NET_IPV4_ICMP_DESTUNREACH_RATE,
-       NET_IPV4_ICMP_TIMEEXCEED_RATE,
-       NET_IPV4_ICMP_PARAMPROB_RATE,
-       NET_IPV4_ICMP_ECHOREPLY_RATE,
-       NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES,
-       NET_IPV4_IGMP_MAX_MEMBERSHIPS,
-       NET_TCP_TW_RECYCLE,
-       NET_IPV4_ALWAYS_DEFRAG,
-       NET_IPV4_TCP_KEEPALIVE_INTVL,
-       NET_IPV4_INET_PEER_THRESHOLD,
-       NET_IPV4_INET_PEER_MINTTL,
-       NET_IPV4_INET_PEER_MAXTTL,
-       NET_IPV4_INET_PEER_GC_MINTIME,
-       NET_IPV4_INET_PEER_GC_MAXTIME,
-       NET_TCP_ORPHAN_RETRIES,
-       NET_TCP_ABORT_ON_OVERFLOW,
-       NET_TCP_SYNACK_RETRIES,
-       NET_TCP_MAX_ORPHANS,
-       NET_TCP_MAX_TW_BUCKETS,
-       NET_TCP_FACK,
-       NET_TCP_REORDERING,
-       NET_TCP_ECN,
-       NET_TCP_DSACK,
-       NET_TCP_MEM,
-       NET_TCP_WMEM,
-       NET_TCP_RMEM,
-       NET_TCP_APP_WIN,
-       NET_TCP_ADV_WIN_SCALE,
-       NET_IPV4_NONLOCAL_BIND,
-       NET_IPV4_ICMP_RATELIMIT,
-       NET_IPV4_ICMP_RATEMASK,
-       NET_TCP_TW_REUSE,
-       NET_TCP_FRTO,
-       NET_TCP_LOW_LATENCY,
-       NET_IPV4_IPFRAG_SECRET_INTERVAL,
        NET_IPV4_IGMP_MAX_MSF,
        NET_TCP_NO_METRICS_SAVE,
        NET_TCP_DEFAULT_WIN_SCALE,
@@ -589,83 +542,15 @@ AC_CHECK_DECLS(m4_normalize([
        NET_TCP_ALLOWED_CONG_CONTROL,
        NET_TCP_MAX_SSTHRESH,
        NET_TCP_FRTO_RESPONSE,
-       NET_IPV4_ROUTE_FLUSH,
-       NET_IPV4_ROUTE_MIN_DELAY,
-       NET_IPV4_ROUTE_MAX_DELAY,
-       NET_IPV4_ROUTE_GC_THRESH,
-       NET_IPV4_ROUTE_MAX_SIZE,
-       NET_IPV4_ROUTE_GC_MIN_INTERVAL,
-       NET_IPV4_ROUTE_GC_TIMEOUT,
-       NET_IPV4_ROUTE_GC_INTERVAL,
-       NET_IPV4_ROUTE_REDIRECT_LOAD,
-       NET_IPV4_ROUTE_REDIRECT_NUMBER,
-       NET_IPV4_ROUTE_REDIRECT_SILENCE,
-       NET_IPV4_ROUTE_ERROR_COST,
-       NET_IPV4_ROUTE_ERROR_BURST,
-       NET_IPV4_ROUTE_GC_ELASTICITY,
-       NET_IPV4_ROUTE_MTU_EXPIRES,
-       NET_IPV4_ROUTE_MIN_PMTU,
-       NET_IPV4_ROUTE_MIN_ADVMSS,
-       NET_IPV4_ROUTE_SECRET_INTERVAL,
        NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS,
-       NET_IPV4_CONF_FORWARDING,
-       NET_IPV4_CONF_MC_FORWARDING,
-       NET_IPV4_CONF_PROXY_ARP,
-       NET_IPV4_CONF_ACCEPT_REDIRECTS,
-       NET_IPV4_CONF_SECURE_REDIRECTS,
-       NET_IPV4_CONF_SEND_REDIRECTS,
-       NET_IPV4_CONF_SHARED_MEDIA,
-       NET_IPV4_CONF_RP_FILTER,
-       NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE,
-       NET_IPV4_CONF_BOOTP_RELAY,
-       NET_IPV4_CONF_LOG_MARTIANS,
-       NET_IPV4_CONF_TAG,
-       NET_IPV4_CONF_ARPFILTER,
-       NET_IPV4_CONF_MEDIUM_ID,
-       NET_IPV4_CONF_NOXFRM,
-       NET_IPV4_CONF_NOPOLICY,
        NET_IPV4_CONF_FORCE_IGMP_VERSION,
        NET_IPV4_CONF_ARP_ANNOUNCE,
        NET_IPV4_CONF_ARP_IGNORE,
        NET_IPV4_CONF_PROMOTE_SECONDARIES,
        NET_IPV4_CONF_ARP_ACCEPT,
        NET_IPV4_CONF_ARP_NOTIFY,
-       NET_IPV6_CONF,
-       NET_IPV6_NEIGH,
-       NET_IPV6_ROUTE,
-       NET_IPV6_ICMP,
-       NET_IPV6_BINDV6ONLY,
-       NET_IPV6_IP6FRAG_HIGH_THRESH,
-       NET_IPV6_IP6FRAG_LOW_THRESH,
-       NET_IPV6_IP6FRAG_TIME,
-       NET_IPV6_IP6FRAG_SECRET_INTERVAL,
        NET_IPV6_MLD_MAX_MSF,
-       NET_IPV6_ROUTE_FLUSH,
-       NET_IPV6_ROUTE_GC_THRESH,
-       NET_IPV6_ROUTE_MAX_SIZE,
-       NET_IPV6_ROUTE_GC_MIN_INTERVAL,
-       NET_IPV6_ROUTE_GC_TIMEOUT,
-       NET_IPV6_ROUTE_GC_INTERVAL,
-       NET_IPV6_ROUTE_GC_ELASTICITY,
-       NET_IPV6_ROUTE_MTU_EXPIRES,
-       NET_IPV6_ROUTE_MIN_ADVMSS,
        NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS,
-       NET_UNIX_DESTROY_DELAY,
-       NET_UNIX_DELETE_DELAY,
-       NET_UNIX_MAX_DGRAM_QLEN,
-       VM_OVERCOMMIT_MEMORY,
-       VM_PAGE_CLUSTER,
-       VM_DIRTY_BACKGROUND,
-       VM_DIRTY_RATIO,
-       VM_DIRTY_WB_CS,
-       VM_DIRTY_EXPIRE_CS,
-       VM_NR_PDFLUSH_THREADS,
-       VM_OVERCOMMIT_RATIO,
-       VM_PAGEBUF,
-       VM_HUGETLB_PAGES,
-       VM_SWAPPINESS,
-       VM_LOWMEM_RESERVE_RATIO,
-       VM_MIN_FREE_KBYTES,
        VM_MAX_MAP_COUNT,
        VM_LAPTOP_MODE,
        VM_BLOCK_DUMP,
@@ -732,7 +617,10 @@ AC_CHECK_DECLS(m4_normalize([
        V4L2_CTRL_TYPE_STRING,
        V4L2_CTRL_TYPE_BITMASK,
        V4L2_CTRL_TYPE_INTEGER_MENU
-]),,, [#include <linux/videodev2.h>])
+]),,, [#include <sys/time.h>
+#include <linux/ioctl.h>
+#include <linux/types.h>
+#include <linux/videodev2.h>])
 
 AC_CACHE_CHECK([for BLKGETSIZE64], [ac_cv_have_blkgetsize64],
        [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
@@ -885,5 +773,13 @@ fi
 st_MPERS([m32], [aarch64|powerpc64|sparc64|tile|x32|x86_64])
 st_MPERS([mx32], [x86_64])
 
-AC_CONFIG_FILES([Makefile tests/Makefile tests-m32/Makefile tests-mx32/Makefile])
+AX_VALGRIND_DFLT([sgcheck], [off])
+AX_VALGRIND_CHECK
+
+AC_CONFIG_FILES([Makefile
+                tests/Makefile
+                tests-m32/Makefile
+                tests-mx32/Makefile
+                strace.spec
+                debian/changelog])
 AC_OUTPUT