From: Denys Dmytriyenko <[email protected]>

http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154191.html
http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154189.html

Signed-off-by: Denys Dmytriyenko <[email protected]>
---
 meta-arago-distro/classes/module-base.bbclass | 30 +++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)
 create mode 100644 meta-arago-distro/classes/module-base.bbclass

diff --git a/meta-arago-distro/classes/module-base.bbclass 
b/meta-arago-distro/classes/module-base.bbclass
new file mode 100644
index 0000000..c1fa3ad
--- /dev/null
+++ b/meta-arago-distro/classes/module-base.bbclass
@@ -0,0 +1,30 @@
+inherit kernel-arch
+
+# This is instead of DEPENDS = "virtual/kernel"
+do_configure[depends] += "virtual/kernel:do_compile_kernelmodules"
+
+export OS = "${TARGET_OS}"
+export CROSS_COMPILE = "${TARGET_PREFIX}"
+
+# This points to the build artefacts from the main kernel build
+# such as .config and System.map
+# Confusingly it is not the module build output (which is ${B}) but
+# we didn't pick the name.
+export KBUILD_OUTPUT = "${STAGING_KERNEL_BUILDDIR}"
+
+DEPENDS += "bc-native"
+
+export KERNEL_VERSION = 
"${@base_read_file('${STAGING_KERNEL_BUILDDIR}/kernel-abiversion')}"
+KERNEL_OBJECT_SUFFIX = ".ko"
+
+# kernel modules are generally machine specific
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+# Function to ensure the kernel scripts are created. Expected to
+# be called before do_compile. See module.bbclass for an example.
+do_make_scripts() {
+       unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 
+       make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
+                  HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" 
HOSTCPP="${BUILD_CPP}" \
+                  -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} 
scripts prepare
+}
-- 
2.7.4

_______________________________________________
meta-arago mailing list
[email protected]
http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago

Reply via email to