kernel: collect module symvers for external modules
Collect module symvers for all external modules to make them available for modpost. This fixes dependencies for most external modules. Example: Before: root@LEDE:/# modinfo mt76 module: /lib/modules/4.4.74/mt76.ko license: Dual BSD/GPL depends: After: root@LEDE:/# modinfo mt76 module: /lib/modules/4.4.74/mt76.ko license: Dual BSD/GPL depends: mac80211,cfg80211 Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
This commit is contained in:
parent
75021e9411
commit
2e496876c6
@ -123,6 +123,32 @@ ifdef CONFIG_USE_SPARSE
|
|||||||
KERNEL_MAKEOPTS += C=1 CHECK=$(STAGING_DIR_HOST)/bin/sparse
|
KERNEL_MAKEOPTS += C=1 CHECK=$(STAGING_DIR_HOST)/bin/sparse
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
PKG_EXTMOD_SUBDIRS ?= .
|
||||||
|
|
||||||
|
define populate_module_symvers
|
||||||
|
cat /dev/null > $(PKG_INFO_DIR)/$(PKG_NAME).symvers; \
|
||||||
|
for subdir in $(PKG_EXTMOD_SUBDIRS); do \
|
||||||
|
cat $(PKG_INFO_DIR)/*.symvers 2>/dev/null > $(PKG_BUILD_DIR)/$$$$subdir/Module.symvers; \
|
||||||
|
done
|
||||||
|
endef
|
||||||
|
|
||||||
|
define collect_module_symvers
|
||||||
|
for subdir in $(PKG_EXTMOD_SUBDIRS); do \
|
||||||
|
grep -F $(PKG_BUILD_DIR) $(PKG_BUILD_DIR)/$$$$subdir/Module.symvers >> $(PKG_BUILD_DIR)/Module.symvers.tmp; \
|
||||||
|
done; \
|
||||||
|
sort -u $(PKG_BUILD_DIR)/Module.symvers.tmp > $(PKG_BUILD_DIR)/Module.symvers; \
|
||||||
|
mv $(PKG_BUILD_DIR)/Module.symvers $(PKG_INFO_DIR)/$(PKG_NAME).symvers
|
||||||
|
endef
|
||||||
|
|
||||||
|
define KernelPackage/hooks
|
||||||
|
ifneq ($(PKG_NAME),kernel)
|
||||||
|
Hooks/Compile/Pre += populate_module_symvers
|
||||||
|
Hooks/Compile/Post += collect_module_symvers
|
||||||
|
endif
|
||||||
|
define KernelPackage/hooks
|
||||||
|
endef
|
||||||
|
endef
|
||||||
|
|
||||||
define KernelPackage/Defaults
|
define KernelPackage/Defaults
|
||||||
FILES:=
|
FILES:=
|
||||||
AUTOLOAD:=
|
AUTOLOAD:=
|
||||||
@ -230,6 +256,7 @@ $(call KernelPackage/$(1)/config)
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
$(call KernelPackage/depends)
|
$(call KernelPackage/depends)
|
||||||
|
$(call KernelPackage/hooks)
|
||||||
|
|
||||||
ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),)
|
ifneq ($(if $(filter-out %=y %=n %=m,$(KCONFIG)),$(filter m y,$(foreach c,$(filter-out %=y %=n %=m,$(KCONFIG)),$($(c)))),.),)
|
||||||
ifneq ($(strip $(FILES)),)
|
ifneq ($(strip $(FILES)),)
|
||||||
|
Loading…
Reference in New Issue
Block a user