summaryrefslogtreecommitdiffstats
path: root/meta/classes/module.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/module.bbclass')
-rw-r--r--meta/classes/module.bbclass15
1 files changed, 15 insertions, 0 deletions
diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
index 01c9309eb0..68e3d341a3 100644
--- a/meta/classes/module.bbclass
+++ b/meta/classes/module.bbclass
@@ -8,6 +8,15 @@ EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}"
8 8
9MODULES_INSTALL_TARGET ?= "modules_install" 9MODULES_INSTALL_TARGET ?= "modules_install"
10 10
11python __anonymous () {
12 depends = d.getVar('DEPENDS', True)
13 extra_symbols = []
14 for dep in depends.split():
15 if dep.startswith("kernel-module-"):
16 extra_symbols.append("${STAGING_INCDIR}/" + dep + "/Module.symvers")
17 d.setVar('KBUILD_EXTRA_SYMBOLS', " ".join(extra_symbols))
18}
19
11module_do_compile() { 20module_do_compile() {
12 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 21 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
13 oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ 22 oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
@@ -15,6 +24,7 @@ module_do_compile() {
15 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ 24 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
16 AR="${KERNEL_AR}" \ 25 AR="${KERNEL_AR}" \
17 O=${STAGING_KERNEL_BUILDDIR} \ 26 O=${STAGING_KERNEL_BUILDDIR} \
27 KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \
18 ${MAKE_TARGETS} 28 ${MAKE_TARGETS}
19} 29}
20 30
@@ -24,6 +34,11 @@ module_do_install() {
24 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ 34 CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
25 O=${STAGING_KERNEL_BUILDDIR} \ 35 O=${STAGING_KERNEL_BUILDDIR} \
26 ${MODULES_INSTALL_TARGET} 36 ${MODULES_INSTALL_TARGET}
37
38 install -d -m0755 ${D}${includedir}/${BPN}
39 cp -a --no-preserve=ownership ${B}/Module.symvers ${D}${includedir}/${BPN}
40 # it doesn't actually seem to matter which path is specified here
41 sed -e 's:${B}/::g' -i ${D}${includedir}/${BPN}/Module.symvers
27} 42}
28 43
29EXPORT_FUNCTIONS do_compile do_install 44EXPORT_FUNCTIONS do_compile do_install