HomeFreeBSD

autoconf: Pretend `CONFIG_MODULES` is always on

Description

autoconf: Pretend CONFIG_MODULES is always on

  • Unconditionally inject CONFIG_MODULES make variable and #define CONFIG_MODULES to Kbuild in ZFS_LINUX_COMPILE autoconf function to emulate loadable kernel modules support. This allows OpenZFS to perform Linux checks despite CONFIG_MODULES=n in the actual Linux config.
  • Add ZFS_AC_KERNEL_CONFIG_MODULES check which encompasses the logic from ZFS_AC_KERNEL_TEST_MODULE with additional diagnostic messages to the user
  • Removed ZFS_AC_KERNEL_TEST_MODULE as it merely duplicates every check in ZFS_AC_KERNEL_CONFIG_DEFINED
  • Moved ZFS_AC_MODULE_SYMVERS after ZFS_AC_KERNEL_CONFIG_DEFINED so the user has a chance to see the proper diagnostic from the steps before.

A workaround for Linux's

commit 3e3005df73b535cb849cf4ec8075d6aa3c460f68
Author: Masahiro Yamada <masahiroy@kernel.org>
Date:   Wed Mar 31 22:38:03 2021 +0900

kbuild: unify modules(_install) for in-tree and external modules

If you attempt to build or install modules ('make modules(_install)'
with CONFIG_MODULES disabled, you will get a clear error message, but
nothing for external module builds.

Factor out the modules and modules_install rules into the common part,
so you will get the same error message when you try to build external
modules with CONFIG_MODULES=n.

Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: szubersk <szuberskidamian@gmail.com>
Closes #10832
Closes #13361

Details

Provenance
Damian Szuberski <szuberskidamian@gmail.com>Authored on Apr 26 2022, 5:47 PM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on May 20 2022, 5:33 PM
Parents
rG210b33109de6: Strengthen Linux kernel capabilities detection
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG3bb068d4d56e: autoconf: Pretend `CONFIG_MODULES` is always on (authored by Damian Szuberski <szuberskidamian@gmail.com>).May 20 2022, 5:33 PM