mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
Commit d2aa88a6a92985f21414fceea2dc0facbf7f8779 was meant to backport build dependencies on bc-native and openssl-native, but it also changed execution of do_make_scripts() from calling make directly to using oe_runmake. That change was made in master/sumo as part of a separate make-mod-scripts recipe. Unfortunately, that doesn't work here in rocko in the context of module-base class, as it gets executed inside out-of-tree module environment. Quite often those out-of-tree modules provide own Makefile with custom EXTRA_OEMAKE var defined. But do_make_scripts() gets executed within STAGING_KERNEL_DIR and cannot simply use custom EXTRA_OEMAKE set by a module. Move back to calling make and passing HOSTCC/HOSTCPP directly w/o using EXTRA_OEMAKE. For more details please see: http://lists.openembedded.org/pipermail/openembedded-core/2018-August/154189.html (From OE-Core rev: eb3eaa6970bb8c3647187593df23e2784dd26935) Signed-off-by: Denys Dmytriyenko <denys@ti.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com> Cc: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Anuj Mittal <anuj.mittal@intel.com> Cc: Armin Kuster <akuster808@gmail.com> Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
31 lines
1.1 KiB
Plaintext
31 lines
1.1 KiB
Plaintext
inherit kernel-arch
|
|
|
|
# This is instead of DEPENDS = "virtual/kernel"
|
|
do_configure[depends] += "virtual/kernel:do_compile_kernelmodules"
|
|
|
|
export OS = "${TARGET_OS}"
|
|
export CROSS_COMPILE = "${TARGET_PREFIX}"
|
|
|
|
# This points to the build artefacts from the main kernel build
|
|
# such as .config and System.map
|
|
# Confusingly it is not the module build output (which is ${B}) but
|
|
# we didn't pick the name.
|
|
export KBUILD_OUTPUT = "${STAGING_KERNEL_BUILDDIR}"
|
|
|
|
DEPENDS += "bc-native"
|
|
|
|
export KERNEL_VERSION = "${@base_read_file('${STAGING_KERNEL_BUILDDIR}/kernel-abiversion')}"
|
|
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}" \
|
|
HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}" \
|
|
-C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} scripts prepare
|
|
}
|