]> code.ossystems Code Review - openembedded-core.git/commitdiff
module.bbclass: Add devshell support
authorStefan Wiehler <stefan.wiehler@missinglinkelectronics.com>
Fri, 5 May 2017 15:01:06 +0000 (17:01 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 30 May 2017 09:14:32 +0000 (10:14 +0100)
Adds development shell support for out-of-tree kernel modules by reproducing
the build environment of the compile task.

Signed-off-by: Stefan Wiehler <stefan.wiehler@missinglinkelectronics.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/module.bbclass

index 802476bc7a44564f1e1e2d1b0ba549188063278d..391776db227b8c6cc6572e8cd0c628db453be710 100644 (file)
@@ -18,6 +18,26 @@ python __anonymous () {
     d.setVar('KBUILD_EXTRA_SYMBOLS', " ".join(extra_symbols))
 }
 
+python do_devshell_prepend () {
+    os.environ['CFLAGS'] = ''
+    os.environ['CPPFLAGS'] = ''
+    os.environ['CXXFLAGS'] = ''
+    os.environ['LDFLAGS'] = ''
+
+    os.environ['KERNEL_PATH'] = d.getVar('STAGING_KERNEL_DIR')
+    os.environ['KERNEL_SRC'] = d.getVar('STAGING_KERNEL_DIR')
+    os.environ['KERNEL_VERSION'] = d.getVar('KERNEL_VERSION')
+    os.environ['CC'] = d.getVar('KERNEL_CC')
+    os.environ['LD'] = d.getVar('KERNEL_LD')
+    os.environ['AR'] = d.getVar('KERNEL_AR')
+    os.environ['O'] = d.getVar('STAGING_KERNEL_BUILDDIR')
+    kbuild_extra_symbols = d.getVar('KBUILD_EXTRA_SYMBOLS')
+    if kbuild_extra_symbols:
+        os.environ['KBUILD_EXTRA_SYMBOLS'] = kbuild_extra_symbols
+    else:
+        os.environ['KBUILD_EXTRA_SYMBOLS'] = ''
+}
+
 module_do_compile() {
        unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
        oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \