1################################################################################ 2# 3# kmod 4# 5################################################################################ 6 7KMOD_VERSION = 29 8KMOD_SOURCE = kmod-$(KMOD_VERSION).tar.xz 9KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod 10KMOD_INSTALL_STAGING = YES 11KMOD_DEPENDENCIES = host-pkgconf 12HOST_KMOD_DEPENDENCIES = host-pkgconf 13 14# license info for libkmod only, conditionally add more below 15KMOD_LICENSE = LGPL-2.1+ (library) 16KMOD_LICENSE_FILES = libkmod/COPYING 17 18KMOD_CPE_ID_VENDOR = kernel 19 20# --gc-sections triggers binutils ld segfault 21# https://sourceware.org/bugzilla/show_bug.cgi?id=21180 22ifeq ($(BR2_microblaze),y) 23KMOD_CONF_ENV += cc_cv_LDFLAGS__Wl___gc_sections=false 24endif 25 26# static linking not supported, see 27# https://git.kernel.org/cgit/utils/kernel/kmod/kmod.git/commit/?id=b7016153ec8 28KMOD_CONF_OPTS = --disable-static --enable-shared 29 30KMOD_CONF_OPTS += --disable-manpages 31HOST_KMOD_CONF_OPTS = --disable-manpages 32 33ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) 34KMOD_CONF_OPTS += --with-bashcompletiondir=/usr/share/bash-completion/completions 35endif 36 37ifeq ($(BR2_PACKAGE_ZLIB),y) 38KMOD_DEPENDENCIES += zlib 39KMOD_CONF_OPTS += --with-zlib 40else 41KMOD_CONF_OPTS += --without-zlib 42endif 43 44ifeq ($(BR2_PACKAGE_ZSTD),y) 45KMOD_DEPENDENCIES += zstd 46KMOD_CONF_OPTS += --with-zstd 47else 48KMOD_CONF_OPTS += --without-zstd 49endif 50 51ifeq ($(BR2_PACKAGE_XZ),y) 52KMOD_DEPENDENCIES += xz 53KMOD_CONF_OPTS += --with-xz 54else 55KMOD_CONF_OPTS += --without-xz 56endif 57 58ifeq ($(BR2_PACKAGE_OPENSSL),y) 59KMOD_DEPENDENCIES += openssl 60KMOD_CONF_OPTS += --with-openssl 61else 62KMOD_CONF_OPTS += --without-openssl 63endif 64 65ifeq ($(BR2_PACKAGE_PYTHON)$(BR2_PACKAGE_PYTHON3),y) 66KMOD_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) 67KMOD_CONF_OPTS += --enable-python 68endif 69 70ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y) 71 72# add license info for kmod tools 73KMOD_LICENSE += , GPL-2.0+ (tools) 74KMOD_LICENSE_FILES += COPYING 75 76# /sbin is really /usr/sbin with merged /usr, so adjust relative symlink 77ifeq ($(BR2_ROOTFS_MERGED_USR),y) 78KMOD_BIN_PATH = ../bin/kmod 79else 80KMOD_BIN_PATH = ../usr/bin/kmod 81endif 82 83define KMOD_INSTALL_TOOLS 84 for i in depmod insmod lsmod modinfo modprobe rmmod; do \ 85 ln -sf $(KMOD_BIN_PATH) $(TARGET_DIR)/sbin/$$i; \ 86 done 87endef 88 89KMOD_POST_INSTALL_TARGET_HOOKS += KMOD_INSTALL_TOOLS 90else 91KMOD_CONF_OPTS += --disable-tools 92endif 93 94ifeq ($(BR2_PACKAGE_HOST_KMOD_GZ),y) 95HOST_KMOD_DEPENDENCIES += host-zlib 96HOST_KMOD_CONF_OPTS += --with-zlib 97else 98HOST_KMOD_CONF_OPTS += --without-zlib 99endif 100 101ifeq ($(BR2_PACKAGE_HOST_KMOD_ZSTD),y) 102HOST_KMOD_DEPENDENCIES += host-zstd 103HOST_KMOD_CONF_OPTS += --with-zstd 104else 105HOST_KMOD_CONF_OPTS += --without-zstd 106endif 107 108ifeq ($(BR2_PACKAGE_HOST_KMOD_XZ),y) 109HOST_KMOD_DEPENDENCIES += host-xz 110HOST_KMOD_CONF_OPTS += --with-xz 111else 112HOST_KMOD_CONF_OPTS += --without-xz 113endif 114 115# We only install depmod, since that's the only tool used for the 116# host. 117define HOST_KMOD_INSTALL_TOOLS 118 mkdir -p $(HOST_DIR)/sbin/ 119 ln -sf ../bin/kmod $(HOST_DIR)/sbin/depmod 120endef 121 122HOST_KMOD_POST_INSTALL_HOOKS += HOST_KMOD_INSTALL_TOOLS 123 124$(eval $(autotools-package)) 125$(eval $(host-autotools-package)) 126