summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2018-02-20 11:25:17 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-02-24 10:31:44 +0000
commitdfb9ffbafddd76e30e891c5d597b7c547d6f3aa5 (patch)
tree83f5add5a82c3247934290bc20cec38387db22c4
parentbb5a8acd65f98c37365bb03dcb898f2da23f17c2 (diff)
downloadpoky-dfb9ffbafddd76e30e891c5d597b7c547d6f3aa5.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) Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb8
1 files changed, 6 insertions, 2 deletions
diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
index 6e47d09f79..889878ddc0 100644
--- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
+++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
@@ -9,15 +9,19 @@ PACKAGE_ARCH = "${MACHINE_ARCH}"
9 9
10S = "${WORKDIR}" 10S = "${WORKDIR}"
11 11
12do_configure[depends] += "virtual/kernel:do_shared_workdir" 12do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot"
13do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" 13do_compile[depends] += "virtual/kernel:do_compile_kernelmodules"
14 14
15DEPENDS += "bc-native"
16
17EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}""
18
15# Build some host tools under work-shared. CC, LD, and AR are probably 19# Build some host tools under work-shared. CC, LD, and AR are probably
16# not used, but this is the historical way of invoking "make scripts". 20# not used, but this is the historical way of invoking "make scripts".
17# 21#
18do_configure() { 22do_configure() {
19 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS 23 unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
20 make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \ 24 oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
21 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts 25 -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts
22} 26}
23 27