diff options
author | Bruce Ashfield <bruce.ashfield@windriver.com> | 2018-02-20 11:25:17 -0500 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-02-24 10:31:44 +0000 |
commit | dfb9ffbafddd76e30e891c5d597b7c547d6f3aa5 (patch) | |
tree | 83f5add5a82c3247934290bc20cec38387db22c4 | |
parent | bb5a8acd65f98c37365bb03dcb898f2da23f17c2 (diff) | |
download | poky-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.bb | 8 |
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 | ||
10 | S = "${WORKDIR}" | 10 | S = "${WORKDIR}" |
11 | 11 | ||
12 | do_configure[depends] += "virtual/kernel:do_shared_workdir" | 12 | do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" |
13 | do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" | 13 | do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" |
14 | 14 | ||
15 | DEPENDS += "bc-native" | ||
16 | |||
17 | EXTRA_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 | # |
18 | do_configure() { | 22 | do_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 | ||