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