| SUMMARY = "Build tools needed by external modules" |
| HOMEPAGE = "https://www.yoctoproject.org/" |
| LICENSE = "GPL-2.0-only" |
| LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" |
| |
| inherit kernel-arch linux-kernel-base |
| inherit pkgconfig |
| |
| PACKAGE_ARCH = "${MACHINE_ARCH}" |
| |
| S = "${UNPACKDIR}" |
| |
| do_configure[depends] += "virtual/kernel:do_shared_workdir openssl-native:do_populate_sysroot" |
| do_compile[depends] += "virtual/kernel:do_compile_kernelmodules" |
| |
| DEV_PKG_DEPENDENCY = "" |
| |
| DEPENDS += "bc-native bison-native" |
| DEPENDS += "gmp-native" |
| |
| EXTRA_OEMAKE = " HOSTCC="${BUILD_CC}" HOSTCFLAGS="${BUILD_CFLAGS}" HOSTLDFLAGS="${BUILD_LDFLAGS}" HOSTCPP="${BUILD_CPP}"" |
| EXTRA_OEMAKE += " HOSTCXX="${BUILD_CXX} ${BUILD_CXXFLAGS} ${BUILD_LDFLAGS}" CROSS_COMPILE=${TARGET_PREFIX}" |
| |
| KERNEL_LOCALVERSION = "${@get_kernellocalversion_file("${STAGING_KERNEL_BUILDDIR}")}" |
| export LOCALVERSION = "${KERNEL_LOCALVERSION}" |
| |
| # 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 |
| for t in prepare scripts_basic scripts; do |
| oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ |
| AR="${KERNEL_AR}" OBJCOPY="${KERNEL_OBJCOPY}" \ |
| STRIP="${KERNEL_STRIP}" \ |
| -C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} $t |
| done |
| } |
| |
| # Linux rust build infrastructure does not currently support ccache |
| # see https://github.com/Rust-for-Linux/linux/issues/1224 |
| # Quick summary: There are 2 issues: $HOSTCC is not escaped and rustc expect a path (and not a command) |
| # More details in: https://lists.openembedded.org/g/openembedded-core/message/229336 |
| # Disable ccache for kernel build if kernel rust support is enabled to workaround this |
| CCACHE_DISABLE ?= "${@bb.utils.contains('KERNEL_FEATURES', 'rust', "1", "0", d)}" |
| |
| #Fixes buildpath issues when compiling rust-out-of-tree module |
| RUST_DEBUG_REMAP ?= "--remap-path-prefix=${TMPDIR}/work-shared=${TARGET_DBGSRC_DIR} \ |
| --remap-path-prefix=${TMPDIR}/work=${TARGET_DBGSRC_DIR} \ |
| " |
| KRUSTFLAGS = " ${RUST_DEBUG_REMAP}" |
| EXTRA_OEMAKE:append = ' KRUSTFLAGS="${KRUSTFLAGS}"' |