mirror of
https://git.yoctoproject.org/poky
synced 2026-03-16 20:29:41 +01:00
Rust stable version updated to 1.83.0. https://blog.rust-lang.org/2024/11/28/Rust-1.83.0.html Renamed and modified the below patch to adapt the new version. rv32-cargo-rustix-0.38.34-fix.patch->rv32-cargo-rustix-0.38.37-fix.patch Modified the below patches to adapt the new version. repro-issue-fix-with-cc-crate-hashmap.patch revert-link-std-statically-in-rustc_driver-feature.patch Dropped: zlib-off64_t.patcha566e156b3kq Because of the following commit ,68034f837awhen we enable lib32, getting build failure because there is a check for target support for "-Zdual-proc-macros" flag not functioning properly when lib32 is enabled in the build environment. So for now reverting this commit and bring back the previous behavior, where the "-Zdual-proc-macros" flag is always added for building proc macros, regardless of the target architecture's support. This would bypass the check introduced in the patch, allowing the build to proceed without error, even when building for a 64-bit architecture with lib32 enabled. (From OE-Core rev: 40d8dafdf556d7ce79c12a6de872193be9a0928a) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
51 lines
1.6 KiB
BlitzBasic
51 lines
1.6 KiB
BlitzBasic
SUMMARY = "Rust standard libaries"
|
|
HOMEPAGE = "http://www.rust-lang.org"
|
|
SECTION = "devel"
|
|
LICENSE = "(MIT | Apache-2.0) & Unicode-TOU"
|
|
LIC_FILES_CHKSUM = "file://../../COPYRIGHT;md5=c2cccf560306876da3913d79062a54b9"
|
|
|
|
require rust-source.inc
|
|
|
|
# The dummy crate named `sysroot` represents the standard library target.
|
|
#
|
|
# See fd4c81f4c19e ("Add a `sysroot` crate to represent the standard library crates")
|
|
# https://github.com/rust-lang/rust/pull/108865/
|
|
S = "${RUSTSRC}/library/sysroot"
|
|
|
|
RUSTLIB_DEP = ""
|
|
inherit cargo
|
|
|
|
CVE_PRODUCT = "rust"
|
|
|
|
DEPENDS:append:libc-musl = " libunwind"
|
|
# rv32 does not have libunwind ported yet
|
|
DEPENDS:remove:riscv32 = "libunwind"
|
|
DEPENDS:remove:riscv64 = "libunwind"
|
|
|
|
# Embed bitcode in order to allow compiling both with and without LTO
|
|
RUSTFLAGS += "-Cembed-bitcode=yes"
|
|
# Needed so cargo can find libbacktrace
|
|
RUSTFLAGS += "-L ${STAGING_LIBDIR} -C link-arg=-Wl,-soname,libstd.so"
|
|
|
|
CARGO_FEATURES ?= "panic-unwind backtrace"
|
|
CARGO_BUILD_FLAGS += "--features '${CARGO_FEATURES}'"
|
|
CARGO_VENDORING_DIRECTORY = "${RUSTSRC}/vendor"
|
|
|
|
do_compile:prepend () {
|
|
export CARGO_TARGET_DIR="${B}"
|
|
# For Rust 1.13.0 and newer
|
|
export RUSTC_BOOTSTRAP="1"
|
|
}
|
|
|
|
do_install () {
|
|
mkdir -p ${D}${rustlibdir}
|
|
|
|
# With the incremental build support added in 1.24, the libstd deps directory also includes dependency
|
|
# files that get installed. Those are really only needed to incrementally rebuild the libstd library
|
|
# itself and don't need to be installed.
|
|
rm -f ${B}/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/*.d
|
|
cp ${B}/${RUST_TARGET_SYS}/${BUILD_DIR}/deps/* ${D}${rustlibdir}
|
|
}
|
|
|
|
BBCLASSEXTEND = "nativesdk"
|