Adds development shell support for out-of-tree kernel modules by reproducing the build environment of the compile task.
Signed-off-by: Stefan Wiehler <[email protected]> --- meta/classes/module.bbclass | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass index 802476bc7a..9b019513ae 100644 --- a/meta/classes/module.bbclass +++ b/meta/classes/module.bbclass @@ -1,6 +1,7 @@ inherit module-base kernel-module-split pkgconfig addtask make_scripts after do_prepare_recipe_sysroot before do_compile +addtask make_scripts after do_prepare_recipe_sysroot before do_devshell do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" do_make_scripts[depends] += "virtual/kernel:do_shared_workdir" @@ -18,6 +19,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} \ -- 2.11.0 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
