summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2018-07-28 16:49:50 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-08-15 10:22:44 +0100
commit51b315fc972e9e0f2630936aade85e1f17a0f275 (patch)
tree0d36c306383e371d3b92b15a90c3adb6d996fca9
parent9e83976054925a49196f4c5be7eb4b4b9cc1e041 (diff)
downloadpoky-51b315fc972e9e0f2630936aade85e1f17a0f275.tar.gz
make-mod-scripts: add build requirements for external modules
Newer kernels (4.14/v4.15+) have dependencies for the build of modules (and hence external modules). Without these dependencies explicitly in the build chain, you can end up with build failures like: work-shared/qemux86/kernel-source/scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory | #include <openssl/bio.h> | ^ | compilation terminated. | make[2]: *** [scripts/extract-cert] Error 1 | make[1]: *** [scripts] Error 2 To ensure that these headers are in place, and that the scripts use our build environment flags, we add a dependency on openssl-native and use oe_make to invoke the build. Older kernels have no issues with the extra dependency, so there's no need to make this conditional. (From OE-Core rev: 916cb2029d3c97bf12ebf03832b9ba980451dbcf) Fixes [YOCTO #12860] (From OE-Core rev: d2aa88a6a92985f21414fceea2dc0facbf7f8779) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> [Tweaked to have changes in module*.bbclass instead from where make-mod-scripts was split in sumo] Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/module-base.bbclass5
-rw-r--r--meta/classes/module.bbclass2
2 files changed, 5 insertions, 2 deletions
diff --git a/meta/classes/module-base.bbclass b/meta/classes/module-base.bbclass
index 64729770c7..9f3465eb9d 100644
--- a/meta/classes/module-base.bbclass
+++ b/meta/classes/module-base.bbclass
@@ -12,6 +12,9 @@ export CROSS_COMPILE = "${TARGET_PREFIX}"
12# we didn't pick the name. 12# we didn't pick the name.
13export KBUILD_OUTPUT = "${STAGING_KERNEL_BUILDDIR}" 13export KBUILD_OUTPUT = "${STAGING_KERNEL_BUILDDIR}"
14 14
15DEPENDS += "bc-native"
16EXTRA_OEMAKE += " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
17
15export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_BUILDDIR}/kernel-abiversion')}" 18export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_BUILDDIR}/kernel-abiversion')}"
16KERNEL_OBJECT_SUFFIX = ".ko" 19KERNEL_OBJECT_SUFFIX = ".ko"
17 20
@@ -22,6 +25,6 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
22# be called before do_compile. See module.bbclass for an example. 25# be called before do_compile. See module.bbclass for an example.
23do_make_scripts() { 26do_make_scripts() {
24 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 27 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
25 make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \ 28 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
26 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts prepare 29 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts prepare
27} 30}
diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
index 78d1b21dbd..282900dc6d 100644
--- a/meta/classes/module.bbclass
+++ b/meta/classes/module.bbclass
@@ -2,7 +2,7 @@ inherit module-base kernel-module-split pkgconfig
2 2
3addtask make_scripts after do_prepare_recipe_sysroot before do_configure 3addtask make_scripts after do_prepare_recipe_sysroot before do_configure
4do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock" 4do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
5do_make_scripts[depends] += "virtual/kernel:do_shared_workdir" 5do_make_scripts[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot"
6 6
7EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}" 7EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}"
8 8