summaryrefslogtreecommitdiffstats
path: root/package/kmod
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2012-03-22 16:02:14 +0100
committerPeter Korsgaard <jacmet@sunsite.dk>2012-03-22 16:03:12 +0100
commit78f5ac2908b30aa6f67583a355e058d6703755ac (patch)
tree4f6fb25fe4d11b0dac02484bafad93010f9fcb48 /package/kmod
parentd0c4b0266491ae06d3b423a28bda50336a82bb5a (diff)
downloadbuildroot-novena-78f5ac2908b30aa6f67583a355e058d6703755ac.tar.gz
buildroot-novena-78f5ac2908b30aa6f67583a355e058d6703755ac.zip
kmod: add option to install module utilities
And ensure optional zlib+xz dependencies gets picked up. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/kmod')
-rw-r--r--package/kmod/Config.in6
-rw-r--r--package/kmod/kmod.mk26
2 files changed, 32 insertions, 0 deletions
diff --git a/package/kmod/Config.in b/package/kmod/Config.in
index c5e8ca819..6fdd92c44 100644
--- a/package/kmod/Config.in
+++ b/package/kmod/Config.in
@@ -4,3 +4,9 @@ config BR2_PACKAGE_KMOD
handle kernel modules
http://git.kernel.org/?p=utils/kernel/kmod/kmod.git
+
+config BR2_PACKAGE_KMOD_TOOLS
+ bool "kmod utilities"
+ help
+ Install kmod module utilities (depmod, insmod, lsmod,
+ modinfo, modprobe, rmmod).
diff --git a/package/kmod/kmod.mk b/package/kmod/kmod.mk
index f71087c65..55cbdbbfd 100644
--- a/package/kmod/kmod.mk
+++ b/package/kmod/kmod.mk
@@ -4,4 +4,30 @@ KMOD_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/kernel/kmod/
KMOD_INSTALL_STAGING = YES
KMOD_DEPENDENCIES = host-pkg-config
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+KMOD_DEPENDENCIES += zlib
+KMOD_CONF_OPT += --with-zlib
+endif
+
+ifeq ($(BR2_PACKAGE_XZ),y)
+KMOD_DEPENDENCIES += xz
+KMOD_CONF_OPT += --with-xz
+endif
+
+ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y)
+# take precedence over busybox / module-init-tools implementations
+KMOD_DEPENDENCIES += \
+ $(if $(BR2_PACKAGE_BUSYBOX),busybox) \
+ $(if $(BR2_PACKAGE_MODULE_INIT_TOOLS),module-init-tools)
+
+define KMOD_INSTALL_TOOLS
+ for i in depmod insmod lsmod modinfo modprobe rmmod; \
+ do ln -sf ../usr/bin/kmod $(TARGET_DIR)/sbin/$$i; done
+endef
+
+KMOD_POST_INSTALL_TARGET_HOOKS += KMOD_INSTALL_TOOLS
+else
+KMOD_CONF_OPT += --disable-tools
+endif
+
$(eval $(call AUTOTARGETS))