mirror_zfs/config
Rob Norris dd2a46b5e6
config: cache results of kernel checks (#17106)
Kernel checks are the heaviest part of the configure checks. This allows
the results to be cached through the normal autoconf cache.

Since we don't want to reuse cached values for different kernels, but
don't want to discard the entire cache on every kernel, we instead add a
short checksum to kernel config cache keys, based on the version and
path, so the cache can hold results for multiple different kernels.

Sponsored-by: https://despairlabs.com/sponsor/

Signed-off-by: Rob Norris <robn@despairlabs.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
2025-03-27 16:44:54 -07:00
..
.gitignore Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
always-arch.m4 Add ARM architecture to OpenZFS buildsystem 2023-03-02 13:51:50 -08:00
always-compiler-options.m4 Fix Clang 15 compilation errors 2022-11-30 13:46:26 -08:00
always-cppcheck.m4 autoconf: use include directives instead of recursing down lib 2022-05-10 10:18:11 -07:00
always-parallel.m4 config: check for parallel(1), use it for cstyle 2022-01-06 12:46:42 -08:00
always-python.m4 Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
always-pyzfs.m4 Python 3.12 deprecated python3-distutils 2024-04-25 13:40:09 -07:00
always-sed.m4 Add compatibility for busybox mktemp 2020-12-03 10:01:16 -08:00
always-shellcheck.m4 Turn checkbashisms into a make target 2021-06-01 11:38:54 -07:00
always-system.m4 autoconf: use include directives instead of recursing down lib 2022-05-10 10:18:11 -07:00
ax_code_coverage.m4 SPDX: license tags: LGPL-2.1-or-later 2025-03-13 17:57:12 -07:00
ax_compare_version.m4 config/kernel: enforce maximum kernel version, with escape hatch 2024-09-23 10:44:49 -07:00
ax_count_cpus.m4 cppcheck: integrete cppcheck 2021-01-26 16:12:26 -08:00
ax_python_devel.m4 Python 3.12 deprecated python3-distutils 2024-04-25 13:40:09 -07:00
ax_restore_flags.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
ax_save_flags.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
config.rpath Add config.rpath for AM_GNU_GETTEXT 2020-07-10 14:26:12 -07:00
CppCheck.am cppcheck: explicitly exclude kernel code from userspace checks 2022-05-10 10:20:55 -07:00
deb.am Only serialize native-deb* targets 2024-10-08 09:27:38 -07:00
find_system_library.m4 find_system_library: fix var cleanup when library not found 2024-05-01 10:51:14 -07:00
gettext.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
host-cpu-c-abi.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
iconv.m4 Clarify comments in config/*.m4, vdev_geom.c, zfs_allow_*.ksh 2020-06-22 09:46:37 -07:00
kernel-access-ok-type.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-acl.m4 config: remove HAVE_ACL_REFCOUNT 2024-09-18 11:23:50 -07:00
kernel-add-disk.m4 Fix clang 13 compilation errors 2022-06-15 14:20:28 -07:00
kernel-assign_str.m4 Linux 6.10 compat: Fix tracepoints definitions 2024-09-17 13:38:02 -07:00
kernel-automount.m4 Linux 6.14: dops->d_revalidate now takes four args 2025-02-05 09:42:37 -08:00
kernel-bio_max_segs.m4 Linux 5.12 update: bio_max_segs() replaces BIO_MAX_PAGES 2021-03-19 22:33:42 -07:00
kernel-bio.m4 config: remove HAVE_BIO_SET_DEV 2024-09-18 11:23:51 -07:00
kernel-blk-queue.m4 config: remove HAVE_BLK_MQ 2024-09-18 11:23:50 -07:00
kernel-blkdev.m4 config: remove HAVE_MODE_LOOKUP_BDEV 2024-09-18 11:23:51 -07:00
kernel-block-device-operations.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-commit-metadata.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-config-defined.m4 config: remove checks with unused defines 2024-09-18 11:23:35 -07:00
kernel-copy-from-user-inatomic.m4 autoconf: Fail when __copy_from_user_inatomic is a non-GPL symbol 2022-05-11 10:32:51 -07:00
kernel-cpu_has_feature.m4 Workaround for Linux PowerPC GPL-only cpu_has_feature() 2023-03-10 09:35:00 -08:00
kernel-declare-event-class.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-dentry-operations.m4 config: remove test for unused s_d_op 2024-09-18 11:23:51 -07:00
kernel-discard-granularity.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-file.m4 Linux 6.12: f_version removed from struct file 2024-10-01 13:54:00 -07:00
kernel-filemap-splice-read.m4 Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read 2023-08-08 15:42:32 -07:00
kernel-flush_dcache_page.m4 compact: workaround for GPL-only symbols on riscv from Linux 6.2 2023-12-06 12:37:50 -08:00
kernel-fmode-t.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-follow-down-one.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-fpu.m4 Linux 6.2 compat: add check for kernel_neon_* availability 2024-01-08 16:05:24 -08:00
kernel-fst-mount.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-fsync-bdev.m4 Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() 2023-09-21 18:38:40 -07:00
kernel-generic_fadvise.m4 Add Linux posix_fadvise support 2022-09-08 10:29:41 -07:00
kernel-generic_fillattr.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-generic_io_acct.m4 config: remove HAVE_GENERIC_IO_ACCT_3ARG 2024-09-18 11:23:51 -07:00
kernel-genhd-flags.m4 config: rework ZFS_GENHD_FL_* 2024-09-18 11:23:51 -07:00
kernel-get-disk-ro.m4 libtpool: -Wno-clobbered 2022-02-18 09:34:25 -08:00
kernel-iattr-vfsid.m4 Support idmapped mount in user namespace 2022-11-08 10:28:56 -08:00
kernel-idmap_mnt_api.m4 Linux 6.8 compat: handle mnt_idmap user_namespace change 2024-01-29 11:36:07 -08:00
kernel-inode-create.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-inode-getattr.m4 config: remove HAVE_VFSMOUNT_IOPS_GETATTR 2024-09-18 11:23:51 -07:00
kernel-inode-lookup.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-inode-permission.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-inode-setattr.m4 config: remove checks with unused defines 2024-09-18 11:23:35 -07:00
kernel-inode-times.m4 config: remove HAVE_INODE_TIMESPEC64_TIMES 2024-09-18 11:23:50 -07:00
kernel-insert-inode-locked.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-is_owner_or_cap.m4 Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
kernel-kmap-atomic-args.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-kmap-local-page.m4 Use kmap_local_page instead of kmap_atomic (#16329) 2024-07-16 17:27:29 -07:00
kernel-kmem.m4 config: remove HAVE_KVMALLOC 2024-09-18 11:23:50 -07:00
kernel-kthread.m4 config: fix dequeue_signal check for kernels <4.20 2024-10-20 19:50:13 -07:00
kernel-kuid-helpers.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-kuidgid.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-make-request-fn.m4 config: remove checks with unused defines 2024-09-18 11:23:35 -07:00
kernel-misc-minor.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-mkdir.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-mknod.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-mm-page-flags.m4 Linux 6.12: PG_error flag was removed 2024-10-01 13:54:05 -07:00
kernel-mm-pagemap.m4 config: fix page_mapping test 2024-09-18 11:23:51 -07:00
kernel-objtool.m4 Linux 5.10 compat: frame.h renamed objtool.h 2020-11-02 22:01:10 +00:00
kernel-pagemap-folio_wait_bit.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-pde-data.m4 Linux 5.17 compat: PDE_DATA() renamed to pde_data() 2022-01-25 12:53:00 -08:00
kernel-percpu.m4 config: remove HAVE_PERCPU_COUNTER_ADD_BATCH 2024-09-18 11:23:50 -07:00
kernel-pin-user-pages.m4 Use pin_user_pages API for Direct I/O requests 2024-12-16 10:24:30 -08:00
kernel-proc-operations.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-readpages.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-reclaim_state.m4 Linux 6.4 compat: reclaimed_slab renamed to reclaimed 2023-05-24 12:23:42 -07:00
kernel-register_sysctl_table.m4 Linux: Fix detection of register_sysctl_sz 2024-11-29 22:50:37 -05:00
kernel-rename.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-revalidate-disk-size.m4 Linux 5.18 compat: replace genhd.h with blkdev.h includes 2022-03-28 09:52:55 -07:00
kernel-sb-dying.m4 Linux: Fix zfs_prune panics v2 (#17121) 2025-03-25 15:20:16 -07:00
kernel-sched.m4 config: remove HAVE_SCHED_SIGNAL_HEADER 2024-09-18 11:23:50 -07:00
kernel-security-inode-init.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-set-nlink.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-setattr-prepare.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-sget-args.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-show-options.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-shrink.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-siginfo.m4 Add SIGSTOP and SIGTSTP handling to issig 2021-04-15 13:34:35 -07:00
kernel-stdarg.m4 Linux 5.15 compat: standalone <linux/stdarg.h> 2021-09-08 12:59:43 -07:00
kernel-strlcpy.m4 config: remove HAVE_KERNEL_STRSCPY 2024-09-18 11:23:49 -07:00
kernel-symlink.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-sysfs.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-tmpfile.m4 config: remove HAVE_TMPFILE 2024-09-18 11:23:50 -07:00
kernel-totalhigh_pages.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-totalram-pages-func.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-truncate-setsize.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-types.m4 Linux 6.7 compat: detect if kernel defines intptr_t 2024-05-24 18:54:24 -07:00
kernel-userns-capabilities.m4 config: remove HAVE_HAS_CAPABILITY 2024-09-18 11:23:51 -07:00
kernel-usleep_range.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-vfs-file_range.m4 config: remove HAVE_VFS_COPY_FILE_RANGE 2024-09-18 11:23:50 -07:00
kernel-vfs-filemap_dirty_folio.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-vfs-fsync.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-vfs-iov_iter.m4 Update pin_user_pages() calls for Direct I/O 2025-01-30 15:53:59 -08:00
kernel-vfs-migrate_folio.m4 Use simple folio migration function 2024-11-06 11:44:10 -08:00
kernel-vfs-read_folio.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-vfs-set_page_dirty.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-writepage_t.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-xattr-handler.m4 Fix stray "no" in configure output 2024-12-14 14:05:12 -08:00
kernel-zero_page.m4 Adding ZERO_PAGE detection 2022-03-14 12:37:39 -07:00
kernel.m4 config: cache results of kernel checks (#17106) 2025-03-27 16:44:54 -07:00
lib-ld.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
lib-link.m4 Clarify comments in config/*.m4, vdev_geom.c, zfs_allow_*.ksh 2020-06-22 09:46:37 -07:00
lib-prefix.m4 Clarify comments in config/*.m4, vdev_geom.c, zfs_allow_*.ksh 2020-06-22 09:46:37 -07:00
mount-helper.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
nls.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
pkg.m4 Fix typos in config/ 2019-08-30 09:40:30 -07:00
po.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
progtest.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
rpm.am Make sure all necessary RPM path macros are defined 2024-01-16 13:32:59 -08:00
Rules.am build: rename FORCEDEBUG_CPPFLAGS to LIBZPOOL_CPPFLAGS 2024-08-27 12:53:27 -07:00
Shellcheck.am shellcheck: disable "unreachable command" check [SC2317] 2023-07-21 11:53:06 -07:00
Substfiles.am config/Substfiles.am: restrict to the dedicated list. 2024-04-09 16:34:58 -07:00
tgz.am Make RPM_DEFINE_KMOD conditional on CONFIG_KERNEL 2020-07-14 17:32:21 -07:00
toolchain-simd.m4 Linux 5.16 compat: don't use XSTATE_XSAVE to save FPU state 2022-02-09 12:50:10 -08:00
user-aio.h.m4 config: user: check for <aio.h> 2022-03-28 10:24:22 -07:00
user-backtrace.m4 libspl/assert: dump backtrace in assert 2024-05-01 10:52:00 -07:00
user-clock_gettime.m4 Clean up lib dependencies 2020-07-10 14:26:00 -07:00
user-dracut.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-gettext.m4 Add config.rpath for AM_GNU_GETTEXT 2020-07-10 14:26:12 -07:00
user-libaio.m4 config: user: check for <aio.h> 2022-03-28 10:24:22 -07:00
user-libatomic.m4 config/libatomic: require -latomic iff atomic.c doesn't link w/o it 2021-07-13 13:50:48 -07:00
user-libblkid.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libcrypto.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libexec.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-libfetch.m4 libfetch: unquote @LIBFETCH_SONAME@ subst 2022-01-06 11:26:40 -08:00
user-libtirpc.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libudev.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libunwind.m4 libspl/assert: use libunwind for backtrace when available 2024-05-01 10:52:05 -07:00
user-libuuid.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-makedev.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-pam.m4 Use correct prefix for share/pam-configs 2020-07-30 09:09:46 -07:00
user-runstatedir.m4 Add defs for makefile installation dir vars 2014-03-31 16:11:13 -07:00
user-systemd.m4 autoconf: use include directives instead of recursing down etc 2022-05-10 10:19:58 -07:00
user-sysvinit.m4 autoconf: use include directives instead of recursing down etc 2022-05-10 10:19:58 -07:00
user-udev.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-zlib.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user.m4 fix: make zfs_strerror really thread-safe and portable 2025-01-04 10:33:27 -08:00
zfs-build.m4 Support for cross-compiling kernel modules 2025-01-05 17:27:19 -08:00
zfs-meta.m4 Remove basename(1). Clean up/shorten some coreutils pipelines 2021-11-11 13:27:37 -07:00