From 916cb2029d3c97bf12ebf03832b9ba980451dbcf Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Tue, 20 Feb 2018 11:25:17 -0500 Subject: 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 | ^ | 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. Signed-off-by: Bruce Ashfield Signed-off-by: Richard Purdie --- meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'meta/recipes-kernel') 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}" S = "${WORKDIR}" -do_configure[depends] += "virtual/kernel:do_shared_workdir" +do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" +DEPENDS += "bc-native" + +EXTRA_OEMAKE = " HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" + # Build some host tools under work-shared. CC, LD, and AR are probably # not used, but this is the historical way of invoking "make scripts". # do_configure() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - make CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \ + oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \ -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts } -- cgit 1.2.3-korg