From ea12c46fe8748fb6606c603d463075a8624e6563 Mon Sep 17 00:00:00 2001 From: Joe Slater Date: Tue, 20 Feb 2018 11:25:16 -0500 Subject: make-mod-scripts: change how some kernel module tools are built Remove do_make_scripts() from module-base.bbclass and put functionality in a recipe. This will build the scripts only once instead of each time an external module is built. [YOCTO #12228] Signed-off-by: Joe Slater Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- meta/classes/module-base.bbclass | 12 +++--------- meta/classes/module.bbclass | 4 ---- 2 files changed, 3 insertions(+), 13 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/module-base.bbclass b/meta/classes/module-base.bbclass index f851b85163..27bd69ff33 100644 --- a/meta/classes/module-base.bbclass +++ b/meta/classes/module-base.bbclass @@ -1,7 +1,8 @@ inherit kernel-arch -# This is instead of DEPENDS = "virtual/kernel" -do_configure[depends] += "virtual/kernel:do_compile_kernelmodules" +# We do the dependency this way because the output is not preserved +# in sstate, so we must force do_compile to run (once). +do_configure[depends] += "make-mod-scripts:do_compile" export OS = "${TARGET_OS}" export CROSS_COMPILE = "${TARGET_PREFIX}" @@ -18,10 +19,3 @@ 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}" \ - -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts -} diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass index 78d1b21dbd..e344960244 100644 --- a/meta/classes/module.bbclass +++ b/meta/classes/module.bbclass @@ -1,9 +1,5 @@ inherit module-base kernel-module-split pkgconfig -addtask make_scripts after do_prepare_recipe_sysroot before do_configure -do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" -do_make_scripts[depends] += "virtual/kernel:do_shared_workdir" - EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}" MODULES_INSTALL_TARGET ?= "modules_install" -- cgit 1.2.3-korg